:root{--ink:#07110f;--paper:#f2f0e8;--lime:#c9ff5b;--mint:#65d5ba;--muted:#9fa9a4;--line:rgba(242,240,232,.15);--sans:"Manrope",sans-serif;--mono:"DM Mono",monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
.noise{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:20;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}
.chaos-bg{position:fixed;inset:-10%;z-index:0;pointer-events:none;overflow:hidden;opacity:.24;background-image:url("data:image/svg+xml,%3Csvg width='720' height='720' viewBox='0 0 720 720' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23c9ff5b' stroke-opacity='.17'%3E%3Cpath d='M-30 148C91 62 135 244 248 159S411 61 520 151s157-18 237-89'/%3E%3Cpath d='M38 560c88-105 166 43 249-52s173-81 237 21 147 17 225-58' stroke-dasharray='4 17'/%3E%3Cpath d='M114-30c-29 118 95 149 38 267s55 180 5 299 68 142 24 224' stroke-opacity='.1'/%3E%3C/g%3E%3Cg fill='%2365d5ba' fill-opacity='.23'%3E%3Ccircle cx='77' cy='143' r='3'/%3E%3Ccircle cx='347' cy='94' r='2'/%3E%3Ccircle cx='619' cy='203' r='4'/%3E%3Ccircle cx='164' cy='457' r='2'/%3E%3Ccircle cx='502' cy='589' r='3'/%3E%3C/g%3E%3C/svg%3E");background-size:720px 720px;animation:chaos-drift 45s linear infinite}
.chaos-bg:before,.chaos-bg:after,.chaos-bg span{content:"";position:absolute;border:1px solid rgba(201,255,91,.12);border-radius:44% 56% 63% 37%/51% 38% 62% 49%;filter:blur(.2px)}
.chaos-bg:before{width:36vw;height:29vw;left:4%;top:8%;transform:rotate(18deg)}.chaos-bg:after{width:44vw;height:37vw;right:-8%;bottom:5%;transform:rotate(-23deg)}
.chaos-bg span:nth-child(1){width:18rem;height:18rem;right:18%;top:20%;border-style:dashed}.chaos-bg span:nth-child(2){width:9rem;height:14rem;left:22%;bottom:18%;transform:rotate(38deg)}.chaos-bg span:nth-child(3){width:5px;height:5px;left:52%;top:64%;background:var(--lime);border:0;box-shadow:14vw -31vh 0 rgba(201,255,91,.55),-34vw 17vh 0 rgba(101,213,186,.6),31vw 23vh 0 rgba(201,255,91,.4)}
body>:where(:not(.noise):not(.chaos-bg):not(.skip-link)){position:relative;z-index:1}@keyframes chaos-drift{to{background-position:720px -720px}}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:99;background:var(--lime);color:var(--ink);padding:.75rem 1rem}
.skip-link:focus{top:1rem}
.site-header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,5rem);position:absolute;top:0;left:0;right:0;z-index:10;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.8rem}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--lime);border-radius:50%;font:500 .72rem var(--mono);color:var(--lime)}
.brand-copy{display:flex;flex-direction:column;line-height:1.25}
.brand-copy strong{font-size:.85rem}
.brand-copy small{color:var(--muted);font:400 .62rem var(--mono);text-transform:uppercase;letter-spacing:.08em}
.site-header nav{display:flex;align-items:center;gap:2rem}
.site-header nav a{font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#c5cbc8;transition:.2s}
.site-header nav a:hover{color:var(--lime)}
.site-header .nav-cta{padding:.75rem 1rem;border:1px solid rgba(201,255,91,.5);color:var(--lime)}
.nav-cta span{margin-left:.5rem}
.menu-toggle{display:none}
.hero{min-height:100svh;padding:170px clamp(1.25rem,7vw,8rem) 4rem;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:center;gap:5vw;position:relative;background:radial-gradient(circle at 76% 38%,rgba(58,123,107,.24),transparent 30%),linear-gradient(130deg,#07110f 60%,#0d1b17)}
.hero-copy{position:relative;z-index:2}
.eyebrow{font:400 .7rem var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#b7c0bb}
.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);margin-right:.55rem;box-shadow:0 0 0 5px rgba(201,255,91,.09)}
h1{font-size:clamp(3.2rem,6.8vw,7rem);font-weight:600;letter-spacing:-.065em;line-height:.95;margin:1.5rem 0 2rem;max-width:1050px}
em{color:var(--lime);font-style:normal}
.hero-lede{font-size:clamp(1.05rem,1.5vw,1.35rem);color:#b7c0bb;max-width:660px;line-height:1.6}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.5rem}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 1.2rem;border:1px solid var(--line);font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.05em;transition:.25s}
.button-primary{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.button-primary:hover,.button-light:hover{background:#e2ff9f;transform:translateY(-2px)}
.button-ghost:hover{border-color:var(--lime);color:var(--lime)}
.hero-visual{aspect-ratio:1;position:relative;display:grid;place-items:center;max-width:550px;width:100%;justify-self:end}
.visual-core{width:160px;height:160px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--lime);color:var(--ink);position:relative;z-index:2;box-shadow:0 0 90px rgba(201,255,91,.18)}
.visual-core span{font-size:3.4rem;font-weight:700;line-height:1}
.visual-core small{text-align:center;font:500 .65rem var(--mono);text-transform:uppercase;margin-top:.5rem}
.orbit{position:absolute;border:1px solid rgba(201,255,91,.22);border-radius:50%}
.orbit-one{width:66%;height:66%;animation:spin 22s linear infinite}
.orbit-two{width:95%;height:95%;border-style:dashed;animation:spin 38s linear reverse infinite}
.orbit:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--lime);top:-5px;left:50%}
.signal{position:absolute;padding:.55rem .8rem;background:#10231e;border:1px solid #2f5148;font:400 .62rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#dbe1de}
.signal i{display:inline-block;width:5px;height:5px;background:var(--mint);border-radius:50%;margin-right:.45rem}
.signal-ai{top:12%;right:8%}
.signal-saas{left:2%;top:30%}
.signal-mobile{bottom:22%;right:0}
.signal-realtime{bottom:7%;left:18%}
@keyframes spin{to{transform:rotate(360deg)}
}
.hero-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:2rem;padding-top:1.5rem}
.hero-metrics div{display:flex;align-items:baseline;gap:.85rem;border-right:1px solid var(--line);padding:0 1.5rem}
.hero-metrics div:first-child{padding-left:0}
.hero-metrics strong{font-size:1.7rem;color:var(--lime)}
.hero-metrics span{font:400 .65rem var(--mono);text-transform:uppercase;color:var(--muted)}
.section{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,7vw,8rem)}
.section-label{font:500 .68rem var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);border-top:1px solid rgba(7,17,15,.18);padding-top:1rem;margin-bottom:4rem}
.section-label span{color:var(--ink);margin-right:1rem}
.about{background:var(--paper);color:var(--ink)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.about h2,.section-heading h2,.products h2,.education h2{font-size:clamp(2.7rem,5.2vw,5.5rem);letter-spacing:-.055em;line-height:1.02;margin:0;font-weight:600}
.about-copy{max-width:650px}
.about-copy p{color:#4e5b56}
.about-copy .lead{font-size:1.35rem;line-height:1.5;color:var(--ink);margin-top:0}
.focus-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}
.focus-list span{font:500 .65rem var(--mono);text-transform:uppercase;border:1px solid #bfc4bd;padding:.55rem .7rem}
.experience{background:#e0ff9f;color:var(--ink)}
.section-heading{display:grid;grid-template-columns:1.15fr .65fr;gap:10vw;align-items:end;margin-bottom:5rem}
.section-heading p{font-size:1.1rem;margin:0;color:#43503e}
.timeline{border-top:1px solid rgba(7,17,15,.22)}
.experience-row{display:grid;grid-template-columns:140px 1fr auto;gap:3rem;padding:2.8rem 0;border-bottom:1px solid rgba(7,17,15,.22)}
.experience-period,.role,.experience-count{font:500 .66rem var(--mono);text-transform:uppercase;letter-spacing:.06em}
.experience-main{display:grid;grid-template-columns:minmax(210px,.65fr) 1fr;gap:3rem}
.experience-main h3{font-size:1.8rem;margin:.15rem 0}
.experience-main p{margin:0;color:#43503e}
.experience-main .role{color:#637259}
.tags{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.45rem}
.tags span{padding:.35rem .6rem;background:rgba(7,17,15,.075);font:500 .6rem var(--mono);text-transform:uppercase}
.experience-count{white-space:nowrap}
.products{background:var(--ink)}
.products .section-label{border-color:var(--line)}
.products .section-label span{color:var(--paper)}
.products-header{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end}
.products-header h2{max-width:850px}
.products-header p{color:var(--muted);max-width:650px;font-size:1.05rem}
.product-index{text-align:right}
.product-index strong{display:block;color:var(--lime);font-size:3rem;line-height:1}
.product-index span{font:400 .6rem var(--mono);text-transform:uppercase;color:var(--muted)}
.product-expertise{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:4rem;align-items:start;margin:3rem 0;padding:1.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.product-expertise p{margin:0;color:#b4c0bc;max-width:720px}
.product-expertise p strong{display:block;margin-bottom:.45rem;color:var(--lime);font:500 .62rem var(--mono);text-transform:uppercase;letter-spacing:.06em}
.product-expertise div{display:flex;flex-wrap:wrap;gap:.4rem}
.product-expertise span{padding:.4rem .55rem;border:1px solid #3d514b;color:var(--mint);font:400 .56rem var(--mono);text-transform:uppercase}
.filters{display:flex;gap:.5rem;margin:3.5rem 0 2rem;padding:0 0 .75rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--lime) rgba(255,255,255,.08)}
.filters::-webkit-scrollbar{height:6px}
.filters::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:999px}
.filters::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--mint),var(--lime));border-radius:999px}
.filters::-webkit-scrollbar-thumb:hover{background:var(--lime)}
.filter{border:1px solid var(--line);background:transparent;color:var(--muted);padding:.7rem 1rem;font:500 .66rem var(--mono);text-transform:uppercase;cursor:pointer;white-space:nowrap;scroll-snap-align:start}
.filter sup{margin-left:.4rem;color:#6d7a74}
.filter.active,.filter:hover{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.product-card{min-height:390px;padding:2rem;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden;transition:.3s}
.product-card:before{content:"";position:absolute;inset:auto 0 0;height:0;background:var(--lime);transition:.35s;z-index:0}
.product-card:hover:before{height:100%}
.product-card>*{position:relative;z-index:1}
.product-card:hover{color:var(--ink)}
.product-card:hover .product-type,.product-card:hover .card-company,.product-card:hover .card-number{color:#42503d}
.product-card:hover .card-arrow{border-color:rgba(7,17,15,.25)}
.card-top{display:flex;justify-content:space-between}
.card-company,.card-number{font:400 .62rem var(--mono);text-transform:uppercase;color:var(--muted);letter-spacing:.06em}
.product-card h3{font-size:1.7rem;line-height:1.16;letter-spacing:-.035em;margin:auto 0 1rem;max-width:280px}
.product-type{font-size:.85rem;color:var(--muted);margin:0 0 1.5rem}
.card-bottom{display:flex;justify-content:space-between;align-items:flex-end}
.card-stack{font:400 .56rem var(--mono);text-transform:uppercase;max-width:calc(100% - 54px);line-height:1.65;overflow-wrap:anywhere}
.card-arrow{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:transparent;color:inherit;cursor:pointer}
.product-card[hidden]{display:none}
.mobile-work{background:#e5e2d8;color:var(--ink)}
.mobile-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:8vw;align-items:end;margin-bottom:4rem}
.mobile-heading .eyebrow{color:#58645e}
.mobile-heading h2{margin:.8rem 0 0}
.mobile-heading>p{color:#58645e;font-size:1.05rem;line-height:1.75;max-width:560px}
.mobile-skills{display:flex;flex-wrap:wrap;gap:.55rem;margin:-1.5rem 0 3rem}
.mobile-skills span{padding:.55rem .75rem;border:1px solid rgba(7,17,15,.24);color:#34433c;font:500 .59rem var(--mono);text-transform:uppercase;letter-spacing:.035em}
.mobile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.mobile-card{display:grid;grid-template-rows:auto 1fr;background:var(--ink);color:var(--paper);min-width:0;overflow:hidden}
.mobile-preview{height:360px;padding:2rem 2rem 0;background:linear-gradient(145deg,#173f35,#07110f);display:flex;justify-content:center;overflow:hidden}
.mobile-preview img{height:115%;width:auto;max-width:100%;object-fit:contain;object-position:top center;filter:drop-shadow(0 18px 24px rgba(0,0,0,.45));transition:transform .35s ease}
.mobile-card:hover .mobile-preview img{transform:translateY(-8px)}
.mobile-card-copy{display:flex;flex-direction:column;padding:1.5rem}
.mobile-card h3{font-size:1.55rem;letter-spacing:-.035em;margin:.6rem 0}
.mobile-card-copy>p:not(.card-company){color:#aebbb6;margin:0 0 1.25rem}
.platforms{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem}
.platforms span{border:1px solid #456259;padding:.4rem .55rem;font:400 .56rem var(--mono);text-transform:uppercase;color:var(--mint)}
.mobile-details{margin-top:auto;display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-top:1px solid #365149;background:none;color:var(--lime);padding:1rem 0 0;font:500 .62rem var(--mono);text-transform:uppercase;cursor:pointer}
.education{background:var(--paper);color:var(--ink)}
.education-card{display:grid;grid-template-columns:auto 1fr auto;gap:3rem;align-items:center;border-top:1px solid rgba(7,17,15,.25);border-bottom:1px solid rgba(7,17,15,.25);padding:3rem 0}
.degree-mark{width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--lime);font:500 1.5rem var(--mono)}
.education-card p{font:400 .65rem var(--mono);text-transform:uppercase;color:#65716b}
.education-card h2{font-size:clamp(2rem,3.5vw,3.8rem);margin:.5rem 0}
.education-card h2 span{color:#718078}
.education-location{font:400 .65rem var(--mono);text-transform:uppercase}
.contact{padding:clamp(6rem,12vw,11rem) clamp(1.25rem,7vw,8rem);background:var(--lime);color:var(--ink);position:relative;overflow:hidden}
.contact:after{content:"GM";position:absolute;right:-2vw;bottom:-18vw;font-size:38vw;font-weight:800;line-height:1;color:rgba(7,17,15,.05);letter-spacing:-.1em}
.contact-inner{position:relative;z-index:1}
.contact h2{font-size:clamp(3.5rem,8vw,8rem);font-weight:600;letter-spacing:-.07em;line-height:.93;margin:1.5rem 0 3rem}
.contact h2 em{color:var(--ink);-webkit-text-stroke:1px var(--ink);-webkit-text-fill-color:transparent}
.contact .eyebrow{color:#34432f}
.contact-actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.contact-actions>a:not(.button){font:500 .7rem var(--mono);text-transform:uppercase;border-bottom:1px solid var(--ink)}
.button-light{background:var(--ink);color:var(--paper)}
footer{display:flex;justify-content:space-between;padding:1.5rem clamp(1.25rem,4vw,5rem);font:400 .6rem var(--mono);text-transform:uppercase;color:var(--muted)}
dialog{position:fixed;inset:auto;top:50%;left:50%;z-index:31;margin:0;transform:translate(-50%,-50%);max-width:680px;max-height:calc(100dvh - 2rem);width:calc(100% - 2rem);overflow-y:auto;overscroll-behavior:contain;border:1px solid #49675e;background:#0d1d19;color:var(--paper);padding:0;box-shadow:0 30px 100px #000}
dialog::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(5px)}
.dialog-close{display:block;margin-left:auto;background:none;color:var(--muted);border:0;padding:1rem 1.25rem;cursor:pointer;font:400 .65rem var(--mono);text-transform:uppercase}
.dialog-body{padding:1rem 3rem 3rem}
.dialog-body .dialog-company{font:500 .65rem var(--mono);text-transform:uppercase;color:var(--lime)}
.dialog-body h2{font-size:2.6rem;line-height:1.1;letter-spacing:-.04em;margin:.6rem 0}
.dialog-body>p{color:#b0bbb7}
.dialog-body h3{font:500 .65rem var(--mono);text-transform:uppercase;color:var(--mint);margin-top:2rem}
.dialog-body ul{padding-left:1.2rem;color:#c7cfcc}
.dialog-stack{display:flex;flex-wrap:wrap;gap:.4rem}
.dialog-stack span{padding:.4rem .55rem;background:#17362e;font:400 .58rem var(--mono);text-transform:uppercase}
.dialog-focus span{border:1px solid rgba(201,255,91,.35);background:transparent;color:var(--lime)}
.dialog-links{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:2rem}
.dialog-links a{padding:.75rem 1rem;border:1px solid #49675e;font:500 .62rem var(--mono);text-transform:uppercase}
.dialog-links a:first-child{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
@media (max-width:1000px){.hero{grid-template-columns:1fr;padding-top:150px}
.hero-visual{max-width:430px;justify-self:center}
.product-grid{grid-template-columns:repeat(2,1fr)}
.mobile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.mobile-card:last-child{grid-column:1/-1;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);grid-template-rows:1fr}
.experience-main{grid-template-columns:1fr}
.experience-main p,.tags{grid-column:1}
.hero-metrics{margin-top:0}
}
@media (min-width:761px) and (max-width:1000px){
.hero{grid-template-columns:minmax(0,1fr);padding:9rem clamp(2rem,6vw,4rem) 4.5rem;gap:3.5rem}
.hero>*{min-width:0}
h1{font-size:clamp(3.5rem,8vw,5.25rem);max-width:850px}
.hero-visual{width:min(100%,430px);justify-self:center}
.hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);padding-top:0}
.hero-metrics div{min-width:0;padding:1.25rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero-metrics div:nth-child(2n){border-right:0}
.hero-metrics div:nth-last-child(-n+2){border-bottom:0}
.section{padding:clamp(5.5rem,9vw,7rem) clamp(2rem,6vw,4rem)}
.section-label{margin-bottom:3rem}
.about-grid{grid-template-columns:1fr;gap:2.5rem}
.about-copy{max-width:760px}
.section-heading{grid-template-columns:1fr;gap:2rem;margin-bottom:4rem}
.section-heading p{max-width:680px}
.experience-row{grid-template-columns:110px minmax(0,1fr) auto;gap:1.75rem}
.experience-main{gap:1.25rem}
.products-header{grid-template-columns:minmax(0,1fr) auto}
.product-card{min-height:430px}
.contact{padding:clamp(6rem,10vw,8rem) clamp(2rem,6vw,4rem)}
.contact h2{font-size:clamp(4.25rem,9vw,6rem)}
}
@media (min-width:761px) and (max-width:900px){
.site-header{height:76px;padding-inline:clamp(1.5rem,4vw,2.5rem);background:rgba(7,17,15,.92);backdrop-filter:blur(16px)}
.brand-copy{display:flex}
.menu-toggle{display:block;min-width:44px;min-height:44px;background:none;color:var(--paper);border:1px solid var(--line);padding:.5rem .8rem;font:400 .65rem var(--mono);text-transform:uppercase;cursor:pointer}
.site-header nav,.site-header.is-scrolled nav{display:none;position:fixed;top:76px;left:0;right:0;max-height:calc(100dvh - 76px);padding:1.25rem clamp(1.5rem,4vw,2.5rem);background:rgba(7,17,15,.98);border-bottom:1px solid rgba(201,255,91,.2);flex-direction:column;align-items:stretch;gap:0;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 24px 40px rgba(0,0,0,.35)}
.site-header.is-scrolled nav{top:70px;max-height:calc(100dvh - 70px)}
.site-header nav.open{display:flex}
.site-header nav a{display:flex;align-items:center;min-height:48px;padding:.7rem .25rem;border-bottom:1px solid var(--line);font-size:.75rem}
.site-header .nav-cta{justify-content:space-between;margin-top:.5rem;padding:.85rem 1rem;border:1px solid rgba(201,255,91,.5)}
body.menu-open{overflow:hidden}
}
@media (max-width:760px){.site-header{height:76px}
.brand-copy{display:none}
.menu-toggle{display:block;background:none;color:var(--paper);border:1px solid var(--line);padding:.5rem .7rem;font:400 .65rem var(--mono);text-transform:uppercase}
.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;padding:2rem;background:#0a1713;flex-direction:column;align-items:stretch}
.site-header nav.open{display:flex}
.hero{padding-top:120px}
.hero-visual{max-width:330px}
.visual-core{width:120px;height:120px}
.visual-core span{font-size:2.5rem}
.signal{font-size:.52rem}
.hero-metrics{grid-template-columns:repeat(2,1fr);gap:1.2rem}
.hero-metrics div{padding:0;border:0;display:block}
.hero-metrics strong,.hero-metrics span{display:block}
.about-grid,.section-heading,.products-header{grid-template-columns:1fr}
.section-heading{gap:2rem}
.experience-row{grid-template-columns:1fr;gap:1rem}
.experience-main{gap:1.5rem}
.experience-count{grid-row:1;justify-self:end}
.product-grid{grid-template-columns:1fr}
.product-card{min-height:340px}
.product-index{text-align:left}
.education-card{grid-template-columns:1fr;gap:1.5rem}
.education-location{display:none}
.contact-actions{align-items:flex-start;flex-direction:column}
.dialog-body{padding:1rem 1.4rem 2rem}
footer{flex-direction:column;gap:.5rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
.reveal{opacity:1;transform:none}
}

/* Portrait and product imagery */
.hero-orbit-bg{position:absolute;width:min(68vw,900px);aspect-ratio:1;right:-18vw;top:50%;transform:translateY(-52%);opacity:.52;pointer-events:none}.hero-orbit-bg .orbit{position:absolute;inset:50%;transform:translate(-50%,-50%);border-color:rgba(201,255,91,.23);animation:none}.hero-orbit-bg .orbit-one{width:42%;height:42%}.hero-orbit-bg .orbit-two{width:68%;height:68%;transform:translate(-50%,-50%) rotate(18deg)}.hero-orbit-bg .orbit-three{width:94%;height:94%;border-style:solid}.hero-orbit-bg .orbit:before{display:none}.orbit-node{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 7px rgba(201,255,91,.08),0 0 24px rgba(201,255,91,.55)}.node-one{left:29%;top:22%}.node-two{right:6%;top:48%}.node-three{left:17%;bottom:15%;width:6px;height:6px}.hero-copy,.hero-visual,.hero-metrics{position:relative;z-index:2}
.hero-visual{aspect-ratio:4/5;display:block;position:relative;max-width:510px;width:100%;justify-self:end}
.portrait-frame{position:absolute;inset:0 0 2.5rem 2rem;overflow:hidden;background:#14231f}
.portrait-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(7,17,15,.62)),linear-gradient(90deg,rgba(201,255,91,.08),transparent 35%);mix-blend-mode:multiply}
.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;filter:saturate(.78) contrast(1.05)}
.portrait-badge{position:absolute;left:0;bottom:0;width:142px;height:142px;border-radius:50%;background:var(--lime);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:.45rem;z-index:2;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.portrait-badge strong{font-size:2.5rem;line-height:1}.portrait-badge span{font:500 .56rem var(--mono);text-transform:uppercase;line-height:1.4}
.portrait-caption{position:absolute;right:1rem;bottom:0;z-index:2;display:flex;flex-direction:column;text-align:right;font:400 .56rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.portrait-caption span:last-child{color:var(--lime)}
.product-card{min-height:480px;padding:1.4rem}.card-image{position:relative;aspect-ratio:16/9;margin:1.15rem 0 1.5rem;overflow:hidden;background:#14231f}.card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(201,255,91,.14),transparent 50%);mix-blend-mode:color}.card-image img{width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(1) saturate(.5) contrast(1.12);transition:.45s}.product-card:hover .card-image img{filter:grayscale(0) saturate(.9);transform:scale(1.035)}
.product-card h3{font-size:1.55rem;margin:0 0 .6rem;max-width:300px}.product-card .product-type{font-size:.8rem;margin:0 0 1.5rem}.product-card .card-bottom{margin-top:auto}
.dialog-hero{height:250px;overflow:hidden;background:#14231f}.dialog-hero img{width:100%;height:100%;object-fit:cover}
.dialog-gallery{display:grid;grid-auto-flow:column;grid-auto-columns:44%;gap:1rem;overflow-x:auto;padding:1.5rem;background:#07110f;scroll-snap-type:x mandatory}
.dialog-gallery img{width:100%;height:auto;display:block;scroll-snap-align:start;box-shadow:0 12px 30px rgba(0,0,0,.45)}
@media (max-width:760px){.hero-visual{max-width:360px}.portrait-frame{inset:0 0 2rem 1.5rem}.portrait-badge{width:112px;height:112px}.portrait-badge strong{font-size:2rem}.product-card{min-height:450px}}
@media (max-width:760px){.hero-orbit-bg{width:150vw;right:-85vw;top:58%;opacity:.34}.experience-main .tags{gap:.35rem}.experience-main .tags span{font-size:.55rem;padding:.3rem .48rem}}
.chaos-bg{z-index:2;opacity:.36;animation:none!important;transform:translateZ(0);contain:strict}
.chaos-bg:before,.chaos-bg:after,.chaos-bg span{border-color:rgba(201,255,91,.3)}
.chaos-bg span:nth-child(1){border-color:rgba(101,213,186,.38)}
.chaos-bg span:nth-child(3){background:#d8ff83;box-shadow:14vw -31vh 0 rgba(201,255,91,.9),-34vw 17vh 0 rgba(101,213,186,.9),31vw 23vh 0 rgba(201,255,91,.72)}
.site-header{position:fixed;transition:height .25s ease,background-color .25s ease,border-color .25s ease,box-shadow .25s ease,backdrop-filter .25s ease}.site-header.is-scrolled{height:70px;background:rgba(7,17,15,.88);border-color:rgba(201,255,91,.16);box-shadow:0 12px 40px rgba(0,0,0,.18);backdrop-filter:blur(18px) saturate(1.2)}
.scroll-top{position:fixed;right:clamp(1rem,3vw,2.5rem);bottom:clamp(1rem,3vw,2.5rem);z-index:15;width:58px;height:58px;border-radius:50%;border:1px solid rgba(201,255,91,.45);background:rgba(7,17,15,.9);color:var(--lime);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px) scale(.92);transition:opacity .25s ease,visibility .25s ease,transform .25s ease,background-color .2s ease,color .2s ease;box-shadow:0 12px 32px rgba(0,0,0,.24);backdrop-filter:blur(12px)}.scroll-top span{font-size:1.2rem;line-height:1}.scroll-top small{font:500 .48rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.scroll-top.is-visible{opacity:1;visibility:visible;transform:none}.scroll-top:hover,.scroll-top:focus-visible{background:var(--lime);color:var(--ink);outline:none}.scroll-top:focus-visible{box-shadow:0 0 0 4px rgba(201,255,91,.2)}
@media (max-width:760px){.site-header.is-scrolled{height:64px}.site-header.is-scrolled nav{top:64px}.scroll-top{width:52px;height:52px}}

/* Responsive layout refinements */
@media (max-width:760px){
html{scroll-padding-top:76px}
body.menu-open{overflow:hidden}
.site-header{width:100%;max-width:100vw;padding-inline:1rem;background:rgba(7,17,15,.92);backdrop-filter:blur(16px)}
.brand-mark{width:40px;height:40px}
.menu-toggle{min-width:44px;min-height:44px;cursor:pointer}
.site-header nav,.site-header.is-scrolled nav{position:fixed;top:76px;left:0;right:0;max-height:calc(100dvh - 76px);padding:1rem;background:rgba(7,17,15,.98);border-bottom:1px solid rgba(201,255,91,.2);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 24px 40px rgba(0,0,0,.35)}
.site-header.is-scrolled nav{top:64px;max-height:calc(100dvh - 64px)}
.site-header nav a{display:flex;align-items:center;min-height:48px;padding:.7rem .25rem;border-bottom:1px solid var(--line);font-size:.75rem}
.site-header .nav-cta{justify-content:space-between;margin-top:.5rem;padding:.85rem 1rem;border:1px solid rgba(201,255,91,.5)}

.hero{min-height:auto;grid-template-columns:minmax(0,1fr);width:100%;max-width:100vw;padding:7rem 1.25rem 3.5rem;gap:2.75rem;overflow:hidden}
.hero>*{min-width:0}
.hero-copy,.hero-actions,.hero-metrics{width:100%;min-width:0}
.eyebrow{font-size:.62rem;line-height:1.7}
h1{max-width:100%;font-size:clamp(2.25rem,10.5vw,4.25rem);line-height:1;letter-spacing:-.05em;margin:1.15rem 0 1.5rem}
.hero-lede{font-size:1rem;line-height:1.65}
.hero-actions{flex-direction:column;align-items:stretch;margin-top:2rem}
.button{width:100%;max-width:100%;min-height:48px;gap:1rem;padding:.9rem 1rem;overflow-wrap:anywhere;text-align:left}
.hero-visual{width:min(100%,360px);margin-inline:auto}
.portrait-caption{right:0;max-width:65%}
.hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:0;padding-top:0;border:1px solid var(--line)}
.hero-metrics div{min-width:0;padding:1rem!important;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero-metrics div:nth-child(2n){border-right:0}
.hero-metrics div:nth-last-child(-n+2){border-bottom:0}
.hero-metrics strong{font-size:1.45rem}
.hero-metrics span{font-size:.56rem;line-height:1.45;overflow-wrap:anywhere}

.section{padding:4.5rem 1rem}
.section-label{margin-bottom:2.5rem}
.about h2,.section-heading h2,.products h2,.education h2{font-size:clamp(2.15rem,10vw,3.3rem);line-height:1.04;letter-spacing:-.045em;overflow-wrap:anywhere}
.about-grid{gap:2rem}
.about-copy .lead{font-size:1.15rem}
.focus-list span{font-size:.58rem}
.section-heading{margin-bottom:3rem}
.section-heading p,.products-header p{font-size:1rem}
.mobile-heading{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2.5rem}
.mobile-skills{margin:-.75rem 0 2rem;gap:.4rem}
.mobile-skills span{font-size:.54rem;padding:.48rem .58rem}
.mobile-grid{grid-template-columns:1fr}
.mobile-card:last-child{grid-column:auto;grid-template-columns:1fr;grid-template-rows:auto 1fr}
.mobile-preview{height:330px}

.experience-row{grid-template-columns:minmax(0,1fr) auto;column-gap:1rem;padding:2.25rem 0}
.experience-period{grid-column:1;grid-row:1}
.experience-count{grid-column:2;grid-row:1;text-align:right}
.experience-main{grid-column:1/-1;grid-row:2;min-width:0}
.experience-main h3{font-size:1.55rem}
.tags span{max-width:100%;overflow-wrap:anywhere}

.products-header{gap:1.5rem}
.product-expertise{grid-template-columns:1fr;gap:1.25rem;margin:2rem 0}
.product-index strong{font-size:2.5rem}
.filters{width:calc(100% + 2rem);margin:2.5rem -1rem 1.5rem;padding:0 1rem .5rem;scroll-padding-inline:1rem;scrollbar-width:thin}
.filter{min-height:44px}
.product-grid{border-left:0}
.product-card{min-height:0;padding:1rem;border-left:1px solid var(--line)}
.card-image{margin:1rem 0 1.25rem}
.product-card h3{font-size:1.4rem;max-width:none}
.card-stack{max-width:calc(100% - 54px);overflow-wrap:anywhere}
.card-arrow{width:44px;height:44px;flex:0 0 44px}

.education-card{padding:2rem 0}
.degree-mark{width:82px;height:82px;font-size:1.2rem}
.education-card h2{font-size:clamp(2rem,9vw,3rem)}

.contact{padding:5rem 1rem}
.contact h2{font-size:clamp(2.75rem,13vw,4.75rem);line-height:.98;letter-spacing:-.055em;margin:1.25rem 0 2.5rem}
.contact-actions{gap:1.25rem;width:100%}
.contact-actions .button{width:100%}
footer{padding:1.5rem 1rem 5rem;line-height:1.5}

dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);overflow-y:auto;overscroll-behavior:contain}
.dialog-close{position:sticky;top:0;z-index:3;width:100%;padding:.85rem 1rem;background:rgba(13,29,25,.96);border-bottom:1px solid var(--line);text-align:right}
.dialog-hero{height:auto;aspect-ratio:16/9}
.dialog-gallery{grid-auto-columns:72%;padding:1rem}
.dialog-body{padding:1.25rem 1rem 2rem}
.dialog-body h2{font-size:clamp(1.9rem,9vw,2.6rem);overflow-wrap:anywhere}
.dialog-body ul{padding-left:1.1rem}
.dialog-links{flex-direction:column}
.dialog-links a{min-height:44px;display:flex;align-items:center}
.scroll-top{right:.75rem;bottom:.75rem;width:48px;height:48px}
}

@media (max-width:380px){
.hero,.section,.contact{padding-left:1rem;padding-right:1rem}
h1{font-size:2.15rem}
.hero-metrics div{padding:.8rem!important}
.hero-metrics strong{font-size:1.3rem}
.hero-metrics span{font-size:.52rem}
.portrait-badge{width:96px;height:96px}
.portrait-badge strong{font-size:1.65rem}
.portrait-badge span{font-size:.49rem}
.portrait-caption{font-size:.49rem}
.experience-period,.experience-count{font-size:.58rem}
.filters{width:calc(100% + 2rem);margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}
}

@media (hover:none){
.product-card:hover:before{height:0}
.product-card:hover{color:inherit}
.product-card:hover .product-type,.product-card:hover .card-company,.product-card:hover .card-number{color:var(--muted)}
.product-card:hover .card-image img{filter:grayscale(1) saturate(.5) contrast(1.12);transform:none}
}
