@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/inter.woff2) format("woff2")}

/* A local font stretched to Inter's width and line metrics, so text doesn't jump when Inter arrives */
@font-face{font-family:"Inter Fallback";src:local("Arial"),local("ArialMT"),local("Helvetica"),local("Roboto");
  size-adjust:107%;ascent-override:90.5%;descent-override:22.5%;line-gap-override:0%}

.tenet h2.tenet__h2{margin:0;font-size:20px;line-height:28px;font-weight:700;letter-spacing:-.015em}
:root{
  --surface:#fefdfb; --surface-2:#faf9f7; --dark:#0f172a; --darker:#0a0e18;
  --ink:#1a1a1a; --ink-2:#5f5f5f; --ink-3:#707070;
  --light:#f5f7fa; --light-2:#d0d8e8; --light-3:#a0aac0;
  --orange:#ff6b35; --orange-ink:#b83d0f; --line-field:#8a857e; --cyan:#00d9ff; --cyan-dk:#0a7d91; --navy:#16233d; --azure-ink:#0b6e82;
  --line:#e8e6e3; --line-soft:#f0ede8; --line-dark:#1a2840;
  --r-sm:4px; --r:8px; --r-lg:16px; --r-xl:24px; --r-full:9999px;
  --shadow:0 4px 6px -1px rgba(26,26,26,.12);
  --shadow-lg:0 10px 15px -3px rgba(26,26,26,.16);
  --gut:24px; --max:1200px; --narrow:760px;
  --sans:Inter,"Inter Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{color-scheme:light;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a,button,input,select,textarea,summary{touch-action:manipulation;-webkit-tap-highlight-color:rgba(255,107,53,.18)}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
img{max-width:100%}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:2px}
@media (prefers-reduced-motion:reduce){
  .page.is-on{animation:none}
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  html{scroll-behavior:auto}
  .ticker__track{animation:none!important;flex-wrap:wrap;width:100%;padding:0 24px;gap:8px 0}
  .ticker__set:last-child{display:none}
}

.skip{position:absolute;left:-9999px;top:0;z-index:300;padding:12px 20px;background:var(--dark);color:var(--light);font-size:14px;font-weight:600;border-radius:0 0 var(--r) 0}
.skip:focus{left:0}
.u-flush-top{padding-top:0}
.u-end{padding-block:88px}
.u-mt-10{margin-top:10px}.hp{position:absolute;width:0;height:0;overflow:hidden;opacity:0;z-index:-1;pointer-events:none}.u-mt-28{margin-top:28px}.u-mt-8{margin-top:8px}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.wrap--narrow{max-width:calc(var(--narrow) + var(--gut)*2)}
.vis--narrow,.close--narrow{padding-inline:40px}
.eyebrow{font-size:12px;line-height:16px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);display:block}
.eyebrow--dark{color:var(--light-3)}
.eyebrow--azure{color:var(--azure-ink)}
.rule{height:1px;background:var(--line);border:0;margin:0}
.page{display:none}
.page.is-on{display:block;animation:pagein .22s ease-out}
@keyframes pagein{from{opacity:0}to{opacity:1}}
[id]{scroll-margin-top:100px}

/* header */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:80;isolation:isolate;background:rgba(254,253,251,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hdr__in{display:flex;align-items:center;gap:20px;height:72px}
.logo{display:inline-flex;align-items:stretch;height:46px;flex-shrink:0;text-decoration:none;border:1.5px solid var(--ink);border-radius:var(--r-sm);overflow:hidden;background:var(--surface);transition:border-color .15s}
.logo:hover{border-color:var(--orange-ink)}
.logo__name{display:flex;align-items:center;padding-inline:13px;font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
.logo__ai{color:var(--orange)}
.logo__txt{display:inline-block;white-space:nowrap}
.logo__dot{font-size:13px;font-weight:600;letter-spacing:0;color:var(--ink-3);margin-left:1px;transition:color .15s}
.logo:hover .logo__dot{color:var(--ink-2)}
.logo--dark .logo__dot{color:var(--lt3);font-size:14px}
.logo--dark:hover .logo__dot{color:var(--light)}
.logo__est{display:flex;align-items:center;padding-inline:13px;font-size:8.5px;font-weight:700;letter-spacing:.17em;color:var(--ink-3);white-space:nowrap;background:var(--surface-2);border-left:1.5px solid var(--ink);transition:color .15s}
.logo:hover .logo__est{color:var(--ink)}
.logo--dark{background:transparent;border-color:var(--lt3)}
.logo--dark .logo__name{color:var(--light);font-size:19px}
.logo--dark .logo__est{background:rgba(255,255,255,.04);border-left-color:var(--lt3);color:var(--lt3)}
.logo--dark:hover{border-color:var(--orange-ink)}
.logo--dark:hover .logo__est{color:var(--light)}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav__link{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;white-space:nowrap;font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;border-radius:var(--r);transition:color .15s,background .15s}
.nav__link:hover,.nav__link.is-here{color:var(--orange-ink);background:var(--line-soft)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--r-full);font-size:14px;font-weight:600;text-decoration:none;border:0;cursor:pointer;font-family:inherit;transition:background .15s,transform .15s,color .15s,border-color .15s}
.btn--primary{background:var(--orange);color:#1a1a1a}
.btn--primary:hover{background:#ff7d4d}
.btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn--ghost:hover{border-color:var(--ink);background:var(--line-soft)}
.btn--lg{min-height:52px;padding:0 28px;font-size:16px}
.svc{position:relative}
.svc__btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;font-size:14px;font-weight:500;background:none;border:0;color:var(--ink);cursor:pointer;font-family:inherit;border-radius:var(--r)}
.svc__btn:hover,.svc__btn[aria-expanded="true"]{color:var(--orange-ink);background:var(--line-soft)}
.svc__chev{transition:transform .18s}
.svc__btn[aria-expanded="true"] .svc__chev{transform:rotate(180deg)}
.svc__menu{position:absolute;top:calc(100% + 12px);right:0;width:min(620px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:22px;z-index:90}
.svc__label--link{display:block;text-decoration:none;transition:color .12s}
.svc__label--link:hover{color:var(--orange-ink)}
.svc__label{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:10px}
.svc__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(6,auto);grid-auto-flow:column;gap:2px 10px}
.svc__item{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:center;min-height:46px;padding:9px 10px;border-radius:var(--r);text-decoration:none;font-size:13.5px;line-height:19px;color:var(--ink);transition:background .12s,color .12s}
.svc__item:hover{background:var(--line-soft);color:var(--orange-ink)}
.svc__num{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);font-size:10.5px;font-weight:700;color:var(--ink-3);letter-spacing:.02em;font-variant-numeric:tabular-nums;transition:background .12s,color .12s,border-color .12s}
.svc__item:hover .svc__num{color:#fff;background:var(--orange);border-color:var(--orange-ink)}
.svc__label-text{min-width:0}
.svc__item--last{grid-column:1/-1;grid-row:7;margin-top:10px;padding-top:16px;border-top:1px solid var(--line);font-weight:600;color:var(--orange-ink)}
.svc__item--last .svc__num{color:var(--orange-ink);border-color:rgba(255,107,53,.4);background:rgba(255,107,53,.08)}
.svc__item--last:hover{background:rgba(255,107,53,.08)}
.svc__item--flag{background:rgba(0,217,255,.07);border:1px solid rgba(10,125,145,.22)}
.svc__item--flag:hover{background:rgba(0,217,255,.13)}
.flag{display:inline-block;margin-left:7px;font-size:8.5px;font-weight:700;letter-spacing:.1em;color:var(--orange-ink);vertical-align:1.5px;white-space:nowrap}
.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;margin-left:auto;color:var(--ink)}
.mnav{display:none;border-top:1px solid var(--line);background:var(--surface);padding-block:12px 24px;max-height:calc(100vh - 72px);overflow-y:auto;overscroll-behavior:contain}
.mnav a{display:block;padding:13px 0;font-size:16px;font-weight:500;text-decoration:none;border-bottom:1px solid var(--line-soft)}
.mnav__h{margin-top:18px}
.mnav__lbl{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding-top:18px;text-decoration:none;border-bottom:0!important}
.mnav__sub{font-size:14.5px!important;color:var(--ink-2)}

/* hero */
.hero{padding-block:88px 72px}
.hero__eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:28px}
.hero__dot{width:4px;height:4px;border-radius:50%;background:var(--orange)}
.hero h1{font-size:clamp(34px,5.4vw,64px);line-height:1.06;font-weight:800;letter-spacing:-.035em;max-width:16ch;text-wrap:balance}
.hero__sub{margin-top:26px;font-size:18px;line-height:30px;color:var(--ink-2);max-width:60ch}
.hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:38px}
.link-arrow{display:inline-flex;align-items:center;gap:7px;min-height:44px;font-size:15px;font-weight:600;text-decoration:none;color:var(--ink);border-bottom:1.5px solid transparent;transition:color .15s,border-color .15s}
.link-arrow:hover{color:var(--orange-ink)}

/* page hero (interior) */
.phero{padding-block:72px 56px;border-bottom:1px solid var(--line)}
.phero .eyebrow{color:var(--azure-ink)}
.phero h1{margin-top:20px;font-size:clamp(30px,4.6vw,54px);line-height:1.08;font-weight:800;letter-spacing:-.032em;max-width:20ch;text-wrap:balance}
.phero__sub{margin-top:24px;font-size:18px;line-height:30px;color:var(--ink-2);max-width:66ch}

/* ticker */
.ticker-band{width:100%;max-width:var(--max);margin:16px auto 0;padding-inline:var(--gut)}
.intake{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:0 10px;
  align-self:flex-start;justify-content:flex-start;margin:22px 0 0;padding:8px 16px;border:1px solid var(--line);border-radius:var(--r-full);
  background:var(--surface-2);font-size:13px;line-height:22px;color:var(--ink-2);max-width:100%}
.intake__dot{width:7px;height:7px;border-radius:99px;background:var(--intake,#12a150);flex:none;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--intake,#12a150) 18%, transparent)}
.intake__txt{white-space:nowrap}
.intake__txt b{font-weight:800;color:var(--intake,#12a150);font-variant-numeric:tabular-nums}
.intake__txt--muted{color:var(--ink-3)}
.intake__sep{width:1px;height:14px;background:var(--line);flex:none}
.intake__clock{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink-3)}
.intake__clock b{font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.intake--warm{--intake:#a8560f}
.intake--hot{--intake:#c2321f}
.intake--hot .intake__clock b{color:var(--intake)}
@media (max-width:560px){
  .intake{gap:2px 8px;padding:8px 14px;font-size:12.5px}
  .intake__sep{display:none}
  .intake__txt,.intake__clock{white-space:normal}
}
.ticker{background:var(--navy);overflow:hidden;padding-block:18px;position:relative;width:100%;border-radius:var(--r-lg)}
.ticker__track{display:flex;width:max-content;animation:slide 64s linear infinite}
.ticker:hover .ticker__track{animation-play-state:paused}
.ticker__set{display:flex;align-items:center;flex-shrink:0;padding-left:24px}
.ticker__item{display:flex;align-items:center;min-height:44px;padding-right:24px;font-size:13.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--cyan);white-space:nowrap;text-decoration:none;transition:color .15s}
.ticker__item::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--orange);flex-shrink:0;margin-left:24px}
.ticker__item:hover{color:#fff}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* sections */
.sec{padding-block:88px}
.sec__head{display:flex;flex-direction:column;gap:14px;margin-bottom:48px}
.sec h2{font-size:clamp(28px,3.6vw,42px);line-height:1.12;font-weight:700;letter-spacing:-.025em;text-wrap:balance;max-width:22ch}
.sec__lede{font-size:17px;line-height:28px;color:var(--ink-2);max-width:60ch}
.sec__lede--stack+.sec__lede--stack{margin-top:18px}
.sec__head--lite{margin-bottom:24px}

/* prose */
.prose{display:flex;flex-direction:column;gap:44px}
.prose__block{display:flex;flex-direction:column;gap:16px}
.prose__block h2{font-size:clamp(22px,2.6vw,30px);line-height:1.2;font-weight:700;letter-spacing:-.022em;max-width:24ch;text-wrap:balance}
.prose__block p{font-size:17.5px;line-height:31px;color:var(--ink-2);max-width:68ch}
.prose__block p strong{color:var(--ink);font-weight:600}
.beliefs{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.beliefs li{display:grid;grid-template-columns:34px 1fr;gap:20px;padding-block:20px;border-bottom:1px solid var(--line);font-size:17px;line-height:28px;max-width:74ch;align-items:start}
.beliefs__n{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);font-size:11.5px;font-weight:700;color:var(--orange-ink);letter-spacing:.02em;font-variant-numeric:tabular-nums}

/* sound familiar */
.sf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.sf__col{background:var(--surface);padding:36px}
.sf__kicker{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-ink);margin-bottom:22px}
.sf__list li{padding-block:11px;border-bottom:1px solid var(--line-soft);font-size:16px;font-weight:500;display:flex;align-items:center;gap:10px;cursor:default;transition:color .15s}
.sf__list li:last-child{border-bottom:0}
.sf__col--fix .sf__list li:hover{color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--orange-ink);text-decoration-thickness:2px}
.sf__tick{flex-shrink:0;display:inline-flex;color:var(--cyan-dk);opacity:0;transform:scale(.7);transition:opacity .15s,transform .15s}
.sf__col--build .sf__list li:hover .sf__tick{opacity:1;transform:scale(1)}
.sf__col--build{background:var(--navy)}
.sf__col--build .sf__kicker{color:var(--cyan)}
.sf__col--build .sf__list li{justify-content:space-between;color:var(--cyan);border-bottom-color:rgba(255,255,255,.09);padding:0}
.sf__col--build .sf__list a{flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-block:11px;color:inherit;text-decoration:none;min-height:44px}
.sf__col--build .sf__list a:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px;border-radius:4px}
.sf__col--build .sf__list li:hover{color:#fff}
.sf__col--build .sf__tick{color:var(--cyan)}

/* dark block */
.vis{background:var(--dark);color:var(--light);border-radius:var(--r-xl);padding:64px 56px;display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.vis h2{font-size:clamp(28px,3.8vw,44px);line-height:1.1;font-weight:700;letter-spacing:-.025em;color:var(--light);max-width:18ch;text-wrap:balance}
.vis p{font-size:18px;line-height:30px;color:var(--light-2);max-width:62ch}
.vis .eyebrow--dark{color:var(--cyan)}
.close .eyebrow--dark{color:var(--cyan)}
.vis .link-arrow{color:var(--cyan)}
.vis .link-arrow:hover{border-bottom-color:var(--cyan)}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.card{display:flex;flex-direction:column;gap:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;text-decoration:none;color:inherit;transition:border-color .16s,transform .16s,box-shadow .16s}
.card:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:var(--shadow)}
.card__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.card__num{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--ink-3);font-variant-numeric:tabular-nums}
.card__jobs{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:4px 10px;border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface);white-space:nowrap}
.card h3,.card h2{overflow-wrap:break-word;font-size:20px;line-height:27px;font-weight:700;letter-spacing:-.015em;text-wrap:balance;min-height:54px}
.card p{font-size:14.5px;line-height:22px;color:var(--ink-2);min-height:66px}
.card__go{margin-top:auto;padding-top:12px;border-top:1px solid var(--line-soft);font-size:13px;font-weight:600;color:var(--orange-ink);display:flex;align-items:center;gap:6px}
.card--flag{background:var(--dark);border-color:var(--dark)}
.card--flag h3,.card--flag h2,.card--flag .card__num{color:var(--light)}
.card--flag p{color:var(--light-2)}
.card--flag .card__jobs{color:var(--light-3);border-color:var(--line-dark);background:transparent}
.card--flag .card__go{border-top-color:var(--line-dark)}
.card--flag:hover{border-color:var(--orange-ink)}
.card--open{background:var(--surface);border-style:dashed;border-color:#cfcbc5}
.card--open .card__go{color:var(--azure-ink)}

/* case */
.case{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface-2)}
.case__beat{padding:36px 32px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.case__beat:last-child{border-right:0;background:var(--surface)}
.case__when{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-ink)}
.case__what{font-size:17px;line-height:27px;color:var(--ink)}

/* who */
.who{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.vid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:48px;align-items:center;background:var(--navy);border-radius:var(--r-xl);padding:52px}
.vid h2{font-size:clamp(24px,2.9vw,34px);line-height:1.16;font-weight:700;letter-spacing:-.022em;color:var(--light);max-width:20ch;text-wrap:balance}
.vid p{margin-top:14px;font-size:16.5px;line-height:27px;color:var(--light-2);max-width:46ch}
.vid__note{margin-top:16px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan)}
.vid__frame{position:relative;aspect-ratio:16/9;max-width:100%;border-radius:var(--r-lg);overflow:hidden;background:#0a0e18;border:1px solid var(--line-dark);display:flex;align-items:center;justify-content:center}
.vid__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid__ph{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:24px;color:var(--light-3);font-size:13.5px;line-height:21px}
.vid__play{width:64px;height:64px;border-radius:9999px;background:var(--orange);display:flex;align-items:center;justify-content:center;color:#fff}
.who h2{font-size:clamp(26px,3.2vw,38px);line-height:1.14;font-weight:700;letter-spacing:-.025em;max-width:22ch;text-wrap:balance}
.who p{font-size:17px;line-height:29px;color:var(--ink-2)}
.who__right{display:flex;flex-direction:column;gap:26px}
.exp{border-top:1px solid var(--line);padding-top:22px;display:flex;flex-direction:column;gap:14px}
.exp__label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.exp__list{display:flex;flex-wrap:wrap;gap:8px}
.exp__list li{display:flex}
.exp__list a{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 14px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;white-space:nowrap;border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface-2);transition:border-color .15s,color .15s,background .15s}
.exp__list .exp__plain{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 14px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;white-space:nowrap;border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface-2);cursor:default}
.exp__list a:hover{border-color:var(--azure-ink);color:var(--azure-ink);background:var(--surface)}
.exp__list a:hover .exp__now{color:var(--azure-ink)}
.exp__now{font-size:8px;font-weight:600;letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase;padding-left:7px;border-left:1px solid var(--line)}

/* process steps */
.steps{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:88px 1fr;gap:24px;padding-block:32px;border-bottom:1px solid var(--line);align-items:start}
.step__n{font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--orange-ink);font-variant-numeric:tabular-nums;padding-top:6px}
.step__body{display:flex;flex-direction:column;gap:12px;min-width:0}
.step__body h3{font-size:24px;line-height:32px;font-weight:700;letter-spacing:-.02em}
.step__body p{font-size:17px;line-height:29px;color:var(--ink-2);max-width:66ch}
.rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.pillar{display:flex;flex-direction:column;gap:14px;padding:32px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2)}
.pillar > p{min-height:104px}
.pillar__foot{margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
.pillar--b .pillar__foot{border-top-color:var(--line-dark)}
.pillar--b{background:var(--dark);border-color:var(--dark)}
.pillar__n{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-ink)}
.pillar--b .pillar__n{color:var(--cyan)}
.pillar h3{min-height:60px;font-size:22px;line-height:30px;font-weight:700;letter-spacing:-.018em}
.pillar--b h3{color:var(--light)}
.pillar p{font-size:16px;line-height:26px;color:var(--ink-2)}
.pillar--b p{color:var(--light-2)}
.pillar__split{display:flex;flex-direction:column;gap:14px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line-dark)}
.pillar__half{display:flex;flex-direction:column;gap:5px}
.pillar__half b{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan)}
.pillar__half span{font-size:15.5px;line-height:25px;color:var(--light-2)}
.rule-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;display:flex;flex-direction:column;gap:12px}
.rule-card__n{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--azure-ink)}
.rule-card h3{font-size:19px;line-height:26px;font-weight:700;letter-spacing:-.015em}
.rule-card p{font-size:15.5px;line-height:25px;color:var(--ink-2)}
.rule-card--accent{background:var(--navy);border-color:var(--navy)}
.rule-card--accent h3{color:var(--light)}
.rule-card--accent p{color:var(--light-2)}
.rule-card--accent .rule-card__n{color:var(--cyan)}

/* service page */
.look{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.look__col{background:var(--surface);padding:30px;display:flex;flex-direction:column;gap:12px;min-width:0;overflow-wrap:break-word}
.look__k{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-ink)}
.look__v{font-size:16px;line-height:26px;color:var(--ink)}
.changes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}
.changes li{display:flex;gap:14px;align-items:baseline;padding-block:16px;border-bottom:1px solid var(--line);font-size:17px;line-height:27px}
.changes li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange);flex-shrink:0}
.jobs{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.job{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:26px 16px;margin-inline:-16px;border-bottom:1px solid var(--line);align-items:start;text-decoration:none;color:inherit;border-radius:var(--r);transition:background .14s}
.job:hover{background:var(--surface-2)}
.job:hover h3{color:var(--orange-ink)}
.job__go{margin-top:4px;font-size:13px;font-weight:600;color:var(--orange-ink);opacity:0;transition:opacity .14s}
.job:hover .job__go,.job:focus-visible .job__go{opacity:1}
.job__n{font-size:12px;font-weight:700;color:var(--ink-3);letter-spacing:.06em;font-variant-numeric:tabular-nums;padding-top:5px}
.job__body{display:flex;flex-direction:column;gap:10px;min-width:0;overflow-wrap:break-word}
.job__body h3{font-size:18px;line-height:26px;font-weight:700;letter-spacing:-.012em;transition:color .14s}
.job__body p{font-size:16px;line-height:26px;color:var(--ink-2);max-width:72ch}
.job__q{font-size:15.5px;line-height:25px;color:var(--ink);font-style:italic;padding-left:16px;border-left:2px solid var(--orange);max-width:68ch}
.jobs__more{display:flex;flex-direction:column}
.jobs__more[hidden]{display:none}
.jobs__toggle[hidden]{display:none}
.jobs__toggle{margin-top:28px;align-self:flex-start}

/* forms */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
@media (min-width:981px){.split > *:first-child{position:sticky;top:112px}}
.form{display:flex;flex-direction:column;gap:20px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:36px}
.field{display:flex;flex-direction:column;gap:8px}
label{font-size:13.5px;font-weight:600;color:var(--ink)}
.field__hint{font-size:13px;line-height:20px;color:var(--ink-2)}
.field--first{padding:20px;border:1px solid var(--azure-ink);border-radius:var(--r);background:var(--surface)}
.field--first label{font-size:15px}
.field--first textarea{min-height:120px;border-color:var(--line-field)}
input[type=text],input[type=email],input[type=url],textarea,select{width:100%;min-height:50px;padding:13px 16px;font-size:16px;line-height:24px;font-family:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-field);border-radius:var(--r)}
input[type=file]{width:100%;font-size:14px;font-family:inherit;color:var(--ink-2);padding:12px;background:var(--surface);border:1px dashed var(--line-field);border-radius:var(--r)}
textarea{min-height:140px;resize:vertical}
select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' fill='none'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%231a1a1a' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
::placeholder{color:var(--ink-3)}
input:focus,textarea:focus,select:focus{border-color:var(--ink);outline:2px solid var(--orange-ink);outline-offset:2px}
.field__err{font-size:13px;line-height:20px;color:#b4341a;font-weight:600}
.field--bad input,.field--bad textarea,.field--bad select{border-color:#b4341a}
.jobref{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 16px;background:var(--surface);border:1px solid var(--azure-ink);border-radius:var(--r)}
.jobref__label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--azure-ink)}
.jobref__name{flex:1;min-width:0;font-size:14.5px;line-height:21px;font-weight:600;color:var(--ink)}
.jobref__clear{min-height:34px;padding:0 12px;font-size:12px;font-weight:600;font-family:inherit;color:var(--ink-2);background:transparent;border:1px solid var(--line);border-radius:var(--r-full);cursor:pointer;white-space:nowrap}
.jobref__clear:hover{color:var(--ink);border-color:var(--ink)}
.form__done{display:none;gap:10px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:var(--r);font-size:15px;line-height:24px}
.form__done.is-on{display:flex}
.form__fail{display:flex;gap:10px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-left:3px solid #b4341a;border-radius:var(--r);font-size:15px;line-height:24px}
.req{color:var(--orange-ink);font-weight:700}
.btn[aria-busy="true"]{opacity:.72;pointer-events:none}
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.steps-lite{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line);margin-top:28px}
.steps-lite li{display:grid;grid-template-columns:34px 1fr;gap:14px;padding-block:18px;border-bottom:1px solid var(--line);font-size:16.5px;line-height:27px;align-items:baseline}
.steps-lite b{font-size:12px;font-weight:700;color:var(--orange-ink);letter-spacing:.08em;font-variant-numeric:tabular-nums}
.inline-link{display:inline-block;padding-block:7px;color:var(--azure-ink);font-weight:600;text-decoration:none;border-bottom:1.5px solid rgba(10,125,145,.3)}
.inline-link:hover{border-bottom-color:var(--cyan-dk)}

/* newsletter */
.news{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-xl);padding:56px}
.news__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.news h2{font-size:clamp(24px,2.9vw,34px);line-height:1.16;font-weight:700;letter-spacing:-.022em;max-width:20ch;text-wrap:balance}
.news p{margin-top:14px;font-size:16px;line-height:26px;color:var(--ink-2);max-width:48ch}
.news__form{display:flex;flex-direction:column;gap:12px}
.news__row{display:flex;gap:10px;flex-wrap:wrap}
.news__row input{flex:1 1 220px;min-height:52px;border-radius:var(--r-full);padding-inline:18px}

/* terms + sitemap */
.terms{display:flex;flex-direction:column;gap:32px}
.terms__item{display:flex;flex-direction:column;gap:10px}
.terms__item h2{font-size:19px;line-height:27px;font-weight:700;letter-spacing:-.012em;max-width:none;text-wrap:initial}
.terms__item p{font-size:16.5px;line-height:28px;color:var(--ink-2);max-width:72ch}
.terms__item a{display:inline-block;padding-block:6px}
.terms__item ul{margin:2px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:7px}
.terms__item li{font-size:16.5px;line-height:27px;color:var(--ink-2);max-width:70ch}
.terms__item b{color:var(--ink);font-weight:700}
.terms__lead{font-size:17px;line-height:29px;color:var(--ink-2);max-width:72ch}
.tenet{display:flex;flex-direction:column;gap:12px;padding:32px;border:1px solid var(--line);border-left:3px solid var(--azure-ink);border-radius:var(--r);background:var(--surface-2)}
.tenet h3{font-size:20px;line-height:28px;font-weight:700;letter-spacing:-.015em}
.tenet p{font-size:16.5px;line-height:27px;color:var(--ink-2);max-width:70ch}
.notice{background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:var(--r);padding:18px 22px;font-size:15px;line-height:24px;color:var(--ink-2)}
.smap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px}
.idx{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.smap__h{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}
.smap__list{display:flex;flex-direction:column;gap:2px}
.smap__list a{display:block;padding-block:8px;font-size:15px;line-height:23px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line-soft)}
.smap__list a:hover{color:var(--orange-ink)}

/* closing */
.close{background:var(--darker);color:var(--light);border-radius:var(--r-xl);padding:80px 56px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}
.close h2{font-size:clamp(30px,4.4vw,52px);line-height:1.08;font-weight:800;letter-spacing:-.03em;color:var(--light);max-width:16ch;text-wrap:balance}
.close p{font-size:18px;line-height:29px;color:var(--light-2);max-width:54ch}
.close__fine{margin-top:6px;font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--light-3)}
.close__fine a{display:inline-block;padding:8px 4px;color:var(--cyan);text-decoration:none}
.eyebrow a{display:inline-block;padding-block:11px}
.close__fine a:hover{text-decoration:underline}

/* footer */
.ftr{background:var(--dark);color:var(--light-2);padding-block:72px 32px}
.ftr__grid{display:grid;grid-template-columns:1.15fr 1.75fr .85fr .95fr;gap:32px 44px}
.ftr__brand{display:flex;flex-direction:column;gap:14px}
.ftr__desc{font-size:14.5px;line-height:23px;color:var(--light-2);max-width:34ch}
.ftr__h{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:16px}
.ftr__list{display:flex;flex-direction:column;gap:9px}
.ftr__list--split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;align-content:start}
.ftr__flag{color:var(--cyan)!important;font-weight:700}
.ftr__list a{font-size:13.5px;line-height:24px;min-height:24px;color:var(--light-2);text-decoration:none;transition:color .14s;display:block}
.ftr__list--split a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ftr__list a:hover{color:var(--cyan)}
.ftr__contact{font-size:14px;line-height:23px;color:var(--light-2)}
.ftr__contact a{display:inline-block;padding-block:6px;color:var(--light);text-decoration:none;border-bottom:1px solid var(--line-dark)}
.ftr__contact a:hover{color:var(--cyan)}
.ftr__social{display:flex;gap:8px;margin-top:20px}
.ftr__social a{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-dark);border-radius:var(--r-full);color:var(--light-3);transition:color .14s,border-color .14s}
.ftr__social a:hover{color:var(--cyan);border-color:var(--cyan)}
.ftr__made{margin-top:40px;padding-top:26px;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.ftr__made-txt{font-size:12px;line-height:19px;color:var(--light-3)}
.ftr__made-txt a{color:var(--cyan);text-decoration:none;border-bottom:1px solid rgba(0,217,255,.35);display:inline-block;line-height:24px;min-height:24px}
.ftr__made-txt a:hover{border-bottom-color:var(--cyan)}
.ftr__legal{margin-top:32px;padding-top:24px;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--light-3)}
.ftr__legal a{color:var(--light-3);text-decoration:none;display:inline-block;line-height:24px;min-height:24px}
.ftr__legal a:hover{color:var(--cyan)}

.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(16px);z-index:200;background:var(--darker);color:var(--light);padding:13px 22px;border-radius:var(--r-full);font-size:13.5px;font-weight:500;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100vw - 32px);text-align:center}
.toast.is-on{opacity:1;transform:translateX(-50%) translateY(0)}

@media (max-width:980px){
  .who,.split{grid-template-columns:1fr;gap:40px}
  .cards,.idx{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vid{grid-template-columns:1fr;gap:28px;padding:32px}
  .ftr__grid{grid-template-columns:1fr 1fr;gap:36px}
  .ftr__list--split{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news__grid{grid-template-columns:1fr;gap:30px}
  .case,.look{grid-template-columns:1fr}
  .case__beat{border-right:0;border-bottom:1px solid var(--line)}
  .case__beat:last-child{border-bottom:0}
  .changes{grid-template-columns:1fr}
  .smap{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rules,.pillars{grid-template-columns:1fr}
  .pillar h3,.pillar > p{min-height:0}
}
@media (max-width:1080px){
  .nav{display:none}
  .burger{display:inline-flex}
  .mnav.is-on{display:block}
}
@media (max-width:760px){
  .hero{padding-block:56px 48px}
  .phero{padding-block:48px 40px}
  .sec,.u-end{padding-block:60px}
  .ticker-band{margin-top:12px}
  .sf,.cards,.smap,.idx{grid-template-columns:1fr}
  .vid{padding:24px}
  .sf__col{padding:28px}
  .vis{padding:40px 26px;border-radius:var(--r-lg)}
  .news{padding:30px 22px;border-radius:var(--r-lg)}
  .close{padding:52px 24px;border-radius:var(--r-lg)}
  .form{padding:26px 22px}
  .ftr__grid{grid-template-columns:1fr;gap:32px}
  .pillar{padding:24px}
  .tenet{padding:24px}
  .ftr{padding-block:52px 28px}
  .step{grid-template-columns:1fr;gap:12px}
  .job{grid-template-columns:1fr;gap:10px}
  .job__n{padding-top:0}
  .look__col{padding:24px}
  .card h3,.card h2,.card p{min-height:0}
  .logo{height:42px}
  .logo__name{font-size:15px;padding-inline:11px}
  .logo__est{font-size:7px;letter-spacing:.13em;padding-inline:11px}
  .ticker{padding-block:15px;border-radius:var(--r)}
  .ticker-band{padding-inline:16px}
  .ticker__item{font-size:12.5px}
}

@media print{
  *{background:transparent!important;color:#000!important;box-shadow:none!important}
  .hdr,.ftr,.ticker-band,.mnav,.toast,.skip,.btn,.intake,.jobs__toggle{display:none!important}
  body{font-size:11pt;line-height:1.5}
  .wrap,.wrap--narrow{max-width:none;padding:0}
  .sec,.u-end,.phero{padding-block:0;margin-bottom:14pt}
  h1{font-size:20pt;margin:0 0 8pt}
  h2{font-size:13pt;margin:14pt 0 4pt;page-break-after:avoid}
  p,li{orphans:3;widows:3}
  .terms__item{page-break-inside:avoid;margin-bottom:10pt}
  .terms__item p,.terms__item li{max-width:none}
  a{text-decoration:underline}
  a[href^="http"]:after{content:" (" attr(href) ")";font-size:9pt;color:#555!important}
  a[href^="#"]:after,a[href^="/"]:after{content:""}
  .jobs__more{display:flex!important}
}

/* dark panels keep the bright brand orange; it clears AA on navy */
.vis .step__n,.close .step__n,.ftr .step__n{color:var(--orange)}
.sf__col--build .sf__kicker{color:var(--cyan)}

/* the flagship card is dark, so it keeps the bright orange */
.card--flag .card__go,.card--flag .card__num,.card--flag .flag{color:var(--orange)}
.card__ico-wrap{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);color:var(--ink);flex:0 0 auto}
.card__ico{display:block;width:26px;height:26px}
.card .card__num{display:block;margin:18px 0 6px}
.card--flag .card__ico-wrap{background:transparent;border-color:var(--line-dark);color:var(--light)}
.card--open .card__ico-wrap{border-style:dashed}
@media (prefers-reduced-motion:no-preference){.card__ico-wrap{transition:border-color .18s ease,background .18s ease}}
.card:hover .card__ico-wrap{border-color:var(--orange-ink)}
.card--flag:hover .card__ico-wrap{border-color:var(--orange)}
.cards,.idx{gap:16px}
.card{gap:8px;padding:20px 22px}
.card__ico-wrap{width:38px;height:38px;border-radius:var(--r-sm)}
.card__ico{width:22px;height:22px}
.card .card__num{margin:12px 0 2px;font-size:11px}
.card h3,.card h2{font-size:18px;line-height:25px;min-height:50px}
.card p{font-size:14px;line-height:21px;min-height:63px}
.card__jobs{font-size:10.5px;padding:3px 9px}
.card__go{padding-top:10px;font-size:12.5px}
@media (max-width:760px){.card{padding:18px 20px}}
.phero__ico{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:22px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);color:var(--ink)}
.phero__ico .card__ico{width:32px;height:32px}
@media (max-width:760px){.phero__ico{width:48px;height:48px;margin-bottom:18px}.phero__ico .card__ico{width:28px;height:28px}}
/* QA: narrow phones (320-400px) - the tagline block pushed the menu button off-screen */
@media (max-width:400px){.logo__est{display:none}.logo__name{border-right:0}.hdr__in{gap:12px}.logo__name{padding-inline:10px}}
/* QA: footer service names were cut off with an ellipsis at every width */
.ftr__list--split a{white-space:normal;overflow:visible;text-overflow:clip;line-height:20px;padding-block:2px}
@media (max-width:420px){.ftr__list--split{grid-template-columns:1fr}}
/* QA: raise the smallest labels to a readable floor */
.exp__now{font-size:9.5px}
.flag{font-size:9.5px}
.logo__est{font-size:max(8.5px,.53em)}
.ftr__social{flex-wrap:wrap}
@media (max-width:760px){.ftr__grid>*{min-width:0}}
@media (max-width:480px){.hdr .logo__est{display:none}.hdr .logo__name{border-right:0;padding-inline:10px}.hdr__in{gap:12px}}
@media (max-width:400px){.logo--dark .logo__name{font-size:17px}}
.exp__now,.flag{font-size:10px}
@media (max-width:400px){.close__fine{letter-spacing:.05em}.close__fine a{display:inline;overflow-wrap:anywhere;padding:8px 0}}
.vid__btn{width:100%;height:100%;border:0;cursor:pointer;font-family:inherit;background:radial-gradient(120% 90% at 30% 20%,#1d2d4d 0%,#0a0e18 70%);justify-content:center}
.vid__btn .vid__play{transition:transform .18s ease,background .18s ease}
.vid__btn:hover .vid__play{transform:scale(1.08);background:#ff7d4d}
.vid__btn:focus-visible{outline:2px solid var(--orange);outline-offset:-4px}
.vid__cap{font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--light-2)}
.vid__alt{margin-top:12px;font-size:13.5px}
.vid__alt a{display:inline-block;padding-block:8px;color:var(--cyan);text-decoration:none;border-bottom:1px solid rgba(0,217,255,.35)}
.vid__alt a:hover{border-bottom-color:var(--cyan)}
@media (prefers-reduced-motion:reduce){.vid__btn .vid__play{transition:none}}

/* video thumbnail: a branded poster, drawn in CSS so nothing loads from YouTube before play */
.vt{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;margin:0;cursor:pointer;
  font-family:inherit;text-align:left;color:#FEFDFB;overflow:hidden;border-radius:inherit;
  background:radial-gradient(130% 110% at 88% 100%,#2a3d66 0%,#16233D 45%,#0c1424 100%)}
.vt__grid{position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:34px 34px;mask-image:linear-gradient(115deg,#000 20%,transparent 75%);
  -webkit-mask-image:linear-gradient(115deg,#000 20%,transparent 75%)}
.vt__glow{position:absolute;right:-14%;bottom:-38%;width:70%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(255,107,53,.38) 0%,rgba(255,107,53,0) 62%);
  transition:transform .5s ease,opacity .5s ease}
.vt__brand{position:absolute;left:7%;top:10%;display:flex;align-items:center;gap:10px;
  font-size:clamp(12px,1.35vw,15px);font-weight:800;letter-spacing:-.01em;color:#FEFDFB}
.vt__brand i{font-style:normal;color:#FF6B35}
.vt__mark{width:clamp(22px,2.6vw,30px);height:auto}
.vt__copy{position:absolute;left:7%;bottom:12%;right:34%;display:flex;flex-direction:column;gap:clamp(6px,1vw,12px)}
.vt__kick{font-size:clamp(9.5px,1vw,11.5px);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#00D9FF}
.vt__title{font-size:clamp(20px,3.1vw,36px);line-height:1.05;font-weight:800;letter-spacing:-.03em;color:#FEFDFB;text-wrap:balance}
.vt__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.vt__tags span{font-size:clamp(9.5px,.95vw,11.5px);font-weight:600;letter-spacing:.04em;color:#C7D0E0;
  padding:4px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.04)}
.vt__play{position:absolute;right:9%;top:50%;transform:translateY(-50%);
  width:clamp(58px,8vw,88px);aspect-ratio:1;border-radius:50%;background:#FF6B35;color:#1a1a1a;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 0 rgba(255,107,53,.5),0 14px 34px -10px rgba(0,0,0,.6);
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease}
.vt__play svg{width:42%;height:42%;margin-left:6%}
.vt:hover .vt__play,.vt:focus-visible .vt__play{transform:translateY(-50%) scale(1.08);background:#ff7d4d;
  box-shadow:0 0 0 12px rgba(255,107,53,.16),0 18px 40px -10px rgba(0,0,0,.6)}
.vt:hover .vt__glow{transform:scale(1.12);opacity:.9}
.vt:focus-visible{outline:3px solid #FF6B35;outline-offset:-3px}
@media (prefers-reduced-motion:no-preference){
  .vt__play{animation:vtpulse 2.8s ease-out 1.2s 3}
  @keyframes vtpulse{0%{box-shadow:0 0 0 0 rgba(255,107,53,.45),0 14px 34px -10px rgba(0,0,0,.6)}
                     70%{box-shadow:0 0 0 18px rgba(255,107,53,0),0 14px 34px -10px rgba(0,0,0,.6)}
                     100%{box-shadow:0 0 0 0 rgba(255,107,53,0),0 14px 34px -10px rgba(0,0,0,.6)}}}
@media (prefers-reduced-motion:reduce){.vt__play,.vt__glow{transition:none;animation:none}}
@media (max-width:560px){
  .vt__copy{right:30%;bottom:10%}
  .vt__tags span:nth-child(3){display:none}
  .vt__play{right:7%}
}
.vid__frame iframe{background:#0a0e18}
.vt__fail{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;background:radial-gradient(130% 110% at 88% 100%,#2a3d66 0%,#16233D 45%,#0c1424 100%)}
.vt__fail p{margin:0;font-size:15px;line-height:1.5;color:#C7D0E0}

/* QA: footer brand column - the tagline block was clipped at every desktop width, and the logo box stretched wider than its content on tablets */
.ftr__grid{grid-template-columns:auto auto auto auto;justify-content:space-between;column-gap:32px}
.ftr__brand>.logo{align-self:flex-start}
@media (max-width:1199px){
  .ftr__grid{grid-template-columns:auto auto auto;grid-template-areas:"brand services company" "brand services contact";align-content:start}
  .ftr__brand{grid-area:brand}
  .ftr__nav-services{grid-area:services}
  .ftr__nav-company{grid-area:company}
  .ftr__col-contact{grid-area:contact}
}
@media (max-width:1040px){
  .ftr__grid{grid-template-columns:1fr 1fr;grid-template-areas:none;justify-content:normal;gap:36px}
  .ftr__brand,.ftr__nav-services,.ftr__nav-company,.ftr__col-contact{grid-area:auto}
}
@media (max-width:1040px){.logo--dark .logo__name{font-size:17px}}
@media (max-width:760px){.ftr__grid{grid-template-columns:1fr;gap:32px}}
.ftr__contact{max-width:22ch}
.ftr__list--split{column-gap:24px}

/* QA: the menu's "Send us your problem" button inherited the plain link styling, so its text sat flush left */
.mnav a.btn{display:flex;align-items:center;justify-content:center;padding:0 20px;min-height:48px;border-bottom:0;font-size:15px;font-weight:600;text-align:center}

/* send-a-problem: the two explanation boxes sit under the form row, side by side, instead of stretching the left column */
.aside-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px}
.aside-row .tenet p{max-width:none}
.tenet--warn{border-left-color:var(--orange)}
@media (max-width:980px){.aside-row{grid-template-columns:1fr;gap:20px;margin-top:40px}}

/* editorial layout for the reading pages: heading on the left, text on the right */
.sec--ed,.prose__block--ed,.terms__item,.prose>.exp,.sec--legal{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:0 64px;align-items:start}
.sec--ed>.sec__head{margin-bottom:0;position:sticky;top:112px}
.sec--ed>.sec__body{min-width:0}
.prose__block--ed>h2,.terms__item>h2{position:sticky;top:112px}
.prose__body{display:flex;flex-direction:column;gap:16px;min-width:0}
.terms__body{display:flex;flex-direction:column;gap:10px;min-width:0}
.prose>.exp>.exp__list{grid-column:2}
.sec--legal>.terms__lead{grid-column:2}
.sec--legal>.terms{grid-column:1/-1}
@media (max-width:980px){
  .sec--ed,.prose__block--ed,.terms__item,.prose>.exp,.sec--legal{grid-template-columns:1fr}
  .sec--ed>.sec__head{margin-bottom:36px;position:static}
  .prose__block--ed>h2,.terms__item>h2{position:static}
  .prose__block--ed{row-gap:16px}
  .terms__item{row-gap:10px}
  .prose>.exp{row-gap:14px}
  .prose>.exp>.exp__list,.sec--legal>.terms__lead{grid-column:auto}
}
@media print{.sec--ed>.sec__head,.prose__block--ed>h2,.terms__item>h2{position:static}}

/* an eyebrow that is also the section's heading, for screen readers and outline tools */
.sec h2.eyebrow--h{margin:0;font-size:12px;line-height:16px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);max-width:none;text-wrap:initial}

/* the video panel is light, so the navy video and its poster stand out from it instead of merging */
.vid--light{background:var(--surface-2);border:1px solid var(--line)}
.vid--light h2{color:var(--ink)}
.vid--light p{color:var(--ink-2)}
.vid--light .eyebrow--dark{color:var(--azure-ink)}
.vid--light .vid__frame{border-color:var(--navy);box-shadow:0 14px 34px -18px rgba(22,35,61,.55)}
.vid--light .vid__alt a{color:var(--azure-ink);border-bottom-color:rgba(0,0,0,.18)}
.vid--light .vid__alt a:hover{border-bottom-color:var(--azure-ink)}

/* if the embedded player is refused, the thumbnail comes back as a link to YouTube */
.vt--out{display:block;text-decoration:none}
.vt__note{position:absolute;top:7%;right:7%;padding:5px 10px;border-radius:9999px;background:rgba(254,253,251,.1);
  border:1px solid rgba(254,253,251,.22);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#FEFDFB}
@media (max-width:520px){.vt__note{display:none}}
