:root{--bg:#0b0d0c;--panel:#141715;--soft:#1b1f1c;--text:#f1f3ed;--muted:#989f97;--line:#292e2a;--lime:#c9f65b;--max:1240px;--pad:clamp(1.25rem,4vw,4rem)}
body{overflow-x:hidden}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"DM Sans",Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;max-width:100%}.skip-link{position:fixed;top:-4rem;left:1rem;background:var(--lime);color:#0b0d0c;padding:.7rem 1rem;z-index:100}.skip-link:focus{top:1rem}.site-header{height:82px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;top:0;width:100%;z-index:10}.brand{font:700 1.45rem Manrope,sans-serif;text-decoration:none}.brand span,em{color:var(--lime);font-style:normal}.site-header nav{display:flex;gap:2rem}.site-header nav a{font-size:.9rem;color:#c9cec7;text-decoration:none}.site-header nav a:hover{color:var(--lime)}.menu-toggle{display:none;background:none;border:0;padding:.5rem}.menu-toggle span{display:block;width:24px;height:1px;background:white;margin:6px}.hero{min-height:100svh;padding:clamp(8rem,14vw,11rem) var(--pad) 2.5rem;max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:5vw;align-items:center}.eyebrow,.section-index,.case-type{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}.eyebrow{display:flex;align-items:center;gap:.7rem}.eyebrow span{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px #c9f65b18}.hero h1{font:500 clamp(3.5rem,7.4vw,7.8rem)/.94 Manrope,sans-serif;letter-spacing:-.065em;margin:1.5rem 0 2rem;max-width:850px}.intro{font-size:clamp(1rem,1.4vw,1.25rem);color:#b5bab3;max-width:570px}.actions{display:flex;gap:1rem;margin-top:2.3rem;flex-wrap:wrap}.button{display:inline-flex;gap:1.5rem;align-items:center;justify-content:center;padding:.9rem 1.15rem;text-decoration:none;border:1px solid var(--line);font-size:.9rem}.button-primary{background:var(--lime);border-color:var(--lime);color:#0b0d0c;font-weight:600}.button-quiet:hover{border-color:#777}.hero-visual{position:relative;justify-self:end;width:min(100%,420px)}.portrait-wrap{background:var(--soft);overflow:hidden;aspect-ratio:4/5}.portrait-wrap img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.05)}.status{position:absolute;left:-3.5rem;bottom:2rem;background:#f1f3ed;color:#101210;padding:1rem 1.2rem;display:flex;align-items:center;gap:.7rem;box-shadow:0 15px 35px #0007}.status>span{width:8px;height:8px;border-radius:50%;background:#70a900}.status small,.status strong{display:block}.status small{font-size:.68rem;color:#707570;text-transform:uppercase}.status strong{font-size:.82rem}.location{position:absolute;right:-3.2rem;top:0;writing-mode:vertical-rl;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.hero-foot{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1.5rem;display:flex;justify-content:space-between;color:#757b75;text-transform:uppercase;font-size:.7rem;letter-spacing:.18em}.section-pad{max-width:var(--max);margin:auto;padding:clamp(6rem,11vw,10rem) var(--pad)}.statement{display:grid;grid-template-columns:1fr 3fr;gap:3rem;border-top:1px solid var(--line)}.statement h2,.section-heading h2,.contact h2{font:500 clamp(2.5rem,5vw,5.3rem)/1.04 Manrope,sans-serif;letter-spacing:-.05em;margin:0}.statement>div>p{max-width:670px;color:#aeb4ad;font-size:1.15rem;margin:2rem 0 0}.metrics{max-width:calc(var(--max) - 2 * var(--pad));margin:auto;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.metrics div{padding:2.3rem 1.5rem;border-right:1px solid var(--line)}.metrics div:last-child{border:0}.metrics strong{font:500 clamp(2rem,4vw,3.5rem) Manrope,sans-serif;display:block;color:var(--lime)}.metrics span{font-size:.8rem;color:var(--muted)}.section-heading{display:grid;grid-template-columns:1fr 3fr;margin-bottom:4rem}.case{background:var(--panel);border:1px solid var(--line);padding:clamp(1.5rem,3vw,2.5rem);position:relative}.case-feature{display:grid;grid-template-columns:60px 1.1fr .9fr;gap:2rem;align-items:center}.case-number{font:500 .75rem Manrope;color:var(--lime);align-self:start}.case h3{font:500 clamp(1.5rem,2.6vw,2.5rem)/1.1 Manrope;margin:.7rem 0 1.2rem;letter-spacing:-.03em}.case p{color:#a8aea7}.case ul{padding:0;list-style:none;color:#d7dad4;font-size:.9rem}.case li{border-top:1px solid var(--line);padding:.65rem 0}.diagram{display:flex;align-items:center;justify-content:center;gap:1rem}.diagram div{width:105px;aspect-ratio:1;border:1px solid #394039;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.diagram b{font:500 2rem Manrope}.diagram span{font-size:.7rem;color:var(--muted)}.diagram .accent{background:var(--lime);color:#111;border-color:var(--lime)}.diagram .accent span{color:#414a2b}.diagram i{color:#596059}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:1.5rem}.tags span{font-size:.68rem;color:#aab0a9;border:1px solid #353a36;padding:.3rem .55rem}.experience{border-top:1px solid var(--line)}.roles{margin-left:25%}.role{display:grid;grid-template-columns:1fr 3fr;padding:2.5rem 0;border-top:1px solid var(--line);gap:2rem}.role>p{font-size:.75rem;color:var(--muted)}.role h3{font:500 clamp(1.4rem,2.4vw,2.1rem) Manrope;margin:0}.role strong{font-size:.85rem;color:var(--lime)}.role div p{color:#a3a9a2;max-width:650px}.capabilities{display:grid;grid-template-columns:1fr 3fr;border-block:1px solid var(--line)}.cap-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.cap-grid h3{font:500 1.35rem Manrope}.cap-grid p{color:var(--muted)}.education{display:grid;grid-template-columns:1fr 3fr}.education>div>p{color:var(--muted)}.education h2{font:500 clamp(2rem,4vw,4rem)/1.1 Manrope;letter-spacing:-.04em;max-width:850px}.contact{display:grid;grid-template-columns:3fr 1fr;gap:4rem;background:var(--panel);max-width:none;padding-inline:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}.contact-link{font:500 clamp(1rem,2vw,1.5rem) Manrope;display:inline-flex;gap:1rem;margin-top:3rem;text-underline-offset:7px}.contact-link span{color:var(--lime)}.contact-meta{align-self:end;color:var(--muted);font-size:.85rem}.contact-meta strong{color:var(--text)}footer{max-width:var(--max);margin:auto;padding:2rem var(--pad);display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.75rem}footer a{text-decoration:none}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:820px){.site-header{position:absolute}.menu-toggle{display:block;z-index:2}.site-header nav{display:none;position:absolute;inset:0 0 auto;background:#111410;padding:6rem var(--pad) 2rem;flex-direction:column}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:8rem}.hero h1{font-size:clamp(3.2rem,14vw,6rem)}.hero-visual{justify-self:center;width:min(85%,400px)}.status{left:-1rem}.location{right:-2.1rem}.hero-foot{display:none}.statement,.section-heading,.capabilities,.education{grid-template-columns:1fr}.section-heading{gap:1rem}.metrics{grid-template-columns:1fr 1fr}.metrics div:nth-child(2){border-right:0}.case-feature{grid-template-columns:40px 1fr}.diagram{grid-column:2;justify-content:flex-start}.case-grid{grid-template-columns:1fr}.roles{margin:0}.contact{grid-template-columns:1fr}.contact-meta{margin-top:3rem}}
@media(max-width:520px){.hero{padding-inline:1.25rem}.hero h1{letter-spacing:-.055em}.actions{flex-direction:column}.button{width:100%}.metrics{margin-inline:1.25rem}.metrics div{padding:1.5rem .8rem}.metrics strong{font-size:1.8rem}.case-feature{display:block}.case-number{margin-bottom:1.5rem}.diagram{margin-top:2rem;gap:.35rem}.diagram div{width:78px}.diagram b{font-size:1.5rem}.diagram i{font-size:.8rem}.role{grid-template-columns:1fr}.cap-grid{grid-template-columns:1fr}.portrait-wrap{aspect-ratio:1/1}.location{display:none}footer{align-items:flex-start;gap:1rem;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* MULTI-PAGE & DYNAMIC EXPERIENCE */
.site-header.solid{position:relative;background:var(--bg)}.site-header nav .active{color:var(--lime)}.section-lead,.page-intro{color:var(--muted);max-width:620px}.page-hero{padding-top:clamp(9rem,16vw,13rem);padding-bottom:5rem;border-bottom:1px solid var(--line)}.page-hero h1,.contact-pitch h1{font:500 clamp(3.2rem,7vw,7rem)/.96 Manrope,Arial,sans-serif;letter-spacing:-.06em;margin:1.5rem 0 2rem}.page-intro{font-size:1.15rem}.page-content{padding-top:5rem}.home-paths{display:grid;grid-template-columns:1fr 3fr;border-top:1px solid var(--line)}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.path-grid a{min-height:220px;background:var(--panel);padding:1.7rem;text-decoration:none;display:flex;flex-direction:column;transition:.3s}.path-grid a:hover{background:var(--lime);color:#10120e;transform:translateY(-6px)}.path-grid small{color:var(--muted)}.path-grid a:hover small{color:#505743}.path-grid strong{font:500 1.3rem Manrope,Arial;margin-top:auto}.path-grid span{align-self:flex-end;font-size:1.4rem}.project-showcase{display:grid;gap:1rem}.project-story{min-height:450px;background:var(--panel);border:1px solid var(--line);display:grid;grid-template-columns:1fr 1.05fr;overflow:hidden;transition:border-color .3s,transform .3s}.project-story:hover,.project-story:focus{border-color:#66705f;transform:translateY(-4px);outline:none}.project-copy{padding:clamp(1.7rem,4vw,3.5rem);display:flex;flex-direction:column}.project-copy h3{font:500 clamp(2rem,4vw,4rem)/1 Manrope,Arial;letter-spacing:-.05em;margin:1rem 0}.project-copy>p{color:#a8aea7;max-width:560px}.project-copy .tags{margin-top:auto}.system-visual{background:#101311;display:grid;place-items:center;position:relative;overflow:hidden}.system-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#2a302b55 1px,transparent 1px),linear-gradient(90deg,#2a302b55 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to bottom,transparent,#000,transparent)}.backup-viz{position:relative;display:flex;align-items:center;gap:1rem}.backup-viz div{width:120px;aspect-ratio:1;border:1px solid #465047;border-radius:50%;display:grid;place-content:center;text-align:center;animation:orbitPulse 3s ease-in-out infinite}.backup-viz div:nth-of-type(2){animation-delay:.4s}.backup-viz div:nth-of-type(3){background:var(--lime);color:#10120e;border-color:var(--lime);animation-delay:.8s}.backup-viz b{font:500 2.8rem Manrope}.backup-viz span{font-size:.7rem}.backup-viz i{color:var(--lime);font-style:normal;animation:flowArrow 1.4s ease-in-out infinite}.network-viz{width:min(440px,85%);display:grid;grid-template-columns:repeat(3,1fr);gap:3rem 1rem;position:relative}.network-viz .core{grid-column:1/-1;justify-self:center;background:var(--lime);color:#10120e}.network-viz .node{padding:.9rem 1rem;border:1px solid #566057;text-align:center;font-size:.75rem;position:relative;z-index:2;background:#151a16}.network-viz i{position:absolute;width:66%;height:48%;left:17%;top:29%;border:1px solid var(--lime);border-top:0;opacity:.65;animation:networkPulse 2s linear infinite}.server-viz{display:flex;gap:1rem;position:relative}.server-viz>div{width:110px;height:230px;border:1px solid #3d463f;padding:1rem;display:flex;flex-direction:column;gap:.8rem}.server-viz i{height:38px;border:1px solid #3c463e;position:relative}.server-viz i:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--lime);position:absolute;right:8px;top:8px;animation:blink 1.8s infinite}.server-viz div:nth-child(2) i:after{animation-delay:.5s}.server-viz div:nth-child(3) i:after{animation-delay:1s}.server-viz span{font-size:.58rem;letter-spacing:.15em;color:var(--muted);margin-top:auto}.skills-dynamic{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.skill-panel{background:var(--panel);border:1px solid var(--line);padding:clamp(1.5rem,3vw,2.7rem)}.skill-panel h2{font:500 clamp(2rem,4vw,3.5rem) Manrope;margin:.7rem 0}.skill-panel>p{color:var(--muted)}.skill-list{margin-top:2.5rem}.skill-list>div{display:grid;grid-template-columns:1fr auto;gap:.5rem;margin:1.2rem 0;font-size:.82rem}.skill-list strong{color:var(--lime)}.skill-list i{grid-column:1/-1;height:2px;background:#303530;overflow:hidden}.skill-list b{display:block;width:var(--level);height:100%;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform 1.2s ease}.skill-panel.visible .skill-list b{transform:scaleX(1)}.signal-band{overflow:hidden;border-block:1px solid var(--line);padding:1.3rem 0}.signal-track{display:flex;align-items:center;width:max-content;gap:2rem;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;color:var(--muted);animation:ticker 24s linear infinite}.signal-track i{width:7px;height:7px;border-radius:50%;background:var(--lime)}.education-dynamic{border-top:1px solid var(--line)}.edu-item{display:grid;grid-template-columns:1fr 3fr;gap:2rem;padding:3.5rem 0;border-bottom:1px solid var(--line)}.edu-item>p{color:var(--muted);font-size:.8rem}.edu-item div>span{color:var(--lime);font-size:.7rem}.edu-item h2{font:500 clamp(2rem,4vw,3.8rem)/1.08 Manrope;margin:1rem 0;letter-spacing:-.04em;max-width:850px}.edu-item strong{color:var(--lime)}.edu-item div>p{color:var(--muted);max-width:650px}.credentials{display:grid;grid-template-columns:1fr 3fr;padding-top:6rem}.credentials #credentialList{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.credentials #credentialList span{border:1px solid var(--line);padding:1.5rem;display:flex;justify-content:space-between}.credentials i{font-style:normal;color:var(--lime)}.contact-page{padding-top:clamp(9rem,14vw,12rem);display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:start}.contact-pitch>p{color:var(--muted);max-width:600px}.availability{margin-top:3rem;display:flex;gap:.7rem;align-items:center;font-size:.78rem}.availability i{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 6px #c9f65b16;animation:blink 2s infinite}.contact-form{background:var(--panel);border:1px solid var(--line);padding:clamp(1.5rem,4vw,3rem)}.field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.field label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.field input,.field textarea,.field select{font:inherit;color:var(--text);background:#0e110f;border:1px solid #343a35;padding:.9rem;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--lime)}.contact-form button{width:100%;cursor:pointer}.contact-form #formStatus{font-size:.78rem;color:var(--lime);min-height:1.2rem}.contact-options{max-width:var(--max);margin:auto;padding:0 var(--pad) 6rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.contact-options a{background:var(--bg);padding:1.7rem;text-decoration:none}.contact-options small,.contact-options strong{display:block}.contact-options small{color:var(--muted);margin-bottom:.6rem}.contact-options a:hover strong{color:var(--lime)}
@keyframes orbitPulse{50%{transform:scale(1.06);box-shadow:0 0 40px #c9f65b17}}@keyframes flowArrow{50%{transform:translateX(5px)}}@keyframes networkPulse{50%{filter:drop-shadow(0 0 6px var(--lime));opacity:1}}@keyframes blink{50%{opacity:.2}}@keyframes ticker{to{transform:translateX(-50%)}}
@media(max-width:820px){.project-story{grid-template-columns:1fr}.system-visual{min-height:360px;order:-1}.home-paths,.credentials{grid-template-columns:1fr}.path-grid{grid-template-columns:1fr}.path-grid a{min-height:150px}.skills-dynamic{grid-template-columns:1fr}.contact-page{grid-template-columns:1fr}.contact-options{grid-template-columns:1fr}.credentials #credentialList{grid-template-columns:1fr}}
@media(max-width:520px){.backup-viz{gap:.25rem}.backup-viz div{width:78px}.backup-viz b{font-size:2rem}.server-viz>div{width:80px;height:190px}.edu-item{grid-template-columns:1fr}.system-visual{min-height:300px}.network-viz{gap:2rem .5rem}.contact-options{background:transparent}.page-hero h1,.contact-pitch h1{font-size:clamp(3rem,15vw,4.8rem)}}
@media(prefers-reduced-motion:reduce){.backup-viz div,.backup-viz i,.network-viz i,.server-viz i:after,.availability i,.signal-track{animation:none}.skill-list b{transform:scaleX(1)}}

/* PROCESS SIMULATIONS */
.hero{min-height:min(100svh,960px)}.process-viz{width:100%;height:100%;min-height:450px;padding:1.25rem;display:flex;flex-direction:column;position:relative;z-index:1}.viz-title,.viz-log{display:flex;align-items:center;gap:.65rem;font-size:.6rem;letter-spacing:.09em;text-transform:uppercase;color:#858d85}.viz-title b{font-weight:500;color:var(--lime);margin-left:auto}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px #c9f65b16;animation:livePulse 1.6s infinite}.process-viz svg{width:100%;height:auto;max-height:350px;flex:1;overflow:visible}.process-viz svg text{fill:#aeb5ae;font:600 10px Arial;text-anchor:middle;letter-spacing:.08em}.process-viz .links path{fill:none;stroke:#485148;stroke-width:1.5;stroke-dasharray:5 5;animation:lineFlow 1.2s linear infinite}.process-viz .device rect,.process-viz .device path,.process-viz .internet circle,.process-viz .internet path,.process-viz .firewall path,.process-viz .switch rect,.process-viz .vlan rect,.process-viz .users circle,.process-viz .users path,.process-viz .rack rect,.process-viz .cloud path,.process-viz .backup-box rect,.process-viz .backup-box path{fill:#151a16;stroke:#5a655b;stroke-width:1.3}.process-viz .device>circle,.process-viz .switch circle,.process-viz .rack circle{fill:var(--lime);stroke:none;animation:blink 1.4s infinite}.process-viz .device>path{fill:none}.process-viz .verify circle{fill:#172017;stroke:var(--lime)}.process-viz .verify path{fill:none;stroke:var(--lime);stroke-width:2}.process-viz .verify{opacity:0;animation:verifyIn 6s infinite}.process-viz .v2{animation-delay:1.5s}.process-viz .v3{animation-delay:3s}.process-viz .rule text{fill:var(--lime);font-size:9px}.viz-log{justify-content:space-between;border-top:1px solid #293029;padding-top:.8rem;white-space:nowrap}.viz-log span{opacity:.3;animation:logStep 8s infinite}.viz-log span:nth-child(2){animation-delay:2s}.viz-log span:nth-child(3){animation-delay:4s}.viz-log span:nth-child(4){animation-delay:6s}.packet circle,.net-packet circle,.hy-packet circle{fill:var(--lime);filter:drop-shadow(0 0 5px var(--lime))}.packet text,.hy-packet text{fill:var(--lime);text-anchor:start;font-size:7px}.packet-a{offset-path:path("M130 175 H250 V72 H345");animation:travel 6s linear infinite}.packet-b{offset-path:path("M130 175 H345");animation:travel 6s 1.5s linear infinite}.packet-c{offset-path:path("M130 175 H250 V278 H345");animation:travel 6s 3s linear infinite}.net-viz .internet path,.net-viz .firewall path{fill:none}.net-viz .switch circle{fill:var(--lime)}.net-viz .vlan text:last-child{font-size:7px;fill:#727b73}.net-viz .prod rect{stroke:var(--lime)}.net-viz .blocked path{stroke:#ff6b6b;stroke-width:2}.net-viz .blocked text{fill:#ff6b6b;font-size:7px}.np1{offset-path:path("M95 175 H190 H280 H365 H410 V70 H485");animation:travel 5s linear infinite}.np2{offset-path:path("M95 175 H190 H280 H365 H485");animation:travel 5s 1.5s linear infinite}.np3{offset-path:path("M95 175 H190 H280 H365 H410 V280 H485");animation:travel 5s 3s linear infinite}.net-viz .blocked{animation:blockFlash 5s .8s infinite}.hybrid-viz .users path,.hybrid-viz .cloud path{fill:none}.hybrid-viz .health circle{fill:var(--lime);animation:healthPulse 1.5s infinite}.hybrid-viz .health circle:nth-child(2){animation-delay:.4s}.hybrid-viz .health circle:nth-child(3){animation-delay:.8s}.hp1{offset-path:path("M100 175 H225");animation:travel 3s linear infinite}.hp2{offset-path:path("M335 175 H470");animation:travel 4s 1s linear infinite}.hp3{offset-path:path("M280 225 V285 H470");animation:travel 5s 2s linear infinite}.hybrid-viz .cloud{animation:cloudGlow 2.5s infinite}.system-visual:has(.process-viz){align-items:stretch;place-items:stretch}
@keyframes lineFlow{to{stroke-dashoffset:-10}}@keyframes travel{0%{offset-distance:0;opacity:0}10%,85%{opacity:1}100%{offset-distance:100%;opacity:0}}@keyframes verifyIn{0%,18%{opacity:0;transform:scale(.5)}25%,70%{opacity:1;transform:scale(1)}90%,100%{opacity:0}}@keyframes logStep{0%,20%,100%{opacity:.3;color:inherit}5%,15%{opacity:1;color:var(--lime)}}@keyframes livePulse{50%{box-shadow:0 0 0 9px #c9f65b08}}@keyframes blockFlash{0%,20%,100%{opacity:0}10%{opacity:1}}@keyframes healthPulse{50%{filter:drop-shadow(0 0 7px var(--lime))}}@keyframes cloudGlow{50%{filter:drop-shadow(0 0 8px #c9f65b55)}}
@media(max-width:820px){.hero{min-height:auto}.process-viz{min-height:360px}.viz-log{overflow:hidden;gap:1rem}.viz-log span{flex:0 0 auto}.process-viz svg{min-height:280px}}
@media(max-width:1100px){.project-story{grid-template-columns:1fr}.project-story .system-visual{min-height:440px}.process-viz{min-height:420px}}
@media(max-width:520px){.process-viz{min-height:330px;padding:.7rem}.viz-title b{display:none}.viz-log span:nth-child(even){display:none}}
@media(prefers-reduced-motion:reduce){.process-viz *{animation:none!important}.packet,.net-packet,.hy-packet{display:none}.process-viz .verify{opacity:1;transform:none}.viz-log span{opacity:1}}

/* FLUID PROCESS CARDS — labels remain in normal layout at every width */
.system-visual{container-type:inline-size}.practical-viz{min-height:0;gap:1rem;padding:clamp(1rem,3cqw,1.7rem);justify-content:center}.practical-viz small,.practical-viz strong,.practical-viz span,.practical-viz em{display:block}.practical-viz strong{font:600 clamp(.78rem,2.2cqw,1rem) Manrope,Arial,sans-serif}.practical-viz small{font-size:clamp(.58rem,1.6cqw,.72rem);color:var(--muted)}.practical-viz em{font-style:normal;font-size:clamp(.55rem,1.5cqw,.68rem);color:var(--lime)}.practical-viz .viz-title{min-height:24px}.process-source,.onprem-card,.hybrid-entry{width:min(100%,390px);margin:auto;display:flex;align-items:center;gap:1rem;background:#151a16;border:1px solid #455047;padding:1rem;position:relative}.process-source>div:last-child,.onprem-card>div:nth-child(2){min-width:0}.process-source span,.onprem-card span{font-size:.65rem;color:#737c74}.server-icon{width:58px;flex:0 0 58px;border:1px solid #526054;padding:6px;display:grid;gap:5px}.server-icon i{display:block;height:7px;border:1px solid #526054;position:relative}.server-icon i:after{content:"";position:absolute;right:3px;top:2px;width:3px;height:3px;border-radius:50%;background:var(--lime);animation:blink 1.4s infinite}.server-icon.large{width:72px;flex-basis:72px}.flow-line{height:36px;width:min(72%,440px);margin:0 auto;position:relative;border-top:1px dashed #526054}.flow-line:before,.flow-line:after{content:"";position:absolute;top:-1px;height:36px;border-left:1px dashed #526054}.flow-line:before{left:0}.flow-line:after{right:0}.flow-line i{position:absolute;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime);animation:busFlow 3.6s linear infinite}.flow-line i:nth-child(2){animation-delay:1.2s}.flow-line i:nth-child(3){animation-delay:2.4s}.target-grid{display:grid;gap:clamp(.55rem,1.6cqw,1rem);width:100%}.three-targets,.vlan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hybrid-targets{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,480px);margin:auto}.process-target{min-width:0;min-height:145px;background:#151a16;border:1px solid #3e4840;padding:clamp(.7rem,2.4cqw,1rem);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.28rem;position:relative;overflow:hidden}.process-target:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#c9f65b0d 50%,transparent 65%);transform:translateX(-100%);animation:scanCard 6s infinite}.process-target:nth-child(2):after{animation-delay:2s}.process-target:nth-child(3):after{animation-delay:4s}.process-target .step{font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:#858e86}.process-target em{margin-top:auto}.target-icon{height:36px;display:grid;place-items:center;color:var(--lime);font-size:2rem;line-height:1}.target-icon.raid{width:48px;border:1px solid #536054;padding:5px;gap:3px}.target-icon.raid i{height:4px;border:1px solid #536054}.target-icon.cloud-shape{font-size:2.4rem}.target-icon.drive{font-size:1.8rem}.rule-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#343c35;border:1px solid #343c35}.rule-strip span{background:#111511;padding:.65rem;text-align:center;font-size:clamp(.55rem,1.6cqw,.7rem);color:#909890}.rule-strip b{display:inline;color:var(--lime);font-size:1rem}.network-pipeline{display:grid;grid-template-columns:minmax(90px,1fr) 40px minmax(120px,1.2fr) 40px minmax(110px,1fr);align-items:center;gap:.25rem}.pipeline-node{min-width:0;min-height:118px;background:#151a16;border:1px solid #424d44;padding:.65rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.2rem;position:relative}.pipeline-node em{color:#ff7373}.round-icon{font-size:2rem;color:var(--lime)}.firewall-grid{width:54px;display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.firewall-grid i{height:13px;border:1px solid #637064;animation:firewallScan 2.4s infinite}.switch-icon{display:flex;gap:4px;border:1px solid #536054;padding:12px 8px}.switch-icon i{width:6px;height:6px;background:var(--lime);animation:blink 1.2s infinite}.pipe{height:2px;background:#526054;position:relative}.pipe i{position:absolute;width:6px;height:6px;top:-2px;border-radius:50%;background:var(--lime);animation:pipeFlow 2s linear infinite}.pipe i:nth-child(2){animation-delay:1s}.vlan-grid .production{border-color:#7b963e}.vlan-grid .isolated{border-color:#754747}.hybrid-entry{width:min(100%,280px)}.hybrid-entry .round-icon{flex:0 0 45px}.onprem-card{width:min(100%,430px)}.onprem-card>em{margin-left:auto;background:#c9f65b14;border:1px solid #c9f65b44;padding:.3rem .5rem}.practical-viz .viz-title span:not(.live-dot){display:inline}.practical-viz .viz-title b{display:block}
@keyframes busFlow{0%{left:0;opacity:0}10%,90%{opacity:1}100%{left:100%;opacity:0}}@keyframes scanCard{0%,30%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}@keyframes pipeFlow{from{left:0}to{left:100%}}@keyframes firewallScan{0%,100%{background:transparent}40%{background:#c9f65b33}}
@container (max-width:500px){.three-targets,.vlan-grid{grid-template-columns:1fr}.hybrid-targets{grid-template-columns:1fr}.process-target{min-height:115px}.flow-line{width:1px;height:26px;border-top:0;border-left:1px dashed #526054}.flow-line:before,.flow-line:after{display:none}.flow-line i{left:-3px;top:0;animation:verticalFlow 3s linear infinite}.network-pipeline{grid-template-columns:1fr;justify-items:stretch}.pipeline-node{min-height:100px}.pipe{width:2px;height:26px;margin:auto}.pipe i{left:-2px;top:0;animation:verticalFlow 2s linear infinite}.rule-strip{grid-template-columns:1fr}.practical-viz .viz-title b{display:none}}
@keyframes verticalFlow{from{top:0;opacity:0}20%,80%{opacity:1}to{top:100%;opacity:0}}
@media(max-width:520px){.three-targets,.vlan-grid,.hybrid-targets{grid-template-columns:1fr}.network-pipeline{grid-template-columns:1fr}.pipe{width:2px;height:26px;margin:auto}.process-target{min-height:110px}.rule-strip{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.practical-viz *{animation:none!important}.flow-line i,.pipe i{display:none}}
