/* Factory Franchise. System fonts and local assets only. */
:root {
  --ink: #000c1f; --ink-2: rgb(0 12 31 / .7); --ink-3: rgb(0 12 31 / .65);
  --navy: #002664; --blue: #1a40a1; --gold: #ffcc00;
  --tint: rgb(0 38 100 / .05); --tint-2: rgb(0 38 100 / .1);
  --line: rgb(0 12 31 / .1); --line-2: rgb(0 12 31 / .05);
  --serif: ui-serif, "Iowan Old Style", "Times New Roman", Times, serif;
  --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --gutter: 16px;
}
@media (min-width: 768px) { :root { --gutter: 32px; } }

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html:has(dialog[open]) { overflow: hidden; }
body { margin: 0; background: #fff; color: var(--ink); font: 16px/24px var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; }
img, svg { display: block; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; border-radius: 8px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--navy); color: #fff; padding: 8px 16px; border-radius: 40px; }
.skip:focus { left: 8px; }
.ph { color: var(--ink-3); }

/* Type scale: hero 96/96 -0.06em, feature 40/42 -0.02em, body 18/27 -0.03em */
.t-hero, .t-page, .t-section { font-family: var(--serif); font-weight: 400; margin: 0; letter-spacing: -0.06em; }
.t-hero { font-size: clamp(40px, 12vw, 96px); line-height: 1; }
.t-page { font-size: clamp(48px, 8vw, 96px); line-height: 1; letter-spacing: -0.05em; }
.t-section { font-size: clamp(48px, 7vw, 96px); line-height: 1; letter-spacing: -0.05em; }
.t-feature { font: 500 clamp(28px, 3vw, 40px)/1.05 var(--sans); letter-spacing: -0.02em; margin: 0; }
.t-support { font-size: clamp(18px, 2.4vw, 24px); line-height: 1.5; letter-spacing: -0.01em; color: var(--ink-2); margin: 0; }
.t-body { font-size: 18px; line-height: 27px; letter-spacing: -0.03em; color: var(--ink-2); margin: 0; }
.t-label { font-size: 12px; line-height: 12px; letter-spacing: -0.03em; color: var(--ink-2); }
.t-cta { font-weight: 500; letter-spacing: -0.03em; text-decoration: none; }
.t-cta:hover { text-decoration: underline; }

/* Buttons */
.pill { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 40px; cursor: pointer; font-weight: 500; letter-spacing: -0.03em; text-decoration: none; transition: background-color .2s, transform .1s; }
.pill:active { transform: scale(.97); }
.pill-navy { background: var(--navy); color: #fff; height: 44px; padding: 0 20px; }
.pill-navy:hover { background: var(--blue); }
.pill-tint { background: var(--tint); height: 56px; padding: 0 24px; }
.pill-tint:hover { background: var(--tint-2); }
.round { width: 48px; height: 48px; border-radius: 50%; border: 0; display: inline-grid; place-items: center; background: transparent; cursor: pointer; }
.round:hover { background: var(--tint); }
.round-navy { background: var(--navy); color: #fff; }
.round-navy:hover { background: var(--blue); }
.round-tint { width: 56px; height: 56px; background: var(--tint); }
.round[aria-disabled="true"] { opacity: .35; cursor: default; }

/* Banner: non-affiliation notice */
.banner { text-align: center; padding: 8px var(--gutter); }
.banner summary { display: inline-flex; align-items: center; gap: 4px; list-style: none; cursor: pointer; }
.banner summary::-webkit-details-marker { display: none; }
.banner summary:hover .t-label { color: var(--ink); }
.banner p { max-width: 560px; margin: 8px auto 4px; font-size: 14px; line-height: 21px; color: var(--ink-2); }

/* Header */
.site-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 24px; }
.home-link { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font: 400 22px/1 var(--serif); letter-spacing: -0.04em; }
.mark { width: 24px; height: 24px; flex: none; }
.page-header { padding: 24px var(--gutter); }
@media (min-width: 768px) { .page-header { padding: 24px 48px; } }

/* Menu dialog */
dialog.menu { width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; border: 0; padding: 0; background: #fff; }
dialog.menu::backdrop { background: rgb(0 12 31 / .2); }
dialog.menu .site-header { max-width: 1440px; margin: 0 auto; }
dialog.menu nav { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8vh var(--gutter); }

/* Big serif link list (menu + footer) */
.big-links { display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.big-links a, .big-links button { display: inline-block; font: 400 clamp(36px, 6vw, 64px)/1 var(--serif); letter-spacing: -0.05em; text-decoration: none; background: none; border: 0; padding: 0 8px; border-radius: 8px; cursor: pointer; text-align: center; }
.big-links a:hover, .big-links button:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }

/* Hero card */
.hero { position: relative; isolation: isolate; overflow: clip; margin: 0 var(--gutter); border-radius: 48px; padding: 144px 32px; display: flex; flex-direction: column; align-items: center;
  background: radial-gradient(60% 40% at 20% 10%, #fff 0, transparent 70%), radial-gradient(50% 50% at 85% 30%, #e4e9f1 0, transparent 70%), linear-gradient(#f3f4f6, #e8eaee); }
.hero .site-header { position: absolute; top: 16px; left: 24px; right: 24px; }
.home-link { justify-self: start; }
.hero-copy { text-align: center; }
.hero-copy .t-support { margin-top: 20px; }
.stage { position: relative; width: min(100%, 687px); margin-top: 48px; }
.stage .ask { position: absolute; top: 16px; left: 16px; right: 16px; }
.ask { z-index: 2; display: flex; align-items: center; gap: 4px; padding: 23px 23px 23px 40px; background: #fff; border-radius: 48px; border: 1px solid transparent; outline: 1px solid var(--line-2); box-shadow: 0 8px 24px rgb(1 14 36 / .12); }
.ask input { flex: 1; min-width: 0; border: 0; background: transparent; outline: none; font: 400 21px/31.5px var(--sans); letter-spacing: -0.01em; padding: 8px 0; height: 48px; text-overflow: ellipsis; }
.ask input::placeholder { color: var(--ink-2); }
.ask:focus-within { outline: 2px solid var(--blue); outline-offset: 3px; }
.slides { position: relative; aspect-ratio: 3 / 2; border-radius: 40px; overflow: hidden; background: #cfd6e0; }
.slides-track { display: flex; height: 100%; transition: transform .8s cubic-bezier(.22, 1, .36, 1); }
.slide { flex: 0 0 100%; position: relative; }
.slide img, .photo { width: 100%; height: 100%; object-fit: cover; }
.photo { height: auto; aspect-ratio: 16 / 9; border-radius: 48px; }
.hero-bg { position: absolute; inset: -10%; z-index: -1; background: center / cover no-repeat; filter: blur(64px) saturate(1.1); opacity: .32; transition: background-image .8s; }
.carousel-ctl { display: flex; gap: 10px; justify-content: center; margin-top: 48px; }
@media (max-width: 767px) {
  .hero { border-radius: 40px; padding: 112px 16px 40px; }
  .hero .site-header { left: 8px; right: 8px; padding: 24px 16px; }
  .stage .ask { top: 12px; left: 12px; right: 12px; }
  .ask { padding: 12px 12px 12px 24px; }
  .slides { aspect-ratio: 4 / 5; }
  .ask input { font-size: 17px; line-height: 24px; height: 40px; }
  .ask .round { width: 40px; height: 40px; }
}

/* Manifesto: words sharpen as you scroll */
.manifesto { max-width: calc(1034px + 2 * var(--gutter)); margin: clamp(120px, 20vw, 288px) auto 0; padding: 0 var(--gutter); text-align: center; }
.manifesto p { font: 400 clamp(40px, 6.7vw, 96px)/1 var(--serif); letter-spacing: -0.06em; margin: 0; }
.manifesto .w { transition: opacity .5s; }
.manifesto .w.dim { opacity: .65; }
.inline-btn { display: inline-grid; place-items: center; width: .93em; height: .93em; border-radius: 50%; background: var(--blue); color: #fff; vertical-align: -0.12em; text-decoration: none; margin: 0 .05em; }
.inline-btn svg { width: .45em; height: .45em; }
.inline-badge { display: inline-grid; place-items: center; width: .93em; height: .93em; border-radius: 50%; background: #fff; vertical-align: -0.12em; box-shadow: 0 8px 24px rgb(1 14 36 / .14); margin: 0 .05em; }
.inline-badge svg { width: .55em; height: .55em; }

/* Feature rows */
.features { max-width: 1440px; margin: clamp(120px, 20vw, 288px) auto 0; padding: 0 var(--gutter); display: flex; flex-direction: column; gap: 120px; }
.feature { display: grid; gap: 40px; justify-items: center; }
.feature-text { width: min(100%, 308px); display: flex; flex-direction: column; gap: 24px; }
.feature-text .t-body { margin-top: -4px; }
.squircle { position: relative; width: min(100%, 448px); aspect-ratio: 1; border-radius: clamp(38px, 4vw, 57px); overflow: hidden; content-visibility: auto; }
@media (min-width: 1145px) {
  .features { padding: 0 48px; }
  .feature { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 18px; align-items: center; justify-items: start; }
  .feature .squircle { grid-column: 3 / span 4; width: 100%; max-width: 437px; }
  .feature-text { grid-column: 8 / span 3; width: 100%; max-width: 308px; }
}

/* Feature 1: stations drifting past, dark */
.sq-stations { background: #000; display: flex; flex-direction: column; justify-content: center; gap: 12px; }
.drift { display: flex; gap: 12px; width: max-content; animation: drift 40s linear infinite; }
.drift:nth-child(2) { animation-duration: 55s; animation-direction: reverse; }
.drift:nth-child(3) { animation-duration: 47s; }
.drift span { flex: none; width: 150px; height: 128px; border-radius: 12px; padding: 10px 12px 6px; font-size: 13px; line-height: 16px; font-weight: 500; color: #fff;
  background: linear-gradient(160deg, #1d2b45, #0b1426); border: 1px solid rgb(255 255 255 / .08); display: flex; flex-direction: column; justify-content: space-between; }
.drift img { width: 84px; height: 84px; align-self: center; }
@media (max-width: 500px) { .sq-stations { gap: 10px; } .drift { gap: 10px; } .drift span { width: 118px; height: 106px; font-size: 12px; line-height: 14px; } .drift img { width: 62px; height: 62px; } }
.sq-stations.paused .drift, .sq-stations:not([data-playing="true"]) .drift,
.sq-data:not([data-playing="true"]) .beacon svg { animation-play-state: paused; }
.sq-pause { position: absolute; right: 16px; bottom: 16px; width: 36px; height: 36px; background: rgb(0 0 0 / .55); color: #fff; }
.sq-pause:hover { background: rgb(0 0 0 / .75); }
@keyframes drift { to { transform: translateX(-50%); } }

/* Feature 2: night sky + lock */
.sq-data { background: linear-gradient(#02060c, #07122a 50%, #112b66); display: grid; place-items: center; padding: 16px; }
.sky { position: absolute; inset: 0; width: 100%; height: 100%; fill: #b3d9ff; pointer-events: none; }
.sky g { opacity: .6; animation: twinkle 12s ease-in-out infinite paused; }
.sky[data-playing="true"] g { animation-play-state: running; }
@keyframes twinkle { 0%, 100% { opacity: .15; } 50% { opacity: .9; } }
.beacon { position: absolute; top: 13%; left: 18%; z-index: 1; width: 44px; height: 44px; translate: -50% -50%; border: 0; border-radius: 50%; background: transparent; color: #fff; display: grid; place-items: center; cursor: pointer; }
.beacon svg { width: 8px; height: 8px; animation: beacon 9s ease-in-out -2s infinite; }
@keyframes beacon { 0%, 100% { opacity: .12; } 50% { opacity: .55; } }
.trail { position: absolute; top: 50%; right: 50%; width: 80px; height: 1px; border-radius: 1px; pointer-events: none; transform-origin: 100% center;
  background: linear-gradient(90deg, transparent, rgb(166 213 255 / .5) 65%, #fff); animation: shoot .85s cubic-bezier(.4, 0, .8, 1) both; }
@keyframes shoot { 0% { opacity: 0; transform: translate(0, 0) rotate(32deg) scaleX(.15); } 12%, 75% { opacity: 1; } 100% { opacity: 0; transform: translate(210px, 132px) rotate(32deg) scaleX(1); } }
.lock { position: relative; width: 130px; height: 130px; border-radius: 50%; background: #e6e8ea; color: #000; display: grid; place-items: center;
  box-shadow: 0 8px 8px rgb(0 0 0 / .1), 0 28px 14px rgb(0 0 0 / .09), 0 64px 19px rgb(0 0 0 / .05), 0 114px 23px rgb(0 0 0 / .02); }
.lock svg { overflow: visible; }
.lock .shackle { transform-origin: 6.5px 9px; transform: translateY(-2px) rotate(-18deg); }
.lock[data-visible="true"] .shackle { animation: lock-close .7s ease both; }
.lock[data-visible="true"] svg { animation: lock-recoil .18s ease .63s both; }
@keyframes lock-close { 0%, 15% { transform: translateY(-2px) rotate(-18deg); animation-timing-function: ease-in-out; } 55% { transform: translateY(-3px) rotate(-18deg); animation-timing-function: cubic-bezier(.32, 0, .8, 0); } 90%, 100% { transform: none; } }
@keyframes lock-recoil { 0% { transform: none; animation-timing-function: cubic-bezier(.22, 1, .36, 1); } 35% { transform: translateY(2px); animation-timing-function: ease-in-out; } 100% { transform: none; } }

/* Feature 3: standards in circles */
.sq-standards { background: #f7f7f7; display: grid; grid-template-columns: repeat(3, 182px); gap: 32px; place-content: center; }
.badge { width: 182px; height: 182px; border-radius: 50%; background: #fafafa; box-shadow: 0 8px 24px rgb(1 14 36 / .12); display: grid; place-items: center; text-align: center; padding: 24px;
  font: 400 26px/1 var(--serif); letter-spacing: -0.04em; }
.badge small { display: block; font: 500 11px/14px var(--sans); letter-spacing: 0; color: var(--ink-2); margin-top: 8px; }

/* Feature 4: a dock of country tiles */
.sq-europe { background: linear-gradient(#fafafa, #ececec); display: grid; place-items: center; }
.dock { display: flex; gap: 20px; padding: 28px; border-radius: 40px; background: rgb(255 255 255 / .55); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .8), 0 30px 60px rgb(0 0 0 / .08); }
.tile { width: 92px; height: 92px; border-radius: 22px; flex: none; box-shadow: inset 0 0 0 1px rgb(0 0 0 / .06), 0 6px 16px rgb(1 14 36 / .18); }
.f-nl { background: linear-gradient(#ae1c28 0 33.3%, #fff 0 66.6%, #21468b 0); }
.f-de { background: linear-gradient(#000 0 33.3%, #d00 0 66.6%, #ffce00 0); }
.f-fr { background: linear-gradient(90deg, #0055a4 0 33.3%, #fff 0 66.6%, #ef4135 0); }
.f-it { background: linear-gradient(90deg, #009246 0 33.3%, #fff 0 66.6%, #ce2b37 0); }
.f-pl { background: linear-gradient(#fff 0 50%, #dc143c 0); }
.f-es { background: linear-gradient(#aa151b 0 25%, #f1bf00 0 75%, #aa151b 0); }
.sq-europe .dock { transform: translateX(18%); }

/* Roadmap */
.roadmap { margin-top: clamp(160px, 20vw, 288px); text-align: center; overflow-x: clip; }
.roadmap-head { display: flex; flex-direction: column; align-items: center; gap: 24px; padding: 0 var(--gutter); }
.roadmap-head .t-section { max-width: 700px; }
.roadmap-head .t-body { max-width: 512px; color: rgb(0 12 31 / .7); }
/* Roadmap artwork: a 3385 x 1284 canvas scaled to the page; cards lag behind scrolling by their own --drag */
.roadmap-art { position: relative; left: 50%; transform: translateX(-50%); width: max(950.4px, 100%); max-width: 1728px; aspect-ratio: 1728 / 1284; margin-top: 44px; pointer-events: none; }
@media (max-width: 767px) { .roadmap-art { width: 1313px; margin-top: 16px; left: calc(50% + 124px); } }
.roadmap-canvas { position: absolute; top: 0; left: 50%; width: 3385px; height: 1284px; translate: -50%; transform: scale(var(--scale, 1)); transform-origin: center top; font-size: 14px; line-height: 21px; letter-spacing: -0.03em; }
.rcard { position: absolute; display: flex; flex-direction: column; gap: 16px; background: #fff; border-radius: 40px; padding: 20px; text-align: left; outline: 1px solid var(--line-2);
  box-shadow: 0 16.7px 36.8px rgb(0 0 0 / .08), 0 66.7px 66.7px rgb(0 0 0 / .07), 0 150px 90.3px rgb(0 0 0 / .04), 0 267.4px 106.9px rgb(0 0 0 / .01);
  translate: 0 calc(var(--damp, 0px) * var(--drag, .6) / var(--scale, 1)); transition: translate calc(var(--drag, .6) * .4s) cubic-bezier(.22, 1, .36, 1); }
@supports (corner-shape: superellipse(2)) { .rcard { corner-shape: superellipse(1.3); } }
.rcard-title { font-weight: 500; padding: 0 2px; margin: 0; }
.rcard .rrow, .rcard .bar, .rcard .rbtn { margin-top: 0; }
.rrow { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 20px; background: var(--tint); }
.rrow b { font-weight: 500; }
.rrow .muted { color: var(--ink-2); }
.chip { font-size: 12px; font-weight: 500; padding: 4px 10px; border-radius: 20px; background: #fff; white-space: nowrap; }
.chip.go { background: #dff3e4; color: #0b5d27; }
.chip.warn { background: #fff4cc; color: #6b5200; }
.bar { height: 6px; border-radius: 3px; background: rgb(0 12 31 / .08); overflow: hidden; }
.bar i { display: block; height: 100%; background: var(--navy); border-radius: 3px; }
.rbtn { height: 44px; width: 100%; border-radius: 40px; border: 0; background: var(--navy); color: #fff; font-weight: 500; }
.drop { border: 1.5px dashed rgb(0 12 31 / .2); border-radius: 20px; padding: 28px 16px; text-align: center; color: var(--ink-2); }
@media (max-width: 767px) {
  .roadmap-art { left: auto; transform: none; width: auto; max-width: none; aspect-ratio: auto; margin: 40px var(--gutter); }
  .roadmap-canvas { position: static; width: auto; height: auto; translate: none; transform: none; display: grid; gap: 28px; }
  .roadmap .rcard { position: relative; left: auto !important; top: auto !important; width: 100% !important; border-radius: 28px;
    translate: 0 calc(var(--damp, 0px) * var(--drag, .6) * .2); box-shadow: 0 8px 24px rgb(1 14 36 / .1); }
}

/* Ask bar pinned to the bottom after the hero */
.dock-ask { position: fixed; z-index: 20; left: 50%; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); transform: translate(-50%, 140%); transition: transform .4s cubic-bezier(.22, 1, .36, 1);
  width: min(100% - 2 * var(--gutter), 655px); margin: 0; padding: 8px 8px 8px 24px; }
.dock-ask.show { transform: translate(-50%, 0); }
.dock-ask input { font-size: 16px; line-height: 24px; height: 40px; }
.dock-ask .round { width: 40px; height: 40px; }



/* Footer */
.site-footer { padding: clamp(160px, 20vw, 288px) var(--gutter) 120px; text-align: center; }
.wordmark-giant { width: 100%; max-width: 1344px; height: auto; margin: clamp(80px, 10vw, 140px) auto 0; overflow: visible; }
.foot-org { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 48px; font-size: 16px; letter-spacing: -0.03em; }
.laurels { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 40px; font-weight: 500; letter-spacing: -0.03em; }
.laurels svg { width: 30px; height: 82px; }
.laurels svg.r { transform: scaleX(-1); }
.foot-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 4px; margin-top: 40px; }
.foot-links a { padding: 8px; border-radius: 8px; text-decoration: none; }
.foot-links a:hover { text-decoration: underline; }
.lang { position: relative; display: inline-flex; align-items: center; }
.lang select { appearance: none; border: 0; background: transparent; padding: 8px 24px 8px 8px; border-radius: 8px; cursor: pointer; letter-spacing: -0.03em; }
.lang svg { position: absolute; right: 8px; pointer-events: none; }
.foot-note { margin: 40px auto 0; max-width: 520px; font-size: 14px; line-height: 21px; color: var(--ink-3); }

/* Sub-pages */
.page { max-width: 1440px; margin: 0 auto; padding: 0 var(--gutter); }
.page-head { max-width: 820px; margin: 0 auto; padding: clamp(112px, 14.5vw, 208px) 0 clamp(56px, 6vw, 88px); text-align: center; }
.page-head .t-page { margin: 0 auto; }
.page-head .t-support { margin: 32px auto 0; max-width: 680px; }
.prose { max-width: 680px; margin: 0 auto; display: flex; flex-direction: column; gap: 24px; }
.prose a { color: var(--ink); }
.section-head { text-align: center; margin: clamp(120px, 14vw, 200px) 0 64px; }
.cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.card { border-radius: 48px; background: var(--tint); padding: 32px; display: flex; flex-direction: column; gap: 12px; }
.card h3 { font: 500 24px/1.15 var(--sans); letter-spacing: -0.02em; margin: 0; }
.card .num { font: 400 64px/1 var(--serif); letter-spacing: -0.05em; color: var(--navy); }
.grid3 { display: grid; gap: 64px 48px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); max-width: 1100px; margin: 0 auto; }
.grid3 h2 { font: 500 24px/1.15 var(--sans); letter-spacing: -0.02em; margin: 20px 0 8px; }
.icon-circle { width: 64px; height: 64px; border-radius: 50%; background: var(--tint); display: grid; place-items: center; }
.steps { list-style: none; margin: 0 auto; padding: 0; max-width: 820px; }
.steps li { display: grid; grid-template-columns: 120px 1fr; gap: 24px; padding: 28px 0; border-top: 1px solid var(--line); }
.steps li:last-child { border-bottom: 1px solid var(--line); }
.steps .when { font: 400 22px/1.1 var(--serif); letter-spacing: -0.03em; }
.steps h3 { font: 500 20px/1.2 var(--sans); letter-spacing: -0.02em; margin: 0 0 6px; }
@media (max-width: 600px) { .steps li { grid-template-columns: 1fr; gap: 6px; } }

/* FAQ accordion */
.faq { max-width: 820px; margin: 0 auto; }
.faq details { position: relative; }
.faq details::after { content: ""; display: block; height: 1px; margin: 0 16px; background: var(--line); }
.faq details:last-child::after { display: none; }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 16px; border-radius: 16px; font-size: clamp(18px, 2vw, 21px); line-height: 1.5; letter-spacing: -0.01em; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary:hover { background: var(--tint); }
.faq summary svg { flex: none; transition: transform .2s; }
.faq details[open] summary svg { transform: rotate(180deg); }
.faq .answer { padding: 0 16px 20px; }
.faq .more { text-align: center; margin-top: 48px; }

/* Coming soon: mock flow */
.flow { max-width: 560px; margin: 0 auto; display: flex; flex-direction: column; gap: 24px; }
.flow .rcard { position: static; width: 100%; translate: none; font-size: 14px; line-height: 21px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .manifesto .w.dim { opacity: 1; filter: none; }
}
