/* Brand ornaments: overlay the logo's cloud icon, never the right edge of its container. */
.ic-logo-art-wrap{display:inline-block;position:relative;line-height:0;flex:none;isolation:isolate;vertical-align:middle}
.ic-logo-art-wrap>img{display:block;height:auto}
.ic-logo-ornament{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}
.ic-logo-ornament svg{position:absolute;display:block;width:var(--ic-art-width,31%);height:auto;max-width:none;overflow:visible;filter:drop-shadow(0 2px 2px #030706bb);transform:rotate(var(--ic-art-rotation,0deg));transform-origin:center}
.ic-logo-ornament[data-season="christmas"] svg{left:5%;top:-12%;--ic-art-width:31%;--ic-art-rotation:-9deg}
.ic-logo-ornament[data-season="easter"] svg{left:1%;top:-11%;--ic-art-width:34%}
.ic-logo-ornament[data-season="spring"] svg{left:2%;top:-12%;--ic-art-width:29%}
.ic-logo-ornament[data-season="summer"] svg{left:7%;top:-18%;--ic-art-width:25%}
.ic-logo-ornament[data-season="autumn"] svg{left:4%;top:-10%;--ic-art-width:30%}
.ic-logo-ornament[data-season="halloween"] svg{left:3%;top:-13%;--ic-art-width:31%}
.ic-logo-ornament[data-season="valentine"] svg{left:5%;top:-13%;--ic-art-width:28%}
@media(max-width:600px){.ic-logo-ornament[data-season="christmas"] svg{top:-15%}.ic-logo-ornament[data-season="easter"] svg{top:-9%}}
@media(prefers-reduced-motion:no-preference){.ic-logo-ornament svg{animation:ic-breathe 7s ease-in-out infinite}}
@keyframes ic-breathe{0%,100%{filter:drop-shadow(0 2px 2px #030706bb)}50%{filter:drop-shadow(0 2px 3px #030706bb) drop-shadow(0 0 3px #31a88a33)}}
.network-flow--motion{position:relative;overflow:hidden;border-radius:16px;background:radial-gradient(ellipse at 49% 45%,#1b493522,transparent 65%),#091310}
.network-flow--motion .network-flow__svg{width:100%;height:auto;display:block}
.network-flow--motion .network-flow__dash{animation:ic-flowdash 2.8s linear infinite}
.network-flow--motion .ic-flow-packet{animation:ic-packet 2.5s linear infinite;filter:drop-shadow(0 0 5px #51e7c2)}
.network-flow--motion .ic-flow-packet--second{animation-delay:.72s}
.network-flow--motion .ic-flow-packet--third{animation-delay:1.35s}
.network-flow--motion .ic-flow-packet--fourth{animation-delay:1.9s}
.network-flow--motion .ic-filter-halo{transform-origin:360px 150px;animation:ic-halo 3.1s ease-in-out infinite}
@keyframes ic-flowdash{to{stroke-dashoffset:-34}}
@keyframes ic-packet{0%{opacity:0;transform:translateX(0)}12%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translateX(70px)}}
@keyframes ic-halo{0%,100%{opacity:.12;transform:scale(.93)}50%{opacity:.36;transform:scale(1.13)}}
/* A legible, responsive, illustrative path — no live telemetry claims. */
.ic-flow-steps{display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr) 38px minmax(0,1fr);gap:5px;align-items:center;padding:48px 15px 40px;position:relative}
.ic-flow-steps:before{content:"PROTECTED TRAFFIC PATH";position:absolute;top:15px;left:20px;font:600 9px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:1.3px;color:#7f9e91}
.ic-flow-stage{min-width:0;min-height:128px;border:1px solid #426c59;border-radius:10px;background:linear-gradient(150deg,#14231f,#0d1715);padding:14px 9px 12px;display:flex;flex-direction:column;justify-content:center;gap:9px;box-shadow:0 6px 20px #0002}
.ic-flow-stage--filter{border-color:#30b998;box-shadow:0 0 0 1px #2aa78933,0 0 27px #28b08c12}
.ic-flow-stage strong{font-size:clamp(12px,1.1vw,15px);font-weight:750;color:#f2f7f4;line-height:1.2}
.ic-flow-stage span{font-size:11px;line-height:1.45;color:#9bb7ae;overflow-wrap:anywhere}
.ic-flow-stage--filter span{color:#79d9be}
.ic-flow-stage small{font-size:9px;line-height:1.1;color:#5bb99e;font-family:ui-monospace,Consolas,monospace;letter-spacing:1px}
.ic-flow-connector{position:relative;height:2px;min-width:0;background:linear-gradient(90deg,#286b58,#46cfaa)}
.ic-flow-connector:before{content:"";position:absolute;right:0;top:-4px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid #46cfaa}
.ic-flow-connector .ic-flow-packet{position:absolute;left:0;top:-3px;width:8px;height:8px;background:#83f3d6;border-radius:50%;box-shadow:0 0 12px #56e9c7}
@keyframes ic-packet{0%{opacity:0;transform:translateX(0)}10%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translateX(27px)}}
@media(max-width:620px){.ic-flow-steps{grid-template-columns:1fr;gap:0;padding:42px 18px 30px}.ic-flow-stage{min-height:90px;padding:15px 18px}.ic-flow-stage strong{font-size:16px}.ic-flow-stage span{font-size:12px}.ic-flow-connector{width:2px;height:28px;margin:auto;background:linear-gradient(#286b58,#46cfaa)}.ic-flow-connector:before{right:-4px;top:auto;bottom:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid #46cfaa;border-bottom:0}.ic-flow-connector .ic-flow-packet{left:-3px;top:0}@keyframes ic-packet{0%{opacity:0;transform:translateY(0)}10%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translateY(21px)}}}
@media(prefers-reduced-motion:reduce){.network-flow--motion .network-flow__dash,.network-flow--motion .ic-flow-packet,.network-flow--motion .ic-filter-halo,.ic-logo-ornament svg{animation:none!important}}
.ic-network-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}
.ic-network-stat{background:#101b19;border:1px solid #31574b85;border-radius:12px;padding:21px 20px}
.ic-network-stat strong{display:block;font-size:clamp(1.5rem,3vw,2.3rem);letter-spacing:-.04em;line-height:1.15;color:#f1f5f2}
.ic-network-stat span{display:block;margin-top:9px;color:#a7b7b0;font-size:.9rem;line-height:1.5}
.ic-network-footnote{color:#9aaca5;font-size:.83rem;line-height:1.6;max-width:800px;margin:4px 0 24px}
.ic-callout{padding:26px 28px;margin:24px 0;background:#0c1b18;border:1px solid #3c8e6c70;border-radius:14px}
.ic-callout h3{margin:0 0 10px}
.ic-callout p{margin:0 0 18px;color:#b3c5be}
.ic-callout .btn{margin:0 12px 8px 0}
.ic-domain-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:start}
@media (max-width:850px){.ic-network-stats,.ic-domain-columns{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ic-season__icon,.network-flow--motion .network-flow__dash,.network-flow--motion .ic-flow-packet,.network-flow--motion .ic-filter-halo{animation:none!important}}

/* Keep the complete responsive diagram visible: the original card used a fixed,
   absolutely-positioned SVG region and overlaid its caption. */
.ic-flow-media{display:flex;flex-direction:column;min-height:0;overflow:visible}
.ic-flow-media>.network-flow--motion{position:relative!important;inset:auto!important;display:block!important;padding:0!important;min-height:0;overflow:hidden}
.ic-flow-media>.media-caption{position:static;flex:none}
@media(max-width:620px){.ic-flow-media{min-height:0!important}.ic-flow-media>.network-flow--motion{inset:auto!important}}

/* Refinement: holiday artwork should accent the cloud, not cover it. */
.ic-logo-ornament[data-season="autumn"] svg{left:5%;top:-15%;--ic-art-width:13%;--ic-art-rotation:-13deg}
.ic-logo-ornament[data-season="halloween"] svg{left:6%;top:-13%;--ic-art-width:17%;--ic-art-rotation:5deg}
.ic-logo-ornament[data-season="christmas"] svg{left:5%;top:-9%;--ic-art-width:22%;--ic-art-rotation:-7deg}
.ic-logo-ornament[data-season="easter"] svg{left:3%;top:-10%;--ic-art-width:22%;--ic-art-rotation:0deg}
.ic-logo-ornament[data-season="spring"] svg{left:4%;top:-13%;--ic-art-width:16%;--ic-art-rotation:0deg}
.ic-logo-ornament[data-season="summer"] svg{left:5%;top:-14%;--ic-art-width:16%;--ic-art-rotation:0deg}
.ic-logo-ornament[data-season="valentine"] svg{left:5%;top:-12%;--ic-art-width:16%;--ic-art-rotation:0deg}
.ic-logo-ornament[data-season="winter"] svg{left:5%;top:-13%;--ic-art-width:16%;--ic-art-rotation:0deg}
@media(max-width:600px){.ic-logo-ornament[data-season="christmas"] svg{top:-9%}.ic-logo-ornament[data-season="easter"] svg{top:-10%}}
/* Capacity card: longer label should not overwhelm adjacent metrics. */
.ic-network-stat--worldwide strong{font-size:clamp(1.35rem,1.8vw,1.75rem);letter-spacing:-.035em}
/* Application-profile catalogue: visible protocol names, restrained presentation. */
.ic-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #2a3933;border-left:1px solid #2a3933}
.ic-profile-group{padding:28px 30px;border-right:1px solid #2a3933;border-bottom:1px solid #2a3933;min-width:0}
.ic-profile-group h3{margin:0 0 12px;font-size:1.25rem;line-height:1.3}
.ic-profile-group>p{font-size:.94rem;line-height:1.55;color:#9eb2aa;margin:0 0 15px}
.ic-profile-list{list-style:none!important;margin:0!important;padding:0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.ic-profile-list li{position:relative;padding:7px 0 7px 15px;color:#d7e4dd;font-size:.92rem;line-height:1.45}
.ic-profile-list li:before{content:'';width:5px;height:5px;background:#49d0a5;border-radius:50%;position:absolute;left:1px;top:16px}
.ic-profile-footnote{max-width:880px;color:#93ada2;font-size:.9rem;margin:18px 0 0;line-height:1.6}
@media(max-width:820px){.ic-profile-grid{grid-template-columns:1fr}}
@media(max-width:480px){.ic-profile-group{padding:24px 20px}.ic-profile-list{grid-template-columns:1fr}}
