  :root{
    --bg:#ffffff; --soft:#eef3f2; --ink:#11282a; --muted:#47595b;
    --accent:#1d5e58; --accent-ink:#ffffff; --line:#cfdcda;
    --max:1200px; --gutter:48px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
  body{font-family:"Inter Tight",system-ui,-apple-system,sans-serif;font-size:18px;line-height:28px;background:var(--bg);color:var(--ink)}
  img{display:block;max-width:100%;height:auto}
  a{color:var(--accent);text-underline-offset:3px}
  a:hover{color:var(--ink)}
  :focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
  .skip{position:absolute;left:-9999px}
  .skip:focus{left:16px;top:16px;background:var(--ink);color:#fff;padding:8px 16px;z-index:100}

  /* nav */
  header.site{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.2) blur(8px)}
  header.site .wrap{display:flex;justify-content:space-between;align-items:center;min-height:64px;gap:24px}
  .wm{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-weight:700;font-size:20px;line-height:28px;letter-spacing:-0.01em;color:var(--ink);text-decoration:none}
  .wm img{width:54px;height:32px;flex:none}
  header.site ul{list-style:none;display:flex;gap:8px}
  header.site ul a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-size:16px;line-height:24px;color:var(--muted);text-decoration:none;border-radius:4px}
  header.site ul a:hover{color:var(--ink);background:var(--soft)}

  /* hero */
  .hero{background:var(--soft)}
  .hero .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;padding-top:80px;padding-bottom:80px;align-items:center}
  h1{font-size:64px;line-height:68px;font-weight:600;letter-spacing:-0.03em}
  .lede{margin-top:24px;font-size:20px;line-height:32px;color:var(--muted);max-width:600px}
  .tags{margin-top:32px;display:flex;gap:8px;flex-wrap:wrap;list-style:none}
  .tags li{border:1px solid var(--accent);border-radius:4px;padding:8px 16px;font-size:16px;line-height:24px;color:var(--accent);font-weight:600}
  .cred{margin-top:24px;font-size:16px;line-height:24px;color:var(--muted)}
  .photo{border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 16px 40px rgba(17,40,42,.12);aspect-ratio:4/5}
  .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}

  /* number strip */
  .figs{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--accent);margin-top:-1px}
  .figs>div{padding:32px 24px 32px 0;min-width:0}
  .figs>div+div{padding-left:24px;border-left:1px solid var(--line)}
  .num{font-size:48px;line-height:56px;font-weight:600;letter-spacing:-0.02em;color:var(--accent)}
  .figs .co{margin-top:8px;font-size:18px;line-height:28px;font-weight:600}
  .figs p{margin-top:4px;color:var(--muted);font-size:16px;line-height:24px}

  /* sections */
  section.block{padding:96px 0}
  section.block.tint{background:var(--soft)}
  h2{font-size:40px;line-height:48px;font-weight:600;letter-spacing:-0.02em}
  .intro{margin-top:16px;max-width:760px;color:var(--muted);font-size:20px;line-height:32px}
  .split{display:grid;grid-template-columns:1fr 1.6fr;gap:64px;align-items:start}
  .split p+p{margin-top:16px}
  .split .body{color:var(--muted);font-size:20px;line-height:32px}

  /* work */
  .work{margin-top:48px;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
  .card{border:1px solid var(--line);border-radius:8px;padding:32px;background:#fff}
  .card .sector{font-size:16px;line-height:24px;font-weight:600;color:var(--accent)}
  .card h3{margin-top:8px;font-size:24px;line-height:32px;font-weight:600;letter-spacing:-0.01em}
  .card .what{margin-top:8px;color:var(--muted)}
  .card ul{margin-top:16px;padding-left:20px;color:var(--ink)}
  .card li+li{margin-top:8px}

  /* capabilities */
  .caps{margin-top:48px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;list-style:none}
  .caps li{border-top:2px solid var(--accent);padding-top:16px}
  .caps b{display:block;font-size:20px;line-height:28px}
  .caps span{display:block;margin-top:8px;color:var(--muted)}
  .ai{margin-top:48px;padding:32px;border-radius:8px;background:#fff;border:1px solid var(--line);max-width:880px}
  .ai p{font-size:20px;line-height:32px}

  /* capture */
  .cap-grid{margin-top:48px;display:grid;grid-template-columns:1.4fr 1fr;gap:48px}
  .cap-grid h3{font-size:24px;line-height:32px;font-weight:600}
  .cap-grid .sub{margin-top:4px;color:var(--accent);font-weight:600}
  .cap-grid dl{margin-top:24px}
  .cap-grid dt{font-weight:600;margin-top:16px}
  .cap-grid dd{color:var(--muted)}
  .cap-grid ul{margin-top:24px;padding-left:20px}
  .cap-grid li+li{margin-top:8px}

  /* speaking */
  .talks{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
  .talks ul{list-style:none}
  .talks li{padding:16px 0;border-bottom:1px solid var(--line)}
  .talks li:first-child{padding-top:0}
  .talks .kind{display:block;font-size:16px;line-height:24px;color:var(--muted)}
  .gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .gallery a{display:block;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#fff}
  .gallery img{width:100%;aspect-ratio:16/10;object-fit:cover}
  .gallery a:first-child{grid-column:1 / -1}

  /* contact */
  .contact .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
  .btns{display:flex;gap:16px;flex-wrap:wrap}
  .btn{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;border-radius:4px;font-weight:600;font-size:18px;line-height:24px;text-decoration:none}
  .btn.p{background:var(--accent);color:var(--accent-ink)}
  .btn.p:hover{background:var(--ink);color:#fff}
  .btn.s{border:1px solid var(--accent);color:var(--accent)}
  .btn.s:hover{background:var(--soft);color:var(--ink)}
  footer{padding:32px 0;border-top:1px solid var(--line);font-size:16px;line-height:24px;color:var(--muted)}

  /* tablet */
  @media (max-width:1024px){
    :root{--gutter:32px}
    h1{font-size:52px;line-height:56px}
    .caps{grid-template-columns:repeat(2,1fr)}
    .figs{grid-template-columns:repeat(2,minmax(0,1fr))}
    .figs>div:nth-child(3){padding-left:0;border-left:0}
    .figs>div:nth-child(n+3){border-top:1px solid var(--line)}
  }
  /* phone */
  @media (max-width:760px){
    :root{--gutter:16px}
    header.site ul{display:none}
    .hero .wrap{grid-template-columns:1fr;gap:32px;padding-top:32px;padding-bottom:48px}
    .photo{order:-1;max-width:320px}
    h1{font-size:40px;line-height:44px}
    .figs{grid-template-columns:repeat(2,minmax(0,1fr))}
    .figs>div,.figs>div+div{padding:24px 16px 24px 0;border-left:0}
    .num{font-size:32px;line-height:40px}
    section.block{padding:64px 0}
    h2{font-size:32px;line-height:40px}
    .split,.cap-grid,.talks,.work{grid-template-columns:1fr;gap:24px}
    .split .body{font-size:18px;line-height:28px}
    .card{padding:24px}
    .caps{grid-template-columns:1fr;gap:24px}
    .ai{padding:24px}
  }

  /* role pages */
  .engines{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .engines .card ul{margin-top:16px}
  .back{font-size:16px;line-height:24px;color:var(--muted);text-decoration:none}
  .back:hover{color:var(--ink)}
  @media (max-width:1024px){ .engines{grid-template-columns:1fr} }
