@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Manrope:wght@400;500;600;700&display=swap');

:root {
  --night: #08090d; --night-soft: #11131a; --paper: #f0efe9; --ink: #0d1017; --muted: #686b72;
  --line-dark: rgba(255,255,255,.14); --line-light: rgba(13,16,23,.16);
  --lime: #bdff48; --blue: #7b83ff; --coral: #ff5e78; --cyan: #62e8d5;
  --sans: 'Manrope', Arial, sans-serif; --mono: 'DM Mono', Consolas, monospace;
  --page-pad: clamp(1.25rem,4.2vw,5.25rem);
}
*,*::before,*::after{box-sizing:border-box} html{scroll-behavior:smooth;background:var(--night)}
body{margin:0;color:#fff;background:var(--night);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.nav-open{overflow:hidden} a{color:inherit;text-decoration:none} button,input,textarea{font:inherit} img{display:block;width:100%} figure,h1,h2,h3,p,dl,dd{margin:0} ul,ol{margin:0;padding:0;list-style:none} ::selection{color:var(--night);background:var(--lime)}
.noise{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}

/* Navigation */
.nav{position:fixed;top:0;left:0;z-index:90;width:100%;height:86px;padding:0 var(--page-pad);display:flex;align-items:center;justify-content:space-between;transition:background .35s,border-color .35s,height .35s;border-bottom:1px solid transparent}
.nav.is-scrolled{height:70px;background:rgba(8,9,13,.88);border-color:var(--line-dark);backdrop-filter:blur(18px)}
.nav__brand{display:flex;align-items:center;gap:.9rem}.nav__mark{display:block;width:42px;aspect-ratio:1;background:linear-gradient(135deg,var(--lime) 0%,var(--cyan) 55%,var(--blue) 100%);-webkit-mask:url('/images/hunter-mark.svg') center/contain no-repeat;mask:url('/images/hunter-mark.svg') center/contain no-repeat;filter:drop-shadow(0 0 7px rgba(98,232,213,.18));transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s}.nav__brand:hover .nav__mark{transform:rotate(12deg) scale(1.06);filter:drop-shadow(0 0 11px rgba(98,232,213,.42))}.nav__brand>span:last-child{display:flex;flex-direction:column;line-height:1.05}.nav__brand strong{font-size:.83rem;letter-spacing:-.01em}.nav__brand small{margin-top:.32rem;color:rgba(255,255,255,.52);font:400 .58rem/1 var(--mono);text-transform:uppercase;letter-spacing:.09em}
.nav__links{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2.5rem)}.nav__links a{color:rgba(255,255,255,.68);font:400 .68rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;transition:color .2s}.nav__links a span{color:rgba(255,255,255,.3);margin-right:.35rem}.nav__links a:hover{color:#fff}.nav__links .nav__contact{padding:.8rem 1rem;color:var(--night);background:var(--lime);border-radius:4px;font-weight:500}.nav__links .nav__contact:hover{color:var(--night);background:#d2ff80}.nav__toggle{display:none}

/* Hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:var(--night)}
.hero__media,.hero__media img,.hero__shade,#lab-shader{position:absolute;inset:0;width:100%;height:100%}.hero__media{z-index:-4}.hero__media img{object-fit:cover;object-position:62% center;scale:1.035;will-change:transform}#lab-shader{z-index:-2;pointer-events:none;opacity:.8;mix-blend-mode:screen}.hero__shade{z-index:-1;background:linear-gradient(90deg,rgba(5,6,9,.95) 0%,rgba(5,6,9,.8) 34%,rgba(5,6,9,.22) 72%,rgba(5,6,9,.2) 100%),linear-gradient(0deg,rgba(5,6,9,.72) 0%,transparent 42%,rgba(5,6,9,.42) 100%)}
.hero::after{content:'';position:absolute;left:var(--page-pad);right:var(--page-pad);bottom:76px;height:1px;background:linear-gradient(90deg,var(--lime),rgba(255,255,255,.18) 22%,rgba(255,255,255,.18))}
.hero__content{width:min(860px,68vw);padding:9rem var(--page-pad) 11rem}.eyebrow{display:flex;align-items:center;gap:.7rem;color:var(--lime);font:500 .7rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.13em}.eyebrow>span{width:2.4rem;height:1px;background:currentColor}
.hero h1{max-width:860px;margin-top:1.75rem;font-size:clamp(4.5rem,8.2vw,9rem);font-weight:600;line-height:.96;letter-spacing:-.048em;text-wrap:balance}.hero__current{width:fit-content;margin-top:2.5rem;padding:.85rem 1rem;display:grid;grid-template-columns:auto auto;gap:.3rem 1rem;background:rgba(8,9,13,.56);border-left:2px solid var(--lime);backdrop-filter:blur(14px)}.hero__current span{grid-row:1/3;align-self:center;color:var(--lime);font:500 .6rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;writing-mode:vertical-rl;transform:rotate(180deg)}.hero__current strong{font-size:.92rem;font-weight:600;line-height:1.2}.hero__current small{color:rgba(255,255,255,.5);font:400 .61rem/1.2 var(--mono);text-transform:uppercase;letter-spacing:.07em}.hero__actions{display:flex;gap:.75rem;margin-top:2rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.15rem;border:1px solid transparent;border-radius:4px;cursor:pointer;font:500 .72rem/1 var(--mono);text-transform:uppercase;letter-spacing:.055em;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button--primary{color:var(--night);background:var(--lime)}.button--primary:hover{background:#d1ff7a}.button--quiet{color:#fff;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.24);backdrop-filter:blur(10px)}.button--quiet span{margin-left:.9rem}.button--quiet:hover{background:rgba(255,255,255,.13)}
.hero__ledger{position:absolute;left:var(--page-pad);right:var(--page-pad);bottom:35px;display:grid;grid-template-columns:repeat(4,1fr);color:rgba(255,255,255,.45);font:400 .63rem/1 var(--mono);text-transform:uppercase;letter-spacing:.09em}.hero__ledger span:nth-child(2),.hero__ledger span:nth-child(3){text-align:center}.hero__ledger span:last-child{text-align:right}.hero__scroll{position:absolute;right:var(--page-pad);bottom:105px;display:flex;align-items:center;gap:.7rem;color:rgba(255,255,255,.52);font:.62rem/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;writing-mode:vertical-rl}.hero__scroll span{position:relative;width:1px;height:55px;overflow:hidden;background:rgba(255,255,255,.24)}.hero__scroll span::after{content:'';position:absolute;inset:0;background:var(--lime);transform:translateY(-100%);animation:scroll-line 2.2s ease-in-out infinite}@keyframes scroll-line{0%{transform:translateY(-100%)}55%,100%{transform:translateY(100%)}}

/* Editorial sections */
.light-section{color:var(--ink);background:var(--paper)}.dark-section{color:#fff;background:var(--night)}.section-label{display:flex;align-items:center;gap:.7rem;font:500 .67rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.1em}.section-label span{color:var(--coral)}
.intro{min-height:100svh;padding:clamp(6rem,10vw,10rem) var(--page-pad) clamp(5rem,8vw,8rem);display:grid;grid-template-columns:.55fr 1.2fr 1fr;gap:clamp(2rem,6vw,7rem);align-content:center}.intro>.section-label{align-self:start;padding-top:.4rem}.intro__title .eyebrow{color:var(--muted)}
.intro h2,.section-heading h2,.visual-section h2,.practice h2,.contact h2{margin-top:1.5rem;font-size:clamp(3.1rem,6.4vw,7rem);font-weight:600;line-height:1;letter-spacing:-.042em}.intro__copy{max-width:700px;padding-top:2.2rem}.intro__copy>p{color:#32353c;font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.75}.intro__copy>p+p{margin-top:1.3rem}.intro__copy .intro__education{margin-top:2.4rem;padding-top:1.3rem;border-top:1px solid var(--line-light);color:var(--muted);font:400 .73rem/1.65 var(--mono)}
.fact-strip{grid-column:2/-1;margin-top:clamp(2rem,5vw,5rem);border-top:1px solid var(--ink);display:grid;grid-template-columns:repeat(3,1fr)}.fact-strip>div{min-height:130px;padding:1.1rem 1.2rem 1.1rem 0;display:grid;grid-template-columns:2.2rem 1fr;align-items:end;border-right:1px solid var(--line-light)}.fact-strip>div:last-child{padding-left:1.2rem;border-right:0}.fact-strip>div:nth-child(2){padding-left:1.2rem}.fact-strip dt{align-self:start;color:var(--coral);font:.62rem/1 var(--mono)}.fact-strip dd{display:flex;flex-direction:column;gap:.3rem}.fact-strip strong{font-size:clamp(1rem,1.4vw,1.3rem)}.fact-strip dd span{color:var(--muted);font:.63rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}

/* Experience */
.experience{position:relative;min-height:100svh;padding:clamp(6rem,9vw,9rem) var(--page-pad);overflow:hidden;isolation:isolate;background:radial-gradient(circle at 3% 88%,rgba(47,115,255,.13),transparent 28%),radial-gradient(circle at 96% 8%,rgba(141,77,255,.11),transparent 25%),var(--paper)}.experience>:not(.section-shader){position:relative;z-index:2}.experience__head{display:grid;grid-template-columns:.55fr 1.3fr .8fr;gap:clamp(2rem,5vw,6rem);align-items:end}.experience__head .section-label{align-self:start;padding-top:.55rem}.experience__head .section-label span{color:#2f73ff}.experience__head h2{font-size:clamp(3.2rem,6.2vw,6.8rem);font-weight:600;line-height:.98;letter-spacing:-.045em}.experience__head>p{padding-bottom:.5rem;color:#42464f;font-size:clamp(.95rem,1.2vw,1.08rem);line-height:1.72}
.experience__roles{margin-top:clamp(4rem,7vw,7rem);display:grid;grid-template-columns:1.25fr .75fr;border-top:1px solid var(--ink);border-left:1px solid var(--line-light)}.experience-card{position:relative;min-height:470px;padding:clamp(1.5rem,3vw,2.5rem);display:flex;flex-direction:column;border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light);background:rgba(240,239,233,.56);overflow:hidden}.experience-card--current{color:#fff;background:linear-gradient(145deg,#0a0c12 0%,#111725 72%,#17203c 100%);border-color:rgba(255,255,255,.13)}.experience-card--current::before{content:'';position:absolute;right:-12%;top:-30%;width:55%;aspect-ratio:1;border:1px solid rgba(123,131,255,.38);border-radius:50%;box-shadow:0 0 0 4rem rgba(47,115,255,.035),0 0 0 8rem rgba(141,77,255,.025);animation:signal-orbit 18s linear infinite}.experience-card>*{position:relative;z-index:1}.experience-card>header{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font:500 .62rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}.experience-card--current>header{color:rgba(255,255,255,.5)}.experience-card>header small{display:flex;align-items:center;gap:.5rem;color:var(--lime);font:500 .58rem/1 var(--mono)}.experience-card>header i{width:7px;aspect-ratio:1;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime);animation:status-pulse 2.2s ease-in-out infinite}.experience-card__role{margin-top:clamp(3.5rem,7vw,7rem)}.experience-card__role>p{max-width:650px;color:#2f73ff;font:500 .67rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.08em}.experience-card--current .experience-card__role>p{color:var(--blue)}.experience-card h3{max-width:720px;margin-top:.8rem;font-size:clamp(2rem,3.6vw,4.2rem);font-weight:600;line-height:1.04;letter-spacing:-.04em}.experience-card__body{max-width:680px;margin-top:1.5rem;color:#555a63;font-size:.9rem;line-height:1.7}.experience-card--current .experience-card__body{color:rgba(255,255,255,.6)}.experience-card ul{margin-top:auto;padding-top:2rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.experience-card li{padding:.65rem 0;border-bottom:1px solid var(--line-light);color:#5f636b;font:400 .62rem/1.25 var(--mono);text-transform:uppercase;letter-spacing:.055em}.experience-card li::before{content:'+';margin-right:.55rem;color:var(--violet)}.experience-card--current li{color:rgba(255,255,255,.52);border-color:var(--line-dark)}.experience-card--current li::before{color:var(--lime)}
.experience__facts{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line-light)}.experience__facts>div{min-height:128px;padding:1rem 1.3rem;display:grid;grid-template-columns:2.2rem 1fr;align-items:end;border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}.experience__facts dt{align-self:start;color:var(--violet);font:.62rem/1 var(--mono)}.experience__facts dd{display:flex;flex-direction:column;gap:.35rem}.experience__facts strong{font-size:clamp(1rem,1.4vw,1.3rem)}.experience__facts dd span{color:var(--muted);font:.61rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.07em}

/* Backend */
.backend,.stack{padding:clamp(6rem,10vw,10rem) var(--page-pad)}.section-heading{display:grid;grid-template-columns:.7fr 1.45fr .7fr;gap:clamp(2rem,5vw,6rem);align-items:end}.section-heading .section-label{align-self:start;padding-top:.5rem}.section-heading h2{margin:0}.section-heading>p{padding-bottom:.55rem;color:rgba(255,255,255,.54);font-size:.95rem;line-height:1.7}
.work-list{margin-top:clamp(4rem,8vw,8rem);border-top:1px solid var(--line-dark)}.work-item{position:relative;padding:clamp(2.2rem,4vw,4.1rem) 0;display:grid;grid-template-columns:.7fr 1.45fr .7fr;gap:clamp(2rem,5vw,6rem);border-bottom:1px solid var(--line-dark)}.work-item::before{content:'';position:absolute;inset:0 calc(var(--page-pad)*-1);z-index:0;background:var(--blue);opacity:0;transform:scaleY(.82);transition:opacity .3s,transform .3s}.work-item:hover::before{opacity:.085;transform:scaleY(1)}.work-item>*{position:relative;z-index:1}.work-item__meta{display:flex;flex-direction:column;gap:1rem}.work-item__meta>span{color:var(--lime);font:500 .69rem/1 var(--mono)}.work-item__meta small{color:rgba(255,255,255,.45);font:400 .66rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.1em}.work-item h3{max-width:780px;font-size:clamp(1.9rem,3.3vw,3.6rem);line-height:1.1;letter-spacing:-.028em;font-weight:500}.work-item__copy p{max-width:650px;margin-top:1.4rem;color:rgba(255,255,255,.58);font-size:.95rem;line-height:1.75}.work-item ul{padding-top:.4rem}.work-item li{padding:.72rem 0;border-bottom:1px solid var(--line-dark);color:rgba(255,255,255,.62);font:.67rem/1.25 var(--mono);text-transform:uppercase;letter-spacing:.065em}.work-item li::before{content:'+';color:var(--cyan);margin-right:.65rem}

/* Infrastructure */
.visual-section{position:relative;min-height:96svh;display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;align-items:end;overflow:hidden;isolation:isolate;padding:clamp(6rem,10vw,10rem) var(--page-pad)}.visual-section__media,.visual-section__veil{position:absolute;inset:0;z-index:-2}.visual-section__media img{height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.visual-section:hover .visual-section__media img{transform:scale(1.018)}.visual-section__veil{z-index:-1;background:linear-gradient(90deg,rgba(5,6,9,.93) 0%,rgba(5,6,9,.55) 58%,rgba(5,6,9,.25)),linear-gradient(0deg,rgba(5,6,9,.86),transparent 65%)}.visual-section__content{max-width:850px}.visual-section__content .section-label{color:rgba(255,255,255,.68)}.visual-section h2{max-width:800px}.visual-section__content>p{max-width:680px;margin-top:2rem;color:rgba(255,255,255,.68);font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.75}.infrastructure__index{width:100%;max-width:450px;justify-self:end;border-top:1px solid rgba(255,255,255,.5)}.infrastructure__index li{padding:1.2rem .1rem;display:grid;grid-template-columns:2.5rem 1fr;border-bottom:1px solid rgba(255,255,255,.22);font-size:.88rem}.infrastructure__index span{color:var(--lime);font:.62rem/1.6 var(--mono)}

/* Practice */
.practice{min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.practice__media{position:relative;min-height:720px;overflow:hidden}.practice__media img{height:100%;object-fit:cover}.practice__media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(8,9,13,.66))}.practice__media>span{position:absolute;z-index:1;left:clamp(1.5rem,4vw,4rem);bottom:2rem;color:#fff;font:.64rem/1 var(--mono);text-transform:uppercase;letter-spacing:.11em}.practice__content{padding:clamp(5rem,9vw,9rem) var(--page-pad);display:flex;flex-direction:column;justify-content:center}.practice h2{max-width:760px}.practice__lede{max-width:670px;margin-top:2rem;color:#45484f;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.75}.practice__steps{margin-top:clamp(2.5rem,5vw,5rem);border-top:1px solid var(--ink)}.practice__steps article{padding:1.45rem 0;display:grid;grid-template-columns:3.2rem 1fr;border-bottom:1px solid var(--line-light)}.practice__steps article>span{color:var(--coral);font:.65rem/1.5 var(--mono)}.practice__steps h3{font-size:1.12rem;font-weight:600}.practice__steps p{max-width:590px;margin-top:.45rem;color:var(--muted);font-size:.83rem;line-height:1.65}

/* Stack and contact */
.stack{background:#0f1117}.stack__grid{margin-top:clamp(4rem,8vw,8rem);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}.stack__grid article{min-height:390px;padding:1.5rem;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);transition:background .25s,transform .25s}.stack__grid article:hover{background:rgba(123,131,255,.1);transform:translateY(-4px)}.stack__grid article>span{color:var(--lime);font:.65rem/1 var(--mono)}.stack__grid h3{margin-top:4.2rem;font-size:clamp(1.2rem,1.8vw,1.65rem);font-weight:500;letter-spacing:-.03em}.stack__grid ul{margin-top:2rem}.stack__grid li{padding:.62rem 0;border-bottom:1px solid var(--line-dark);color:rgba(255,255,255,.54);font:.67rem/1.2 var(--mono)}
.contact{padding:clamp(6rem,10vw,10rem) var(--page-pad);display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,9vw,10rem);color:var(--ink);background:var(--blue)}.contact .section-label span{color:var(--ink)}.contact h2{max-width:760px}.contact__copy>p{max-width:570px;margin-top:2rem;color:rgba(13,16,23,.74);font-size:1.05rem;line-height:1.7}.contact__links{margin-top:3.2rem;border-top:1px solid rgba(13,16,23,.4)}.contact__links a{padding:1rem .1rem;display:flex;justify-content:space-between;border-bottom:1px solid rgba(13,16,23,.25);font:500 .72rem/1.2 var(--mono);text-transform:uppercase;letter-spacing:.06em;transition:padding .2s,background .2s}.contact__links a:hover{padding-left:.7rem;padding-right:.7rem;background:rgba(255,255,255,.14)}
.contact-form{align-self:start;padding:clamp(1.4rem,3vw,2.5rem);color:#fff;background:var(--night);border-radius:8px;box-shadow:0 30px 70px rgba(8,9,13,.25)}.contact-form__head{padding-bottom:1.5rem;display:flex;justify-content:space-between;border-bottom:1px solid var(--line-dark)}.contact-form__head span{font-weight:600}.contact-form__head small{color:var(--cyan);font:.63rem/1.4 var(--mono)}.contact-form label{margin-top:1.5rem;display:block}.contact-form label>span{display:block;margin-bottom:.6rem;color:rgba(255,255,255,.58);font:.63rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}.contact-form input,.contact-form textarea{width:100%;padding:.9rem 0;color:#fff;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.22);border-radius:0;outline:0;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--lime)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.27)}.contact-form__send{margin-top:2rem;display:flex;align-items:center;gap:1.2rem}.contact-form__send p{color:rgba(255,255,255,.65);font:.65rem/1.4 var(--mono)}.contact-form__send p.is-error{color:var(--coral)}.contact-form__send p.is-success{color:var(--lime)}

/* Footer, reveal and error pages */
.footer{padding:3rem var(--page-pad) 2rem;color:#fff;background:var(--night)}.footer__brand{display:flex;align-items:center;gap:.8rem}.footer__brand>span{display:block;width:34px;aspect-ratio:1;background:linear-gradient(135deg,var(--lime),var(--cyan) 58%,var(--blue));-webkit-mask:url('/images/hunter-mark.svg') center/contain no-repeat;mask:url('/images/hunter-mark.svg') center/contain no-repeat;filter:drop-shadow(0 0 7px rgba(98,232,213,.18))}.footer__brand strong{font-size:1.05rem}.footer__brand strong span{color:rgba(255,255,255,.36)}.footer>p{max-width:560px;margin:1.5rem 0 3.5rem;color:rgba(255,255,255,.5);font-size:.85rem}.footer__meta{padding-top:1rem;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-dark);color:rgba(255,255,255,.35);font:.6rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em}.footer__meta span:nth-child(2){text-align:center}.footer__meta span:last-child{text-align:right}
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}[data-reveal].is-visible{opacity:1;transform:none}
.wrap{min-height:100svh;padding:8rem var(--page-pad) 4rem;color:#fff;background:var(--night)}.wrap--center{display:grid;place-items:center;text-align:center}.hero__ascii{color:var(--lime);font:clamp(4rem,12vw,9rem)/1 var(--mono)}.hero__tagline{margin:1.5rem 0 2rem;color:rgba(255,255,255,.62)}.prompt{color:var(--cyan);font:.8rem/1.6 var(--mono)}.btn{display:inline-flex;margin-top:2rem;padding:.8rem 1rem;color:var(--night);background:var(--lime);border-radius:4px;font:.7rem/1 var(--mono)}.err-trace{max-width:900px;overflow:auto;padding:1.5rem;color:rgba(255,255,255,.62);background:var(--night-soft);border:1px solid var(--line-dark);font:.72rem/1.6 var(--mono);text-align:left}

@media(max-width:1050px){.nav__links{gap:1rem}.nav__links a span{display:none}.section-heading,.work-item{grid-template-columns:.45fr 1.2fr .7fr;gap:2rem}.intro{grid-template-columns:.35fr 1fr 1fr;gap:2.5rem}.experience__head{grid-template-columns:.4fr 1fr 1fr;gap:2.5rem}.visual-section{grid-template-columns:1fr .8fr}.stack__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
  :root{--page-pad:1.25rem}.noise{opacity:.025}.nav{height:70px}.nav__brand small{display:none}.nav__toggle{position:relative;z-index:2;width:42px;height:42px;padding:0;display:block;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:4px}.nav__toggle span{position:absolute;left:11px;width:18px;height:1px;background:currentColor;transition:transform .25s,top .25s}.nav__toggle span:first-child{top:16px}.nav__toggle span:last-child{top:24px}.nav__toggle[aria-expanded=true] span:first-child{top:20px;transform:rotate(45deg)}.nav__toggle[aria-expanded=true] span:last-child{top:20px;transform:rotate(-45deg)}
  .nav__links{position:fixed;inset:0;padding:7rem 1.5rem 2rem;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:0;background:rgba(8,9,13,.98);opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .25s,transform .25s,visibility .25s}.nav__links.is-open{opacity:1;visibility:visible;transform:none}.nav__links a{padding:1.2rem 0;display:flex;border-bottom:1px solid var(--line-dark);font-size:1rem}.nav__links a span{display:block;min-width:2.5rem}.nav__links .nav__contact{margin-top:1.5rem;justify-content:center;border-bottom:0}
  .hero{min-height:100svh;align-items:flex-end}.hero__media img{object-position:66% center}.hero__shade{background:linear-gradient(0deg,rgba(5,6,9,.97) 0%,rgba(5,6,9,.75) 55%,rgba(5,6,9,.26) 100%),linear-gradient(90deg,rgba(5,6,9,.45),transparent)}.hero__content{width:100%;padding:8rem var(--page-pad) 8.5rem}.hero h1{font-size:clamp(3.3rem,14vw,4.7rem);line-height:1;letter-spacing:-.035em}.hero__current{margin-top:2rem}.hero__actions{margin-top:1.75rem;align-items:stretch;flex-direction:column}.hero__ledger{bottom:26px;grid-template-columns:repeat(4,1fr);font-size:.52rem}.hero__ledger span:nth-child(2),.hero__ledger span:nth-child(3){text-align:center}.hero__ledger span:last-child{display:block;text-align:right}.hero::after{bottom:58px}.hero__scroll{display:none}
  .experience{min-height:0;padding-top:6rem;padding-bottom:6rem}.experience__head{grid-template-columns:1fr;gap:1.8rem}.experience__head h2{font-size:clamp(3rem,13vw,4.6rem)}.experience__head>p{padding:0}.experience__roles{margin-top:4rem;grid-template-columns:1fr}.experience-card{min-height:440px}.experience-card__role{margin-top:4rem}.experience-card h3{font-size:clamp(2.2rem,10vw,3.4rem)}.experience__facts{grid-template-columns:1fr}.experience__facts>div{min-height:104px}
  .intro{min-height:0;grid-template-columns:1fr;gap:2rem;padding-top:6rem}.intro>.section-label{padding:0}.intro__copy{padding-top:0}.intro h2,.section-heading h2,.visual-section h2,.practice h2,.contact h2{font-size:clamp(3rem,14vw,4.8rem)}.fact-strip{grid-column:1;grid-template-columns:1fr;margin-top:1.5rem}.fact-strip>div,.fact-strip>div:nth-child(2),.fact-strip>div:last-child{min-height:104px;padding:1rem 0;border-right:0;border-bottom:1px solid var(--line-light)}
  .backend,.stack{padding-top:6rem;padding-bottom:6rem}.section-heading{grid-template-columns:1fr;gap:2rem}.section-heading>p{max-width:520px}.work-list{margin-top:4rem}.work-item{grid-template-columns:1fr;gap:1.7rem}.work-item__meta{flex-direction:row;align-items:center}.work-item ul{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
  .visual-section{min-height:100svh;grid-template-columns:1fr;gap:3.5rem;padding-top:6rem;padding-bottom:4rem}.visual-section__veil{background:linear-gradient(0deg,rgba(5,6,9,.94) 0%,rgba(5,6,9,.58) 66%,rgba(5,6,9,.3))}.visual-section__content{align-self:end}.infrastructure__index{justify-self:stretch}
  .practice{min-height:0;grid-template-columns:1fr}.practice__media{min-height:62svh}.practice__content{padding-top:5rem;padding-bottom:6rem}.stack__grid{grid-template-columns:1fr}.stack__grid article{min-height:310px}.stack__grid h3{margin-top:3rem}
  .contact{grid-template-columns:1fr;padding-top:6rem;padding-bottom:6rem}.contact-form{padding:1.35rem}.contact-form__head small{display:none}.footer__meta{grid-template-columns:1fr;gap:.6rem}.footer__meta span:nth-child(2),.footer__meta span:last-child{text-align:left}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}#lab-shader{display:none}}

/* The navigation becomes a purpose-built drawer before a phone reaches
   landscape width. This keeps the desktop navigation from being squeezed. */
@media(max-width:980px){
  .nav{height:70px}
  .nav__brand{position:relative;z-index:3}
  .nav__brand small{display:none}
  .nav__toggle{position:relative;z-index:3;width:44px;height:44px;padding:0;display:block;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:5px;backdrop-filter:blur(12px)}
  .nav__toggle span{position:absolute;left:11px;width:20px;height:1px;background:currentColor;transition:transform .25s,top .25s}
  .nav__toggle span:first-child{top:16px}
  .nav__toggle span:last-child{top:25px}
  .nav__toggle[aria-expanded=true] span:first-child{top:21px;transform:rotate(45deg)}
  .nav__toggle[aria-expanded=true] span:last-child{top:21px;transform:rotate(-45deg)}
  .nav__links{position:fixed;inset:0;z-index:2;padding:clamp(6.25rem,14svh,9rem) var(--page-pad) max(1.5rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;overflow-y:auto;background:radial-gradient(circle at 82% 18%,rgba(123,131,255,.18),transparent 34%),linear-gradient(145deg,#08090d,#10131a);opacity:0;visibility:hidden;transform:translateY(-14px);transition:opacity .25s,transform .25s,visibility .25s}
  .nav__links.is-open{opacity:1;visibility:visible;transform:none}
  .nav__links a{min-width:0;padding:.85rem .1rem;display:grid;grid-template-columns:3.2rem minmax(0,1fr);align-items:center;border-bottom:1px solid var(--line-dark);color:#fff;font:500 clamp(1.65rem,6vw,2.4rem)/1.05 var(--sans);text-transform:none;letter-spacing:-.045em}
  .nav__links a span{display:block;margin:0;color:var(--lime);font:500 .64rem/1 var(--mono);letter-spacing:.08em}
  .nav__links .nav__contact{min-height:54px;margin-top:1.35rem;padding:.9rem 1rem;display:flex;justify-content:center;color:var(--night);background:var(--lime);border:0;font:500 .7rem/1 var(--mono);text-transform:uppercase;letter-spacing:.06em}
}

@media(max-width:980px) and (max-height:560px){
  .nav__links{padding:5.15rem var(--page-pad) 1rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:center;gap:0 1.5rem}
  .nav__links a{padding:.62rem .1rem;grid-template-columns:2.4rem minmax(0,1fr);font-size:clamp(1.15rem,4.5vh,1.6rem)}
  .nav__links .nav__contact{grid-column:1/-1;margin-top:.75rem;min-height:46px;padding:.7rem 1rem}
}

@media(max-width:760px){
  .backend,.backend *{min-width:0}
  .backend .section-heading h2{font-size:clamp(2.65rem,11.5vw,4.1rem);line-height:1.03;letter-spacing:-.035em;overflow-wrap:normal}
  .backend-title__brand{display:inline;overflow-wrap:normal}
  .work-item h3{overflow-wrap:anywhere}
}

@media(prefers-reduced-motion:reduce){
  .nav__toggle span,.nav__links{transition-duration:.01ms!important}
}

/* Electric secondary palette and animated light-section atmosphere */
:root{--electric:#2f73ff;--violet:#8d4dff;--violet-deep:#6128dc}

.intro,.practice__content,.stack,.contact{isolation:isolate}
.intro{position:relative;overflow:hidden;background:radial-gradient(circle at 3% 88%,rgba(47,115,255,.13),transparent 28%),radial-gradient(circle at 96% 8%,rgba(141,77,255,.11),transparent 25%),var(--paper)}
.practice__content{position:relative;overflow:hidden;background:radial-gradient(circle at 92% 82%,rgba(47,115,255,.12),transparent 30%),radial-gradient(circle at 2% 12%,rgba(141,77,255,.1),transparent 24%),var(--paper)}
.intro>:not(.section-shader),.practice__content>:not(.section-shader){position:relative;z-index:2}
.section-shader{position:absolute;inset:-8%;z-index:0;width:116%;height:116%;pointer-events:none;opacity:.86;mix-blend-mode:multiply;filter:saturate(1.25)}
.section-shader--practice{inset:-12%;width:124%;height:124%;opacity:.76}

.intro::after,.practice__content::after{content:'';position:absolute;z-index:1;width:clamp(210px,28vw,520px);aspect-ratio:1;border:1px solid rgba(47,115,255,.24);border-radius:50%;pointer-events:none;animation:signal-orbit 18s linear infinite}
.intro::after{right:-14%;top:4%;box-shadow:0 0 0 3.5rem rgba(141,77,255,.035),0 0 0 8rem rgba(47,115,255,.025)}
.practice__content::after{left:-15%;top:-15%;border-color:rgba(141,77,255,.2);box-shadow:0 0 0 4rem rgba(47,115,255,.028)}
@keyframes signal-orbit{0%{transform:rotate(0deg) translate3d(0,0,0)}50%{transform:rotate(180deg) translate3d(18px,-12px,0)}100%{transform:rotate(360deg) translate3d(0,0,0)}}

.intro>.section-label span,.intro__title .eyebrow{color:var(--electric)}
.intro__title::after{content:'';display:block;width:clamp(5rem,12vw,10rem);height:5px;margin-top:2rem;background:linear-gradient(90deg,var(--electric),var(--violet));border-radius:999px;box-shadow:0 0 32px rgba(47,115,255,.22)}
.fact-strip>div{transition:background .35s,transform .35s}
.fact-strip>div:hover{background:linear-gradient(135deg,rgba(47,115,255,.09),rgba(141,77,255,.055));transform:translateY(-4px)}
.fact-strip>div:nth-child(1) dt{color:var(--electric)}
.fact-strip>div:nth-child(2) dt{color:var(--violet)}
.fact-strip>div:nth-child(3) dt{color:var(--violet-deep)}

.backend .section-label span,.stack .section-label span{color:var(--blue)}
.work-item::before{background:linear-gradient(90deg,var(--electric),var(--violet))}
.work-item:nth-child(2) .work-item__meta>span{color:var(--blue)}
.work-item:nth-child(3) .work-item__meta>span{color:var(--violet)}
.work-item:hover li::before{color:var(--blue)}

.practice .section-label span{color:var(--violet)}
.practice__steps article:nth-child(1)>span{color:var(--electric)}
.practice__steps article:nth-child(2)>span{color:var(--violet)}
.practice__steps article:nth-child(3)>span{color:var(--violet-deep)}
.practice__steps article{transition:padding .3s,background .3s}
.practice__steps article:hover{padding-left:.8rem;background:linear-gradient(90deg,rgba(47,115,255,.08),transparent)}

.stack{position:relative;overflow:hidden}
.stack::before{content:'';position:absolute;z-index:0;inset:-25%;pointer-events:none;background:radial-gradient(circle at 20% 70%,rgba(47,115,255,.14),transparent 23%),radial-gradient(circle at 80% 30%,rgba(141,77,255,.14),transparent 25%);animation:dark-field 16s ease-in-out infinite alternate}
.stack>*{position:relative;z-index:1}
.stack__grid article:nth-child(2):hover,.stack__grid article:nth-child(4):hover{background:rgba(141,77,255,.12)}
@keyframes dark-field{from{transform:translate3d(-2%,1%,0) scale(1)}to{transform:translate3d(3%,-2%,0) scale(1.08)}}

@media(max-width:760px){
  .section-shader{inset:-5%;width:110%;height:110%;opacity:.7}
  .intro::after{right:-52%;top:5%}
  .practice__content::after{left:-50%;top:2%}
}

@media(prefers-reduced-motion:reduce){
  .section-shader{display:none}
  .intro::after,.practice__content::after,.stack::before{animation:none!important}
}

/* Homelab overview */
.homelab{min-height:100svh;padding:clamp(6rem,9vw,9rem) var(--page-pad);display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(3rem,8vw,9rem);align-items:center;background:radial-gradient(circle at 8% 85%,rgba(47,115,255,.11),transparent 28%),radial-gradient(circle at 92% 8%,rgba(141,77,255,.1),transparent 25%),var(--paper)}
.homelab__intro{align-self:start;padding-top:1rem;position:sticky;top:9rem}.homelab__intro h2{margin-top:1.5rem;font-size:clamp(3.1rem,4.7vw,5.5rem);font-weight:600;line-height:1.03;letter-spacing:-.038em}.homelab__intro>p{max-width:590px;margin-top:2rem;color:#45484f;font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.75}.homelab .section-label span{color:var(--electric)}
.lab-rack{position:relative;overflow:hidden;color:#fff;background:linear-gradient(145deg,#090b11,#121724);border:1px solid rgba(13,16,23,.4);border-radius:8px;box-shadow:0 35px 90px rgba(35,54,110,.2)}
.lab-rack::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 90% 15%,rgba(141,77,255,.16),transparent 28%),linear-gradient(90deg,rgba(47,115,255,.04),transparent 30%)}
.lab-rack::after{content:'';position:absolute;z-index:0;left:0;right:0;height:22%;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(47,115,255,.06),transparent);animation:rack-scan 7s linear infinite}
@keyframes rack-scan{from{top:-24%}to{top:105%}}
.lab-rack__head,.lab-rack footer{position:relative;z-index:2;padding:1rem 1.2rem;display:flex;justify-content:space-between;border-bottom:1px solid var(--line-dark);font:500 .62rem/1 var(--mono);text-transform:uppercase;letter-spacing:.09em}.lab-rack__head>span{color:var(--blue)}.lab-rack__head small{display:flex;align-items:center;gap:.5rem;color:rgba(255,255,255,.48);font:400 .58rem/1 var(--mono)}.lab-rack__head small i{width:7px;aspect-ratio:1;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime);animation:status-pulse 2.2s ease-in-out infinite}@keyframes status-pulse{50%{opacity:.35;box-shadow:0 0 3px var(--lime)}}
.lab-rack__bus{position:absolute;z-index:3;left:1.45rem;top:5rem;bottom:3.6rem;width:1px;background:linear-gradient(180deg,var(--electric),var(--violet));opacity:.75}.lab-rack__bus i{position:absolute;top:0;left:50%;width:7px;aspect-ratio:1;border-radius:50%;background:#fff;border:2px solid var(--electric);box-shadow:0 0 16px var(--electric);transform:translate(-50%,-50%);animation:rack-packet 5.6s ease-in-out infinite}@keyframes rack-packet{0%{top:0;border-color:var(--electric)}50%{border-color:var(--blue)}100%{top:100%;border-color:var(--violet)}}
.lab-rack__units{position:relative;z-index:1}.lab-rack__units article{min-height:150px;padding:1.45rem 1.3rem 1.45rem 3.3rem;display:grid;grid-template-columns:.35fr 1.15fr .75fr;gap:1.4rem;align-items:start;border-bottom:1px solid var(--line-dark);transition:background .3s,transform .3s}.lab-rack__units article:hover{background:linear-gradient(90deg,rgba(47,115,255,.1),rgba(141,77,255,.08));transform:translateX(4px)}.lab-rack__meta{display:flex;flex-direction:column;gap:.75rem}.lab-rack__meta span{color:var(--blue);font:500 .62rem/1 var(--mono)}.lab-rack__meta small{color:rgba(255,255,255,.4);font:400 .58rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em}.lab-rack h3{font-size:clamp(1.05rem,1.4vw,1.3rem);font-weight:500;line-height:1.2}.lab-rack article p{margin-top:.7rem;color:rgba(255,255,255,.52);font-size:.76rem;line-height:1.6}.lab-rack article ul{padding-top:.05rem}.lab-rack article li{padding:.5rem 0;border-bottom:1px solid var(--line-dark);color:rgba(255,255,255,.48);font:400 .58rem/1.2 var(--mono)}.lab-rack article li::before{content:'+';margin-right:.55rem;color:var(--violet)}.lab-rack footer{border-top:0;border-bottom:0;color:rgba(255,255,255,.3);font-size:.54rem}

/* Local comment access */
.contact-form__head>div{display:flex;align-items:flex-end;flex-direction:column;gap:.7rem}.local-comments-link{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .65rem;color:#fff;background:rgba(123,131,255,.17);border:1px solid rgba(123,131,255,.48);border-radius:4px;font:500 .58rem/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;transition:background .2s,border-color .2s}.local-comments-link:hover{background:rgba(123,131,255,.3);border-color:var(--blue)}.local-comments-link b{display:grid;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .25rem;color:var(--night);background:var(--blue);border-radius:999px;font-size:.55rem}

.comments-nav{position:sticky;top:0;z-index:90;height:76px;padding:0 var(--page-pad);display:flex;align-items:center;justify-content:space-between;background:rgba(8,9,13,.92);border-bottom:1px solid var(--line-dark);backdrop-filter:blur(18px)}
.comments-view{min-height:100svh;padding:clamp(5rem,8vw,8rem) var(--page-pad);color:#fff;background:radial-gradient(circle at 85% 5%,rgba(141,77,255,.16),transparent 25%),radial-gradient(circle at 5% 75%,rgba(47,115,255,.11),transparent 26%),var(--night)}
.comments-view__head{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end;padding-bottom:clamp(3rem,6vw,6rem);border-bottom:1px solid var(--line-dark)}.comments-view__head h1{max-width:900px;margin-top:1.4rem;font-size:clamp(3.8rem,8vw,8.5rem);font-weight:600;line-height:.95;letter-spacing:-.05em}.comments-view__head dl{min-width:130px;padding:1rem;border:1px solid var(--line-dark)}.comments-view__head dt{color:rgba(255,255,255,.42);font:.6rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}.comments-view__head dd{margin-top:1.2rem;color:var(--lime);font:500 2rem/1 var(--mono)}
.comments-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid var(--line-dark)}.comments-list article{min-width:0;padding:clamp(1.4rem,3vw,2.5rem);border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.comments-list article>header{display:flex;justify-content:space-between;color:rgba(255,255,255,.36);font:400 .58rem/1 var(--mono);text-transform:uppercase}.comments-list article>header span{color:var(--blue)}.comments-list h2{margin-top:2rem;font-size:clamp(1.45rem,2.5vw,2.4rem);font-weight:500;letter-spacing:-.035em}.comments-list article>a{display:inline-block;margin-top:.6rem;color:var(--cyan);font:.64rem/1.4 var(--mono);overflow-wrap:anywhere}.comments-list article>p{margin-top:2rem;color:rgba(255,255,255,.66);font-size:.9rem;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.comments-empty{padding:clamp(4rem,8vw,8rem) 0}.comments-empty>span{color:var(--blue);font:.65rem/1 var(--mono)}.comments-empty h2{margin-top:1rem;font-size:clamp(2.5rem,5vw,5rem)}.comments-empty p{margin-top:1rem;color:rgba(255,255,255,.55)}

@media(max-width:1050px){.homelab{grid-template-columns:1fr;gap:4rem}.homelab__intro{position:relative;top:auto;max-width:800px}.lab-rack__units article{grid-template-columns:.3fr 1.15fr .7fr}}
@media(max-width:760px){
  .homelab{min-height:0;padding-top:6rem;padding-bottom:6rem}.homelab__intro h2{font-size:clamp(3rem,13vw,4.6rem)}
  .lab-rack__head{padding-left:1rem}.lab-rack__bus{left:1.05rem}.lab-rack__units article{min-height:0;padding:1.25rem 1rem 1.25rem 2.2rem;grid-template-columns:1fr;gap:1rem}.lab-rack__meta{flex-direction:row;align-items:center}.lab-rack article ul{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.lab-rack footer{gap:1rem}
  .contact-form__head{align-items:flex-start}.contact-form__head>div{align-items:flex-start}.local-comments-link{margin-top:.15rem}
  .comments-nav{height:70px}.comments-nav .button{min-height:42px;padding:.65rem}.comments-view__head{grid-template-columns:1fr}.comments-view__head dl{width:100%;display:flex;align-items:center;justify-content:space-between}.comments-view__head dd{margin-top:0}.comments-list{grid-template-columns:1fr}.comments-nav .nav__brand small{display:none}
}

@media(prefers-reduced-motion:reduce){.lab-rack::after,.lab-rack__head small i,.lab-rack__bus i{animation:none!important}}
