:root {
  --paper: #ffffff;
  --surface: #f7f7f5;
  --surface-2: #f0f1ee;
  --ink: #11120f;
  --ink-soft: #4d504a;
  --ink-muted: #777a73;
  --line: rgba(17, 18, 15, 0.12);
  --line-strong: rgba(17, 18, 15, 0.2);
  --blue: #1f48d6;
  --blue-2: #1437ad;
  --blue-soft: #eaf0ff;
  --night: #0b142d;
  --white-muted: rgba(255, 255, 255, 0.72);
  --max: 1240px;
  --gutter: clamp(20px, 4vw, 50px);
  --sans: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "DM Mono", "SFMono-Regular", Consolas, monospace;
  --serif: "Newsreader", Georgia, serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; overflow-x: hidden; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.58; -webkit-font-smoothing: antialiased; }
img, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
::selection { color: #fff; background: var(--blue); }

.shell { width: min(var(--max), calc(100% - (var(--gutter) * 2))); margin: 0 auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.kicker { margin: 0 0 18px; color: var(--blue); font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: 0.08em; line-height: 1.4; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--ink); text-wrap: balance; }
h1 { max-width: 11.2ch; margin-bottom: 27px; font-size: clamp(52px, 5.7vw, 82px); font-weight: 600; letter-spacing: -0.06em; line-height: 0.99; }
h2 { margin-bottom: 18px; font-size: clamp(34px, 4vw, 56px); font-weight: 600; letter-spacing: -0.048em; line-height: 1.06; }
h3 { margin-bottom: 10px; font-size: 20px; font-weight: 600; letter-spacing: -0.03em; line-height: 1.22; }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; border: 1px solid var(--blue); border-radius: 5px; padding: 12px 18px; color: #fff; background: var(--blue); font-size: 14px; font-weight: 700; letter-spacing: -0.01em; transition: background 180ms ease, border-color 180ms ease, transform 180ms ease; }
.button:hover { border-color: var(--blue-2); background: var(--blue-2); transform: translateY(-1px); }
.button:focus-visible, .text-link:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, button:focus-visible { outline: 3px solid rgba(31, 72, 214, 0.35); outline-offset: 3px; }
.button[disabled] { cursor: wait; opacity: 0.68; transform: none; }
.button-small { min-height: 39px; padding: 8px 12px; font-size: 12px; }
.button-full { width: 100%; }
.button-inverse { border-color: #fff; color: var(--night); background: #fff; }
.button-inverse:hover { border-color: #dbe4ff; background: #dbe4ff; }
.text-link { display: inline-flex; min-height: 50px; align-items: center; border-bottom: 1px solid var(--ink); font-size: 14px; font-weight: 700; transition: border-color 180ms ease, color 180ms ease; }
.text-link:hover { border-color: var(--blue); color: var(--blue); }

.site-nav { position: sticky; z-index: 20; top: 0; border-bottom: 1px solid transparent; background: rgba(255,255,255,0.94); backdrop-filter: blur(12px); transition: border-color 180ms ease, box-shadow 180ms ease; }
.site-nav.is-scrolled { border-color: var(--line); box-shadow: 0 8px 30px rgba(11, 20, 45, 0.04); }
.nav-shell { display: flex; min-height: 70px; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); font-size: 18px; font-weight: 700; letter-spacing: -0.045em; white-space: nowrap; }
.brand img { width: 28px; height: 28px; }
.nav-links { display: flex; align-items: center; gap: clamp(16px, 2vw, 28px); margin-left: auto; }
.nav-links a { color: var(--ink-soft); font-size: 13px; font-weight: 600; transition: color 160ms ease; }
.nav-links a:hover { color: var(--blue); }
.nav-actions { display: flex; align-items: center; gap: 11px; }
.language-toggle { display: inline-flex; gap: 2px; padding: 2px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface); }
.language-toggle button { min-width: 30px; border: 0; border-radius: 3px; padding: 5px 6px; color: var(--ink-muted); background: transparent; font-family: var(--mono); font-size: 10px; transition: color 160ms ease, background 160ms ease; }
.language-toggle button.is-active { color: #fff; background: var(--ink); }
.menu-button, .mobile-menu { display: none; }

.hero { position: relative; padding: clamp(30px, 4.1vw, 58px) 0 clamp(72px, 8.2vw, 118px); overflow: clip; isolation: isolate; }
.hero-grid { position: relative; display: block; min-height: clamp(620px, 49vw, 690px); }
.hero-copy { position: relative; z-index: 2; width: min(52%, 600px); padding: clamp(42px, 5vw, 72px) 42px clamp(42px, 5vw, 64px) 0; }
.hero h1 { max-width: 11.4ch; font-size: clamp(50px, 4.9vw, 68px); letter-spacing: -0.042em; line-height: 1.03; }
.hero-lead { max-width: 43ch; margin-bottom: 31px; color: var(--ink-soft); font-size: clamp(17px, 1.35vw, 19px); letter-spacing: -0.018em; line-height: 1.55; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; }
.hero-note { max-width: 45ch; margin: 22px 0 0; color: var(--ink-muted); font-size: 13px; line-height: 1.5; }
.hero-media { position: absolute; z-index: 1; top: 0; right: 0; left: 48%; width: auto; height: 100%; margin: 0; overflow: hidden; background: #e9e9e5; animation: hero-stage-in 900ms cubic-bezier(.2,.78,.2,1) both; }
.hero-media::after { position: absolute; top: 0; right: 0; bottom: 0; left: 0; border: 1px solid rgba(17,18,15,0.09); pointer-events: none; content: ""; }
.hero-video { width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; object-fit: cover; object-position: center center; background: #e9e9e5; transform: scale(1.002); }
.hero-media figcaption { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 16px; border-top: 1px solid rgba(17,18,15,0.12); color: var(--ink-muted); background: rgba(255,255,255,0.92); font-family: var(--mono); font-size: 10px; letter-spacing: 0.045em; text-transform: uppercase; }
.hero-media figcaption span:first-child { color: var(--blue); }

.section { padding: clamp(76px, 9vw, 128px) 0; }
.section-problem { border-top: 1px solid var(--line); background: var(--surface); }
.problem-grid { display: grid; grid-template-columns: minmax(0, 0.84fr) minmax(360px, 0.9fr); gap: clamp(45px, 10vw, 150px); align-items: start; }
.section-intro h2 { max-width: 13ch; }
.problem-copy { max-width: 54ch; padding-top: 38px; color: var(--ink-soft); font-size: 18px; }
.problem-copy p + p { margin-top: 24px; }
.history-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 67px; }
.history-compare article { min-height: 240px; border: 1px solid var(--line); border-radius: 8px; padding: 24px; background: #fff; }
.history-compare .compare-active { border-color: rgba(31,72,214,0.28); background: var(--blue-soft); }
.compare-label { display: block; margin-bottom: 26px; color: var(--ink-muted); font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.075em; text-transform: uppercase; }
.compare-active .compare-label { color: var(--blue); }
.history-compare ul { display: grid; gap: 15px; margin: 0; padding: 0; list-style: none; }
.history-compare li { position: relative; padding-left: 21px; font-size: 15px; line-height: 1.48; }
.history-compare li::before { position: absolute; top: 8px; left: 0; width: 7px; height: 7px; border: 1px solid var(--ink-muted); border-radius: 50%; content: ""; }
.compare-active li::before { border-color: var(--blue); background: var(--blue); }

.approach-grid { display: grid; grid-template-columns: minmax(360px, 0.73fr) minmax(0, 1fr); gap: clamp(42px, 9vw, 144px); align-items: center; }
.approach-image { max-width: 510px; aspect-ratio: 3 / 4; border-radius: 8px; overflow: hidden; background: var(--surface); }
.approach-image img { width: 100%; height: 100%; object-fit: cover; object-position: 62% center; }
.approach-copy .section-intro { max-width: 720px; }
.approach-copy .section-intro h2 { max-width: 14ch; }
.approach-copy .section-intro > p:last-child { max-width: 57ch; color: var(--ink-soft); font-size: 17px; }
.capability-list { margin-top: 44px; border-top: 1px solid var(--line-strong); }
.capability-list article { display: grid; grid-template-columns: 44px 1fr; gap: 17px; padding: 21px 0; border-bottom: 1px solid var(--line); }
.capability-list article > span { color: var(--blue); font-family: var(--mono); font-size: 11px; line-height: 1.8; }
.capability-list h3 { margin-bottom: 6px; font-size: 18px; }
.capability-list p { margin: 0; color: var(--ink-soft); font-size: 15px; line-height: 1.52; }

.section-blueprint { color: #fff; background: var(--night); }
.blueprint-grid { display: grid; grid-template-columns: minmax(0, 0.78fr) minmax(480px, 1.12fr); gap: clamp(44px, 8vw, 120px); align-items: center; }
.kicker-light { color: #9db2ff; }
.blueprint-copy h2 { max-width: 13ch; color: #fff; }
.blueprint-copy p { max-width: 47ch; margin-bottom: 30px; color: var(--white-muted); font-size: 17px; }
.blueprint-visual { margin: 0; border: 1px solid rgba(255,255,255,0.22); border-radius: 8px; overflow: hidden; background: #fff; }
.blueprint-visual img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.blueprint-visual figcaption { padding: 11px 14px; color: rgba(255,255,255,0.7); background: rgba(255,255,255,0.04); font-family: var(--mono); font-size: 10px; letter-spacing: 0.045em; text-align: center; text-transform: uppercase; }

.section-usecases { background: var(--surface); }
.usecase-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 0.53fr); gap: 68px; align-items: end; margin-bottom: 46px; }
.usecase-heading h2 { max-width: 15ch; margin-bottom: 0; }
.usecase-heading > p { max-width: 39ch; margin: 0 0 4px; color: var(--ink-soft); font-size: 16px; }
.usecase-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.usecase-card { display: flex; min-height: 520px; flex-direction: column; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: #fff; transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.usecase-card:hover { border-color: rgba(31,72,214,0.36); box-shadow: 0 32px 60px -45px rgba(11,20,45,0.35); transform: translateY(-3px); }
.card-media { aspect-ratio: 1.55 / 1; overflow: hidden; background: var(--surface-2); }
.card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.usecase-card:hover .card-media img { transform: scale(1.025); }
.card-content { display: flex; height: 100%; flex-direction: column; padding: 23px; }
.card-content > span { margin-bottom: 18px; color: var(--blue); font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.07em; text-transform: uppercase; }
.card-content h3 { font-size: 23px; }
.card-content p { margin: 0; color: var(--ink-soft); font-size: 15px; line-height: 1.53; }
.card-content b { margin-top: auto; padding-top: 28px; color: var(--ink); font-size: 13px; }
.usecase-all { display:flex; justify-content:flex-end; margin-top:30px; }

.section-decision { border-top: 1px solid var(--line); }
.decision-grid { display: grid; grid-template-columns: minmax(0, 0.84fr) minmax(360px, 0.83fr); gap: clamp(46px, 10vw, 160px); align-items: center; }
.decision-copy h2 { max-width: 14ch; }
.decision-copy > p:last-child { max-width: 48ch; margin: 0; color: var(--ink-soft); font-size: 17px; }
.decision-board { display: grid; gap: 9px; padding: 12px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--surface); }
.decision-board div { display: grid; grid-template-columns: 118px minmax(120px, 1fr); gap: 5px 20px; align-items: baseline; min-height: 67px; padding: 14px; border: 1px solid var(--line); border-radius: 5px; background: #fff; }
.decision-board span { grid-row: span 2; color: var(--ink-muted); font-family: var(--mono); font-size: 10px; letter-spacing: 0.07em; text-transform: uppercase; }
.decision-board strong { color: var(--ink); font-size: 16px; font-weight: 700; }
.decision-board em { color: var(--ink-soft); font-size: 12px; font-style: normal; }
.decision-board div:nth-child(2) strong { color: #0d7751; }
.decision-board div:nth-child(3) strong { color: #9d6400; }
.decision-board div:nth-child(4) strong { color: var(--blue); }

.section-start { background: var(--surface); }
.start-grid { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(390px, 0.8fr); gap: clamp(46px, 9vw, 150px); align-items: start; }
.start-copy h2 { max-width: 14ch; }
.start-copy > p:last-of-type { max-width: 48ch; color: var(--ink-soft); font-size: 17px; }
.start-points { display: grid; gap: 12px; margin: 33px 0 0; padding: 0; list-style: none; }
.start-points li { position: relative; padding-left: 19px; color: var(--ink-soft); font-size: 15px; }
.start-points li::before { position: absolute; top: 9px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); content: ""; }
.lead-form { border: 1px solid var(--line-strong); border-radius: 8px; padding: clamp(21px, 3vw, 34px); background: #fff; box-shadow: 0 30px 70px -60px rgba(11,20,45,0.5); }
.form-head { margin-bottom: 25px; }
.form-head span { display: block; margin-bottom: 8px; color: var(--blue); font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.07em; text-transform: uppercase; }
.form-head strong { display: block; max-width: 22ch; color: var(--ink); font-size: 23px; letter-spacing: -0.035em; line-height: 1.16; }
.lead-form label { display: grid; gap: 7px; margin-top: 15px; color: var(--ink); font-size: 12px; font-weight: 700; }
.lead-form label span { color: var(--ink-soft); }
.lead-form input, .lead-form textarea { width: 100%; border: 1px solid var(--line-strong); border-radius: 4px; padding: 11px 12px; color: var(--ink); background: #fff; font-size: 14px; line-height: 1.45; transition: border-color 160ms ease, box-shadow 160ms ease; }
.lead-form textarea { min-height: 114px; resize: vertical; }
.lead-form input::placeholder, .lead-form textarea::placeholder { color: #92948e; }
.lead-form input:focus, .lead-form textarea:focus { border-color: var(--blue); outline: 0; box-shadow: 0 0 0 3px rgba(31,72,214,0.11); }
.form-two { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.lead-form .button { margin-top: 20px; }
.form-note, .form-error { margin: 13px 0 0; color: var(--ink-muted); font-size: 12px; line-height: 1.5; text-align: center; }
.form-error { display: none; color: #b13a31; }
.form-error.is-visible { display: block; }

.site-footer { padding: 58px 0 28px; color: rgba(255,255,255,0.7); background: var(--night); }
.footer-grid { display: grid; grid-template-columns: 1.7fr repeat(3, 1fr); gap: 40px; }
.site-footer .brand { color: #fff; }
.site-footer .brand img { filter: invert(1); }
.footer-brand p { max-width: 33ch; margin: 15px 0 0; color: rgba(255,255,255,0.58); font-size: 14px; line-height: 1.5; }
.footer-grid > div:not(.footer-brand) { display: grid; align-content: start; gap: 7px; }
.footer-grid > div > span { margin-bottom: 6px; color: rgba(255,255,255,0.45); font-family: var(--mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; }
.footer-grid a { font-size: 13px; transition: color 160ms ease; }
.footer-grid a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 52px; padding-top: 19px; border-top: 1px solid rgba(255,255,255,0.13); color: rgba(255,255,255,0.42); font-family: var(--mono); font-size: 10px; letter-spacing: 0.04em; }
.mobile-cta { display: none; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity 620ms ease, transform 620ms cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible,
.reveal.in { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: 80ms; }
.reveal-delay-2 { transition-delay: 150ms; }
.reveal-delay-3 { transition-delay: 220ms; }

@keyframes hero-stage-in {
  from { opacity: 0; transform: translate3d(26px, 0, 0) scale(1.015); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@media (max-width: 1040px) {
  .blueprint-grid, .start-grid { grid-template-columns: 1fr 1fr; gap: 48px; }
  .hero-grid { min-height: clamp(570px, 58vw, 660px); }
  .hero-copy { width: min(56%, 560px); padding-right: 34px; }
  .hero-media { right: 0; left: 44%; width: auto; }
  .approach-grid { gap: 54px; }
  .usecase-heading { gap: 42px; }
  .nav-links { gap: 15px; }
}

@media (max-width: 820px) {
  .nav-links, .nav-actions > .button, .nav-actions > .language-toggle { display: none; }
  .nav-shell { min-height: 62px; justify-content: space-between; }
  .nav-actions { margin-left: auto; }
  .menu-button { display: inline-flex; width: 38px; height: 38px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid var(--line); border-radius: 5px; background: #fff; }
  .menu-button span { width: 15px; height: 1px; background: var(--ink); transition: transform 180ms ease; }
  .site-nav.is-open .menu-button span:first-child { transform: translateY(3px) rotate(45deg); }
  .site-nav.is-open .menu-button span:last-child { transform: translateY(-3px) rotate(-45deg); }
  .mobile-menu { position: absolute; top: 62px; right: var(--gutter); left: var(--gutter); display: grid; max-height: 0; gap: 0; overflow: hidden; border: 1px solid transparent; border-radius: 0 0 8px 8px; padding: 0 18px; background: #fff; box-shadow: 0 22px 44px -34px rgba(11,20,45,0.4); opacity: 0; pointer-events: none; transition: max-height 220ms ease, padding 220ms ease, opacity 160ms ease, border-color 220ms ease; }
  .site-nav.is-open .mobile-menu { max-height: 340px; gap: 2px; border-color: var(--line); padding: 14px 18px 18px; opacity: 1; pointer-events: auto; }
  .mobile-menu a:not(.button) { padding: 11px 0; color: var(--ink-soft); font-size: 15px; font-weight: 600; }
  .mobile-menu .language-toggle { display: inline-flex; width: max-content; margin: 8px 0 4px; }
  .mobile-menu .button { margin-top: 9px; }
  .hero-grid, .problem-grid, .approach-grid, .blueprint-grid, .decision-grid, .start-grid { grid-template-columns: 1fr; }
  .hero-grid { display: grid; min-height: 0; gap: 35px; }
  .hero-copy { width: 100%; max-width: 620px; min-width: 0; padding: 0; }
  .hero-media { position: relative; left: auto; width: min(680px, 100%); height: auto; min-height: 0; }
  .hero-video { height: auto; min-height: 0; aspect-ratio: 16 / 9; }
  .hero h1 { max-width: 10.6ch; }
  .problem-copy { padding-top: 0; }
  .approach-image { max-width: 620px; }
  .approach-image { max-width: 620px; aspect-ratio: 16 / 9; }
  .approach-image img { object-position: center 47%; }
  .usecase-heading { grid-template-columns: 1fr; gap: 12px; }
  .usecase-heading > p { max-width: 55ch; }
  .usecase-grid { grid-template-columns: 1fr; }
  .usecase-card { min-height: 0; }
  .card-media { aspect-ratio: 2 / 1; }
  .card-content { min-height: 260px; }
  .decision-board { max-width: 640px; }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  body { font-size: 15px; padding-bottom: 69px; }
  .shell { width: min(var(--max), calc(100vw - 40px)); }
  h1 { max-width: 11.2ch; margin-bottom: 20px; font-size: clamp(42px, 11.4vw, 46px); letter-spacing: -0.045em; line-height: 1.04; }
  .hero h1 { max-width: 11.2ch; font-size: 42px; letter-spacing: -0.04em; line-height: 1.04; }
  h2 { font-size: 34px; letter-spacing: -0.05em; line-height: 1.08; }
  .kicker { margin-bottom: 14px; font-size: 9.5px; }
  .hero { padding: 30px 0 62px; }
  .hero-lead { margin-bottom: 24px; font-size: 16.5px; line-height: 1.5; }
  .hero-actions { display: grid; gap: 13px; }
  .hero-actions .button, .hero-actions .text-link { width: 100%; }
  .hero-actions .text-link { justify-content: center; }
  .hero-note { font-size: 12px; line-height: 1.5; }
  .hero-grid { gap: 30px; }
  .hero-copy, .hero-actions { width: 100%; max-width: calc(100vw - 40px); min-width: 0; }
  .hero-lead { width: 100%; max-width: calc(100vw - 40px); overflow-wrap: break-word; }
  .hero-actions .button, .hero-actions .text-link { max-width: calc(100vw - 40px); }
  .hero-media { width: 100%; }
  .hero-video { min-height: 280px; height: 280px; aspect-ratio: auto; object-position: center; }
  .hero-media figcaption { display: grid; gap: 4px; padding: 11px 13px; text-align: left; }
  .section { padding: 66px 0; }
  .history-compare { grid-template-columns: 1fr; margin-top: 34px; }
  .history-compare article { min-height: 0; padding: 20px; }
  .problem-copy { font-size: 16px; }
  .approach-image { aspect-ratio: 1 / 1; }
  .approach-image img { object-position: center; }
  .approach-copy .section-intro > p:last-child, .decision-copy > p:last-child, .start-copy > p:last-of-type { font-size: 16px; }
  .capability-list { margin-top: 30px; }
  .capability-list article { grid-template-columns: 30px 1fr; gap: 10px; padding: 18px 0; }
  .capability-list h3 { font-size: 17px; }
  .capability-list p { font-size: 14px; }
  .section-blueprint { padding: 72px 0; }
  .blueprint-copy p { font-size: 16px; }
  .blueprint-visual figcaption { font-size: 9px; line-height: 1.5; }
  .usecase-heading { margin-bottom: 30px; }
  .card-media { aspect-ratio: 1.58 / 1; }
  .card-content { min-height: 0; padding: 21px; }
  .card-content h3 { font-size: 21px; }
  .card-content b { margin-top: 0; padding-top: 23px; }
  .usecase-all { justify-content:flex-start; margin-top:22px; }
  .decision-board { padding: 8px; }
  .decision-board div { grid-template-columns: 1fr; gap: 4px; padding: 14px; }
  .decision-board span { grid-row: auto; }
  .decision-board strong { font-size: 15px; }
  .form-two { grid-template-columns: 1fr; gap: 0; }
  .lead-form { padding: 21px 18px; }
  .form-head strong { font-size: 21px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { display: grid; gap: 9px; margin-top: 34px; font-size: 9px; }
  .mobile-cta { position: fixed; z-index: 30; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--line); padding: 10px 20px max(10px,env(safe-area-inset-bottom)); background: rgba(255,255,255,0.97); box-shadow: 0 -10px 30px rgba(11,20,45,0.06); backdrop-filter: blur(12px); opacity: 0; pointer-events: none; transform: translateY(100%); transition: opacity 180ms ease,transform 220ms ease; }
  .mobile-cta.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .mobile-cta > span { min-width: 0; color: var(--ink-soft); font-size: 12px; font-weight: 700; }
  .mobile-cta .button { flex: 0 0 auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
  .reveal { opacity: 1; transform: none; }
}
