
:root{
  --ink:#1d1d1f; --sub:#6e6e73; --faint:#a1a1a6;
  --bg:#ffffff; --gray:#f5f5f7; --line:#e8e8ed;
  --teal:#0d9488; --teal2:#0891b2;
  --dark:#0b0f14; --dark2:#101720; --dtext:#f5f5f7; --dsub:#98a2ae;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);
  font:400 17px/1.55 -apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;letter-spacing:-.012em}
a{color:inherit;text-decoration:none}
::selection{background:rgba(13,148,136,.18)}

/* ---------- nav ---------- */
nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
    padding:0 max(22px,4vw);height:52px;background:rgba(255,255,255,.72);backdrop-filter:saturate(1.8) blur(20px);
    border-bottom:1px solid rgba(0,0,0,.06)}
.wordmark{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600;letter-spacing:-.01em}
.wordmark svg{width:20px;height:20px}
.navlinks{display:flex;gap:30px;font-size:13px;color:var(--sub)}
.navlinks a:hover{color:var(--ink)}
.pill{display:inline-block;background:var(--teal);color:#fff;border-radius:100px;padding:7px 16px;
      font-size:13px;font-weight:500;white-space:nowrap;transition:.2s}
.pill:hover{filter:brightness(1.1)}
@media(max-width:800px){.navlinks{display:none}}

/* ---------- type & shared ---------- */
.eyebrow{font-size:14px;font-weight:600;color:var(--teal);letter-spacing:0}
h1{font-size:clamp(44px,6.4vw,84px);font-weight:700;line-height:1.03;letter-spacing:-.028em}
h2{font-size:clamp(32px,4.2vw,56px);font-weight:700;line-height:1.06;letter-spacing:-.025em}
.grad{background:linear-gradient(95deg,#0d9488 10%,#0891b2 55%,#2563eb 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{color:var(--sub);font-size:clamp(18px,1.6vw,21px);font-weight:400;line-height:1.5;letter-spacing:-.01em}
.link{color:var(--teal);font-size:17px;font-weight:400}
.link:hover{text-decoration:underline}
.link:after{content:" ›";font-weight:400}
section{padding:120px max(22px,5vw)}
.shell{max-width:1080px;margin:0 auto}
.center{text-align:center}
.cta-row{display:flex;gap:26px;align-items:center;justify-content:center;flex-wrap:wrap}
.pill.big{padding:13px 26px;font-size:17px}

/* ---------- hero ---------- */
.hero{padding:150px max(22px,5vw) 90px;text-align:center}
.hero .eyebrow{margin-bottom:14px}
.hero .sub{max-width:640px;margin:24px auto 32px}
/* console card */
.console{position:relative;max-width:1020px;margin:74px auto 0;border-radius:28px;overflow:hidden;
  background:var(--dark);box-shadow:0 30px 80px -20px rgba(0,20,30,.45)}
.console img{display:block;width:100%;height:auto}
@media(max-width:640px){.console{border-radius:16px}}

/* ---------- pillars ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:min(4vw,56px);margin-top:80px;text-align:left}
.pillar h3{font-size:21px;font-weight:600;letter-spacing:-.015em;margin-bottom:8px}
.pillar p{font-size:15.5px;color:var(--sub)}
.pillar .ico{width:34px;height:34px;color:var(--teal);margin-bottom:18px}
@media(max-width:800px){.pillars{grid-template-columns:1fr;gap:44px}}

/* ---------- bento modules ---------- */
.graybg{background:var(--gray)}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:64px}
.tile{background:#fff;border-radius:24px;padding:34px 32px;grid-column:span 2;
      box-shadow:0 1px 2px rgba(0,0,0,.04);transition:.25s;position:relative;overflow:hidden}
.tile:hover{transform:translateY(-3px);box-shadow:0 14px 34px -14px rgba(0,0,0,.14)}
.tile.wide{grid-column:span 3}
.tile h3{font-size:19px;font-weight:600;letter-spacing:-.015em;margin:16px 0 6px}
.tile p{font-size:14.5px;color:var(--sub)}
.tile .ico{width:32px;height:32px;color:var(--teal)}
.tile .num{position:absolute;top:28px;right:28px;font-size:12px;font-weight:600;color:var(--faint);letter-spacing:.04em}
@media(max-width:900px){.bento{grid-template-columns:1fr 1fr}.tile,.tile.wide{grid-column:span 1}}
@media(max-width:560px){.bento{grid-template-columns:1fr}}

/* ---------- dark feature (image match) ---------- */
.darksec{background:var(--dark);color:var(--dtext)}
.darksec .sub{color:var(--dsub)}
.darksec h2 .grad{background:linear-gradient(95deg,#2dd4bf,#38bdf8);-webkit-background-clip:text;background-clip:text}
.matchgrid{display:grid;grid-template-columns:1fr 1fr;gap:min(6vw,80px);align-items:center;margin-top:20px}
.matchviz{border-radius:24px;background:var(--dark2);border:1px solid #1b2632;aspect-ratio:1.12;position:relative;overflow:hidden}
.matchviz svg{position:absolute;inset:0;width:100%;height:100%}
.mfeat{margin-top:36px;display:grid;gap:22px;text-align:left}
.mfeat .f b{display:block;font-size:17px;font-weight:600;letter-spacing:-.01em}
.mfeat .f span{font-size:15px;color:var(--dsub)}
@media(max-width:880px){.matchgrid{grid-template-columns:1fr;gap:48px}}

/* ---------- institutions ---------- */
.instgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:min(3.4vw,44px);margin-top:74px;text-align:left}
.inst h3{font-size:17px;font-weight:600;letter-spacing:-.01em;margin:14px 0 6px}
.inst p{font-size:14.5px;color:var(--sub)}
.inst .ico{width:30px;height:30px;color:var(--teal)}
@media(max-width:880px){.instgrid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.instgrid{grid-template-columns:1fr}}

/* ---------- research ---------- */
.resgrid{display:grid;grid-template-columns:1fr;gap:20px;margin:56px auto 0;max-width:780px}
.rescard{display:flex;gap:28px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:24px;
         padding:36px 36px;transition:.25s;align-items:flex-start}
.rescard:hover{transform:translateY(-3px);box-shadow:0 14px 34px -14px rgba(0,0,0,.14);border-color:transparent}
.rescard .ico{width:42px;height:42px;color:var(--teal);flex:none;margin-top:4px}
.rescard h3{font-size:23px;font-weight:600;letter-spacing:-.015em;margin:12px 0 8px}
.rescard p{font-size:15px;color:var(--sub);margin-bottom:16px;max-width:52ch}
.rtag{display:inline-block;background:rgba(13,148,136,.12);color:var(--teal);font-size:12px;font-weight:600;
      letter-spacing:.02em;padding:4px 11px;border-radius:100px}
@media(max-width:560px){.rescard{flex-direction:column;gap:18px;padding:30px 26px}}

/* ---------- mission ---------- */
.mission h2{max-width:840px;margin:0 auto}
.mission .cta-row{margin-top:44px}

/* ---------- footer ---------- */
footer{background:var(--gray);border-top:1px solid var(--line);padding:44px max(22px,5vw);font-size:12.5px;color:var(--sub)}
footer .shell{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
footer .fnav{display:flex;gap:24px}
footer .fnav a:hover{color:var(--ink)}
footer .legal{width:100%;margin-top:10px;color:var(--faint);font-size:11.5px}

/* ---------- reveal ---------- */
html.js .rv{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.6,.2,1),transform .9s cubic-bezier(.2,.6,.2,1)}
html.js .rv.on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html.js .rv{opacity:1;transform:none;transition:none}}

.home-inline-1{position:absolute}
.home-inline-2{margin-top:10px}
.home-inline-3{text-align:left}
.home-inline-4{color:#2dd4bf}
.home-inline-5{margin-top:10px}
.home-inline-6{max-width:620px;margin:22px auto 56px}
.home-inline-7{margin:-24px auto 52px}
.home-inline-8{background:linear-gradient(135deg,#0d9488,#0891b2)}
.home-inline-9{margin-top:10px}
.home-inline-10{max-width:640px;margin:22px auto 0}
.home-inline-11{margin-top:10px}
.home-inline-12{padding-top:140px;padding-bottom:140px}
.home-inline-13{margin-top:12px}
.home-inline-14{font-weight:600;color:var(--ink)}
/* Additive RT simulator module */
.home-skip{position:fixed;top:-100px;left:12px;z-index:100;background:#fff;color:var(--ink);padding:12px 18px}
.home-skip:focus{top:4px}


html{scroll-padding-top:74px}
a:focus-visible{outline:3px solid var(--teal2);outline-offset:5px}
.hero{padding-top:150px}
.home-new-link{flex-basis:100%;margin-top:2px;color:var(--teal);font-size:16px}
.home-new-link span{display:inline-block;background:#e4f5ed;border:1px solid #c6e5d5;padding:3px 10px;margin-right:7px;border-radius:100px;font-size:13px;font-weight:600}
.simulator-module{grid-column:span 4;display:grid;grid-template-columns:1.3fr 1fr;background:#092326;color:#fff;padding:0}
.simulator-module-copy{padding:30px 26px}
.module-badge{color:#b2f1d4;font-size:13px;font-weight:600;line-height:1.4;display:block}
.simulator-module h3{font-size:27px;line-height:1.1;margin:17px 0 14px}
.simulator-module p{color:#c1d4d0;font-size:16px;line-height:1.6}
.simulator-module .pill{background:#b2f1d4;color:#092326;font-size:15px;padding:10px 16px;margin-top:22px;white-space:normal}
.simulator-module .module-roadmap{color:#9fbab3;font-size:13px;line-height:1.5;margin-top:20px}
.simulator-module-image{position:relative;display:block;min-height:310px;overflow:hidden;background:#071719}
.simulator-module-image img{height:100%;width:100%;object-fit:cover;object-position:43% center}
.simulator-module-image span{position:absolute;bottom:0;left:0;right:0;padding:35px 18px 18px;background:linear-gradient(transparent,#071719);color:#fff;font-size:13px}
footer .fnav{flex-wrap:wrap}
@media(max-width:1100px){.navlinks{gap:16px;font-size:12px}}
@media(max-width:980px){.navlinks{display:none}}
@media(max-width:900px){.simulator-module{grid-column:span 2}.simulator-module-copy{padding:34px}}
@media(max-width:560px){.hero{padding-top:112px}.simulator-module{grid-column:span 1;grid-template-columns:1fr}.simulator-module-image{height:250px;min-height:250px}.simulator-module-copy{padding:30px 26px}.simulator-module h3{font-size:28px}.wordmark{font-size:13px}.pill{font-size:12px;padding:7px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tile,.rescard,.pill{transition:none}}

/* Actual simulator promotional footage, September 2026. */
.simulator-module-preview{display:flex;flex-direction:column;justify-content:center;padding:20px;gap:12px;background:#071c26;min-width:0}
.simulator-module-preview video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#071c26;border-radius:8px}
.simulator-module .simulator-module-preview p{margin:0;font-size:13px;line-height:1.5;color:#aac6c1}
.simulator-module-preview a{font-size:15px;color:#b2f1d4;text-decoration:underline;text-underline-offset:4px}
