
@font-face{font-family:'Plex Arabic';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/plex-ar-arabic-400.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'Plex Arabic';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/plex-ar-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plex Arabic';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/plex-ar-arabic-500.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'Plex Arabic';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/plex-ar-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plex Arabic';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/plex-ar-arabic-600.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'Plex Arabic';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/plex-ar-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plex Arabic';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/plex-ar-arabic-700.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}
@font-face{font-family:'Plex Arabic';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/plex-ar-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}


:root {

  --paper:      #0b0e14;
  --paper-2:    #0f1319;
  --paper-3:    #141922;
  --paper-deep: #05070a;
  --card:       #12161d;
  --surface:    rgba(255, 255, 255, .05);
  --glass:      rgba(11, 14, 20, .86);
  --glass-2:    rgba(15, 19, 25, .93);


  --ink:   #f6f7f9;
  --ink-2: #b6bcc6;
  --ink-3: #868d97;

  --rule:   rgba(255, 255, 255, .10);
  --rule-2: rgba(255, 255, 255, .19);
  --rule-3: rgba(255, 255, 255, .38);


  --green:        #14d996;
  --green-bright: #14d996;
  --teal:         #14c8ba;
  --coral:        #ff516f;
  --coral-deep:   #ff7f95;
  --gold:         #ffc85c;
  --gold-deep:    #ffd98a;
  --green-wash:   rgba(20, 217, 150, .12);
  --coral-wash:   rgba(255, 81, 111, .12);


  --r-xs: 3px; --r-sm: 5px; --r-md: 8px; --r-lg: 12px; --r-pill: 999px;


  --sp-1: .25rem; --sp-2: .5rem;  --sp-3: .75rem; --sp-4: 1rem;
  --sp-5: 1.5rem; --sp-6: 2rem;   --sp-7: 3rem;   --sp-8: 4.5rem;
  --sp-9: 6.5rem; --sp-10: 9rem;
  --gutter: clamp(1.25rem, 4.5vw, 4rem);
  --measure: 64ch;
  --maxw: 1320px;
  --section-y: clamp(4.5rem, 10vw, 9rem);


  --font: 'Plex Arabic', ui-sans-serif, -apple-system, 'SF Arabic',
          'Segoe UI', 'Noto Sans Arabic', system-ui, sans-serif;
  --t-display: clamp(3rem, min(10vw, 16svh), 7.5rem);
  --t-h1:      clamp(2.25rem, 5.6vw, 4.5rem);
  --t-h2:      clamp(1.85rem, 4vw, 3.15rem);
  --t-h3:      clamp(1.15rem, 1.9vw, 1.45rem);
  --t-lead:    clamp(1.05rem, 1.35vw, 1.25rem);
  --t-body:    1.0625rem;
  --t-sm:      .9375rem;
  --t-xs:      .8125rem;
  --t-label:   .6875rem;
  --track-label: .18em;

  --ease:      cubic-bezier(.22, 1, .36, 1);
  --ease-soft: cubic-bezier(.4, 0, .2, 1);
  --dur-1: .16s; --dur-2: .28s; --dur-3: .5s; --dur-4: .85s;

  --nav-h: 72px;
  color-scheme: dark;
}


*, *::before, *::after { box-sizing: border-box; }

[hidden] { display: none !important; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--nav-h) + 1.5rem);
}

body {
  margin: 0; background: var(--paper); color: var(--ink);
  font-family: var(--font); font-size: var(--t-body); line-height: 1.75;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
body.is-locked { overflow: hidden; }

img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
h1, h2, h3, h4, p, figure, blockquote, ul, ol, dl, dd { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
input, select, button, textarea { font-family: inherit; }

:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; border-radius: var(--r-xs); }
::selection { background: var(--green-bright); color: var(--paper); }

.ltr { direction: ltr; unicode-bidi: isolate; }
.num { font-variant-numeric: tabular-nums; font-feature-settings: 'tnum' 1; }

.skip {
  position: fixed; inset-block-start: -100%; inset-inline-start: var(--gutter);
  z-index: 200; padding: .75rem 1.25rem; border-radius: var(--r-sm);
  background: var(--ink); color: var(--paper); font-weight: 600;
}
.skip:focus { inset-block-start: 1rem; }
.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;
}


h1, h2, h3 { font-weight: 600; letter-spacing: 0; line-height: 1.16; }
h1 { font-size: var(--t-h1); }
h2 { font-size: var(--t-h2); line-height: 1.14; }
h3 { font-size: var(--t-h3); line-height: 1.4; }

.display { font-size: var(--t-display); line-height: 1.03; font-weight: 600; }
.lead { font-size: var(--t-lead); line-height: 1.78; color: var(--ink-2); max-width: var(--measure); }

.label {
  font-size: var(--t-label); font-weight: 600; text-transform: uppercase;
  letter-spacing: var(--track-label); color: var(--ink-3);
}

.hl { color: var(--green); }
.hl-coral { color: var(--coral-deep); }

.underline-draw { position: relative; display: inline-block; }
.underline-draw::after {
  content: ''; position: absolute; inset-inline: -.04em; inset-block-end: -.12em;
  block-size: .07em; background: var(--green-bright);
  transform: scaleX(0); transform-origin: right;
  transition: transform var(--dur-4) var(--ease) .3s;
}
.in .underline-draw::after { transform: scaleX(1); }


.container { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }

.section { position: relative; padding-block: var(--section-y); }

.section--band { background: var(--paper-2); }


.section-head { margin-block-end: clamp(2.5rem, 5vw, 4rem); }
.section-kicker {
  display: flex; align-items: baseline; gap: .9rem;
  font-size: var(--t-label); font-weight: 600;
  letter-spacing: var(--track-label); text-transform: uppercase; color: var(--ink-3);
  padding-block-end: 1rem; margin-block-end: clamp(1.5rem, 3vw, 2.25rem);
  border-block-end: 1px solid var(--rule-2);
}
.section-kicker::after { content: ''; flex: 1; }
.section-kicker .idx { color: var(--green); font-variant-numeric: tabular-nums; }

.rule { block-size: 1px; background: var(--rule); border: 0; margin: 0; }


.btn {
  position: relative; display: inline-flex; align-items: center; gap: .6rem;
  padding: .9rem 1.5rem; border-radius: var(--r-sm);
  background: var(--ink); color: var(--paper);
  font-weight: 600; font-size: var(--t-sm); line-height: 1;
  border: 1px solid var(--ink); white-space: nowrap;
  transition: background var(--dur-2) var(--ease), color var(--dur-2) var(--ease),
              border-color var(--dur-2) var(--ease), transform var(--dur-1) var(--ease);
}
.btn:hover { background: var(--green); border-color: var(--green); }
.btn:active { transform: translateY(1px); }
.btn .arrow { transition: transform var(--dur-2) var(--ease); }
.btn:hover .arrow { transform: translateX(-4px); }

.btn--ghost { background: transparent; color: var(--ink); border-color: var(--rule-2); }
.btn--ghost:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); }

.btn--green { background: var(--green); border-color: var(--green); color: var(--paper); }
.btn--green:hover { background: var(--ink); border-color: var(--ink); }

.btn--sm { padding: .62rem 1.05rem; font-size: var(--t-xs); }
.btn--lg { padding: 1.1rem 1.9rem; font-size: var(--t-body); }
.btn[disabled] { opacity: .45; pointer-events: none; }


.link {
  position: relative; display: inline-flex; align-items: center; gap: .45rem;
  color: var(--ink-2); transition: color var(--dur-2) var(--ease);
}
.link::after {
  content: ''; position: absolute; inset-block-end: -2px; inset-inline: 0;
  block-size: 1px; background: currentColor;
  transform: scaleX(0); transform-origin: inline-start;
  transition: transform var(--dur-2) var(--ease);
}
.link:hover { color: var(--ink); }
.link:hover::after { transform: scaleX(1); }


.nav {
  position: fixed; inset-block-start: 0; inset-inline: 0; z-index: 100;
  background: transparent;
  border-block-end: 1px solid transparent;
  transition: background var(--dur-3) var(--ease), border-color var(--dur-3) var(--ease),
              transform var(--dur-3) var(--ease);
}
.nav__inner {
  display: flex; align-items: center; gap: clamp(1rem, 3vw, 2.5rem);
  width: 100%; max-width: var(--maxw); margin-inline: auto;
  padding: 0 var(--gutter); block-size: var(--nav-h);
}
.nav.is-stuck {
  background: var(--glass);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-block-end-color: var(--rule);
}
.nav.is-hidden { transform: translateY(-100%); }

.brand { display: inline-flex; align-items: center; gap: .55rem; flex: none; }
.brand svg, .brand img { inline-size: 32px; block-size: 32px; }
.brand__word { font-size: 1.35rem; font-weight: 700; line-height: 1; color: var(--ink); }
.brand .streak { transition: transform var(--dur-2) var(--ease); }
.brand:hover .s1 { transform: translateX(-4px); }
.brand:hover .s2 { transform: translateX(-7px); }
.brand:hover .s3 { transform: translateX(-3px); }

.nav__links { position: relative; display: flex; align-items: center; gap: .15rem; margin-inline-start: auto; }
.nav__links a {
  position: relative; z-index: 1; padding: .5rem .8rem;
  font-size: var(--t-sm); font-weight: 500; color: var(--ink-3);
  transition: color var(--dur-2) var(--ease);
}
.nav__links a:hover { color: var(--ink); }
.nav__links a[aria-current]:not([aria-current='false']) { color: var(--ink); }

.nav__ind {
  position: absolute; left: 0; inline-size: 0; inset-block-end: -1px;
  block-size: 2px; background: var(--green-bright);
  opacity: 0; transition: opacity var(--dur-2) var(--ease),
    transform var(--dur-3) var(--ease), width var(--dur-3) var(--ease);
}
.nav__ind.is-on { opacity: 1; }

.nav__cta { flex: none; display: flex; gap: .5rem; }

.burger {
  display: none; position: relative; flex: none;
  inline-size: 42px; block-size: 42px; margin-inline-start: auto;
  border: 1px solid var(--rule-2); border-radius: var(--r-sm);
}
.burger span {
  position: absolute; inset-inline: 12px; block-size: 1.5px; background: var(--ink);
  transition: transform var(--dur-2) var(--ease);
}
.burger span:nth-child(1) { inset-block-start: 16px; }
.burger span:nth-child(2) { inset-block-start: 24px; }
.burger[aria-expanded='true'] span:nth-child(1) { transform: translateY(4px) rotate(45deg); }
.burger[aria-expanded='true'] span:nth-child(2) { transform: translateY(-4px) rotate(-45deg); }


.menu {
  position: fixed; inset: 0; z-index: 99;
  display: grid; grid-template-rows: var(--nav-h) 1fr auto;
  background: var(--paper);
  visibility: hidden; opacity: 0;
  transition: opacity var(--dur-3) var(--ease), visibility 0s linear var(--dur-3);
}
.menu.is-open { visibility: visible; opacity: 1; transition-delay: 0s; }
.menu__nav { display: flex; flex-direction: column; justify-content: center;
             padding-inline: var(--gutter); padding-block: var(--sp-5); }
.menu__nav a {
  display: flex; align-items: baseline; gap: 1rem;
  padding-block: .85rem; font-size: clamp(1.75rem, 7.5vw, 2.4rem);
  font-weight: 600; line-height: 1.2;
  border-block-end: 1px solid var(--rule);
  opacity: 0; transform: translateY(20px);
}
.menu__nav a .i { font-size: .75rem; font-weight: 600; color: var(--green);
                  font-variant-numeric: tabular-nums; letter-spacing: var(--track-label); }

.menu.is-open .menu__nav a {
  opacity: 1; transform: none;
  transition: opacity .45s var(--ease), transform .45s var(--ease);
  transition-delay: calc(var(--i) * 50ms + 60ms);
}
.menu__foot {
  padding: var(--sp-5) var(--gutter) calc(var(--sp-5) + env(safe-area-inset-bottom));
  display: grid; gap: var(--sp-3); border-block-start: 1px solid var(--rule);
}


.hero {
  position: relative; min-block-size: 100svh; display: flex; align-items: center;
  padding-block: calc(var(--nav-h) + 2.5rem) clamp(3rem, 6vh, 4.5rem);
  overflow: hidden;
}
.hero__inner { position: relative; z-index: 2; width: 100%; }
.hero__grid {
  display: grid; align-items: center;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  grid-template-areas: 'copy art' 'facts facts';
  gap: clamp(2rem, 5vw, 4.5rem) clamp(2rem, 5vw, 4rem);
}
.hero__copy { grid-area: copy; }
.dispatch { grid-area: art; }
.hero__facts { grid-area: facts; }

.hero__eyebrow {
  display: inline-flex; align-items: center; gap: .6rem;
  font-size: var(--t-label); font-weight: 600; text-transform: uppercase;
  letter-spacing: var(--track-label); color: var(--ink-3);
  padding-block-end: .9rem; border-block-end: 1px solid var(--rule-2);
}
.hero__eyebrow .pulse {
  position: relative; inline-size: 6px; block-size: 6px; border-radius: 50%;
  background: var(--green-bright); flex: none;
}
.hero__eyebrow .pulse::after {
  content: ''; position: absolute; inset: -4px; border-radius: 50%;
  border: 1px solid var(--green-bright); opacity: 0;
  animation: ping 2.8s var(--ease) infinite;
}
@keyframes ping {
  0% { transform: scale(.5); opacity: .9; }
  70% { transform: scale(1.9); opacity: 0; }
  100% { opacity: 0; }
}

.hero__title {
  font-size: var(--t-display); line-height: 1.03; font-weight: 600;
  margin-block: clamp(1rem, 2vh, 1.75rem) 0; text-wrap: balance;
}
.hero__title .line { display: block; overflow: hidden; padding-block-end: .06em; }
.hero__title .line > span {
  display: block; transform: translateY(110%);
  animation: riseIn 1.05s var(--ease) forwards;
}
.hero__title .line:nth-child(1) > span { animation-delay: .12s; }
.hero__title .line:nth-child(2) > span { animation-delay: .24s; }
@keyframes riseIn { to { transform: none; } }
.hero__title .tint { color: var(--green); }

.rise { opacity: 0; transform: translateY(18px); animation: riseUp .85s var(--ease) forwards; }
@keyframes riseUp { to { opacity: 1; transform: none; } }
.d1 { animation-delay: .36s; } .d2 { animation-delay: .46s; }
.d3 { animation-delay: .56s; } .d4 { animation-delay: .66s; } .d5 { animation-delay: .76s; }

.hero__lead { margin-block-start: clamp(1rem, 1.8vh, 1.5rem); max-width: 44ch; }
.hero__cta { display: flex; flex-wrap: wrap; gap: .75rem; margin-block-start: clamp(1.4rem, 2.6vh, 2.25rem); }
.hero__note {
  margin-block-start: clamp(.8rem, 1.5vh, 1.15rem);
  font-size: var(--t-xs); color: var(--ink-3);
  display: flex; align-items: center; gap: .5rem;
}


.hero__facts {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block-start: clamp(1.5rem, 3.5vh, 3rem);
  border-block-start: 1px solid var(--rule-2);
}
.hero__facts > div {
  padding: clamp(1rem, 2vh, 1.5rem) clamp(1rem, 2vw, 2rem) 0;
  border-inline-start: 1px solid var(--rule);
}
.hero__facts > div:first-child { border-inline-start: 0; padding-inline-start: 0; }
.hero__facts dt {
  font-size: clamp(1.4rem, 2.6vw, 2.1rem); font-weight: 600; line-height: 1.05;
  font-variant-numeric: tabular-nums;
}
.hero__facts dd { font-size: var(--t-xs); color: var(--ink-3); margin-block-start: .4rem; line-height: 1.5; }

.hero__scroll {
  position: absolute; bottom: 1.5rem; left: var(--gutter); z-index: 3;
  display: inline-flex; align-items: center; gap: .6rem;
  font-size: var(--t-label); letter-spacing: var(--track-label);
  text-transform: uppercase; color: var(--ink-3);
}
.hero__scroll .track { position: relative; inline-size: 1px; block-size: 38px; background: var(--rule-2); overflow: hidden; }
.hero__scroll .track::after {
  content: ''; position: absolute; inset-inline: 0; block-size: 40%;
  background: var(--green-bright); animation: scrollHint 2.4s var(--ease-soft) infinite;
}
@keyframes scrollHint { 0% { transform: translateY(-100%); } 60%,100% { transform: translateY(250%); } }


.dispatch { position: relative; aspect-ratio: 1; width: 100%; }
.dispatch__stage { position: absolute; inset: 0; display: grid; place-items: center; }
.dispatch svg { width: 100%; height: 100%; overflow: visible; }

.ring { fill: none; stroke: var(--rule-2); stroke-width: 1; }
.ring--dash { stroke-dasharray: 2 6; }

.pulse-ring {
  fill: none; stroke: var(--green-bright); stroke-width: 1.25;
  transform-origin: 50% 50%; opacity: 0;
  animation: radarPulse 3.6s var(--ease) infinite;
}
.pulse-ring:nth-of-type(2) { animation-delay: 1.2s; }
.pulse-ring:nth-of-type(3) { animation-delay: 2.4s; }
@keyframes radarPulse {
  0% { transform: scale(.16); opacity: 0; }
  12% { opacity: .8; }
  100% { transform: scale(1); opacity: 0; }
}

.courier circle.dot { fill: var(--coral); }
.courier circle.halo { fill: var(--paper); stroke: var(--coral); stroke-opacity: .5; stroke-width: 1; }
.courier--taken circle.dot { fill: var(--green-bright); }
.courier--taken circle.halo { stroke: var(--green-bright); }

.route {
  fill: none; stroke: var(--green-bright); stroke-width: 1.5; stroke-linecap: round;
  stroke-dasharray: var(--len); stroke-dashoffset: var(--len);
  animation: drawRoute 3.6s var(--ease) infinite;
}
@keyframes drawRoute {
  0%, 42% { stroke-dashoffset: var(--len); opacity: 0; }
  55% { opacity: 1; }
  82% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 0; }
}

.dispatch__mark { position: absolute; inline-size: 20%; z-index: 2; }


.chip-float {
  position: absolute; z-index: 3;
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .48rem .8rem; border-radius: var(--r-sm);
  background: var(--card); border: 1px solid var(--rule);
  box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 10px 26px -14px rgba(0,0,0,.8);
  font-size: var(--t-xs); font-weight: 500; white-space: nowrap;
}
.chip-float svg { inline-size: 15px; block-size: 15px; flex: none; }
.chip-float--a { inset-block-start: 5%;  inset-inline-start: -3%; }
.chip-float--b { inset-block-end: 20%; inset-inline-end: -5%; }
.chip-float--c { inset-block-end: 2%;  inset-inline-start: 12%; }


.ticker {
  position: relative; z-index: 2;
  border-block: 1px solid var(--rule); background: var(--paper-2);
  padding-block: 1rem; overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.ticker__row { display: flex; width: max-content; animation: marquee 42s linear infinite; }
.ticker:hover .ticker__row { animation-play-state: paused; }
.ticker__group { display: flex; align-items: center; gap: clamp(1.5rem, 4vw, 3rem);
                 padding-inline-end: clamp(1.5rem, 4vw, 3rem); }
.ticker__item {
  display: inline-flex; align-items: center; gap: .65rem;
  font-size: var(--t-sm); font-weight: 500; color: var(--ink-2); white-space: nowrap;
}
.ticker__item .bullet { inline-size: 4px; block-size: 4px; border-radius: 50%;
                        background: var(--green-bright); flex: none; }
@keyframes marquee { to { transform: translateX(50%); } }


.about__head {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr);
  grid-template-areas: 'kicker kicker' 'title lead';
  gap: clamp(1.5rem, 3vw, 2.5rem) clamp(2rem, 5vw, 4.5rem);
  align-items: end;
}
.about__head .section-kicker { grid-area: kicker; margin-block-end: 0; }
.statement { grid-area: title; }
.about__head .lead { grid-area: lead; padding-block-end: .4rem; }

.statement {
  font-size: clamp(2rem, 4.4vw, 3.4rem); line-height: 1.28;
  font-weight: 600; color: var(--ink); text-wrap: balance;
}

.notes {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block-start: clamp(3rem, 6vw, 4.5rem);
  border-block-start: 1px solid var(--rule-2);
}
.note {
  display: grid; gap: .5rem; align-content: start;
  padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.25rem, 2.5vw, 2rem) 0;
  border-inline-start: 1px solid var(--rule);
}
.note:first-child { border-inline-start: 0; padding-inline-start: 0; }
.note__idx {
  font-size: var(--t-label); font-weight: 600; color: var(--green);
  letter-spacing: var(--track-label); justify-self: start;
}
.note h3 { font-size: 1.1rem; }
.note p { font-size: var(--t-sm); color: var(--ink-2); line-height: 1.75; }


.stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
         margin-block-start: clamp(3rem, 6vw, 4.5rem); border-block-start: 1px solid var(--rule-2); }
.stats > div { padding: clamp(1.25rem, 2.5vw, 1.75rem) clamp(1rem, 2vw, 1.75rem) 0;
               border-inline-start: 1px solid var(--rule); }
.stats > div:first-child { border-inline-start: 0; padding-inline-start: 0; }
.stats dt { font-size: clamp(1.9rem, 4vw, 3rem); font-weight: 600; line-height: 1;
            font-variant-numeric: tabular-nums; }
.stats dt .unit { font-size: .38em; font-weight: 500; color: var(--ink-3); margin-inline-start: .25em; }
.stats dd { margin-block-start: .5rem; font-size: var(--t-sm); color: var(--ink-3); line-height: 1.55; }


.services__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .72fr);
  gap: clamp(2rem, 5vw, 4.5rem); align-items: start;
}
.services__list { border-block-start: 1px solid var(--rule-2); }

.svc {
  position: relative; display: block; width: 100%; text-align: start;
  padding: clamp(1.4rem, 2.8vw, 2.1rem) 0;
  border-block-end: 1px solid var(--rule);
  transition: padding-inline-start var(--dur-3) var(--ease);
}
.svc:hover, .svc.is-active { padding-inline-start: .6rem; }
.svc__top { display: flex; align-items: center; gap: 1.1rem; }
.svc__idx {
  font-size: var(--t-label); font-weight: 600; letter-spacing: var(--track-label);
  color: var(--ink-3); font-variant-numeric: tabular-nums;
  transition: color var(--dur-2) var(--ease);
}
.svc.is-active .svc__idx { color: var(--green); }
.svc__name {
  font-size: clamp(1.45rem, 3vw, 2.15rem); font-weight: 600; line-height: 1.2;
  transition: color var(--dur-2) var(--ease);
}
.svc.is-active .svc__name { color: var(--green); }
.svc__go {
  margin-inline-start: auto; inline-size: 30px; block-size: 30px; flex: none;
  display: grid; place-items: center; border-radius: 50%;
  border: 1px solid var(--rule-2); color: var(--ink-3);
  opacity: 0; transform: translateX(8px);
  transition: opacity var(--dur-2) var(--ease), transform var(--dur-2) var(--ease),
              border-color var(--dur-2) var(--ease), color var(--dur-2) var(--ease);
}
.svc:hover .svc__go, .svc.is-active .svc__go {
  opacity: 1; transform: none; color: var(--green); border-color: var(--green);
}
.svc__body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--dur-3) var(--ease); }
.svc.is-active .svc__body { grid-template-rows: 1fr; }
.svc__body > * { overflow: hidden; min-block-size: 0; }
.svc__desc { padding-block-start: .85rem; padding-inline-start: 3.1rem;
             font-size: var(--t-sm); color: var(--ink-2); max-width: 48ch; line-height: 1.72; }
.svc__meta { display: flex; flex-wrap: wrap; gap: .5rem;
             padding-block-start: .85rem; padding-inline-start: 3.1rem; }

.tag {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .28rem .65rem; border-radius: var(--r-xs);
  border: 1px solid var(--rule); background: var(--card);
  font-size: var(--t-xs); color: var(--ink-3);
}
.tag svg { inline-size: 13px; block-size: 13px; }
.tag--gold { color: var(--gold-deep); border-color: rgba(255,200,92,.3); background: rgba(255,200,92,.1); }


.svc-preview {
  position: sticky; inset-block-start: calc(var(--nav-h) + 2.5rem);
  border: 1px solid var(--rule-2); border-radius: var(--r-lg);
  background: var(--card); padding: clamp(1.25rem, 2.4vw, 1.75rem);
  overflow: hidden;
}
.svc-preview__art {
  position: relative; aspect-ratio: 16 / 11; border-radius: var(--r-md);
  border: 1px solid var(--rule); background: var(--paper-2);
  display: grid; place-items: center; overflow: hidden;
}

.svc-preview__streaks {
  position: absolute; inline-size: 60%; height: auto;
  inset-inline-end: 7%; inset-block-start: 50%; transform: translateY(-50%);
  fill: var(--accent, var(--green-bright)); opacity: .22;
}
.svc-preview__icon {
  position: relative; inline-size: clamp(70px, 12vw, 92px); aspect-ratio: 1;
  display: grid; place-items: center; border-radius: var(--r-md);
  border: 1px solid var(--rule-2); background: var(--card);
  color: var(--accent, var(--green));
}
.svc-preview__icon svg { inline-size: 44%; block-size: 44%; }
.svc-preview__label { margin-block-start: 1.2rem; }
.svc-preview__label h3 { margin-block-end: .2rem; font-size: 1.25rem; }
.svc-preview__label p { font-size: var(--t-sm); color: var(--ink-3); }
.svc-preview__meta {
  margin-block-start: 1rem; padding-block-start: .9rem;
  border-block-start: 1px solid var(--rule); display: grid; gap: .5rem;
}
.svc-preview__meta > div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.svc-preview__meta dt { font-size: var(--t-xs); color: var(--ink-3); }
.svc-preview__meta dd { font-size: var(--t-sm); font-weight: 600; color: var(--ink);
                        font-variant-numeric: tabular-nums; }
.swap { animation: swapIn var(--dur-3) var(--ease); }
@keyframes swapIn { from { opacity: 0; transform: translateY(6px); } }


.how__grid {
  display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4.5rem); align-items: start;
}
.flow { position: relative; display: grid; }
.flow::before {
  content: ''; position: absolute; inset-block: .9rem; inset-inline-start: 14px;
  inline-size: 1px; background: var(--rule);
}
.flow__fill {
  position: absolute; inset-block-start: .9rem; inset-inline-start: 14px;
  inline-size: 1px; block-size: 0; background: var(--green-bright);
  transition: height .1s linear;
}
.step { position: relative; display: grid; grid-template-columns: 30px minmax(0, 1fr);
        gap: clamp(1rem, 2.5vw, 1.6rem); padding-block: clamp(1rem, 2.2vw, 1.5rem); }
.step__bullet {
  position: relative; z-index: 1; inline-size: 30px; block-size: 30px;
  display: grid; place-items: center; border-radius: 50%;
  background: var(--paper); border: 1px solid var(--rule-2);
  font-size: var(--t-xs); font-weight: 600; color: var(--ink-3);
  font-variant-numeric: tabular-nums;
  transition: border-color var(--dur-3) var(--ease), color var(--dur-3) var(--ease);
}
.section--band .step__bullet { background: var(--paper-2); }
.step.in .step__bullet { border-color: var(--green-bright); color: var(--green); }
.step__text { padding-block-start: .1rem; }
.step__text h3 { margin-block-end: .35rem; }
.step__text p { font-size: var(--t-sm); color: var(--ink-2); max-width: 56ch; line-height: 1.72; }


.about__aside { display: grid; gap: var(--sp-5); }
.about__note { border-inline-start: 2px solid var(--green-bright); padding-inline-start: 1.1rem; }
.about__note h3 { font-size: 1.05rem; margin-block-end: .3rem; }
.about__note p { font-size: var(--t-sm); color: var(--ink-2); line-height: 1.72; }


.switch { display: flex; align-items: center; justify-content: space-between; gap: 1rem;
          padding: .8rem 1rem; border-radius: var(--r-sm);
          border: 1px solid var(--rule-2); background: var(--paper); cursor: pointer; }
.switch__text { font-size: var(--t-sm); }
.switch__text small { display: block; font-size: var(--t-xs); color: var(--ink-3); margin-block-start: .1rem; }
.switch input { position: absolute; opacity: 0; pointer-events: none; }
.switch__ui { position: relative; flex: none; inline-size: 42px; block-size: 24px;
              border-radius: 999px; background: var(--paper-3); border: 1px solid var(--rule-2);
              transition: background var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease); }
.switch__ui::after {
  content: ''; position: absolute; inset-block-start: 2px; inset-inline-start: 2px;
  inline-size: 18px; block-size: 18px; border-radius: 50%; background: var(--ink-3);
  transition: transform var(--dur-2) var(--ease), background var(--dur-2) var(--ease);
}
.switch input:checked + .switch__ui { background: rgba(255,200,92,.24); border-color: var(--gold); }
.switch input:checked + .switch__ui::after { transform: translateX(-18px); background: var(--gold-deep); }
.switch input:focus-visible + .switch__ui { outline: 2px solid var(--green); outline-offset: 3px; }


.tiers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
         border-block-start: 1px solid var(--rule-2); }
.tier { position: relative; padding: clamp(1.3rem, 2.5vw, 1.9rem) clamp(1rem, 2vw, 1.6rem) 0;
        display: grid; gap: .9rem; align-content: start;
        border-inline-start: 1px solid var(--rule); }
.tier:first-child { border-inline-start: 0; padding-inline-start: 0; }
.tier::before { content: ''; position: absolute; inset-block-start: -1px;
                inset-inline-start: 0; inline-size: 40px; block-size: 2px; background: var(--tone); }
.tier:first-child::before { inset-inline-start: 0; }
.tier__head { display: flex; align-items: center; gap: .65rem; }
.tier__icon { inline-size: 32px; block-size: 32px; display: grid; place-items: center;
              border-radius: var(--r-xs); color: var(--tone);
              border: 1px solid var(--rule); }
.tier__icon svg { inline-size: 18px; block-size: 18px; }
.tier__name { font-size: 1.05rem; font-weight: 600; margin: 0; }
.tier__pts { font-size: var(--t-xs); color: var(--ink-3); font-variant-numeric: tabular-nums; }
.tier__perks { display: grid; gap: .45rem; }
.tier__perks li { display: flex; align-items: flex-start; gap: .5rem;
                  font-size: var(--t-xs); color: var(--ink-2); line-height: 1.6; }
.tier__perks li::before { content: ''; flex: none; inline-size: 4px; block-size: 4px;
                          border-radius: 50%; background: var(--tone); margin-block-start: .55em; }

.driver-req { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-5) var(--sp-7); }
.req { display: flex; gap: .85rem; align-items: flex-start; }
.req__ico { flex: none; inline-size: 32px; block-size: 32px; display: grid; place-items: center;
            border-radius: var(--r-xs); border: 1px solid var(--rule); color: var(--coral-deep); }
.req__ico svg { inline-size: 17px; block-size: 17px; }
.req h3 { font-size: var(--t-sm); font-weight: 600; margin-block-end: .18rem; }
.req p { font-size: var(--t-xs); color: var(--ink-3); line-height: 1.65; }


.trust__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
               border-block-start: 1px solid var(--rule-2); }
.trust-item { display: grid; gap: .7rem; align-content: start;
              padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.25rem, 2.5vw, 2rem) 0;
              border-inline-start: 1px solid var(--rule); }
.trust-item:first-child { border-inline-start: 0; padding-inline-start: 0; }
.trust-item__ico { inline-size: 34px; block-size: 34px; display: grid; place-items: center;
                   border-radius: var(--r-xs); border: 1px solid var(--rule); color: var(--green); }
.trust-item__ico svg { inline-size: 18px; block-size: 18px; }
.trust-item h3 { font-size: 1.05rem; }
.trust-item p { font-size: var(--t-sm); color: var(--ink-2); line-height: 1.72; }


.download { background: var(--paper-3); color: var(--ink); }
.download .section-kicker { color: var(--ink-3); border-block-end-color: var(--rule-2); }
.download .section-kicker .idx { color: var(--green-bright); }
.download h2 { color: var(--ink); }
.download .lead { color: var(--ink-2); }

.download__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr);
  gap: clamp(2rem, 5vw, 4.5rem); align-items: center;
}

.stores { display: flex; flex-wrap: wrap; gap: .75rem; margin-block-start: clamp(1.5rem, 3vw, 2.25rem); }
.store {
  position: relative; display: inline-flex; align-items: center; gap: .7rem;
  padding: .7rem 1.15rem; border-radius: var(--r-sm);
  border: 1px solid var(--rule-2); color: var(--ink);
  transition: border-color var(--dur-2) var(--ease), background var(--dur-2) var(--ease);
}
.store:hover { border-color: var(--rule-3); background: var(--surface); }
.store[aria-disabled='true'] { cursor: default; opacity: .78; }
.store[aria-disabled='true']:hover { background: none; border-color: var(--rule-2); }
.store svg { inline-size: 26px; block-size: 26px; flex: none; }
.store__text { display: grid; gap: .1rem; line-height: 1.15; }
.store__top { font-size: .625rem; letter-spacing: var(--track-label);
              text-transform: uppercase; color: var(--ink-3); }
.store__name { font-size: .95rem; font-weight: 600; }
.store__soon {
  margin-inline-start: .35rem; padding: .1rem .4rem; border-radius: var(--r-xs);
  background: var(--green-bright); color: var(--paper); font-size: .625rem; font-weight: 700;
}


.notify { margin-block-start: clamp(1.75rem, 3vw, 2.5rem); max-width: 32rem; }
.notify__row { display: flex; gap: .5rem; }
.notify input {
  flex: 1; min-width: 0; padding: .8rem 1rem; border-radius: var(--r-sm);
  border: 1px solid var(--rule-2); background: var(--surface);
  color: var(--ink); font-size: var(--t-sm);
}
.notify input::placeholder { color: var(--ink-3); }
.notify input:focus { outline: 2px solid var(--green-bright); outline-offset: 2px; }
.notify .btn { background: var(--green-bright); border-color: var(--green-bright); color: var(--paper); }
.notify .btn:hover { background: var(--ink); border-color: var(--ink); }
.notify__note { margin-block-start: .7rem; font-size: var(--t-xs); color: var(--ink-3); }


.phone-frame {
  position: relative; inline-size: min(100%, 300px); margin-inline: auto;
  aspect-ratio: 300 / 610; border-radius: 38px;
  border: 1px solid var(--rule-2); background: var(--paper-deep);
  padding: 10px; overflow: hidden;
}
.phone-frame__screen {
  position: relative; block-size: 100%; border-radius: 30px; overflow: hidden;
  background: radial-gradient(120% 80% at 50% 0%, #14202a, #05070a 70%);
  display: grid; place-items: center;
}
.phone-frame__notch {
  position: absolute; inset-block-start: 10px; left: 50%;
  transform: translateX(-50%); inline-size: 96px; block-size: 26px;
  border-radius: 999px; background: #05070a; z-index: 2;
}
.phone-frame img { inline-size: 44%; }


.closing { position: relative; background: var(--paper-2);
           padding-block: clamp(5rem, 11vw, 9rem); border-block-start: 1px solid var(--rule); }
.closing__title { font-size: clamp(2.4rem, 7vw, 5.5rem); line-height: 1.08;
                  font-weight: 600; max-width: 16ch; text-wrap: balance; }
.closing__cta { display: flex; flex-wrap: wrap; gap: .75rem; margin-block-start: clamp(1.75rem, 3.5vw, 2.75rem); }

.contacts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
            margin-block-start: clamp(2.5rem, 5vw, 4rem); border-block-start: 1px solid var(--rule-2); }
.contact { padding: clamp(1.25rem, 2.5vw, 1.75rem) clamp(1rem, 2vw, 1.75rem) 0;
           display: grid; gap: .4rem; border-inline-start: 1px solid var(--rule); }
.contact:first-child { border-inline-start: 0; padding-inline-start: 0; }
.contact__val { font-size: clamp(1rem, 1.7vw, 1.15rem); font-weight: 600;
                display: inline-flex; align-items: center; gap: .5rem; }
.contact__val svg { inline-size: 16px; block-size: 16px; color: var(--green); flex: none; }
a.contact:hover .contact__val { color: var(--green); }


.footer { background: var(--paper-deep); color: var(--ink); }
.footer__top { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr));
               gap: clamp(2rem, 5vw, 4rem); padding-block: clamp(3rem, 5.5vw, 4.5rem) clamp(2rem, 3.5vw, 3rem); }
.footer .brand__word { color: var(--ink); }
.footer__brand { display: grid; gap: 1rem; align-content: start; max-width: 40ch; }
.footer__brand p { font-size: var(--t-sm); color: var(--ink-2); line-height: 1.75; }
.footer__facts { display: grid; gap: .6rem; }
.footer__facts li { display: flex; align-items: center; gap: .55rem;
                    font-size: var(--t-xs); color: var(--ink-2); }
.footer__facts svg { inline-size: 15px; block-size: 15px; flex: none; color: var(--green-bright); }
.footer__brand .btn { justify-self: start; margin-block-start: .2rem; }
.footer__col h3 { font-size: var(--t-label); font-weight: 600; text-transform: uppercase;
                  letter-spacing: var(--track-label); color: var(--ink-3);
                  margin-block-end: 1rem; }
.footer__col li { margin-block-end: .55rem; }
.footer__col a { font-size: var(--t-sm); color: var(--ink-2);
                 transition: color var(--dur-2) var(--ease); }
.footer__col a:hover { color: var(--green-bright); }

.footer__word {
  font-size: clamp(3.5rem, 15vw, 11rem); line-height: 1.15; font-weight: 600;
  text-align: center; color: var(--surface);
  padding-block: clamp(.5rem, 1.5vw, 1.25rem) clamp(.75rem, 2vw, 1.75rem);
  user-select: none;
}
.footer__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
               gap: 1rem; padding-block: 1.4rem; border-block-start: 1px solid var(--rule);
               font-size: var(--t-xs); color: var(--ink-3); }
.footer__bar nav { display: flex; flex-wrap: wrap; gap: 1.3rem; }
.footer__bar a:hover { color: var(--ink); }


.reveal { opacity: 0; transform: translateY(20px); }
.reveal.in { opacity: 1; transform: none;
             transition: opacity .8s var(--ease), transform .8s var(--ease);
             transition-delay: var(--rd, 0ms); }

.progress { position: fixed; inset-block-start: 0; inset-inline: 0; z-index: 120;
            block-size: 2px; pointer-events: none; }
.progress__bar { block-size: 100%; width: 0; background: var(--green-bright); }


.cursor, .cursor-dot {
  position: fixed; inset-block-start: 0; inset-inline-start: 0; z-index: 300;
  pointer-events: none; border-radius: 50%; opacity: 0;
  transition: opacity var(--dur-2) var(--ease); will-change: transform;
}
.cursor { inline-size: 30px; block-size: 30px; border: 1px solid var(--rule-3);
          margin: -15px 0 0 -15px;
          transition: opacity var(--dur-2) var(--ease), width var(--dur-2) var(--ease),
                      height var(--dur-2) var(--ease), margin var(--dur-2) var(--ease),
                      background var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease); }
.cursor-dot { inline-size: 4px; block-size: 4px; margin: -2px 0 0 -2px; background: var(--green); }
body.has-cursor .cursor, body.has-cursor .cursor-dot { opacity: 1; }
body.has-cursor.cursor-hot .cursor { inline-size: 48px; block-size: 48px; margin: -24px 0 0 -24px;
                                     background: rgba(0,165,111,.08); border-color: var(--green-bright); }
body.has-cursor.cursor-hot .cursor-dot { opacity: 0; }


.form-page { min-block-size: 100svh; display: grid;
             grid-template-columns: minmax(0, 1fr) minmax(0, .82fr); }
.form-page__aside {
  background: var(--paper-3); color: var(--ink);
  padding: calc(var(--nav-h) + clamp(2.5rem, 6vw, 5rem)) var(--gutter) clamp(2.5rem, 6vw, 5rem);
  display: flex; flex-direction: column; justify-content: space-between; gap: var(--sp-7);
}
.form-page__aside h1 { font-size: clamp(2rem, 4.4vw, 3.4rem); line-height: 1.14; color: var(--ink); }
.form-page__aside .lead { color: var(--ink-2); }
.form-page__aside .section-kicker { color: var(--ink-3); border-block-end-color: var(--rule-2); }
.form-page__aside .section-kicker .idx { color: var(--green-bright); }
.aside-points { display: grid; gap: 1.1rem; }
.aside-points li { display: flex; gap: .75rem; align-items: flex-start;
                   font-size: var(--t-sm); color: var(--ink-2); line-height: 1.7; }
.aside-points svg { inline-size: 18px; block-size: 18px; flex: none; margin-block-start: .25em;
                    color: var(--green-bright); }

.form-page__main {
  padding: calc(var(--nav-h) + clamp(2.5rem, 6vw, 4.5rem)) var(--gutter) clamp(2.5rem, 6vw, 4.5rem);
  display: flex; align-items: center;
}
.form-card { width: 100%; max-width: 30rem; margin-inline: auto; }
.form-card h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin-block-end: .5rem; }
.form-card > p { color: var(--ink-2); font-size: var(--t-sm); margin-block-end: var(--sp-6); }

.field-block { display: grid; gap: .5rem; margin-block-end: var(--sp-5); }
.field-block label { font-size: var(--t-sm); font-weight: 600; }
.field-block .hint { font-size: var(--t-xs); color: var(--ink-3); line-height: 1.6; }

.input {
  width: 100%; padding: .85rem 1rem; border-radius: var(--r-sm);
  border: 1px solid var(--rule-2); background: var(--card);
  color: var(--ink); font-size: var(--t-body);
  transition: border-color var(--dur-2) var(--ease);
}
.input:hover { border-color: var(--rule-3); }
.input:focus { outline: 2px solid var(--green); outline-offset: 1px; border-color: var(--green); }
.input::placeholder { color: var(--ink-3); }
.input[aria-invalid='true'] { border-color: var(--coral-deep); }


.phone-field { display: flex; align-items: stretch; direction: ltr;
               border: 1px solid var(--rule-2); border-radius: var(--r-sm);
               background: var(--card); overflow: hidden; }
.phone-field:focus-within { outline: 2px solid var(--green); outline-offset: 1px; border-color: var(--green); }
.phone-field__cc { display: grid; place-items: center; padding-inline: .9rem;
                   background: var(--paper-2); border-inline-end: 1px solid var(--rule-2);
                   font-size: var(--t-sm); font-weight: 600; color: var(--ink-2); }
.phone-field input {
  flex: 1; min-width: 0; border: 0; background: none; padding: .85rem 1rem;
  font-size: 1.15rem; font-variant-numeric: tabular-nums; letter-spacing: .06em; color: var(--ink);
}
.phone-field input:focus { outline: none; }


.otp-row { display: flex; gap: .55rem; direction: ltr; justify-content: flex-start; }
.otp-row input {
  inline-size: 3.4rem; block-size: 3.9rem; text-align: center;
  font-size: 1.5rem; font-weight: 600; font-variant-numeric: tabular-nums;
  border: 1px solid var(--rule-2); border-radius: var(--r-sm);
  background: var(--card); color: var(--ink);
  transition: border-color var(--dur-2) var(--ease);
}
.otp-row input:focus { outline: 2px solid var(--green); outline-offset: 1px; border-color: var(--green); }
.otp-row input:not(:placeholder-shown) { border-color: var(--green); }


.role-picker { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.role-picker input { position: absolute; opacity: 0; pointer-events: none; }
.role-picker label {
  display: grid; gap: .3rem; padding: 1rem; cursor: pointer;
  border: 1px solid var(--rule-2); border-radius: var(--r-sm); background: var(--card);
  transition: border-color var(--dur-2) var(--ease), background var(--dur-2) var(--ease);
}
.role-picker label svg { inline-size: 20px; block-size: 20px; color: var(--ink-3); }
.role-picker strong { font-size: var(--t-sm); font-weight: 600; }
.role-picker small { font-size: var(--t-xs); color: var(--ink-3); line-height: 1.5; }
.role-picker label:hover { border-color: var(--rule-3); }
.role-picker input:checked + label { border-color: var(--green); background: var(--green-wash); }
.role-picker input:checked + label svg { color: var(--green); }
.role-picker input:focus-visible + label { outline: 2px solid var(--green); outline-offset: 2px; }

.check { display: flex; gap: .65rem; align-items: flex-start; font-size: var(--t-sm);
         color: var(--ink-2); line-height: 1.65; cursor: pointer; }
.check input { inline-size: 18px; block-size: 18px; margin: .25em 0 0; flex: none; accent-color: var(--green); }
.check a { color: var(--green); text-decoration: underline; text-underline-offset: .2em; }

.form-actions { display: grid; gap: .8rem; margin-block-start: var(--sp-6); }
.form-actions .btn { justify-content: center; }

.msg { display: flex; gap: .6rem; align-items: flex-start; padding: .85rem 1rem;
       border-radius: var(--r-sm); font-size: var(--t-sm); line-height: 1.6;
       margin-block-start: var(--sp-4); }
.msg svg { inline-size: 17px; block-size: 17px; flex: none; margin-block-start: .2em; }
.msg--err { background: var(--coral-wash); color: var(--coral-deep); }
.msg--ok  { background: var(--green-wash); color: var(--green); }
.msg--info { background: var(--paper-2); color: var(--ink-2); }
.msg[hidden] { display: none; }

.step-dots { display: flex; gap: .4rem; margin-block-end: var(--sp-5); }
.step-dots span { block-size: 2px; inline-size: 2rem; background: var(--rule-2); }
.step-dots span.is-on { background: var(--green-bright); }

.resend { display: flex; align-items: center; justify-content: space-between; gap: 1rem;
          margin-block-start: var(--sp-4); font-size: var(--t-sm); color: var(--ink-3); }
.resend button { color: var(--green); font-weight: 600; }
.resend button[disabled] { color: var(--ink-3); font-weight: 400; cursor: default; }


.dash { min-block-size: 100svh; padding-block-start: var(--nav-h); background: var(--paper-2); }
.dash__bar {
  position: sticky; inset-block-start: var(--nav-h); z-index: 20;
  display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
  padding: 1rem var(--gutter); background: var(--glass-2);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-block-end: 1px solid var(--rule);
}
.dash__bar h1 { font-size: 1.15rem; font-weight: 600; }
.dash__bar .spacer { flex: 1; }
.dash__status { font-size: var(--t-xs); color: var(--ink-3); }
.dash__status.is-dirty { color: var(--gold-deep); font-weight: 600; }
.dash__status.is-saved { color: var(--green); font-weight: 600; }

.dash__body { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
              gap: clamp(1.5rem, 3vw, 3rem); padding: clamp(1.5rem, 3vw, 2.5rem) var(--gutter) var(--sp-9);
              max-width: var(--maxw); margin-inline: auto; }
.dash__nav { position: sticky; inset-block-start: calc(var(--nav-h) + 5rem); align-self: start;
             display: grid; gap: .15rem; }
.dash__nav button {
  text-align: start; padding: .6rem .85rem; border-radius: var(--r-sm);
  font-size: var(--t-sm); color: var(--ink-3);
  transition: background var(--dur-2) var(--ease), color var(--dur-2) var(--ease);
}
.dash__nav button:hover { background: var(--paper-3); color: var(--ink); }
.dash__nav button.is-on { background: var(--ink); color: var(--paper); font-weight: 600; }

.panel { display: none; }
.panel.is-on { display: grid; gap: var(--sp-5); }
.panel__group { background: var(--card); border: 1px solid var(--rule); border-radius: var(--r-lg);
                padding: clamp(1.25rem, 2.5vw, 1.75rem); display: grid; gap: var(--sp-4); }
.panel__group > h2 { font-size: 1.05rem; font-weight: 600;
                     padding-block-end: .85rem; border-block-end: 1px solid var(--rule); }
.panel__row { display: grid; gap: .4rem; }
.panel__row label { font-size: var(--t-sm); font-weight: 600; }
.panel__row .hint { font-size: var(--t-xs); color: var(--ink-3); }
.panel__row textarea.input { min-block-size: 5.5rem; resize: vertical; line-height: 1.7; }
.panel__cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); }

.repeat-row { display: grid; grid-template-columns: 1fr 1fr auto; gap: .5rem; align-items: end; }
.repeat-row .btn { padding: .7rem .9rem; }
.icon-btn { inline-size: 40px; block-size: 40px; display: grid; place-items: center;
            border: 1px solid var(--rule-2); border-radius: var(--r-sm); color: var(--ink-3);
            transition: color var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease); }
.icon-btn:hover { color: var(--coral-deep); border-color: var(--coral-deep); }
.icon-btn svg { inline-size: 17px; block-size: 17px; }


.legal-hero { position: relative; background: var(--paper-2);
              padding-block: calc(var(--nav-h) + clamp(3rem, 7vw, 5rem)) clamp(2.5rem, 5vw, 3.5rem);
              border-block-end: 1px solid var(--rule); }
.legal-hero h1 { font-size: clamp(2.2rem, 5.5vw, 4rem); margin-block: .9rem .8rem; }
.legal-hero .lead { max-width: 60ch; }
.legal-meta { display: flex; flex-wrap: wrap; gap: 1.5rem;
              margin-block-start: clamp(1.5rem, 3vw, 2.25rem); padding-block-start: 1.1rem;
              border-block-start: 1px solid var(--rule-2); font-size: var(--t-xs); color: var(--ink-3); }
.legal-meta strong { color: var(--ink-2); font-weight: 600; }

.legal-body { display: grid; grid-template-columns: minmax(0, 210px) minmax(0, 1fr);
              max-width: 1060px; margin-inline: auto;
              gap: clamp(2rem, 5vw, 4rem); padding-block: clamp(2.5rem, 5vw, 4rem); align-items: start; }
.legal-toc { position: sticky; inset-block-start: calc(var(--nav-h) + 2rem); }
.legal-toc h2 { font-size: var(--t-label); font-weight: 600; text-transform: uppercase;
                letter-spacing: var(--track-label); color: var(--ink-3); margin-block-end: .9rem; }
.legal-toc a { display: block; padding-block: .4rem; font-size: var(--t-sm); color: var(--ink-3);
               border-inline-start: 1px solid var(--rule); padding-inline-start: .85rem;
               transition: color var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease); }
.legal-toc a:hover { color: var(--ink); border-inline-start-color: var(--green-bright); }

.legal-doc { max-width: 70ch; }
.legal-doc > section + section { margin-block-start: clamp(2rem, 3.5vw, 3rem);
                                 padding-block-start: clamp(2rem, 3.5vw, 3rem);
                                 border-block-start: 1px solid var(--rule); }
.legal-doc h2 { font-size: clamp(1.3rem, 2.2vw, 1.6rem); line-height: 1.35;
                display: flex; align-items: baseline; gap: .8rem; margin-block-end: 1rem; }
.legal-doc h2 .n { font-size: var(--t-label); font-weight: 600; color: var(--green);
                   letter-spacing: var(--track-label); flex: none; }
.legal-doc h3 { font-size: 1.05rem; margin-block: 1.5rem .55rem; }
.legal-doc p { color: var(--ink-2); line-height: 1.85; margin-block-end: .85rem; }
.legal-doc ul { display: grid; gap: .65rem; margin-block: .3rem 1rem; }
.legal-doc li { position: relative; padding-inline-start: 1.1rem;
                color: var(--ink-2); line-height: 1.8; font-size: var(--t-sm); }
.legal-doc li::before { content: ''; position: absolute; inset-inline-start: 0; inset-block-start: .72em;
                        inline-size: 4px; block-size: 4px; border-radius: 50%; background: var(--green-bright); }
.legal-doc strong { color: var(--ink); font-weight: 600; }
.legal-doc a:not(.btn) { color: var(--green); text-decoration: underline; text-underline-offset: .25em; }

.callout { border: 1px solid var(--rule); border-radius: var(--r-md);
           background: var(--card); padding: clamp(1rem, 2vw, 1.4rem); margin-block: 1.4rem; }
.callout--gold { border-color: rgba(255,200,92,.32); background: rgba(255,200,92,.07); }
.callout h3 { margin-block-start: 0; }
.callout p:last-child, .callout ul:last-child { margin-block-end: 0; }

.data-table { border-block-start: 1px solid var(--rule-2); margin-block: 1.2rem; }
.data-table > div { padding: .95rem 0; border-block-end: 1px solid var(--rule);
                    display: grid; gap: .3rem; }
.data-table dt { display: flex; align-items: center; gap: .55rem; font-size: var(--t-sm); font-weight: 600; }
.data-table dt svg { inline-size: 16px; block-size: 16px; color: var(--green); flex: none; }
.data-table dd { font-size: var(--t-xs); color: var(--ink-3); line-height: 1.7; }

.audience { display: inline-flex; gap: 0; border: 1px solid var(--rule-2);
            border-radius: var(--r-sm); overflow: hidden; margin-block-start: 1.5rem; }
.audience a { padding: .55rem 1.1rem; font-size: var(--t-sm); font-weight: 500; color: var(--ink-3);
              border-inline-start: 1px solid var(--rule-2);
              transition: color var(--dur-2) var(--ease), background var(--dur-2) var(--ease); }
.audience a:first-child { border-inline-start: 0; }
.audience a:hover { background: var(--card); color: var(--ink); }


@media (max-width: 1180px) {
  .hero__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
}

@media (max-width: 1024px) {
  :root { --nav-h: 64px; }
  .nav__links, .nav__cta { display: none; }
  .burger { display: block; }

  .hero { min-block-size: auto; padding-block: calc(var(--nav-h) + 2.5rem) var(--sp-8); }
  .hero__grid { grid-template-columns: 1fr; grid-template-areas: 'copy' 'art' 'facts';
                gap: clamp(2rem, 7vw, 3rem); }
  .dispatch { max-width: 440px; margin-inline: auto; }
  .hero__scroll { display: none; }

  .about__head { grid-template-columns: 1fr; grid-template-areas: 'kicker' 'title' 'lead';
                 align-items: start; }
  .notes, .stats, .trust__grid, .contacts { grid-template-columns: 1fr 1fr; }
  .note, .stats > div, .trust-item, .contact { border-inline-start: 0;
    border-block-end: 1px solid var(--rule); padding-inline: 0; padding-block-end: var(--sp-5); }
  .note:nth-child(-n+2), .stats > div:nth-child(-n+2) { }
  .services__grid, .how__grid, .download__grid { grid-template-columns: 1fr; }
  .svc-preview { position: static; order: -1; }
  .tiers { grid-template-columns: 1fr 1fr; }
  .tier { border-inline-start: 0; border-block-end: 1px solid var(--rule);
          padding-inline: 0; padding-block-end: var(--sp-5); }
  .tier:nth-child(even) { padding-inline-start: var(--sp-5); border-inline-start: 1px solid var(--rule); }
  .footer__top { grid-template-columns: 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
  .form-page { grid-template-columns: 1fr; }
  .form-page__aside { padding-block: calc(var(--nav-h) + 2.5rem) 2.5rem; }
  .form-page__main { padding-block: 2.5rem 3.5rem; }
  .dash__body { grid-template-columns: 1fr; }
  .dash__nav { position: static; display: flex; flex-wrap: wrap; gap: .4rem; }
  .legal-body { grid-template-columns: 1fr; }
  .legal-toc { position: static; }
  .legal-toc > div { display: flex; flex-wrap: wrap; gap: .4rem; }
  .legal-toc a { border-inline-start: 0; padding: .4rem .8rem;
                 border: 1px solid var(--rule); border-radius: var(--r-sm); }
}

@media (max-width: 720px) {
  :root { --section-y: clamp(3.5rem, 12vw, 5rem); }
  .hero__facts { grid-template-columns: 1fr; }
  .hero__facts > div { border-inline-start: 0; padding-inline: 0;
                       padding-block: 1rem; border-block-end: 1px solid var(--rule); }
  .hero__facts > div:last-child { border-block-end: 0; }
  .notes, .stats, .trust__grid, .contacts, .tiers,
  .driver-req, .panel__cols { grid-template-columns: 1fr; }
  .tier:nth-child(even) { padding-inline-start: 0; border-inline-start: 0; }
  .footer__top { grid-template-columns: 1fr; }
  .footer__bar { flex-direction: column; align-items: flex-start; }
  .svc__desc, .svc__meta { padding-inline-start: 0; }
  .role-picker { grid-template-columns: 1fr; }
  .otp-row input { inline-size: 2.9rem; block-size: 3.4rem; font-size: 1.3rem; }
  .repeat-row { grid-template-columns: 1fr; }
  .notify__row { flex-direction: column; }
}

@media (max-width: 560px) {
  :root { --gutter: 1.25rem; }
  .hero__cta .btn, .closing__cta .btn { flex: 1 1 100%; justify-content: center; }
}

@media (pointer: coarse) {
  .nav__links a, .footer__col a, .footer__bar a { padding-block: .65rem; }
  .cursor, .cursor-dot { display: none; }
}


@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important; scroll-behavior: auto !important;
  }
  .reveal { opacity: 1; transform: none; }
  .menu.is-open .menu__nav a { opacity: 1; transform: none; }
  .hero__title .line > span { transform: none; }
  .rise { opacity: 1; transform: none; }
  .underline-draw::after { transform: scaleX(1); }
  .ticker__row { animation: none; }
  .cursor, .cursor-dot { display: none; }
}
