@font-face { font-family:"Plus Jakarta Sans"; font-style:normal; font-weight:200 800; font-display:swap; src:url("/mobile/fonts/plus-jakarta-sans-latin-wght-normal.woff2") format("woff2-variations"); }
:root { --v3-surface:#fff; --v3-ink:#15213a; --v3-muted:#4c5a70; --v3-line:#d4ddea; --v3-subtle:#eef3ff; --v3-blue:#0646ca; --v3-reply:#f1f2f5; --v3-dot:#6b7486; }
html[data-theme="dark"] { --v3-surface:#1b202c; --v3-ink:#f3f6ff; --v3-muted:#bdc9dc; --v3-line:#48556d; --v3-subtle:#27344e; --v3-blue:#acc8ff; --v3-reply:#262b37; --v3-dot:#c9d1df; }
body[data-v3] :is(h1,h2,h3,h4,p,span,a,button,figcaption,li) { font-family:"Plus Jakarta Sans",sans-serif; }
/* Narrative colours are independent of the retained illustration surfaces. */
body[data-v3] { --v3-copy-ink:#111111; --v3-copy-muted:#343d4b; --v3-copy-blue:#063baf; color:var(--v3-copy-ink); }
html[data-theme="dark"] body[data-v3] { --v3-copy-ink:#f3f6ff; --v3-copy-muted:#c4d1e7; --v3-copy-blue:#acc8ff; }
body[data-v3] :is(.hero-body,.v3-copy) { padding:0; background:none; border:0; border-radius:0; box-shadow:none; backdrop-filter:none; }
body[data-v3] :is(h1,h2) { text-wrap:balance; word-break:normal; }
body[data-v3] :is(a,button):focus-visible { outline:3px solid var(--v3-blue); outline-offset:5px; }
/* Both original frame rails own the same balanced three-region navigation.
   Keep the shared dimensions and compositor-only compact transform unchanged. */
@media (min-width:901px) {
  body[data-v3] .navbar { --v3-nav-cell:130px; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }
  body[data-v3] .navbar .logo { width:100%; min-width:0; padding-right:20px; }
  body[data-v3] .navbar .nav-links { position:static; left:auto; transform:none; margin:0; gap:0; justify-self:center; }
  body[data-v3] .navbar .nav-links a { width:var(--v3-nav-cell); text-transform:none; font-size:13px; letter-spacing:.02em; white-space:nowrap; }
  body[data-v3] .navbar .nav-actions { min-width:0; justify-content:flex-end; }
  body[data-v3] .navbar .nav-actions .link-btn { border-right:0; font-size:13px; letter-spacing:.02em; white-space:nowrap; }
  body[data-v3] .navbar a:focus-visible { outline-offset:-5px; }
  body[data-v3] .bg-navbar { --v3-nav-cell:clamp(104px,9vw,130px); grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr); }
  /* The floating navbar is a pill; the logo and Contact share one inset from its rounded ends. */
  body[data-v3] .bg-navbar { border-radius:999px; }
  body[data-v3] .bg-navbar .logo { padding-inline:36px 20px; }
  body[data-v3] .bg-navbar .nav-actions { padding-right:28px; }
  /* Both navbars stay painted: the opaque 80px top rail (z-index 100) covers the pill (top 8px,
     64px tall, z-index 90) at rest and uncovers it as it slides away, with its own links riding
     along. The inert handoff only decides which one is interactive. The driver marks the pill
     covered while the rail is at rest and scales its shadow in as its bottom edge is uncovered,
     so the shadow never peeks out beneath the rail. */
  html:not([data-motion="reduce"]) body[data-v3] .bg-navbar[data-v3-covered] { visibility:hidden; }
  body[data-v3] .bg-navbar { box-shadow:0 8px 28px rgba(0,0,0,calc(.09 * var(--v3-nav-reveal,1))),inset 0 1px 0 rgba(255,255,255,.95); }
  html[data-theme="dark"] body[data-v3] .bg-navbar { box-shadow:0 8px 28px rgba(0,0,0,calc(.34 * var(--v3-nav-reveal,1))); }
}
@media (min-width:901px) and (max-width:1100px) {
  body[data-v3] .navbar { --v3-nav-cell:95px; }
  body[data-v3] .navbar .brand-lockup { width:100px; }
  body[data-v3] .navbar :is(.nav-links a,.nav-actions .link-btn) { font-size:11px; letter-spacing:.01em; }
  body[data-v3] .bg-navbar .logo { padding-inline:24px 18px; }
  body[data-v3] .bg-navbar .nav-actions { padding-right:18px; }
}
body[data-v3] .hero-body { --v3-hero-gutter:120px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; width:min(1320px,calc(100% - 2 * var(--v3-hero-gutter))); max-width:none; left:max(var(--v3-hero-gutter),calc((100% - 1320px) / 2)); top:80px !important; height:calc(var(--layout-vh) * 100 - 160px); align-items:center; color:var(--v3-copy-ink); pointer-events:auto; }
/* A left-aligned block up to 500px wide, centred in its column with at least a 32px inset:
   a three-line title, a balanced description and the actions share one left edge. */
body[data-v3] .v3-hero-copy-group { --v3-title-size:clamp(36px,4.3vw,68px); min-width:0; padding-inline:max(32px,calc((100% - 500px) / 2)); }
body[data-v3] .hero-body .v3-title-line { display:block; }
body[data-v3] .hero-body h1 { font-size:var(--v3-title-size); line-height:1.08; letter-spacing:-.055em; max-width:100%; margin:0 0 20px; color:var(--v3-copy-ink); }
body[data-v3] .v3-hero-copy-group > p { color:var(--v3-copy-muted); margin:0; font-size:14px; line-height:1.7; text-wrap:balance; }
body[data-v3] .hero-body .blue-copy { color:var(--v3-copy-blue); }
body[data-v3] .v3-actions { gap:12px; margin-top:24px; justify-content:center; }
body[data-v3] .v3-actions a { font-size:14px; line-height:1.45; padding:14px 20px; white-space:normal; text-align:center; border-radius:999px; }
body[data-v3] .v3-actions a:first-child { color:#fff; background:#0052ff; border:1px solid #0052ff; }
body[data-v3] .v3-actions a:last-child { color:var(--v3-ink); background:var(--v3-surface); border:1px solid var(--v3-line); }
body[data-v3] .v3-section { gap:clamp(28px,5vw,80px); width:calc(100% - 160px); max-width:1320px; margin-inline:auto; }
body[data-v3] .v3-section > * { flex:1 1 0; min-width:0; }
body[data-v3] .v3-reverse { flex-direction:row-reverse; }
body[data-v3] .v3-copy { max-width:510px; color:var(--v3-copy-ink); }
body[data-v3] .v3-copy h2 { font-size:clamp(30px,3.2vw,49px); line-height:1.12; letter-spacing:-.045em; margin:12px 0 20px; color:var(--v3-copy-ink); }
body[data-v3] .v3-copy > p { margin:0; color:var(--v3-copy-muted); font-size:16px; line-height:1.7; }
body[data-v3] .v3-copy > .v3-detail { font-size:14px; margin-top:18px; }
body[data-v3] .v3-copy > .v3-kicker, .v3-kicker { color:var(--v3-blue); font-size:11px; line-height:1.5; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.v3-panel { margin:0; padding:26px; color:var(--v3-ink); background:var(--v3-surface); border:1px solid var(--v3-line); border-radius:22px; box-shadow:0 20px 65px #0c25461a; pointer-events:auto; }
.v3-panel figcaption { display:flex; align-items:center; gap:14px; padding-bottom:20px; font-size:12px; font-weight:700; color:var(--v3-muted); }
.v3-panel h3 { color:var(--v3-ink); font-size:17px; line-height:1.35; letter-spacing:-.025em; margin:0 0 8px; }
.v3-panel p { color:var(--v3-muted); font-size:13px; line-height:1.65; margin:0; }
.v3-panel .v3-note { color:var(--v3-muted); font-size:11px; line-height:1.6; margin:18px 0 0; padding-top:14px; border-top:1px solid var(--v3-line); }
.v3-choices { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.v3-choice { padding:18px 16px; border:1px solid var(--v3-line); border-radius:12px; background:var(--v3-subtle); }
.v3-number { display:inline-flex; align-items:center; justify-content:center; min-width:28px; height:28px; font-size:11px; font-weight:700; color:var(--v3-blue); border:1px solid var(--v3-line); border-radius:50%; }
.v3-choice .v3-number { margin-bottom:12px; }
.v3-converge { display:flex; justify-content:center; height:28px; margin-inline:25%; }
.v3-converge span { width:50%; border-left:1px solid var(--v3-blue); border-bottom:1px solid var(--v3-blue); }
.v3-converge span:last-child { border-left:0; border-right:1px solid var(--v3-blue); }
.v3-gateway { position:relative; display:flex; flex-direction:column; align-items:center; gap:6px; margin-top:18px; border-radius:12px; background:#063baf; color:#fff; padding:18px 12px; }
.v3-gateway:before { position:absolute; content:""; bottom:100%; height:18px; border-left:1px solid var(--v3-blue); }
.v3-gateway img { width:38px; height:38px; margin-bottom:4px; }
.v3-gateway strong { font-size:19px; font-weight:600; }
.v3-gateway span { color:#e4ecff; font-size:11px; text-align:center; }
.v3-panel .v3-workflow { margin:16px 0; font-size:12px; text-align:center; color:var(--v3-ink); }
.v3-outcomes { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.v3-outcomes span { padding:9px; text-align:center; border:1px solid var(--v3-line); border-radius:8px; font-size:11px; }
.v3-application { padding:0; overflow:hidden; }
.v3-application figcaption { padding:17px 22px; border-bottom:1px solid var(--v3-line); }
.v3-window-dots { color:var(--v3-muted); font-size:9px; letter-spacing:3px; }
.v3-conversation { padding:24px; display:grid; gap:22px; }
.v3-question { font-size:14px; line-height:1.6; padding:14px 16px; margin-left:12%; border-radius:14px 14px 3px 14px; background:var(--v3-subtle); color:var(--v3-ink); }
.v3-answer p { font-size:14px; line-height:1.8; margin-top:8px; }
.v3-placement { background:var(--v3-subtle); padding:18px; border:1px solid var(--v3-line); border-radius:12px; }
.v3-placement h3 { margin-top:10px; }
.v3-application .v3-note { margin:0; padding:14px 24px; }
.v3-steps { display:grid; gap:0; list-style:none; margin:0; padding:0; }
.v3-steps li { display:grid; grid-template-columns:32px 1fr; gap:14px; padding:16px 0; border-bottom:1px solid var(--v3-line); }
.v3-steps li:last-child { border:0; }
.v3-issued { grid-column:2; color:var(--v3-blue); font-size:11px; background:var(--v3-subtle); border-radius:6px; padding:6px 10px; width:fit-content; }
body[data-v3] .v3-business { --v3-surface:#101d36; --v3-ink:#f5f8ff; --v3-muted:#c4d1e7; --v3-line:#3f5477; --v3-subtle:#213658; --v3-blue:#acc8ff; }
body[data-v3] .v3-business { --v3-copy-ink:#f5f8ff; --v3-copy-muted:#c4d1e7; --v3-copy-blue:#acc8ff; }
body[data-v3] .v3-copy > .v3-kicker { color:var(--v3-copy-blue); }
.v3-report > h3 { font-size:26px; margin:0 0 20px; }
.v3-report-rows > div { display:flex; align-items:flex-start; gap:14px; padding:20px 0; border-top:1px solid var(--v3-line); }
.v3-report-rows h4 { color:var(--v3-ink); font-size:15px; font-weight:600; margin:2px 0 6px; }
.v3-report-rows > div > div { flex:1; }
.v3-report-mark { color:var(--v3-blue); font-size:23px; }
.v3-sponsor-action { display:inline-flex; gap:20px; color:#fff; font-size:14px; line-height:1.5; border-bottom:1px solid #acc8ff; padding:0 0 6px; margin-top:24px; text-decoration:none; }
.v3-media { margin:0; }
.v3-media > figcaption { color:var(--v3-blue); margin-bottom:14px; }
.v3-media-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.v3-concept { padding:0; overflow:hidden; border-radius:16px; }
.v3-scene { position:relative; overflow:hidden; height:208px; background:#bac9d4; }
.v3-scene-label { position:absolute; top:12px; left:12px; z-index:4; background:#101d36; color:#fff; padding:5px 9px; border-radius:999px; font-size:10px; }
.v3-sun { position:absolute; left:25%; top:24%; width:54px; height:54px; background:#faf0cc; border-radius:50%; }
.v3-hill { position:absolute; width:160%; height:65%; top:60%; left:-35%; border-radius:50% 70% 0 0; background:#637766; transform:rotate(-14deg); }
.v3-hill-back { top:47%; left:-5%; background:#889788; transform:rotate(15deg); }
.v3-product { position:absolute; z-index:2; bottom:16%; right:22%; width:49px; height:85px; background:#f5eee0; border-radius:8px 8px 13px 13px; transform:rotate(7deg); box-shadow:5px 5px 0 #1c2b2733; }
.v3-product:before { content:""; position:absolute; left:14px; top:-10px; width:21px; height:13px; background:#243e33; border-radius:3px; }
.v3-product span { display:block; color:#243e33; text-align:center; font-size:8px; line-height:1.4; padding-top:19px; }
.v3-video-scene { background:#b9c2df; }
.v3-video-scene .v3-hill { background:#676a94; }
.v3-video-scene .v3-hill-back { background:#9296b6; }
.v3-film-mark { position:absolute; z-index:4; top:45%; left:26%; font-size:36px; color:#101d36; }
.v3-disclosure { position:absolute; z-index:3; bottom:10px; left:10px; background:#101d36; color:#fff; font-size:9px; padding:5px 8px; border-radius:5px; }
.v3-concept-copy { padding:18px; }
.v3-concept-copy h3 { font-size:15px; }
.v3-concept-copy p { font-size:12px; }
.v3-media-delivery { color:var(--v3-muted); font-size:12px; line-height:1.7; margin-top:16px; }
body[data-v3] .v3-closing { justify-content:center; text-align:center; }
body[data-v3] .v3-closing .v3-copy { max-width:800px; }
body[data-v3] .v3-closing .v3-copy h2 { font-size:clamp(36px,4vw,62px); }
body[data-v3] .v3-closing .v3-copy > p:not(.v3-kicker):not(.v3-detail) { font-size:22px; line-height:1.7; max-width:630px; margin-inline:auto; }
body[data-v3] .legal-panel { padding:30px; }
body[data-v3] .legal-panel-brand h2 { font-size:26px; }
body[data-v3] .legal-panel-links a { font-size:14px; }
body[data-v3] .legal-panel-meta p { font-size:12px; line-height:1.7; }
.v3-entry { font-family:"Plus Jakarta Sans",sans-serif; max-width:700px; margin:12vh auto; padding:24px; color:#15213a; background:#f8f4e8; }
.v3-entry h1 { font-size:42px; letter-spacing:-.04em; }
.v3-entry p { line-height:1.7; }
.v3-entry nav { display:flex; flex-wrap:wrap; gap:20px; }
.v3-entry a { color:#0646ca; }
@media (min-width:901px) and (max-height:760px) {
  body[data-v3] .v3-hero-copy-group { --v3-title-size:clamp(34px,3.5vw,50px); }
  body[data-v3] .v3-hero-copy-group > p { font-size:12px; }
  body[data-v3] .v3-copy h2 { font-size:34px; }
  body[data-v3] .v3-copy > p { font-size:14px; }
  body[data-v3] .v3-copy > .v3-detail { font-size:12px; }
  .v3-panel { padding:20px; }
  .v3-application { padding:0; }
  .v3-panel figcaption { padding-bottom:12px; }
  .v3-conversation { padding:18px; gap:14px; }
  .v3-scene { height:170px; }
}
@media (min-width:901px) and (max-width:1100px) {
  body[data-v3] .v3-section { width:calc(100% - 80px); gap:22px; }
  body[data-v3] .v3-copy h2 { font-size:33px; }
  .v3-panel { padding:20px; }
  .v3-application { padding:0; }
  .v3-media-grid { grid-template-columns:1fr; }
  .v3-concept { display:grid; grid-template-columns:40% 1fr; padding:0; }
  .v3-scene { height:170px; }
  .v3-product { right:15%; }
}
@media (max-width:900px) {
  body[data-v3] { overflow-x:clip; }
  body[data-v3] .site-header { position:sticky; top:0; z-index:10000; background:var(--v3-surface); }
  body[data-v3] .mobile-nav { background:var(--v3-surface); }
  body[data-v3] .mobile-menu { background:var(--v3-surface); border-color:var(--v3-line); }
  html body[data-v3] .mobile-menu :is(a,button) { color:var(--v3-ink); }
  body[data-v3] .v3-section { display:flex; flex-direction:column; align-items:stretch; width:100%; max-width:none; min-height:0; padding:56px 22px; gap:24px; }
  body[data-v3] .v3-copy { max-width:none; }
  body[data-v3] .v3-copy h2 { font-size:clamp(30px,6vw,44px); }
  body[data-v3] .v3-copy > p { font-size:15px; }
  body[data-v3] .v3-copy > .v3-detail { font-size:13px; }
  body[data-v3] .v3-section > figure { width:100%; max-width:620px; align-self:center; }
  body[data-v3] .v3-actions { display:flex; flex-direction:column; align-items:stretch; width:100%; }
  body[data-v3] .v3-actions a { width:100%; font-size:14px; padding:15px 12px; }
  .v3-panel { padding:22px; }
  .v3-application { padding:0; }
  .v3-media-grid { grid-template-columns:1fr 1fr; }
  .v3-concept { padding:0; }
  .v3-scene { height:190px; }
  body[data-v3] .v3-closing .v3-copy h2 { font-size:38px; }
  body[data-v3] .v3-closing .v3-copy > p:not(.v3-kicker):not(.v3-detail) { font-size:18px; }
  body[data-v3] .legal-section { padding:40px 24px; }
  body[data-v3] .legal-shell { display:grid; gap:24px; }
  body[data-v3] .legal-panel-links { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  body[data-v3] .legal-panel-brand p { font-size:14px; line-height:1.8; }
}
@media (max-width:480px) {
  .v3-choices,.v3-outcomes { grid-template-columns:1fr; }
  .v3-converge { height:20px; }
  .v3-media-grid { grid-template-columns:1fr; }
  .v3-scene { height:230px; }
  .v3-concept-copy { padding:22px; }
  .v3-concept-copy h3 { font-size:18px; }
  .v3-concept-copy p { font-size:14px; }
  body[data-v3] .v3-section { padding:44px 16px; }
}
@media (prefers-reduced-motion:reduce) { body[data-v3] *,body[data-v3] *::before,body[data-v3] *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; } }
html[data-motion="reduce"] body[data-v3] *,html[data-motion="reduce"] body[data-v3] *::before,html[data-motion="reduce"] body[data-v3] *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; }
/* Shared shell buttons use important text colors; keep preview contrast explicit. */
html body[data-v3] .v3-actions a:first-child { color:#fff !important; background:#0052ff; }
html body[data-v3] .v3-actions a:last-child { color:var(--v3-ink) !important; background:var(--v3-surface); }
body[data-v3] :is(h3,h4,p,figcaption,.v3-choice,.v3-outcomes span) { overflow-wrap:normal; word-break:normal; }
/* Keep words intact normally; allow emergency wrapping at enlarged text sizes. */
body[data-v3] :is(h1,h2) { overflow-wrap:break-word; }
.v3-choices,.v3-outcomes { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:480px) { .v3-choices,.v3-outcomes { grid-template-columns:minmax(0,1fr); } }
.v3-media { padding:20px; color:var(--v3-ink); background:var(--v3-surface); border:1px solid var(--v3-line); border-radius:22px; }
html[data-motion="reduce"] body[data-v3] .v3-business { background:#0b1528; }
@media (max-width:900px) { body[data-v3] .v3-section > * { flex:0 0 auto; } }
body[data-v3] .hero-body { text-align:left; }
body[data-v3] .hero-body .v3-actions { justify-content:flex-start; }
@media (min-width:901px) { body[data-v3] .v3-section { width:auto; } }
@media (min-width:901px) and (max-width:1100px) { body[data-v3] .v3-section { left:40px; right:40px; } }
body[data-v3] .v3-copy { pointer-events:auto; }

/* The reduced-motion shell uses important full-width rules; keep its outer gutter
   after removing the hero card padding. */
@media (min-width:901px) {
  html[data-motion="reduce"] body[data-v3] .hero-body { width:min(1320px,calc(100% - 2 * var(--v3-hero-gutter))) !important; top:auto !important; left:auto !important; height:auto !important; min-height:calc(100svh - 64px); }
}

/* A one-pixel glyph halo separates floating ink from individual ASCII strokes.
   It paints only around letters, leaving the original canvas untouched. */
body[data-v3] { --v3-copy-edge:#fffff0; }
html[data-theme="dark"] body[data-v3], body[data-v3] .v3-business { --v3-copy-edge:#0b0c0f; }
@media (min-width:901px) {
  body[data-v3] :is(.hero-body h1,.v3-hero-copy-group > p,.v3-copy h2,.v3-copy > p,.v3-sponsor-action) { text-shadow:0 0 1px var(--v3-copy-edge),0 0 1px var(--v3-copy-edge),0 0 1px var(--v3-copy-edge),0 0 1px var(--v3-copy-edge); }
}
@media (max-width:900px) {
  body[data-v3] .v3-business { --v3-copy-edge:#063baf; }
  html[data-theme="dark"] body[data-v3] .v3-business { --v3-copy-edge:#0b0c0f; }
  body[data-v3] .v3-business :is(.v3-copy h2,.v3-copy > p,.v3-sponsor-action) { text-shadow:0 0 1px var(--v3-copy-edge),0 0 1px var(--v3-copy-edge),0 0 1px var(--v3-copy-edge),0 0 1px var(--v3-copy-edge); }
}

/* The action fills the right region; its text mirrors the logo's inset from the pill's end. */
@media (min-width:901px) {
  body[data-v3] .bg-navbar .nav-actions { padding:0; }
  body[data-v3] .bg-navbar .nav-actions .link-btn { width:100%; justify-content:flex-end; padding:0 36px; }
  body[data-v3] .v3-hero-copy-group .v3-actions { display:flex; flex-wrap:wrap; }
  body[data-v3] .v3-hero-copy-group .v3-actions a { padding:13px 16px; }
}
@media (min-width:901px) and (max-width:1100px) {
  body[data-v3] .bg-navbar .nav-actions .link-btn { padding:0 24px; }
  body[data-v3] .hero-body { --v3-hero-gutter:100px; gap:24px; }
  body[data-v3] .v3-hero-copy-group > p { font-size:13px; line-height:1.6; }
  body[data-v3] .v3-hero-copy-group .v3-actions { flex-direction:column; align-items:stretch; }
  body[data-v3] .v3-hero-copy-group .v3-actions a { font-size:12px; padding:11px 12px; }
}
body[data-v3] .v3-hero-copy-group .v3-actions a { box-shadow:0 0 18px #0052ff30,0 7px 24px #0052ff20; transition:box-shadow 180ms ease; }
body[data-v3] .v3-hero-copy-group .v3-actions a:is(:hover,:focus-visible) { box-shadow:0 0 25px #0052ff65,0 7px 26px #0052ff35; }
/* Foreground-only support over the original mobile video/poster. */
@media (max-width:900px) {
  html[data-theme="dark"] body[data-v3] .site-header .mobile-menu :is(a,.preference-control) { color:#fff; }
  html[data-theme="dark"] body[data-v3] .site-header .mobile-menu :is(a,.preference-control):hover { background:#ffffff14; }
  html[data-theme="dark"] body[data-v3] .site-header .mobile-menu :is(a,.preference-control):active { background:#ffffff24; }
  html[data-theme="dark"] body[data-v3] .site-header .mobile-menu :is(a,.preference-control):focus-visible { outline-color:#fff; }
}
.v3-socials { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.v3-social-placeholder { display:inline-grid; width:40px; height:40px; place-items:center; border:1px solid currentColor; border-radius:50%; color:inherit; opacity:.8; }
/* Original Web Chat visual language, contained in an independent demo. */
body[data-v3] .v3-chat-demo { display:flex; flex-direction:column; width:100%; min-width:0; height:480px; padding:0; overflow:hidden; text-align:left; border-radius:18px; text-shadow:none; }
body[data-v3] .v3-chat-bar { display:flex; flex:none; align-items:center; justify-content:space-between; gap:12px; min-height:54px; margin:0; padding:12px 18px; border-bottom:1px solid var(--v3-line); font-size:11px; }
.v3-chat-title { display:flex; align-items:center; gap:12px; color:var(--v3-ink); font-size:13px; font-weight:700; }
.v3-chat-transcript { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:20px; scrollbar-width:thin; }
.v3-chat-exchange + .v3-chat-exchange { margin-top:24px; }
body[data-v3] .v3-chat-transcript p { margin:0; color:var(--v3-ink); font-size:14px; line-height:1.65; }
/* Phone-style bubbles: the prompt on the right, the reply mirrored on the left in a neutral tint. */
.v3-chat-user { width:fit-content; max-width:82%; margin:0 0 20px auto; padding:12px 15px; background:var(--v3-subtle); border-radius:14px 14px 3px 14px; }
.v3-chat-answer { margin:0 0 20px; }
body[data-v3] .v3-chat-transcript .v3-chat-reply { width:fit-content; max-width:85%; padding:12px 15px; background:var(--v3-reply); border-radius:14px 14px 14px 3px; transform-origin:0 100%; }
/* Reminiscent's typing wave: three dots rise in turn on a 980ms cycle. */
.v3-chat-typing { display:flex; box-sizing:border-box; width:62px; height:40px; align-items:center; justify-content:center; gap:5px; background:var(--v3-reply); border-radius:14px 14px 14px 3px; transform-origin:0 100%; }
.v3-chat-typing > span { flex:none; width:6px; height:6px; border-radius:50%; background:var(--v3-dot); opacity:.72; animation:v3-typing-dot 980ms linear infinite; will-change:transform; }
.v3-chat-typing > span:nth-child(2) { animation-delay:78ms; }
.v3-chat-typing > span:nth-child(3) { animation-delay:157ms; }
@keyframes v3-typing-dot { 0%,46%,100% { transform:translateY(0); opacity:.72; animation-timing-function:ease-in-out; } 24% { transform:translateY(-2.25px); opacity:.96; animation-timing-function:ease-in-out; } }
.v3-chat-sponsor { padding:14px 16px; border:0; border-radius:12px; background:var(--v3-subtle); }
.v3-chat-sponsor strong { display:block; margin-bottom:6px; color:var(--v3-ink); font-size:14px; font-weight:700; line-height:1.4; }
body[data-v3] .v3-chat-sponsor p { color:var(--v3-muted); font-size:12px; }
body[data-v3] .v3-chat-sponsor-link { display:inline-block; margin-top:8px; color:var(--v3-blue); font-size:12px; font-weight:600; text-decoration:underline; text-underline-offset:2px; }
/* The decorative composer: each prompt types here, then is sent into the thread. */
.v3-chat-composer { display:flex; flex:none; align-items:flex-end; gap:10px; margin:0 16px 16px; padding:10px 10px 10px 14px; border:1px solid var(--v3-line); border-radius:12px; color:var(--v3-muted); font-size:13px; line-height:1.5; transition:border-color 180ms ease; }
.v3-chat-composer[data-chat-composer-state="typing"] { border-color:var(--v3-blue); }
.v3-chat-field { flex:1; min-width:0; max-height:calc(3 * 1.5em + 6px); padding:3px 0; overflow:hidden; overflow-wrap:anywhere; }
body[data-v3] .v3-chat-draft { color:var(--v3-ink); }
.v3-chat-draft::after { content:""; display:inline-block; width:1.5px; height:1.15em; margin-left:1px; vertical-align:-.2em; background:var(--v3-blue); animation:v3-caret 1s steps(1) infinite; }
@keyframes v3-caret { 50% { opacity:0; } }
body[data-v3] .v3-chat-send { display:grid; flex:none; width:26px; height:26px; place-items:center; color:var(--v3-muted); background:var(--v3-subtle); border-radius:8px; font-size:18px; transition:background-color 180ms ease,color 180ms ease; }
body[data-v3] .v3-chat-composer:is([data-chat-composer-state="typing"],[data-chat-composer-state="sent"]) .v3-chat-send { color:#fff; background:#0052ff; }
.v3-chat-user { transform-origin:100% 100%; }
.v3-chat-demo [hidden] { display:none !important; }
/* A tall phone-shaped card on desktop, centred in its column; mobile keeps its 510px chat. */
@media (min-width:901px) { body[data-v3] .v3-chat-demo { justify-self:center; width:min(100%,clamp(300px,(var(--layout-vh) * 100 - 200px) * .56,380px)); height:min(680px,calc(var(--layout-vh) * 100 - 200px)); } }
@media (max-width:900px) { body[data-v3] .v3-chat-demo { height:510px; } }
body[data-v3] .mobile-hero-media.is-unavailable video { display:none; }

/* The adrouter.co signup popup: the original waitlist fields, verification, disclosure and status. */
body[data-v3] .v3-waitlist, body[data-v3] .v3-waitlist * { font-family:"Plus Jakarta Sans",sans-serif; box-sizing:border-box; }
body[data-v3] .v3-waitlist { position:fixed; inset:0; width:min(520px,calc(100vw - 32px)); max-width:none; height:fit-content; max-height:calc(100dvh - 32px); margin:auto; padding:34px 32px 28px; overflow:auto; overscroll-behavior:contain; color:var(--v3-ink); background:var(--v3-surface); border:1px solid var(--v3-line); border-radius:18px; box-shadow:0 28px 90px #00144a4d; text-align:left; text-shadow:none; }
body[data-v3] .v3-waitlist[open] { animation:v3-waitlist-in 180ms ease-out both; }
body[data-v3] .v3-waitlist::backdrop { background:rgba(0,19,61,.54); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
@keyframes v3-waitlist-in { from { opacity:0; transform:translateY(12px) scale(.98); } }
body[data-v3] .v3-waitlist-close { position:absolute; top:14px; right:14px; display:grid; width:38px; height:38px; padding:0; place-items:center; color:var(--v3-blue); background:transparent; border:1px solid var(--v3-line); border-radius:50%; font-size:24px; line-height:1; cursor:pointer; }
body[data-v3] .v3-waitlist h2 { margin:10px 48px 8px 0; color:var(--v3-ink); font-size:clamp(26px,5vw,34px); font-weight:700; line-height:1.1; letter-spacing:-.04em; }
body[data-v3] .v3-waitlist p { margin:0; color:var(--v3-muted); font-size:14px; line-height:1.6; }
body[data-v3] .v3-waitlist p.v3-kicker { margin-right:48px; color:var(--v3-blue); font-size:11px; line-height:1.5; }
.v3-waitlist-form { display:grid; gap:14px; margin-top:22px; }
body[data-v3] .v3-waitlist-roles { display:flex; flex-wrap:wrap; gap:8px; min-width:0; margin:0; padding:0; border:0; }
body[data-v3] .v3-waitlist-roles legend { width:100%; margin:0 0 8px; padding:0; color:var(--v3-ink); font-size:12px; font-weight:700; }
.v3-waitlist-roles label { position:relative; display:inline-flex; }
.v3-waitlist-roles input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
body[data-v3] .v3-waitlist-roles span { display:inline-flex; align-items:center; min-height:40px; padding:9px 16px; color:var(--v3-ink); background:var(--v3-surface); border:1px solid var(--v3-muted); border-radius:999px; font-size:13px; font-weight:600; line-height:1.4; transition:background-color 150ms ease,color 150ms ease,border-color 150ms ease; }
body[data-v3] .v3-waitlist-roles input:checked + span { color:#fff; background:#0052ff; border-color:#0052ff; }
body[data-v3] .v3-waitlist-roles input:focus-visible + span { outline:3px solid var(--v3-blue); outline-offset:3px; }
.v3-waitlist-field { display:grid; gap:6px; }
body[data-v3] .v3-waitlist-field span { color:var(--v3-ink); font-size:12px; font-weight:700; }
body[data-v3] .v3-waitlist-field input { width:100%; min-height:46px; margin:0; padding:11px 14px; color:var(--v3-ink); background:var(--v3-surface); border:1px solid var(--v3-muted); border-radius:12px; font-size:15px; line-height:1.4; }
body[data-v3] .v3-waitlist-field input:focus-visible { outline:3px solid var(--v3-blue); outline-offset:2px; }
body[data-v3] .v3-waitlist-submit { min-height:48px; margin-top:4px; padding:13px 18px; color:#fff; background:#0052ff; border:1px solid #0052ff; border-radius:999px; font-size:15px; font-weight:700; line-height:1.4; cursor:pointer; box-shadow:0 0 18px #0052ff30,0 7px 24px #0052ff20; transition:box-shadow 180ms ease; }
body[data-v3] .v3-waitlist-submit:is(:hover,:focus-visible) { box-shadow:0 0 25px #0052ff65,0 7px 26px #0052ff35; }
body[data-v3] .v3-waitlist :is(.v3-waitlist-close,.v3-waitlist-submit):focus-visible { outline:3px solid var(--v3-blue); outline-offset:3px; }
body[data-v3] .v3-waitlist .waitlist-turnstile { order:0; min-height:65px; }
body[data-v3] .v3-waitlist .verification-status { order:0; min-height:0; color:var(--v3-muted); font-size:12px; line-height:1.5; }
body[data-v3] .v3-waitlist .verification-retry { justify-self:start; min-height:40px; padding:8px 16px; color:var(--v3-blue); background:transparent; border:1px solid currentColor; border-radius:999px; font-size:13px; font-weight:700; line-height:1.4; cursor:pointer; }
body[data-v3] .v3-waitlist .verification-retry[hidden] { display:none; }
body[data-v3] .v3-waitlist .verification-retry:focus-visible { outline:3px solid var(--v3-blue); outline-offset:3px; }
body[data-v3] .v3-waitlist p.waitlist-disclosure { margin-top:18px; padding-top:14px; color:var(--v3-muted); border-top:1px solid var(--v3-line); font-size:12px; }
body[data-v3] .v3-waitlist .waitlist-disclosure a { color:var(--v3-blue); }
body[data-v3] .v3-waitlist .v3-waitlist-status { margin-top:10px; color:var(--v3-ink); font-size:13px; font-weight:600; }
body[data-v3] .v3-waitlist .v3-waitlist-status:empty { display:none; }
@media (max-width:480px) { body[data-v3] .v3-waitlist { padding:30px 20px 22px; } }

/* Desktop-only bright backdrop. The shared wash treats moving video and still poster equally;
   panels, frames, navigation and controls retain their selected theme. */
@media (min-width:901px) {
  /* The light frame uses the legal chapter's white surface and blue navigation throughout. */
  html[data-theme="light"] body[data-v3] .frame-panel { background-color:#fff; }
  html[data-theme="light"] body[data-v3] .frame-panel::before { background-color:#fff; opacity:1; }
  html[data-theme="light"] body[data-v3] .frame-top.navbar :is(.logo,.nav-links a,.nav-actions .link-btn,.waitlist-link,.menu-toggle) { color:#063baf; border-color:rgba(0,82,255,.22); }
  html[data-theme="light"] body[data-v3][data-backdrop] .frame-top.navbar .logo { color:#003dbf; }
  html[data-theme="light"] body[data-v3] .frame-top.navbar :is(.nav-links a,.nav-actions .link-btn,.waitlist-link):hover { color:#0052ff; background-color:rgba(0,82,255,.07); }
  html:has(> body[data-backdrop]), html body[data-v3][data-backdrop] { background-color:#eef1ff; }
  .v3-backdrop { position:fixed; inset:0; z-index:0; isolation:isolate; overflow:hidden; pointer-events:none; background:#eef1ff; }
  .v3-backdrop video { position:absolute; inset:-3%; width:106%; height:106%; object-fit:cover; }
  .v3-backdrop video, .v3-backdrop::before { filter:blur(10px) saturate(1.25) contrast(.72) brightness(1.45); transform:scale(1.04); }
  /* Where the video is hidden, the poster gets the video's box and treatment. */
  .v3-backdrop::before { position:absolute; inset:-3%; background:url("/v3/assets/backdrop-poster.jpg") center/cover no-repeat; }
  .v3-backdrop:is(.is-static,.is-unavailable)::before, html[data-motion="reduce"] .v3-backdrop::before { content:""; }
  .v3-backdrop::after { content:""; position:absolute; inset:0; z-index:1; background:rgba(255,255,255,.22); }
  .v3-backdrop-grain { z-index:2; position:absolute; inset:0; background:url("/mobile/assets/grain.png") center/340px repeat; opacity:.12; mix-blend-mode:soft-light; }
  .v3-backdrop-flares { z-index:2; position:absolute; inset:0; background:radial-gradient(ellipse 75% 78% at 100% 0%,rgba(118,148,250,.88) 20%,transparent 95%),radial-gradient(ellipse 78% 82% at 0% 100%,rgba(186,166,250,.86) 18%,transparent 95%),radial-gradient(ellipse 50% 55% at 5% 0%,rgba(255,167,212,.4),transparent 85%),radial-gradient(ellipse 45% 55% at 37% 30%,rgba(255,255,255,.82) 10%,transparent 90%),radial-gradient(ellipse 36% 50% at 75% 68%,rgba(255,255,255,.76) 8%,transparent 90%),radial-gradient(ellipse 35% 35% at 55% 105%,rgba(255,255,255,.5),transparent 100%); }
  .v3-backdrop canvas { z-index:2; position:absolute; inset:0; width:100%; height:100%; opacity:.22; }
  .v3-backdrop:is(.is-static,.is-unavailable) video { display:none; }
  /* Reduced motion keeps the still poster, grain and flares. */
  html[data-motion="reduce"] .v3-backdrop :is(video,canvas) { display:none !important; }
  html body[data-backdrop] .content-scroll-layer { background:transparent; }
  html[data-motion="reduce"] body[data-backdrop] .reduced-motion-footer { position:relative; z-index:1; }
  html[data-motion="reduce"] body[data-v3][data-backdrop] .v3-business { background:none; }
  /* Floating copy stays dark in both themes, including the business-section handoff. */
  html body[data-v3][data-backdrop], html body[data-v3][data-backdrop] .v3-business { --v3-copy-ink:#111827; --v3-copy-muted:#111827; --v3-copy-blue:#0d2344; }
  html body[data-v3][data-backdrop] :is(.hero-body h1,.v3-copy h2) { color:var(--v3-copy-ink); }
  html body[data-v3][data-backdrop] :is(.v3-hero-copy-group > p,.v3-copy > p) { color:var(--v3-copy-muted); }
  html body[data-v3][data-backdrop] .v3-copy > .v3-kicker { color:var(--v3-copy-blue); }
  html body[data-backdrop] :is(.hero-body h1,.hero-body h1 *,.v3-hero-copy-group > p,.v3-copy,.v3-copy *,.section-scroll-btn,.section-scroll-btn *) { text-shadow:none; }
  html body[data-backdrop] .section-scroll-btn { color:var(--v3-copy-blue); }
  html body[data-backdrop] .v3-sponsor-action { color:var(--v3-copy-blue); border-color:currentColor; }
  html.has-windows-sticky-art body[data-backdrop] .business-theme-section::before { content:none; }
}
/* Narrow /site/ windows (only reached by resizing) show the plain shell instead. */
@media (max-width:900px) { body[data-backdrop] .v3-backdrop { display:none; } }

/* Extending side panels. The side rails sit in their own layer above the backdrop and below the
   content: the left rail grows to 45% of the viewport through the business sections and the
   right rail through the sponsor sections (scripts/build-v3.mjs). Before the driver runs, both
   rest at the 80px frame. The top and bottom rails stay above everything. */
@media (min-width:901px) {
  body[data-v3] { --v3-panel-w:calc(100vw * .45); }
  .v3-side-frame { position:fixed; top:0; left:0; width:100vw; height:100vh; z-index:0; pointer-events:none; }
  body[data-v3] .v3-side-frame .frame-panel { width:var(--v3-panel-w); pointer-events:none; }
  body[data-v3] .v3-side-frame .frame-left { transform:translate3d(calc(80px - var(--v3-panel-w)),0,0); }
  body[data-v3] .v3-side-frame .frame-right { transform:translate3d(calc(var(--v3-panel-w) - 80px),0,0); }
  /* The copy is a left-aligned block centred in the full panel and never moves: the driver keeps
     it hidden while any part of it would be off the panel, then fades it in, and fades it out
     before the panel edge reaches it. The illustration is centred between the panel edge and the
     screen edge, where the far rail has already exited. */
  html[data-motion="full"] body[data-v3] .v3-section:is(.v3-copy-left,.v3-copy-right) { --v3-copy-gutter:clamp(24px,3vw,48px); display:grid; grid-template-columns:var(--v3-panel-w) minmax(0,1fr); align-items:center; gap:0; left:0; right:0; width:auto; max-width:none; margin:0; padding-inline:0; box-sizing:border-box; }
  html[data-motion="full"] body[data-v3] .v3-section.v3-copy-right { grid-template-columns:minmax(0,1fr) var(--v3-panel-w); }
  html[data-motion="full"] body[data-v3] :is(.v3-copy-left,.v3-copy-right) > .v3-copy { justify-self:center; width:min(510px,calc(100% - 2 * var(--v3-copy-gutter))); text-align:left; }
  /* The driver fades each line of the panel copy on its own. */
  html[data-motion="full"] body[data-v3] :is(.v3-copy-left,.v3-copy-right) > .v3-copy > * { will-change:opacity; }
  /* Focused controls are always visible; the driver also scrolls them to their section centre. */
  html[data-motion="full"] body[data-v3] :is(.v3-copy-left,.v3-copy-right) > .v3-copy:focus-within { pointer-events:auto !important; }
  html[data-motion="full"] body[data-v3] :is(.v3-copy-left,.v3-copy-right) > .v3-copy:focus-within > * { opacity:1 !important; }
  html[data-motion="full"] body[data-v3] :is(.v3-copy-left,.v3-copy-right) > figure { justify-self:center; width:min(620px,calc(100% - 2 * var(--v3-copy-gutter))); }
  html[data-motion="full"] body[data-v3] .v3-copy-right > .v3-copy { order:2; }
  /* Panel copy is only ever visible on a panel, so in dark mode it takes the panel ink throughout. */
  html[data-theme="dark"][data-motion="full"] body[data-v3][data-backdrop] :is(.v3-copy-left,.v3-copy-right) > .v3-copy { --v3-copy-ink:#f3f6ff; --v3-copy-muted:#c4d1e7; --v3-copy-blue:#acc8ff; }
  /* Normal-flow layouts have no panels and keep copy on the same side. */
  html:not([data-motion="full"]) body[data-v3] .v3-copy-right { flex-direction:row-reverse; }
  /* The scroll cue stays at the screen centre, clear of the 45% panels. In dark mode it keeps the
     light treatment (no pill or border) in white, with a soft navy glow so it reads over the pale
     video; the arrow inherits both. */
  html[data-theme="dark"][data-motion="full"] body[data-backdrop] .section-scroll-btn { color:#fff; text-shadow:0 0 1px rgba(6,26,54,.8),0 1px 3px rgba(6,26,54,.6),0 0 14px rgba(6,26,54,.45); }
  /* Dark panels stay navy: each glyph takes the panel ink on a panel and the floating ink over
     the video, split exactly at the panel edges the driver writes as --v3-split-l / --v3-split-r
     relative to the copy group. The computed colour stays the floating ink. Buttons and form
     surfaces keep their own backgrounds. */
  html[data-theme="dark"][data-motion="full"].has-v3-split-ink body[data-backdrop] :is(.v3-hero-copy-group :is(.v3-title-line,.v3-hero-copy),.v3-closing > .v3-copy > :is(.v3-kicker,h2,p,.v3-sponsor-action),#waitlist .waitlist-content > :is(h2,p)) {
    -webkit-text-fill-color:transparent; -webkit-background-clip:text; background-clip:text; background-repeat:no-repeat;
    background-image:linear-gradient(90deg,var(--v3-panel-ink) 0 var(--v3-split-l,-99999px),var(--v3-video-ink) var(--v3-split-l,-99999px) var(--v3-split-r,99999px),var(--v3-panel-ink) var(--v3-split-r,99999px));
    background-size:var(--v3-ink-w,100%) 100%; background-position:calc(-1 * var(--v3-leaf-x,0px)) 0;
  }
  /* Ink pairs: the floating ink over the video and the panel ink, for headings, body copy and blue. */
  body[data-v3] :where(.v3-hero-copy-group :is(.v3-title-line,.v3-hero-copy),.v3-closing > .v3-copy > :is(.v3-kicker,h2,p,.v3-sponsor-action),#waitlist .waitlist-content > :is(h2,p)) { --v3-video-ink:var(--v3-copy-ink); --v3-panel-ink:#f3f6ff; }
  body[data-v3] :where(.v3-hero-copy,.v3-closing > .v3-copy > p:not(.v3-kicker),#waitlist .waitlist-intro) { --v3-video-ink:var(--v3-copy-muted); --v3-panel-ink:#c4d1e7; }
  body[data-v3] :where(.v3-title-line.blue-copy,.v3-closing > .v3-copy > :is(.v3-kicker,.v3-sponsor-action)) { --v3-video-ink:var(--v3-copy-blue); --v3-panel-ink:#acc8ff; }
}
@media (min-width:901px) and (forced-colors:active) {
  html[data-theme="dark"][data-motion="full"].has-v3-split-ink body[data-backdrop] :is(.v3-hero-copy-group :is(.v3-title-line,.v3-hero-copy),.v3-closing > .v3-copy > :is(.v3-kicker,h2,p,.v3-sponsor-action),#waitlist .waitlist-content > :is(h2,p)) { -webkit-text-fill-color:currentColor; background-image:none; }
}
/* Narrow /site/ windows keep 80px side rails above the content, like the other frame rails. */
@media (max-width:900px) { .v3-side-frame { position:fixed; top:0; left:0; width:100vw; height:100vh; z-index:100; pointer-events:none; } }
html[data-motion="reduce"] .v3-side-frame { display:none !important; }

/* Desktop waitlist section in the original developer-waitlist style. Floating copy, including the
   disclosure's links, stays dark in both themes like the other sections (the original dark theme
   would make the links white); the form surface follows the theme like the other V3 panels. */
@media (min-width:901px) {
  html body[data-v3][data-backdrop] #waitlist.v3-waitlist-section :is(.waitlist-content h2,.waitlist-disclosure,.waitlist-status) { color:var(--v3-copy-ink); opacity:1; text-shadow:none; }
  html body[data-v3][data-backdrop] #waitlist.v3-waitlist-section .waitlist-intro { color:var(--v3-copy-muted); text-shadow:none; }
  html body[data-v3][data-backdrop] #waitlist.v3-waitlist-section .waitlist-disclosure a { color:inherit; }
  html body[data-v3][data-backdrop] #waitlist.v3-waitlist-section .waitlist-form { background-color:var(--v3-surface) !important; border-color:var(--v3-line); }
  html body[data-v3][data-backdrop] #waitlist.v3-waitlist-section .waitlist-form input { color:var(--v3-ink); background:transparent; }
  html body[data-v3][data-backdrop] #waitlist.v3-waitlist-section .waitlist-form input::placeholder { color:var(--v3-muted); opacity:1; }
  html body[data-v3][data-backdrop] #waitlist.v3-waitlist-section .waitlist-status:empty { display:none; }
}

/* Preference icons: centred SVG masks at one optical size instead of the font glyphs, keyed off the
   state experience.js writes. Forced colours keep the text glyph. */
body[data-v3] .preference-control span { display:block; width:24px; height:24px; font-size:0; background:currentColor; -webkit-mask:var(--v3-pref-icon) center / 20px no-repeat; mask:var(--v3-pref-icon) center / 20px no-repeat; }
body[data-v3] .preference-control[data-preference-control="theme"][data-state="system"] { --v3-pref-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 3a9 9 0 0 0 0 18z' fill='black' stroke='none'/%3E%3C/svg%3E"); }
body[data-v3] .preference-control[data-preference-control="theme"][data-state="light"] { --v3-pref-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4' fill='black' stroke='none'/%3E%3Cpath d='M12 2.5V5M12 19v2.5M2.5 12H5M19 12h2.5M5.3 5.3l1.75 1.75M16.95 16.95l1.75 1.75M5.3 18.7l1.75-1.75M16.95 7.05l1.75-1.75'/%3E%3C/svg%3E"); }
body[data-v3] .preference-control[data-preference-control="theme"][data-state="dark"] { --v3-pref-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19.03 4.56A9 9 0 1 0 19.03 19.44A7.5 7.5 0 0 1 19.03 4.56Z' fill='black' stroke='none'/%3E%3C/svg%3E"); }
body[data-v3] .preference-control[data-preference-control="motion"][data-state="system"] { --v3-pref-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h18M7.5 7.5 3 12l4.5 4.5M16.5 7.5 21 12l-4.5 4.5'/%3E%3C/svg%3E"); }
body[data-v3] .preference-control[data-preference-control="motion"][data-state="reduce"] { --v3-pref-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3C/svg%3E"); }
body[data-v3] .preference-control[data-preference-control="motion"][data-state="full"] { --v3-pref-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6c1.5-1.5 3-1.5 4.5 0s3 1.5 4.5 0 3-1.5 4.5 0 3 1.5 4.5 0M3 12c1.5-1.5 3-1.5 4.5 0s3 1.5 4.5 0 3-1.5 4.5 0 3 1.5 4.5 0M3 18c1.5-1.5 3-1.5 4.5 0s3 1.5 4.5 0 3-1.5 4.5 0 3 1.5 4.5 0'/%3E%3C/svg%3E"); }
@media (forced-colors:active) {
  body[data-v3] .preference-control span { display:inline; width:auto; height:auto; font-size:20px; background:none; -webkit-mask:none; mask:none; }
}
/* "Sustainable AI starts with you." takes the shared desktop scale, with a step for short viewports
   so the legal panel still fits the bottom frame. */
@media (min-width:901px) { body[data-v3] .legal-panel-brand h2 { font-size:clamp(44px,4.5vw,72px); } }
@media (min-width:901px) and (max-height:800px) { body[data-v3] .legal-panel-brand h2 { font-size:clamp(34px,3.4vw,46px); } }
