:root{
  --ink:#0C0F14;
  --panel:#131820;
  --line:#232B36;
  --fg:#E8ECF1;
  --muted:#8B95A3;
  --accent:#3B8EF0;
  --accent-soft:rgba(59,142,240,.14);
  --display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --body:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
img{max-width:100%}
body{background:var(--ink);color:var(--fg);font-family:var(--body);font-weight:300;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:rgba(12,15,20,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--ink)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.mark{font-family:var(--display);font-size:20px;letter-spacing:.01em;text-decoration:none}
.mark b{font-weight:500}.mark span{color:var(--accent)}
.links{display:flex;gap:28px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.links a{text-decoration:none}.links a:hover{color:var(--fg)}
.lang{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--muted)}
.lang b{color:var(--fg);font-weight:500}
.lang a{text-decoration:none}.lang a:hover{color:var(--accent)}
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 70% at 78% 45%,var(--accent-soft),transparent 70%)}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr .9fr;gap:56px;align-items:center;padding-block:88px 96px}
.hero .wrap>*{min-width:0}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";flex:0 0 28px;height:1px;background:var(--accent)}
.eyebrow span{min-width:0;line-height:1.7}
h1{font-family:var(--display);font-weight:400;font-size:clamp(48px,7.4vw,104px);line-height:.95;letter-spacing:-.02em;margin:22px 0 0;text-wrap:balance}
h1 em{font-style:italic;color:var(--muted)}
.role{font-family:var(--display);font-style:italic;font-size:clamp(22px,2.4vw,30px);margin:22px 0 0;color:var(--fg)}
.role .ai{color:var(--accent)}
.thesis{max-width:52ch;color:var(--muted);font-size:18px;margin:20px 0 0}
.thesis strong{color:var(--fg);font-weight:400}
.cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.btn{font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:15px 22px;border:1px solid var(--line);transition:border-color .2s,background .2s}
.btn{display:inline-flex;align-items:center;gap:10px}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#06101E;font-weight:500;font-family:var(--body);font-size:15px;letter-spacing:0;text-transform:none}
.btn.ait img{width:30px;height:auto;display:block}
.btn.primary:hover{background:#5AA2F5}
.btn:hover{border-color:var(--muted)}
.btn:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.portrait{position:relative;justify-self:end;width:min(100%,400px);aspect-ratio:1;max-width:100%}
.portrait img{position:relative;z-index:1;width:100%;height:100%;display:block;filter:grayscale(.35) contrast(1.05)}
.portrait::before{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px solid var(--line)}
.portrait::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px solid transparent;border-top-color:var(--accent);border-right-color:var(--accent);
  animation:orbit 14s linear infinite}
@keyframes orbit{to{transform:rotate(360deg)}}
.tag{position:absolute;z-index:2;left:-12px;bottom:28px;background:var(--panel);border:1px solid var(--line);padding:10px 14px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;line-height:1.5;color:var(--muted)}
.tag b{display:block;color:var(--fg);font-weight:500}
.creds{border-bottom:1px solid var(--line)}
.creds .wrap{display:flex;flex-wrap:wrap;gap:12px 40px;padding-block:20px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.creds span::before{content:"◆";color:var(--accent);margin-right:10px;font-size:8px;vertical-align:2px}
.evidence .wrap{padding-block:72px}
.label{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;border-top:1px solid var(--line)}
.kpi{padding:28px 28px 8px 0;border-right:1px solid var(--line);min-width:0}
.kpi+.kpi{padding-left:28px}.kpi:last-child{border-right:0}
.num{font-family:var(--display);font-size:clamp(44px,5vw,68px);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.num small{font-size:.5em;color:var(--accent);margin-left:2px}
.kpi p{margin:12px 0 0;color:var(--muted);font-size:15px;max-width:24ch}
.pend{display:inline-block;margin-top:12px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#E2B04A;border:1px solid rgba(226,176,74,.35);padding:3px 7px}
.track{border-top:1px solid var(--line)}
.track .wrap{padding-block:80px}
.track h2{font-family:var(--display);font-weight:400;font-size:clamp(34px,4.2vw,56px);line-height:1.05;letter-spacing:-.015em;margin:14px 0 0;max-width:20ch;text-wrap:balance}
.track h2 em{color:var(--muted)}
.tl{list-style:none;margin:48px 0 0;padding:0 0 0 44px;position:relative}
.tl::before{content:"";position:absolute;left:12px;top:30px;bottom:30px;width:1px;background:linear-gradient(var(--accent),var(--line) 35%)}
.tl li{position:relative;border-bottom:1px solid var(--line)}
.tl li:first-child{border-top:1px solid var(--line)}
.tl li::before{content:"";position:absolute;left:-38px;top:29px;width:11px;height:11px;border-radius:50%;background:var(--ink);border:1px solid var(--muted);z-index:1}
.tl li.now::before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 0 rgba(59,142,240,.5);animation:pulse 2.6s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(59,142,240,.45)}80%,100%{box-shadow:0 0 0 10px rgba(59,142,240,0)}}
.tl details>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:130px 1fr 24px;gap:24px;align-items:start;padding-block:22px}
.tl details>summary::-webkit-details-marker{display:none}
.tl summary>*{min-width:0}
.tl summary:hover h3{color:#fff}
.tl summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.yrs{font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:6px}
.tl li.now .yrs{color:var(--accent)}
.org{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.tl h3{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.2vw,28px);line-height:1.2;margin:6px 0 0;transition:color .2s}
.hl{margin:8px 0 0;font-size:15px;color:var(--fg)}
.chev{width:24px;height:24px;margin-top:8px;border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);transition:transform .25s,border-color .2s}
.chev::before{content:"+";font-family:var(--mono);font-size:14px;line-height:1}
.tl details[open] .chev{transform:rotate(45deg);border-color:var(--accent);color:var(--accent)}
.detail{padding:0 0 26px 154px}
.scope{margin:0;color:var(--muted);font-size:15px;max-width:62ch}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg);border:1px solid var(--line);padding:3px 8px}
.pend.in{margin:0 0 0 8px;vertical-align:2px}
@media (max-width:900px){.tl{padding-left:34px}.tl::before{left:7px}.tl li::before{left:-32px}.tl details>summary{grid-template-columns:1fr 24px;gap:6px 16px}.tl summary .yrs{grid-column:1/-1;padding-top:0}.detail{padding-left:0}}
@media (prefers-reduced-motion:reduce){.tl li.now::before{animation:none}}
.track .more{display:inline-block;margin-top:28px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px}
.track .more:hover{color:var(--fg);border-color:var(--accent)}
.svc{border-top:1px solid var(--line)}
.svc .wrap{padding-block:80px}
.svc h2{font-family:var(--display);font-weight:400;font-size:clamp(34px,4.2vw,56px);line-height:1.05;letter-spacing:-.015em;margin:14px 0 0;max-width:22ch;text-wrap:balance}
.svc h2 em{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.card{padding:32px 32px 36px 0;min-width:0;display:flex;flex-direction:column}
.card+.card{padding-left:32px;border-left:1px solid var(--line)}
.card.lead{position:relative}
.card.lead::before{content:"";position:absolute;top:-1px;left:0;right:32px;height:2px;background:var(--accent)}
.pill{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.card.lead .pill{color:var(--accent)}
.card h3{font-family:var(--display);font-weight:400;font-size:clamp(24px,2.3vw,30px);line-height:1.15;margin:12px 0 0}
.card p{color:var(--muted);font-size:15px;margin:14px 0 0}
.card ul{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px;font-size:15px}
.card li{display:grid;grid-template-columns:14px 1fr;gap:10px}
.card li::before{content:"";width:6px;height:6px;margin-top:9px;background:var(--accent);transform:rotate(45deg)}
.impl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;margin-top:28px;padding:22px 24px;background:var(--panel);border:1px solid var(--line)}
.impl p{margin:0;color:var(--muted);font-size:15px;max-width:60ch}
.impl p b{color:var(--fg);font-weight:400}
.impl img{width:34px;height:auto;display:block}
@media (max-width:900px){.cards{grid-template-columns:1fr}.card,.card+.card{padding:28px 0;border-left:0}.card+.card{border-top:1px solid var(--line)}.card.lead::before{right:0}}
.eco{border-top:1px solid var(--line)}
.eco .wrap{padding-block:80px}
.eco h2{font-family:var(--display);font-weight:400;font-size:clamp(34px,4.2vw,56px);line-height:1.05;letter-spacing:-.015em;margin:14px 0 0;max-width:22ch;text-wrap:balance}
.eco h2 em{color:var(--muted)}
.ventures{display:grid;grid-template-columns:1fr;gap:20px;margin-top:48px}
.venture{min-width:0;border:1px solid var(--line);padding:32px;display:flex;flex-direction:column;gap:16px;text-decoration:none;transition:border-color .2s}
a.venture:hover{border-color:var(--accent)}
.venture.ait{background:radial-gradient(80% 120% at 100% 0%,var(--accent-soft),transparent 60%),var(--panel)}
.vhead{display:flex;align-items:center;gap:16px}
.vhead img.bf{width:64px;height:auto}
.vname{font-family:var(--display);font-size:44px;line-height:1}
.vtag{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.venture p{margin:0;color:var(--muted);font-size:15px;max-width:58ch}
.prods{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.prod{border-top:1px solid var(--line);padding-top:12px;min-width:0}
.prod b{display:block;font-weight:400;color:var(--fg);font-size:16px}
.prod span{font-size:14px;color:var(--muted)}
.vfoot{margin-top:auto;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
a.venture:hover .vfoot{color:var(--accent)}
.founded{margin-top:28px;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 28px;padding-top:20px;border-top:1px solid var(--line)}
.founded .label{flex:0 0 auto}
.founded ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 28px;font-size:15px}
.founded li span{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:8px}
@media (max-width:900px){.venture{padding:24px}.prods{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.prods{grid-template-columns:1fr}}
.contact{border-top:1px solid var(--line);position:relative;overflow:hidden}
.contact::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 80% at 15% 100%,var(--accent-soft),transparent 70%)}
.contact .wrap{position:relative;z-index:1;padding-block:88px;display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:end}
.contact .wrap>*{min-width:0}
.contact h2{font-family:var(--display);font-weight:400;font-size:clamp(36px,4.6vw,64px);line-height:1.02;letter-spacing:-.015em;margin:14px 0 0;text-wrap:balance}
.contact h2 em{color:var(--accent)}
.contact p.lead{color:var(--muted);font-size:17px;max-width:46ch;margin:18px 0 0}
.channels{display:grid;gap:0;border-top:1px solid var(--line)}
.ch{display:grid;grid-template-columns:110px 1fr auto;gap:16px;align-items:center;padding-block:18px;border-bottom:1px solid var(--line);text-decoration:none}
.ch>*{min-width:0}
.ch .k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ch .v{font-size:17px;color:var(--fg);overflow-wrap:anywhere;user-select:all}
.ch .go{font-family:var(--mono);font-size:12px;color:var(--muted);transition:color .2s,transform .2s}
a.ch:hover .go{color:var(--accent);transform:translateX(3px)}
.copy{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:none;border:1px solid var(--line);color:var(--muted);padding:6px 10px;cursor:pointer}
.copy:hover{border-color:var(--accent);color:var(--fg)}
.copy:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
footer{border-top:1px solid var(--line)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-block:24px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
footer a{text-decoration:none}footer a:hover{color:var(--fg)}
footer nav{all:unset;display:flex;flex-wrap:wrap;gap:20px}
@media (max-width:900px){.contact .wrap{grid-template-columns:1fr;padding-block:64px;gap:36px}.ch{grid-template-columns:90px 1fr auto}}
@media (prefers-reduced-motion:no-preference){
  .rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
  .d1{animation-delay:.08s}.d2{animation-delay:.18s}.d3{animation-delay:.28s}.d4{animation-delay:.38s}
  @keyframes rise{from{transform:translateY(14px);opacity:.35}to{transform:none;opacity:1}}
}
@media (prefers-reduced-motion:reduce){.portrait::after{animation:none}}
@media (max-width:900px){
  .links{display:none}
  .hero .wrap{grid-template-columns:1fr;padding-block:56px 64px;gap:48px}
  .portrait{justify-self:start;width:min(100%,300px);order:-1}
  .kpis{grid-template-columns:1fr 1fr}
  .kpi:nth-child(2){border-right:0}
  .kpi:nth-child(3){padding-left:0}
  .kpi:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:460px){
  .kpis{grid-template-columns:1fr}
  .kpi,.kpi+.kpi{padding-left:0;border-right:0}
  .kpi+.kpi{border-top:1px solid var(--line)}
}
.stage{border-top:1px solid var(--line)}
.stage .wrap{padding-block:80px}
.stage h2{font-family:var(--display);font-weight:400;font-size:clamp(34px,4.2vw,56px);line-height:1.05;letter-spacing:-.015em;margin:14px 0 0;max-width:22ch;text-wrap:balance}
.stage h2 em{color:var(--muted)}
.awards{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:44px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.award{padding:24px 28px 26px 0;min-width:0}
.award+.award{padding-left:28px;border-left:1px solid var(--line)}
.award .yr{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.award b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(20px,1.9vw,24px);line-height:1.25;margin-top:8px;color:var(--fg)}
.award span{display:block;margin-top:8px;font-size:14px;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.shot{margin:0;min-width:0;display:flex;flex-direction:column;gap:10px}
.shot.big{grid-column:span 2;grid-row:span 2}
.shot .ph{position:relative;overflow:hidden;aspect-ratio:4/3;max-width:100%;background:var(--panel);border:1px solid var(--line)}
.shot.big .ph{aspect-ratio:auto;flex:1;min-height:0}
.shot img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.55) contrast(1.05);transition:filter .4s,transform .6s}
.shot:hover img{filter:none;transform:scale(1.02)}
.shot figcaption{font-size:14px;color:var(--muted);line-height:1.45}
.shot figcaption b{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg);font-weight:400;margin-bottom:2px}
.also{margin-top:28px;font-size:15px;color:var(--muted)}
.also b{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg);font-weight:400;margin-right:10px}
@media (max-width:900px){.awards{grid-template-columns:1fr}.award,.award+.award{padding:20px 0;border-left:0}.award+.award{border-top:1px solid var(--line)}.gallery{grid-template-columns:1fr 1fr}.shot.big{grid-column:1/-1;grid-row:auto}.shot.big .ph{aspect-ratio:4/3}}
@media (max-width:520px){.gallery{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.shot img{transition:none}.shot:hover img{transform:none}}
.ideas{border-top:1px solid var(--line)}
.ideas .wrap{padding-block:80px}
.ideas h2{font-family:var(--display);font-weight:400;font-size:clamp(34px,4.2vw,56px);line-height:1.05;letter-spacing:-.015em;margin:14px 0 0;max-width:22ch;text-wrap:balance}
.ideas h2 em{color:var(--muted)}
.idea-list{margin-top:44px;border-top:1px solid var(--line)}
.idea{display:grid;grid-template-columns:72px 1fr;gap:24px;padding-block:28px;border-bottom:1px solid var(--line)}
.idea>*{min-width:0}
.idea .n{font-family:var(--display);font-size:40px;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}
.idea h3{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.3vw,30px);line-height:1.2;margin:8px 0 0;max-width:30ch}
.idea p{margin:10px 0 0;color:var(--muted);font-size:15px;max-width:64ch}
.ideas .more{display:inline-block;margin-top:28px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px}
.ideas .more:hover{color:var(--fg);border-color:var(--accent)}
@media (max-width:600px){.idea{grid-template-columns:1fr;gap:8px}.idea .n{font-size:28px}}
