:root{color-scheme:light;--bg:#f6f7f8;--surface:#fff;--surface-2:#eceff1;--text:#15181b;--muted:#667078;--line:#d9dee2;--accent:#1677ff;--accent-soft:rgba(22,119,255,.1);--dark:#0b0d10;--dark-text:#f4f7f9;--dark-muted:#a9b2ba;--shadow:0 20px 50px rgba(12,20,28,.08);--radius:22px;--header:78px}html[data-theme=dark]{color-scheme:dark;--bg:#0b0d10;--surface:#13171b;--surface-2:#1b2025;--text:#f4f7f9;--muted:#a9b2ba;--line:#2b3239;--accent:#6da9ff;--accent-soft:rgba(109,169,255,.12);--shadow:0 24px 60px rgba(0,0,0,.25)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 20px)}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.7}a{color:inherit}button{font:inherit}.container{width:min(1120px,calc(100% - 40px));margin-inline:auto}.narrow{width:min(760px,calc(100% - 40px))}.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}.scroll-progress{position:fixed;z-index:1000;top:0;left:0;width:100%;height:3px;pointer-events:none}.scroll-progress span{display:block;height:100%;width:0;background:var(--accent);transition:width .05s linear}.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:.25s}.site-header.scrolled{border-color:var(--line);box-shadow:0 8px 30px rgba(0,0,0,.05)}.nav-wrap{height:var(--header);display:flex;align-items:center;gap:24px}.logo{font-weight:900;letter-spacing:-.08em;text-decoration:none;font-size:1.2rem;margin-right:auto}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav a{font-size:.88rem;text-decoration:none;color:var(--muted);transition:color .2s}.site-header nav a:hover,.site-header nav a.active{color:var(--text)}.theme-toggle,.nav-toggle{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;cursor:pointer}.theme-toggle{width:40px;height:40px}.nav-toggle{display:none;width:42px;height:42px;padding:10px}.nav-toggle span:not(.sr-only){display:block;height:2px;margin:4px 0;background:currentColor;border-radius:2px}.hero{min-height:calc(100vh - var(--header));display:flex;align-items:center;padding:90px 0 110px;background:radial-gradient(circle at 75% 35%,var(--accent-soft),transparent 30%),var(--bg)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:80px;align-items:center}.eyebrow,.section-kicker{margin:0 0 18px;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3.4rem,7.2vw,7.4rem);line-height:.94;letter-spacing:-.075em;max-width:900px;margin-bottom:30px}h1 span{color:var(--muted)}h2{font-size:clamp(2.2rem,4.5vw,4.5rem);line-height:1.02;letter-spacing:-.055em;margin-bottom:28px}h3{font-size:1.15rem;line-height:1.2;margin-bottom:12px}.hero-lead{font-size:clamp(1.15rem,1.8vw,1.45rem);max-width:760px}.hero-copy{color:var(--muted);max-width:700px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:750;border:1px solid var(--line)}.button.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.button.secondary{background:transparent}.hero-meta{display:flex;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:.78rem}.hero-meta span+span{padding-left:20px;border-left:1px solid var(--line)}.hero-photo{display:flex;justify-content:center}.portrait-image{display:block;width:min(100%,330px);aspect-ratio:4/5;object-fit:cover;object-position:center 24%;border-radius:34px;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--surface-2);transition:transform .3s ease,box-shadow .3s ease}.hero-photo:hover .portrait-image{transform:translateY(-4px);box-shadow:0 26px 60px rgba(12,20,28,.12)}.section{position:relative;isolation:isolate;padding:120px 0;overflow:hidden}.section::before{content:"";position:absolute;z-index:-1;width:420px;height:420px;right:-180px;top:50%;transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle,var(--accent-soft) 0%,transparent 68%);opacity:.55;pointer-events:none}.section:nth-of-type(even)::before{left:-180px;right:auto;top:25%;opacity:.4}.section-muted{background:var(--surface-2)}.section-muted::after{content:"";position:absolute;z-index:-1;width:280px;height:280px;left:8%;bottom:-170px;border:1px solid var(--line);border-radius:50%;opacity:.5;pointer-events:none}.section-heading{max-width:850px;margin-bottom:50px}.section-heading h2{margin-bottom:0}.section p{font-size:1.04rem}.narrow>p+p{margin-top:20px}.cards{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{min-height:300px;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;box-shadow:0 1px 0 rgba(0,0,0,.02);transition:transform .25s,box-shadow .25s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.card-number{color:var(--accent);font-weight:800;font-size:.78rem;margin-bottom:auto}.card p{color:var(--muted);font-size:.93rem}.career-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.career-copy p{font-size:1.1rem}.timeline{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}.timeline li{position:relative;padding:0 0 36px 28px}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";position:absolute;left:-5px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--muted)}.timeline li.current:before{background:var(--accent);box-shadow:0 0 0 7px var(--accent-soft)}.role{display:block;font-weight:800;font-size:1.05rem}.detail{display:block;color:var(--muted);font-size:.9rem;margin-top:4px}.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:35px}.tags span,.explorations span{padding:9px 13px;border:1px solid var(--line);border-radius:999px;font-size:.82rem;color:var(--muted);background:var(--surface)}.ai-section{background:var(--dark);color:var(--dark-text);overflow:hidden}.ai-section::before{width:560px;height:560px;right:-240px;background:radial-gradient(circle,rgba(109,169,255,.14),transparent 67%);opacity:1}.ai-section::after{content:"";position:absolute;z-index:-1;left:-160px;bottom:-260px;width:420px;height:420px;border:1px solid rgba(255,255,255,.08);border-radius:50%;pointer-events:none}.ai-section .section-kicker{color:#8bb8ff}.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.ai-copy{color:var(--dark-muted)}.ai-copy p{font-size:1.08rem}.explorations{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}.explorations span{border-color:#303841;background:#151a1f;color:#dbe2e7}.contact-section{padding-bottom:140px}.contact-section::before{right:8%;top:30%;width:300px;height:300px;opacity:.3}.contact-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.contact-links a{display:inline-flex;padding:12px 18px;border-radius:999px;background:var(--text);color:var(--bg);text-decoration:none;font-weight:750}.contact-links a:last-child{background:transparent;color:var(--text);border:1px solid var(--line)}footer{border-top:1px solid var(--line);padding:18px 0;color:var(--muted);font-size:.8rem}.footer-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-wrap>div{display:flex;align-items:center;gap:22px}.footer-wrap a{text-decoration:none}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.js .reveal.visible{opacity:1;transform:none}@media(max-width:900px){.hero-grid,.career-grid,.ai-grid{grid-template-columns:1fr;gap:50px}.hero-photo{justify-content:flex-start}.portrait-image{width:230px}.cards{grid-template-columns:repeat(2,1fr)}.ai-grid{gap:30px}.site-header nav{gap:18px}}@media(max-width:700px){:root{--header:68px}.container{width:min(100% - 28px,1120px)}.narrow{width:min(100% - 28px,760px)}.nav-toggle{display:block;order:3}.theme-toggle{order:2}.site-header nav{position:absolute;top:calc(var(--header) - 1px);left:0;right:0;display:none;padding:14px;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:13px 14px}.hero{padding:70px 0 90px}.hero-grid{gap:42px}h1{font-size:clamp(3rem,16vw,5rem)}.section{padding:85px 0}.cards{grid-template-columns:1fr}.card{min-height:0}.career-grid{gap:50px}.footer-wrap{align-items:flex-start;flex-direction:column}.footer-wrap div{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.card{transition:none}}
.hosting-note{display:flex;align-items:center;gap:8px !important;font-size:.78rem;color:var(--muted)}.hosting-note img{display:block;width:42px;height:42px;object-fit:contain}.hosting-note .heart{color:#ef4444}.footer-links{display:flex;gap:22px}.footer-links a{text-decoration:none}@media(max-width:700px){.footer-wrap{align-items:flex-start;flex-wrap:wrap}.hosting-note{flex-basis:100%;justify-content:flex-start;margin-top:4px}.hosting-note img{width:36px;height:36px}}
/* Stronger section visuals */
.hero{background:
  radial-gradient(circle at 78% 28%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 34%),
  radial-gradient(circle at 18% 78%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 28%),
  var(--bg)}
.section::before{width:620px;height:620px;right:-250px;top:34%;transform:translateY(-50%);background:
  radial-gradient(circle at center,color-mix(in srgb,var(--accent) 14%,transparent) 0 18%,transparent 52%),
  radial-gradient(circle at center,transparent 48%,color-mix(in srgb,var(--accent) 10%,transparent) 49% 49.4%,transparent 50%),
  radial-gradient(circle at center,transparent 66%,color-mix(in srgb,var(--accent) 7%,transparent) 66.2% 66.5%,transparent 67%);opacity:.95}
.section:nth-of-type(even)::before{left:-250px;right:auto;top:26%;opacity:.8}
.section::after{content:"";position:absolute;z-index:-1;right:9%;bottom:-120px;width:260px;height:260px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:50%;box-shadow:0 0 0 32px color-mix(in srgb,var(--accent) 3%,transparent),0 0 0 64px color-mix(in srgb,var(--accent) 2%,transparent);pointer-events:none}
.section-muted{background:
  radial-gradient(circle at 12% 20%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 30%),
  radial-gradient(circle at 88% 80%,color-mix(in srgb,var(--accent) 6%,transparent),transparent 28%),
  var(--surface-2)}
.section-muted::after{left:7%;bottom:-150px;width:360px;height:360px;border-color:color-mix(in srgb,var(--accent) 20%,var(--line));opacity:.8;box-shadow:0 0 0 26px color-mix(in srgb,var(--accent) 3%,transparent),0 0 0 52px color-mix(in srgb,var(--accent) 2%,transparent)}
.ai-section{background:
  radial-gradient(circle at 78% 28%,rgba(109,169,255,.18),transparent 34%),
  radial-gradient(circle at 18% 82%,rgba(109,169,255,.09),transparent 30%),
  var(--dark)}
.ai-section::before{width:680px;height:680px;right:-290px;background:
  radial-gradient(circle at center,rgba(109,169,255,.16) 0 16%,transparent 48%),
  radial-gradient(circle at center,transparent 49%,rgba(109,169,255,.12) 49.3% 49.7%,transparent 50%),
  radial-gradient(circle at center,transparent 67%,rgba(109,169,255,.08) 67.2% 67.5%,transparent 68%);opacity:1}
.ai-section::after{width:520px;height:520px;left:-210px;bottom:-300px;border-color:rgba(139,184,255,.14);box-shadow:0 0 0 34px rgba(139,184,255,.025),0 0 0 68px rgba(139,184,255,.018)}
.contact-section{background:radial-gradient(circle at 85% 42%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 34%),var(--bg)}
.contact-section::before{right:5%;top:36%;width:420px;height:420px;opacity:.7}
@media(max-width:700px){.section::before{width:440px;height:440px;right:-270px}.section:nth-of-type(even)::before{left:-270px}.section::after{right:-70px}.ai-section::before{right:-310px}.contact-section::before{right:-160px}}
/* Step 4: generated TS monogram */
.logo{display:flex;align-items:center;height:50px}
.logo img{display:block;width:auto;height:46px;object-fit:contain}
.logo-dark{display:none !important}
html[data-theme=dark] .logo-light{display:none !important}
html[data-theme=dark] .logo-dark{display:block !important}
@media(max-width:700px){.logo{height:44px}.logo img{height:40px}}


/* Step 5: subtle micro-interactions */
.logo{transition:transform .22s ease,filter .22s ease}
.logo:hover{transform:translateY(-1px);filter:drop-shadow(0 6px 14px color-mix(in srgb,var(--accent) 18%,transparent))}
.site-header nav a{position:relative;transition:color .2s ease,transform .2s ease}
.site-header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;border-radius:999px;background:var(--accent);transition:right .22s ease}
.site-header nav a:hover{transform:translateY(-1px)}
.site-header nav a:hover::after,.site-header nav a.active::after{right:0}
.button,.contact-links a{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}
.button:hover,.contact-links a:hover{transform:translateY(-2px);box-shadow:0 10px 24px color-mix(in srgb,var(--text) 12%,transparent)}
.button:active,.contact-links a:active{transform:translateY(0) scale(.98);box-shadow:none}
.button.primary:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.button.secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.contact-links a:last-child:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.theme-toggle{transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.theme-toggle:hover{transform:rotate(8deg) scale(1.05);border-color:var(--accent);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 16%,transparent)}
.theme-toggle:active{transform:rotate(0) scale(.94)}
.nav-toggle{transition:transform .2s ease,border-color .2s ease,background-color .2s ease}
.nav-toggle:hover{border-color:var(--accent);background:var(--accent-soft)}
.nav-toggle:active{transform:scale(.95)}
.card{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease}
.card:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));transform:translateY(-7px)}
.card-number{transition:transform .25s ease,color .25s ease}
.card:hover .card-number{transform:translateX(3px);color:var(--accent)}
.tags span,.explorations span{transition:transform .2s ease,border-color .2s ease,color .2s ease,background-color .2s ease}
.tags span:hover,.explorations span:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--text);background:var(--accent-soft)}
.footer-wrap a{transition:color .2s ease}
.footer-wrap a:hover{color:var(--accent)}
.footer-wrap .hosting-note img{transition:transform .25s ease}
.footer-wrap .hosting-note:hover img{transform:translateY(-2px) rotate(-2deg)}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.logo,.site-header nav a,.button,.contact-links a,.theme-toggle,.nav-toggle,.card,.card-number,.tags span,.explorations span,.footer-wrap a,.footer-wrap .hosting-note img{transition:none}.site-header nav a:hover,.button:hover,.contact-links a:hover,.card:hover,.tags span:hover,.explorations span:hover{transform:none}.theme-toggle:hover{transform:none}.site-header nav a::after{transition:none}}

/* Step 6: clearer career timeline */
.timeline{border-left:0;position:relative;padding-left:0;display:grid;gap:18px}
.timeline::before{content:"";position:absolute;left:22px;top:24px;bottom:24px;width:1px;background:linear-gradient(to bottom,var(--line),var(--accent),var(--accent));opacity:.7}
.timeline li{display:grid;grid-template-columns:46px 1fr;gap:18px;position:relative;padding:0;min-height:92px}
.timeline-marker{position:relative;z-index:1;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.04em;transition:transform .25s ease,border-color .25s ease,background-color .25s ease,color .25s ease,box-shadow .25s ease}
.timeline-content{position:relative;padding:5px 16px 18px 0}
.timeline li.current .timeline-marker{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 0 0 8px var(--accent-soft),0 8px 24px color-mix(in srgb,var(--accent) 18%,transparent)}
.timeline li.current .timeline-content{padding-top:3px}
.timeline-current{display:inline-flex;margin-top:10px;padding:4px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.timeline li:not(.current):hover .timeline-marker{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent)}
.timeline li.current:hover .timeline-marker{transform:scale(1.04)}
.timeline .role{font-size:1.12rem}
.timeline .detail{font-size:.94rem}
@media(max-width:700px){.timeline{gap:12px}.timeline::before{left:20px}.timeline li{grid-template-columns:42px 1fr;gap:15px;min-height:88px}.timeline-marker{width:42px;height:42px}.timeline-content{padding-right:0}.timeline .role{font-size:1.05rem}}
@media(prefers-reduced-motion:reduce){.timeline-marker{transition:none}}

/* Step 7: more character for the focus cards */
.card{position:relative;overflow:hidden;isolation:isolate;padding:30px 28px 28px;min-height:300px;background:linear-gradient(145deg,var(--surface) 0%,color-mix(in srgb,var(--surface) 88%,var(--accent-soft)) 100%);}
.card::before{content:"";position:absolute;z-index:-1;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--accent),transparent 72%);opacity:.8;transition:height .25s ease,opacity .25s ease}
.card::after{content:"";position:absolute;z-index:-1;width:180px;height:180px;right:-90px;bottom:-90px;border:1px solid color-mix(in srgb,var(--accent) 14%,transparent);border-radius:50%;box-shadow:0 0 0 24px color-mix(in srgb,var(--accent) 3%,transparent);opacity:.8;transition:transform .35s ease,opacity .35s ease}
.card-number{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:42px;font-size:.7rem;letter-spacing:.1em}
.card-number::after{content:"";display:block;width:34px;height:1px;background:var(--line);transition:width .25s ease,background-color .25s ease}
.card h3{max-width:14ch;margin:0 0 14px;font-size:1.22rem;line-height:1.15;letter-spacing:-.02em}
.card p{margin:0;line-height:1.7}
.card:hover{transform:translateY(-7px);border-color:color-mix(in srgb,var(--accent) 38%,var(--line));box-shadow:0 18px 40px color-mix(in srgb,var(--text) 10%,transparent)}
.card:hover::before{height:4px;opacity:1}
.card:hover::after{transform:scale(1.18);opacity:1}
.card:hover .card-number::after{width:52px;background:var(--accent)}
@media(max-width:700px){.card{padding:26px 24px 24px;min-height:0}.card-number{margin-bottom:34px}.card h3{max-width:none}}
@media(prefers-reduced-motion:reduce){.card::before,.card::after,.card-number::after{transition:none}}

/* Step 8: experimental AI section */
.ai-experimental{position:relative;grid-template-columns:minmax(300px,.78fr) minmax(420px,1.22fr);gap:72px 90px;align-items:center}
.ai-intro{position:relative;z-index:2}
.ai-mantra{margin:34px 0 0;padding-left:18px;border-left:2px solid #6da9ff;color:#dbe7f2;font-size:1.08rem!important;line-height:1.5}
.ai-mantra span{color:#8bb8ff}
.ai-lab{position:relative;min-height:500px;display:grid;place-items:center}
.ai-lab-grid{position:relative;width:min(100%,540px);aspect-ratio:1/1;border:1px solid rgba(139,184,255,.16);border-radius:50%;background:radial-gradient(circle at center,rgba(109,169,255,.07),transparent 42%);box-shadow:inset 0 0 80px rgba(109,169,255,.035)}
.ai-lab-grid::before,.ai-lab-grid::after{content:"";position:absolute;inset:10%;border:1px solid rgba(139,184,255,.12);border-radius:50%}
.ai-lab-grid::after{inset:25%;border-color:rgba(139,184,255,.16)}
.ai-orbit{position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(139,184,255,.12);pointer-events:none}
.orbit-a{transform:rotate(22deg) scaleX(.72)}.orbit-b{transform:rotate(-35deg) scaleY(.66)}.orbit-c{transform:rotate(78deg) scaleX(.58)}
.ai-core{position:absolute;left:50%;top:50%;width:126px;height:126px;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:#111820;border:1px solid #6da9ff;box-shadow:0 0 0 10px rgba(109,169,255,.06),0 0 55px rgba(109,169,255,.12)}
.ai-core span{font-size:2rem;font-weight:900;letter-spacing:-.08em;color:#f4f7f9}.ai-core small{margin-top:3px;color:#8bb8ff;font-size:.62rem;text-transform:uppercase;letter-spacing:.15em}
.ai-node{position:absolute;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(139,184,255,.2);border-radius:999px;background:rgba(15,20,25,.88);backdrop-filter:blur(8px);color:#dbe2e7;font-size:.76rem;box-shadow:0 10px 30px rgba(0,0,0,.18);transition:transform .25s ease,border-color .25s ease,background-color .25s ease}
.ai-node b{font-size:.6rem;color:#8bb8ff;letter-spacing:.08em}.ai-node:hover{transform:translateY(-3px);border-color:rgba(139,184,255,.55);background:#18212a}
.node-1{left:7%;top:23%}.node-2{right:3%;top:31%}.node-3{right:10%;bottom:15%}.node-4{left:10%;bottom:17%}.node-5{left:50%;top:4%;transform:translateX(-50%)}.node-5:hover{transform:translate(-50%,-3px)}
.ai-copy{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 70px;align-items:start;max-width:980px;margin-top:-10px}.ai-copy p{font-size:1.03rem}.ai-copy p:nth-child(1),.ai-copy p:nth-child(2){grid-column:auto}.ai-copy p:nth-child(3),.ai-copy p:nth-child(4){grid-column:auto}.ai-copy .explorations{grid-column:1/-1}
@media(max-width:900px){.ai-experimental{grid-template-columns:1fr;gap:45px}.ai-lab{min-height:460px}.ai-copy{grid-template-columns:1fr;gap:0}.ai-copy .explorations{grid-column:auto}}
@media(max-width:600px){.ai-lab{min-height:390px}.ai-lab-grid{width:min(100%,390px)}.ai-core{width:102px;height:102px}.ai-core span{font-size:1.65rem}.ai-node{font-size:.68rem;padding:7px 9px}.node-1{left:0}.node-2{right:-2%}.node-3{right:2%;bottom:12%}.node-4{left:2%;bottom:13%}.node-5{top:1%}}
@media(prefers-reduced-motion:reduce){.ai-node{transition:none}}


/* Step 9: accessibility & technical polish */
.skip-link{position:fixed;z-index:2000;left:16px;top:10px;transform:translateY(-160%);padding:10px 14px;border-radius:10px;background:var(--text);color:var(--bg);font-weight:800;text-decoration:none;box-shadow:0 10px 28px rgba(0,0,0,.18);transition:transform .2s ease}
.skip-link:focus{transform:translateY(0)}
.site-header nav a:focus-visible,.footer-wrap a:focus-visible,.logo:focus-visible,.button:focus-visible,.contact-links a:focus-visible,.theme-toggle:focus-visible,.nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:8px}
.theme-toggle:focus-visible,.nav-toggle:focus-visible{border-color:var(--accent)}
.hero-photo,.ai-lab{outline:none}
.ai-lab[role="img"]{user-select:none}
@media(prefers-reduced-motion:reduce){.skip-link{transition:none}}

/* Step 10: final visual polish */
::selection{background:var(--accent);color:#fff}
html{scrollbar-gutter:stable}
body{overflow-x:hidden}
.site-header{background:color-mix(in srgb,var(--bg) 82%,transparent)}
.site-header nav a{position:relative;padding:8px 0}
.site-header nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:999px;background:var(--accent);transform:scaleX(0);transform-origin:center;transition:transform .22s ease}
.site-header nav a:hover::after,.site-header nav a.active::after{transform:scaleX(1)}
.hero{position:relative}
.hero-grid{gap:clamp(55px,7vw,90px)}
.hero-copy{margin-bottom:0}
.hero-lead{line-height:1.55}
.section-heading{margin-bottom:56px}
.cards{gap:18px}
.card{min-height:320px}
.card p{max-width:34ch}
.career-copy p:last-child{margin-bottom:0}
.tags{max-width:980px}
.tags span{background:color-mix(in srgb,var(--surface) 86%,var(--accent-soft))}
.contact-section{padding-top:105px}
.contact-links a{min-height:48px}
footer{background:color-mix(in srgb,var(--bg) 92%,var(--surface-2))}
.footer-wrap{min-height:44px}
.hosting-note img{opacity:.9}
@media(max-width:900px){.hero-grid{gap:45px}.section-heading{margin-bottom:42px}.card{min-height:290px}}
@media(max-width:700px){.site-header nav a{padding:13px 14px}.site-header nav a::after{left:14px;right:14px;bottom:8px}.hero{min-height:auto}.hero-grid{gap:38px}.section-heading{margin-bottom:34px}.card{min-height:0}.contact-section{padding-top:85px}.footer-wrap{gap:14px}}
@media(prefers-reduced-motion:reduce){.site-header nav a::after{transition:none}}

/* Launch polish: portrait sizing + mobile footer */
.portrait-image{
  width:auto;
  max-width:100%;
  height:600px;
  aspect-ratio:auto;
  border:2px solid var(--surface);
  box-shadow:0 20px 50px rgba(12,20,28,.14),0 0 0 1px var(--line);
}
@media(max-width:900px){
  .portrait-image{width:auto;max-width:100%;height:600px}
}
@media(max-width:700px){
  .hero-photo{justify-content:center}
  .portrait-image{width:min(100%,420px);height:auto;max-height:none}
  .footer-wrap{align-items:center;text-align:center}
  .footer-wrap>div{justify-content:center}
  .footer-links{justify-content:center}
  .hosting-note{justify-content:center}
}
