:root {
  --ink: #07111f;
  --ink-soft: #0c1929;
  --panel: #101f31;
  --paper: #f3f0e8;
  --white: #fffdf7;
  --muted: #9ba8b7;
  --line: rgba(255, 255, 255, .12);
  --coral: #ff6138;
  --mint: #4ce5c1;
  --sun: #ffd166;
  --max: 1280px;
  --header: 88px;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-color: var(--coral) var(--ink); }
body { margin: 0; background: var(--ink); color: var(--white); font-family: Inter, "Helvetica Neue", Arial, sans-serif; line-height: 1.55; overflow-x: hidden; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 20; opacity: .045; 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='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E"); }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
::selection { background: var(--mint); color: var(--ink); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 200; padding: .8rem 1rem; color: var(--ink); background: var(--mint); font-weight: 800; transition: top .2s; }
.skip-link:focus { top: 1rem; }
.cursor-glow { position: fixed; z-index: -1; width: 34rem; height: 34rem; left: -17rem; top: -17rem; border-radius: 50%; background: radial-gradient(circle, rgba(76,229,193,.08), transparent 68%); transform: translate3d(var(--mx, 50vw), var(--my, 30vh), 0); pointer-events: none; }

.site-header { width: min(calc(100% - 3rem), var(--max)); height: var(--header); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; position: fixed; z-index: 100; top: 0; left: 50%; transform: translateX(-50%); transition: height .25s var(--ease); }
.site-header::before { content: ""; position: absolute; z-index: -1; inset: .7rem -1rem; border: 1px solid transparent; border-radius: 1rem; backdrop-filter: blur(0); transition: .25s; }
.site-header.scrolled { height: 72px; }
.site-header.scrolled::before { background: rgba(7,17,31,.78); border-color: var(--line); backdrop-filter: blur(18px); box-shadow: 0 10px 30px rgba(0,0,0,.16); }
.brand { display: flex; align-items: center; gap: .8rem; }
.brand img { width: 44px; height: 44px; border-radius: 11px; }
.brand span { display: grid; line-height: 1.15; }
.brand strong { font-size: .95rem; letter-spacing: .02em; }
.brand small { color: var(--muted); margin-top: .25rem; font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; }
.primary-nav { display: flex; align-items: center; gap: 2rem; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.primary-nav a { transition: color .2s; }
.primary-nav a:hover, .primary-nav a:focus-visible { color: var(--mint); }
.primary-nav .nav-cta { padding: .72rem 1rem; border: 1px solid var(--line); border-radius: 999px; }
.nav-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--line); background: transparent; border-radius: 50%; align-content: center; justify-items: center; gap: 6px; }
.nav-toggle i { display: block; width: 18px; height: 1px; background: currentColor; transition: transform .2s; }

.hero { min-height: 900px; padding: calc(var(--header) + 7rem) max(1.5rem, calc((100vw - var(--max)) / 2)) 3rem; position: relative; display: grid; grid-template-columns: 1.12fr .88fr; grid-template-rows: 1fr auto; align-items: center; isolation: isolate; }
.hero::before { content: ""; position: absolute; width: 45vw; height: 45vw; right: -12vw; top: 5rem; background: radial-gradient(circle, rgba(255,97,56,.18), transparent 68%); filter: blur(20px); z-index: -1; }
.hero-grid { position: absolute; inset: 0; z-index: -2; opacity: .22; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(to bottom, #000, transparent 88%); }
.eyebrow { color: var(--mint); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .72rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.signal { display: inline-block; width: .55rem; height: .55rem; margin-right: .5rem; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 0 rgba(76,229,193,.5); animation: pulse 2s infinite; }
@keyframes pulse { 60% { box-shadow: 0 0 0 8px rgba(76,229,193,0); } 100% { box-shadow: 0 0 0 0 rgba(76,229,193,0); } }
.hero h1 { max-width: 850px; margin: 1.4rem 0 1.8rem; font-size: clamp(3.5rem, 7.4vw, 7.5rem); line-height: .91; letter-spacing: -.07em; }
.gradient-text { color: transparent; background: linear-gradient(100deg, var(--coral), var(--sun) 48%, var(--mint)); background-clip: text; -webkit-background-clip: text; }
.hero-intro { max-width: 650px; color: #c6cfda; font-size: clamp(1rem, 1.4vw, 1.25rem); }
.hero-intro strong { color: var(--white); }
.hero-actions { display: flex; align-items: center; gap: 2rem; margin-top: 2.4rem; }
.button { display: inline-flex; align-items: center; gap: 1.5rem; padding: 1rem 1.25rem; border-radius: 999px; font-size: .83rem; font-weight: 800; transition: transform .25s var(--ease), box-shadow .25s; }
.button-primary { background: var(--coral); color: var(--white); box-shadow: 0 12px 30px rgba(255,97,56,.16); }
.button:hover { transform: translateY(-3px); box-shadow: 0 16px 38px rgba(255,97,56,.28); }
.text-link { padding-block: .5rem; border-bottom: 1px solid var(--line); font-size: .83rem; font-weight: 700; }
.text-link:hover { border-color: var(--mint); color: var(--mint); }
.hero-visual { min-width: 0; position: relative; justify-self: end; }
.portrait-orbit { width: clamp(320px, 34vw, 530px); aspect-ratio: 1; position: relative; display: grid; place-items: center; }
.portrait-orbit::before { content: ""; position: absolute; inset: 10%; border-radius: 48% 52% 45% 55%; background: linear-gradient(135deg, var(--coral), var(--mint)); animation: morph 8s ease-in-out infinite alternate; }
@keyframes morph { to { border-radius: 55% 45% 58% 42%; transform: rotate(5deg) scale(1.02); } }
.portrait-orbit img { width: 72%; aspect-ratio: 1; border-radius: 48% 52% 45% 55%; object-fit: cover; filter: contrast(1.1); position: relative; z-index: 2; mix-blend-mode: luminosity; border: 8px solid var(--ink); }
.orbit { position: absolute; inset: 2%; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; animation: spin 20s linear infinite; }
.orbit::after { content: ""; position: absolute; left: 11%; top: 12%; width: 12px; height: 12px; background: var(--mint); border-radius: 50%; box-shadow: 0 0 20px var(--mint); }
.orbit-two { inset: 17%; animation-direction: reverse; animation-duration: 14s; border-style: dashed; }
.orbit-two::after { left: 84%; top: 70%; background: var(--coral); box-shadow: 0 0 20px var(--coral); }
@keyframes spin { to { transform: rotate(360deg); } }
.orbit-label { position: absolute; z-index: 3; padding: .5rem .75rem; border: 1px solid var(--line); background: rgba(7,17,31,.82); backdrop-filter: blur(8px); border-radius: 99px; font: 700 .65rem ui-monospace, monospace; text-transform: uppercase; letter-spacing: .08em; }
.label-one { top: 8%; right: -2%; }.label-two { left: -3%; top: 55%; }.label-three { right: 2%; bottom: 6%; }
.code-card { width: 250px; position: absolute; z-index: 4; left: -3rem; bottom: -2rem; padding: 1rem; background: rgba(12,25,41,.91); border: 1px solid var(--line); border-radius: .8rem; box-shadow: 0 20px 50px rgba(0,0,0,.35); backdrop-filter: blur(12px); transform: rotate(-3deg); }
.code-card > div { display: flex; justify-content: space-between; color: var(--muted); font: .62rem ui-monospace, monospace; }
.code-card > div b { color: var(--mint); }
.code-card code { display: block; margin-top: 1rem; color: #cbd4de; font-size: .75rem; line-height: 1.8; }
.code-card code i { color: var(--coral); font-style: normal; }.code-card code em { color: var(--mint); font-style: normal; }
.hero-stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 5rem; border-block: 1px solid var(--line); }
.hero-stats div { padding: 1.4rem; display: flex; align-items: center; gap: 1rem; border-right: 1px solid var(--line); }
.hero-stats div:last-child { border: 0; }
.hero-stats strong { color: var(--mint); font-size: 2.2rem; line-height: 1; letter-spacing: -.05em; }
.hero-stats span { max-width: 110px; color: var(--muted); font-size: .72rem; line-height: 1.25; text-transform: uppercase; letter-spacing: .06em; }

.marquee { width: 100%; overflow: hidden; background: var(--coral); color: var(--ink); transform: rotate(-1.5deg) scale(1.02); }
.marquee-track { width: max-content; padding: .75rem 0; display: flex; align-items: center; gap: 1.4rem; animation: marquee 30s linear infinite; font-size: .8rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.marquee-track i { font-style: normal; }
@keyframes marquee { to { transform: translateX(-50%); } }

.section { width: min(calc(100% - 3rem), var(--max)); margin-inline: auto; padding: 9rem 0; }
.section-label { display: flex; align-items: center; gap: 1rem; margin-bottom: 4.5rem; color: var(--muted); font: 700 .7rem ui-monospace, monospace; text-transform: uppercase; letter-spacing: .14em; }
.section-label::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.section-label span { color: var(--coral); }
.intro-layout { display: grid; grid-template-columns: 1fr .78fr; gap: 8vw; }
.display-heading, .section-heading-row h2, .ai-copy h2 { margin: 0; font-size: clamp(3rem, 6.4vw, 6.8rem); line-height: .95; letter-spacing: -.065em; }
.display-heading span, .impact-copy h2 span, .ai-copy h2 span { color: var(--mint); }
.prose { color: #bdc7d2; font-size: clamp(1rem, 1.35vw, 1.2rem); }
.prose p { margin: 0 0 1.6rem; }
.prose p:first-child { color: var(--white); font-size: 1.28em; }

.work-section { padding-top: 7rem; }
.section-heading-row { display: grid; grid-template-columns: 1fr 360px; gap: 3rem; align-items: end; margin-bottom: 4rem; }
.section-heading-row h2 { font-size: clamp(2.8rem, 5.7vw, 5.8rem); }
.section-heading-row p { color: var(--muted); margin: 0; }
.project-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 1.2rem; perspective: 1200px; }
.project-card { min-height: 590px; position: relative; display: flex; flex-direction: column; border: 1px solid var(--line); background: var(--ink-soft); overflow: hidden; transition: border-color .3s, transform .2s; transform: perspective(1000px) rotateX(var(--rx,0)) rotateY(var(--ry,0)); }
.project-card:hover { border-color: rgba(76,229,193,.55); }
.project-top { padding: 1rem 1.2rem; display: flex; justify-content: space-between; color: var(--muted); border-bottom: 1px solid var(--line); font: .65rem ui-monospace, monospace; text-transform: uppercase; letter-spacing: .1em; }
.project-art { min-height: 250px; flex: 1; display: grid; place-items: center; overflow: hidden; border-bottom: 1px solid var(--line); }
.sam-art { background: radial-gradient(circle at 70% 20%, rgba(76,229,193,.25), transparent 40%), linear-gradient(145deg, #101e31, #09131f); }
.sam-window { width: 68%; padding: 1rem; border: 1px solid rgba(255,255,255,.2); border-radius: .8rem; background: rgba(7,17,31,.65); box-shadow: 20px 24px 0 rgba(255,97,56,.15); transform: rotate(-4deg); }
.sam-window i { display: inline-block; width: 7px; height: 7px; margin-right: 3px; border-radius: 50%; background: var(--coral); }.sam-window i:nth-child(2){background:var(--sun)}.sam-window i:nth-child(3){background:var(--mint)}
.sam-window b, .sam-window span { display: block; font-family: ui-monospace, monospace; }.sam-window b { padding: 2rem 0 .4rem; color: var(--mint); font-size: clamp(1.4rem,3vw,2.6rem); }.sam-window span { color: var(--muted); font-size: .7rem; }
.buoyant-art { background: linear-gradient(135deg, rgba(76,229,193,.14), transparent), var(--panel); }
.rings { width: 190px; aspect-ratio: 1; position: relative; display: grid; place-items: center; }
.rings i { position: absolute; inset: 0; border: 1px solid var(--mint); border-radius: 47% 53% 50% 50%; animation: spin 12s linear infinite; }.rings i:nth-child(2){inset:15%;animation-direction:reverse;border-color:var(--coral)}.rings i:nth-child(3){inset:30%;animation-duration:8s}.rings b{font-size:3.5rem;color:var(--paper)}
.editor-art { position: relative; background: #0b1421; }.editor-lines { width: 70%; display: grid; gap: .8rem; transform: skewY(-5deg); }.editor-lines i { display:block;height:8px;border-radius:9px;background:linear-gradient(90deg,var(--coral) 18%,transparent 18% 22%,var(--muted) 22% 70%,transparent 70%);opacity:.6}.editor-lines i:nth-child(2n){margin-left:15%;background:linear-gradient(90deg,var(--mint) 30%,transparent 30% 34%,var(--muted) 34% 80%,transparent 80%)}.editor-art strong{position:absolute;font:900 3rem ui-monospace;color:var(--white);}
.project-body { padding: 1.6rem; }
.project-body h3 { margin: 0 0 .8rem; font-size: clamp(1.6rem,3vw,2.3rem); letter-spacing: -.04em; }
.project-body p { color: #aeb9c5; margin: 0 0 1.4rem; }
.tags { display: flex; flex-wrap: wrap; gap: .4rem; }.tags span { padding: .35rem .55rem; border: 1px solid var(--line); border-radius: 99px; color: var(--muted); font-size: .62rem; text-transform: uppercase; letter-spacing: .06em; }
.project-links { display: flex; gap: 1.4rem; margin-top: 1.5rem; font-size: .76rem; font-weight: 800; }.project-links a:hover{color:var(--mint)}
.project-wide { grid-column: 1 / -1; min-height: 330px; display: grid; grid-template-columns: 150px 1fr .8fr; }.project-wide .project-top{grid-row:1;grid-column:1;writing-mode:vertical-rl;transform:rotate(180deg);align-items:center}.project-wide .project-body{grid-column:2;padding:3rem}.depth-meter,.module-cloud{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(76,229,193,.14),transparent)}
.depth-meter { flex-direction: column; color: var(--muted); font: .7rem ui-monospace, monospace; }.depth-meter i { width: 1px; height: 130px; margin: .7rem; background: linear-gradient(var(--mint),var(--coral)); position:relative}.depth-meter i::after{content:"";position:absolute;bottom:0;left:-5px;width:11px;height:11px;background:var(--coral);border-radius:50%;box-shadow:0 0 20px var(--coral)}.depth-meter b{color:var(--coral);font-size:1.2rem}
.module-cloud { position:relative;min-height:100%;}.module-cloud span{position:absolute;padding:.55rem .75rem;border:1px solid var(--line);background:var(--ink);font:.7rem ui-monospace;color:var(--mint);}.module-cloud span:nth-child(1){top:20%;left:15%;transform:rotate(-4deg)}.module-cloud span:nth-child(2){top:34%;right:15%;transform:rotate(5deg)}.module-cloud span:nth-child(3){bottom:25%;left:25%;transform:rotate(3deg)}.module-cloud span:nth-child(4){bottom:12%;right:20%;transform:rotate(-5deg)}

.impact-section { width: 100%; padding: 8rem max(1.5rem, calc((100vw - var(--max)) / 2)); display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; background: var(--paper); color: var(--ink); }
.impact-copy { position: sticky; top: 8rem; align-self: start; }
.impact-copy .eyebrow { color: #a83e25; }.impact-copy h2 { margin: 1.5rem 0 0; font-size: clamp(3rem,5vw,5.7rem);line-height:.95;letter-spacing:-.06em}.impact-copy h2 span{color:#168f79}
.impact-list article { display: grid; grid-template-columns: 45px 1fr; padding: 2rem 0; border-top: 1px solid rgba(7,17,31,.2); }.impact-list article:last-child{border-bottom:1px solid rgba(7,17,31,.2)}.impact-list article>span{font:700 .65rem ui-monospace;color:#a83e25}.impact-list strong{font-size:clamp(1.7rem,3vw,3rem);letter-spacing:-.05em}.impact-list p{grid-column:2;color:#52606c;max-width:570px;margin:.6rem 0 0}

.ai-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 6vw; align-items: center; }
.ai-copy h2 { font-size: clamp(3rem,5.2vw,5.7rem); }.ai-copy p { color: #aeb9c5; max-width: 650px; }.ai-copy p:first-of-type{font-size:1.15rem;color:var(--white);margin-top:2rem}
.terminal { border: 1px solid var(--line); background: #050c15; border-radius: .8rem; overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.4)}
.terminal-bar{display:flex;align-items:center;gap:.4rem;padding:.8rem 1rem;background:#111d2a;border-bottom:1px solid var(--line)}.terminal-bar i{width:8px;height:8px;border-radius:50%;background:var(--coral)}.terminal-bar i:nth-child(2){background:var(--sun)}.terminal-bar i:nth-child(3){background:var(--mint)}.terminal-bar span{margin-left:auto;color:var(--muted);font:.65rem ui-monospace}
.terminal-body{padding:1.4rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.terminal-body p{display:grid;grid-template-columns:35px 1fr;margin:0;padding:1rem 0;border-bottom:1px solid var(--line);font-size:.76rem}.terminal-body p b{color:var(--coral)}.terminal-body p span{color:var(--white)}.terminal-body p em{grid-column:2;color:var(--muted);font-style:normal;margin-top:.3rem}.terminal-output{padding:1.5rem 0 .3rem;color:var(--muted);font-size:.76rem}.terminal-output>span{color:var(--mint)}.terminal-output i{color:var(--mint);font-style:normal}.caret{animation:blink .8s infinite}@keyframes blink{50%{opacity:0}}
.ai-proof { display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:5rem}.ai-proof p{margin:0;padding:2rem;border:1px solid var(--line);color:#c1cad4;font-size:1.05rem}.ai-proof p::before{content:"\21B3";display:block;color:var(--coral);margin-bottom:1rem}

.timeline { border-top: 1px solid var(--line); }
.role { border-bottom: 1px solid var(--line); }
.role summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 150px 1fr 40px; gap: 2rem; align-items: center; padding: 2rem 1rem; transition: background .2s; }.role summary::-webkit-details-marker{display:none}.role summary:hover{background:rgba(255,255,255,.025)}
.role-date{color:var(--mint);font:.7rem ui-monospace}.role-title{display:grid;gap:.25rem}.role-title strong{font-size:clamp(1.3rem,2.3vw,2rem);letter-spacing:-.03em}.role-title em{color:var(--muted);font-size:.8rem;font-style:normal}.role summary>i{width:16px;height:16px;position:relative}.role summary>i::before,.role summary>i::after{content:"";position:absolute;left:0;top:7px;width:16px;height:1px;background:var(--white);transition:transform .2s}.role summary>i::after{transform:rotate(90deg)}.role[open] summary>i::after{transform:rotate(0)}
.role-detail { margin-left: 182px; max-width: 760px; padding: 0 1rem 2.5rem; color:#aeb9c5}.role-detail li{margin-bottom:.55rem}.role-detail a{display:inline-block;margin-right:1rem;color:var(--mint);font-size:.75rem;font-weight:800}.role-detail>p:first-child{color:var(--white)}

.quote-section { width:min(calc(100% - 3rem),var(--max));margin:4rem auto 7rem;padding:4rem 8vw;position:relative;border:1px solid var(--line);background:linear-gradient(135deg,rgba(255,97,56,.08),rgba(76,229,193,.05))}.quote-mark{position:absolute;left:2rem;top:1rem;color:var(--coral);font:8rem Georgia;line-height:1;opacity:.55}.quote-section blockquote{position:relative;margin:0;font-size:clamp(1.5rem,3vw,2.6rem);line-height:1.3;letter-spacing:-.025em}.quote-section blockquote span{color:var(--mint)}.quote-source{margin-top:2rem;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center}.quote-source span{color:var(--muted);font-size:.8rem}.quote-source a{font-size:.7rem;font-weight:800;color:var(--mint)}

.capability-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left:1px solid var(--line) }.capability-grid article{min-height:270px;padding:1.6rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .25s,transform .25s}.capability-grid article:hover{background:var(--panel);transform:translateY(-5px)}.capability-grid article>span{color:var(--coral);font:.65rem ui-monospace}.capability-grid h3{margin:3rem 0 .8rem;font-size:1.4rem}.capability-grid p{margin:0;color:var(--muted);font-size:.85rem}
.technology{margin-top:5rem;padding:2rem 0;border-block:1px solid var(--line)}.tech-list{display:flex;flex-wrap:wrap;gap:.7rem}.tech-list span{padding:.6rem .8rem;background:var(--panel);border-radius:.25rem;color:#c7d0da;font-size:.75rem;transition:.2s}.tech-list span:hover{background:var(--mint);color:var(--ink);transform:translateY(-2px)}
.background-grid{margin-top:5rem;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.background-grid>div{background:var(--ink);padding:2.4rem}.background-grid h3{margin:1.5rem 0 .3rem}.background-grid p:not(.eyebrow){margin:.2rem 0;color:var(--muted)}.background-grid .spaced{margin-top:2.5rem}.background-grid a{color:var(--mint);font-weight:800}

.contact-section { min-height: 720px; padding: 8rem 1.5rem; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; position:relative;overflow:hidden;background:radial-gradient(circle at 50% 65%,rgba(255,97,56,.15),transparent 40%)}.contact-section::before{content:"";position:absolute;width:500px;height:500px;border:1px solid var(--line);border-radius:50%;animation:spin 28s linear infinite}.contact-logo{width:85px;height:85px;margin-bottom:2rem;border-radius:1rem;box-shadow:0 20px 50px rgba(0,0,0,.35)}.contact-section h2{margin:1rem 0 2.5rem;font-size:clamp(3.5rem,8vw,8.5rem);line-height:.85;letter-spacing:-.075em;position:relative}.contact-section h2 span{color:var(--coral)}.contact-profile{position:relative;font-size:clamp(1.1rem,2.2vw,2rem);font-weight:800;border-bottom:2px solid var(--mint)}.contact-profile:hover{color:var(--mint)}.contact-links{position:relative;margin-top:3rem;display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.contact-links a:hover{color:var(--white)}
.site-footer { width:min(calc(100% - 3rem),var(--max));margin:auto;padding:2rem 0;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:2rem;border-top:1px solid var(--line);color:var(--muted);font-size:.68rem}.footer-brand{display:flex;align-items:center;gap:.7rem;color:var(--white)}.footer-brand img{width:36px;height:36px;border-radius:.5rem}

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s var(--ease), transform .75s var(--ease); }.reveal.visible { opacity: 1; transform: translateY(0); }
:focus-visible { outline: 2px solid var(--mint); outline-offset: 4px; }

@media (max-width: 1000px) {
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:10rem}.hero-visual{justify-self:center;margin-top:5rem}.hero-stats{margin-top:5rem}.intro-layout,.ai-layout,.impact-section{grid-template-columns:1fr}.impact-copy{position:static}.section-heading-row{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.project-card{min-height:520px}.project-feature{grid-column:auto}.capability-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 720px) {
  :root{--header:72px}.site-header{width:calc(100% - 2rem)}.nav-toggle{display:grid;position:relative;z-index:2}.nav-toggle[aria-expanded="true"] i:first-of-type{transform:translateY(3.5px) rotate(45deg)}.nav-toggle[aria-expanded="true"] i:last-of-type{transform:translateY(-3.5px) rotate(-45deg)}
  .primary-nav{position:fixed;inset:.5rem -1rem auto;padding:6rem 2rem 2rem;display:grid;gap:0;background:rgba(7,17,31,.97);border:1px solid var(--line);border-radius:1rem;transform:translateY(-120%);opacity:0;transition:.3s var(--ease)}.primary-nav.open{transform:translateY(0);opacity:1}.primary-nav a{padding:1rem 0;border-bottom:1px solid var(--line)}.primary-nav .nav-cta{border:0;border-bottom:1px solid var(--line);border-radius:0}
  .hero{padding-inline:1.25rem;padding-top:8.5rem}.hero h1{font-size:clamp(3.2rem,16vw,5rem)}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.3rem}.portrait-orbit{width:min(92vw,420px)}.orbit-label{font-size:.55rem}.code-card{left:0}.hero-stats{grid-template-columns:1fr 1fr}.hero-stats div:nth-child(2){border-right:0}.hero-stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .section{width:calc(100% - 2.5rem);padding:6.5rem 0}.section-label{margin-bottom:3rem}.intro-layout{gap:3rem}.display-heading,.section-heading-row h2,.ai-copy h2{font-size:clamp(2.7rem,13vw,4.5rem)}
  .project-card{min-height:0}.project-wide{display:flex;grid-column:auto}.project-wide .project-top{writing-mode:initial;transform:none}.project-wide .project-body{padding:1.6rem}.depth-meter,.module-cloud{min-height:220px;width:100%}
  .impact-section{padding:6rem 1.25rem}.impact-list article{grid-template-columns:30px 1fr}.ai-proof{grid-template-columns:1fr}.role summary{grid-template-columns:1fr 30px;gap:.5rem}.role-date{grid-column:1}.role-title{grid-column:1}.role summary>i{grid-column:2;grid-row:1/3}.role-detail{margin-left:0;padding-left:0}.role-detail ul{padding-left:1.2rem}
  .quote-section{padding:4rem 1.4rem}.quote-mark{left:1rem}.quote-source{grid-template-columns:1fr}.capability-grid{grid-template-columns:1fr}.background-grid{grid-template-columns:1fr}.contact-section{min-height:650px}.contact-section::before{width:330px;height:330px}.site-footer{grid-template-columns:1fr;text-align:center;justify-items:center}
}
@media (prefers-reduced-motion: reduce) {
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.cursor-glow{display:none}.reveal{opacity:1;transform:none}
}
@media print {
  :root{--ink:#fff;--white:#111;--muted:#444;--line:#ccc}.site-header,.hero-grid,.cursor-glow,.marquee,.project-art,.contact-logo,.contact-section::before{display:none!important}body{background:#fff;color:#111}.hero{min-height:0;padding:2rem}.section{padding:2rem 0}.reveal{opacity:1;transform:none}.project-card{break-inside:avoid;min-height:0}.role-detail{display:block}.contact-section{min-height:0;background:none}.site-footer{color:#444}
}
