/* Home topology refinement */
html,body{max-width:100%;overflow-x:hidden}
.site-header{height:76px}
.brand{font-size:1.08rem;letter-spacing:-.02em}
.site-nav a{position:relative;padding:.55rem .15rem;font-size:.82rem;transition:color .2s var(--ease)}
.site-nav a::after{content:"";position:absolute;left:.15rem;right:.15rem;bottom:.28rem;height:1px;background:var(--accent-hi);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease)}
.site-nav a:hover::after,.site-nav a:focus-visible::after{transform:scaleX(1)}
.topology-hero{width:100%;min-height:85svh;isolation:isolate;background:radial-gradient(ellipse 55% 65% at 72% 58%,rgba(139,92,246,.16),rgba(139,92,246,.045) 43%,transparent 72%)}
.topology-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,var(--ground) 0,rgba(13,13,18,.88) 25%,rgba(13,13,18,.2) 56%,transparent 78%)}
.hero-copy{max-width:36rem}
.hero-actions{align-items:stretch}
.button{min-height:46px;padding:.78rem 1.2rem;border-radius:3px;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}
.button:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(139,92,246,.2)}
.button:active{transform:translateY(0)}
.topology-stage{min-width:0;display:flex;align-items:center;justify-content:center;overflow:visible}
.topology{position:static;width:100%;height:auto;max-width:880px;max-height:calc(100svh - 11rem);overflow:visible}
.link{stroke:#555568;stroke-width:2.25;stroke-dasharray:none;stroke-dashoffset:0;pathLength:1}
.link-leaf{stroke:#484859;stroke-dasharray:8 11;stroke-dashoffset:240}
.topology:not(.is-drawn) .link{stroke-dasharray:0 1000;stroke-dashoffset:1000}
.topology.is-drawn .link{animation:none;transition:stroke-dashoffset 1.5s var(--ease),stroke .2s,filter .2s}
.topology.is-drawn .link-solid{stroke-dasharray:1000 0;stroke-dashoffset:0}
.topology.is-drawn .link-leaf{stroke-dasharray:8 11;stroke-dashoffset:0}
.node rect{fill:rgba(20,20,28,.95);stroke:#9f83ef;stroke-width:2;filter:url(home-polish.css);transition:fill .2s,stroke .2s,filter .2s}
.node-core rect{fill:#1b1728;stroke:var(--accent-hi);stroke-width:2.8}
.node-core text{fill:var(--white);font-size:15px;font-weight:700}
.node-leaf text{font-size:13px}
.node:hover rect,.node:focus rect{fill:#241c39;stroke:#c4b5fd;filter:url(home-polish.css) drop-shadow(0 0 8px rgba(139,92,246,.68))}
.packet{fill:#d8ccff;filter:url(home-polish.css);pointer-events:none}
.home-section{padding-block:clamp(4.25rem,7vw,7rem)}
#writeups{padding-top:clamp(3rem,5vw,5rem)}
h2{font-size:clamp(2.25rem,4.3vw,3.7rem);font-weight:700}
.site-footer{gap:1.75rem;padding:2.25rem 1.5rem;font-size:.82rem;line-height:1.6}
.site-footer a{font-size:.82rem}
@media(max-width:800px){
 .site-header{height:72px}
 .brand{font-size:1rem}
 .topology-hero{min-height:auto;padding-top:72px;grid-template-columns:1fr;background:radial-gradient(ellipse 90% 48% at 50% 74%,rgba(139,92,246,.18),transparent 70%)}
 .topology-hero::after{display:none}
 .hero-copy{position:relative;inset:auto;width:100%;max-width:none;padding:1.5rem .25rem 0}
 .hero-copy h1{font-size:clamp(3rem,15vw,4.2rem)}
 .hero-copy p{font-size:1rem;line-height:1.6}
 .hero-actions{margin-top:1.5rem;flex-wrap:wrap}
 .button{min-height:46px}
 .topology-stage{position:relative;inset:auto;width:100%;height:320px;overflow:hidden}
 .topology{width:100%;height:100%;min-width:0;max-width:100%;overflow:hidden}
 .node text{font-size:12px}
 .node-core text{font-size:14px}
 .home-section{padding-block:3.75rem}
 #writeups{padding-top:3.25rem}
}
@media(max-width:420px){.node-leaf text{font-size:11px}.site-footer{gap:1rem 1.4rem}}
@media(prefers-reduced-motion:reduce){.packet-pulses{display:none}.topology:not(.is-drawn) .link,.topology.is-drawn .link{stroke-dashoffset:0;transition:none}.topology.is-drawn .link-solid{stroke-dasharray:none}.topology.is-drawn .link-leaf{stroke-dasharray:8 11}.button,.site-nav a,.site-nav a::after{transition:none}}

/* Finish-review fixes */
.hero-copy{pointer-events:none}
.hero-copy a,.hero-copy button{pointer-events:auto}
.link.route-active{stroke:var(--accent-hi);filter:drop-shadow(0 0 4px var(--accent));animation-duration:1.5s}
#writeups{padding-top:clamp(4.5rem,7vw,7rem)}
.hero-actions .button.secondary{border-color:var(--accent);color:var(--white)}
.nav-toggle,.footer-linkedin,.site-footer a[href*="linkedin.com"],.page-contact .gh-content button[type="submit"]{font-family:var(--display)}
.page-resume .gh-content h3:not(:first-of-type),.page-services .gh-content h3:not(:first-of-type){margin-top:2.5rem}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#0d0d12}
::-webkit-scrollbar-thumb{background:#343442;border:2px solid #0d0d12;border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:#8b5cf6}
@media(max-width:760px){#writeups{padding-top:4.5rem}}
