/* Inter and Rubik, self-hosted from @fontsource 5.3.0 (OFL) so no request goes to Google before consent */
/* inter-cyrillic-ext-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(../fonts/inter-cyrillic-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
/* inter-cyrillic-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(../fonts/inter-cyrillic-400-normal.woff2) format('woff2');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
/* inter-greek-ext-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(../fonts/inter-greek-ext-400-normal.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* inter-greek-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(../fonts/inter-greek-400-normal.woff2) format('woff2');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}
/* inter-latin-ext-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(../fonts/inter-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* inter-latin-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(../fonts/inter-latin-400-normal.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;
}
/* inter-cyrillic-ext-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(../fonts/inter-cyrillic-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
/* inter-cyrillic-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(../fonts/inter-cyrillic-500-normal.woff2) format('woff2');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
/* inter-greek-ext-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(../fonts/inter-greek-ext-500-normal.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* inter-greek-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(../fonts/inter-greek-500-normal.woff2) format('woff2');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}
/* inter-latin-ext-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(../fonts/inter-latin-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* inter-latin-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(../fonts/inter-latin-500-normal.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;
}
/* inter-cyrillic-ext-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(../fonts/inter-cyrillic-ext-600-normal.woff2) format('woff2');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
/* inter-cyrillic-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(../fonts/inter-cyrillic-600-normal.woff2) format('woff2');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
/* inter-greek-ext-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(../fonts/inter-greek-ext-600-normal.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* inter-greek-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(../fonts/inter-greek-600-normal.woff2) format('woff2');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}
/* inter-latin-ext-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(../fonts/inter-latin-ext-600-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* inter-latin-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(../fonts/inter-latin-600-normal.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;
}
/* inter-cyrillic-ext-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(../fonts/inter-cyrillic-ext-700-normal.woff2) format('woff2');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
/* inter-cyrillic-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(../fonts/inter-cyrillic-700-normal.woff2) format('woff2');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
/* inter-greek-ext-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(../fonts/inter-greek-ext-700-normal.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* inter-greek-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(../fonts/inter-greek-700-normal.woff2) format('woff2');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}
/* inter-latin-ext-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(../fonts/inter-latin-ext-700-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* inter-latin-700-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(../fonts/inter-latin-700-normal.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;
}
/* rubik-cyrillic-ext-500-normal */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(../fonts/rubik-cyrillic-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
/* rubik-cyrillic-500-normal */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(../fonts/rubik-cyrillic-500-normal.woff2) format('woff2');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
/* rubik-latin-ext-500-normal */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(../fonts/rubik-latin-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* rubik-latin-500-normal */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(../fonts/rubik-latin-500-normal.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;
}
/* rubik-cyrillic-ext-600-normal */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(../fonts/rubik-cyrillic-ext-600-normal.woff2) format('woff2');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
/* rubik-cyrillic-600-normal */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(../fonts/rubik-cyrillic-600-normal.woff2) format('woff2');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
/* rubik-latin-ext-600-normal */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(../fonts/rubik-latin-ext-600-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* rubik-latin-600-normal */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(../fonts/rubik-latin-600-normal.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;
}
/* rubik-cyrillic-ext-700-normal */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(../fonts/rubik-cyrillic-ext-700-normal.woff2) format('woff2');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
/* rubik-cyrillic-700-normal */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(../fonts/rubik-cyrillic-700-normal.woff2) format('woff2');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
/* rubik-latin-ext-700-normal */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(../fonts/rubik-latin-ext-700-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* rubik-latin-700-normal */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(../fonts/rubik-latin-700-normal.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;
}
/* rubik-cyrillic-ext-800-italic */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-display: swap;
  font-weight: 800;
  src: url(../fonts/rubik-cyrillic-ext-800-italic.woff2) format('woff2');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
/* rubik-cyrillic-800-italic */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-display: swap;
  font-weight: 800;
  src: url(../fonts/rubik-cyrillic-800-italic.woff2) format('woff2');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
/* rubik-latin-ext-800-italic */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-display: swap;
  font-weight: 800;
  src: url(../fonts/rubik-latin-ext-800-italic.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* rubik-latin-800-italic */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-display: swap;
  font-weight: 800;
  src: url(../fonts/rubik-latin-800-italic.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;
}

/* Layout: 1200px container, light surface-50 base, navy-deep bands for rhythm, yellow = the one action colour */
:root{
  --yellow:#ffcc00;--yellow-soft:#fff4c2;--red:#ed0b0d;--orange:#f7923c;
  --navy:#283b80;--navy-deep:#112857;--navy-deep-2:#1b356c;--on-dark:#f7fafc;--on-dark-muted:#a8bbff;
  --ink:#1a202c;--slate-700:#2d3748;--slate-600:#4a5568;--slate-500:#718096;
  --surface-0:#ffffff;--surface-50:#f7fafc;--surface-100:#edf2f7;--border:#e2e8f0;
  --success:#16a34a;--success-soft:#e6f6ec;
  --font-display:"Rubik",ui-sans-serif,system-ui,sans-serif;
  --font-sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --shadow-sm:0 1px 2px rgba(17,40,87,.06),0 1px 3px rgba(17,40,87,.08);
  --shadow-md:0 4px 12px rgba(17,40,87,.08),0 2px 4px rgba(17,40,87,.06);
  --shadow-lg:0 24px 48px -12px rgba(17,40,87,.22);
  --ease:cubic-bezier(.2,.7,.2,1);
  --nav-h:76px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-50);color:var(--slate-700);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--navy)}a:hover{color:var(--navy-deep)}
h1,h2,h3{font-family:var(--font-display);color:var(--ink);text-wrap:balance;margin:0}
p{margin:0}
button{font:inherit}
[hidden]{display:none!important}
section[id],main[id]{scroll-margin-top:calc(var(--nav-h) + 8px)}
.wrap{max-width:1248px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.sec{padding-block:104px}
.h2{font-size:40px;line-height:48px;font-weight:600;letter-spacing:-.015em}
.lead{font-size:18px;line-height:30px;color:var(--slate-600);max-width:62ch}
.eyebrow{font:600 13px/16px var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.rule{width:56px;height:6px;border-radius:3px;background:var(--yellow)}
:focus-visible{outline:3px solid var(--navy);outline-offset:3px;border-radius:6px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 26px;border-radius:12px;border:1.5px solid transparent;font:600 15px/20px var(--font-sans);letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background-color .18s,color .18s;white-space:nowrap}
.btn svg{width:18px;height:18px;transition:transform .18s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn-primary{background:var(--yellow);color:var(--navy-deep)}
.btn-primary:hover{color:var(--navy-deep);transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(255,204,0,.75)}
.btn-primary:active{transform:translateY(0)}
.btn-secondary{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-secondary:hover{background:var(--navy);color:var(--on-dark)}
.btn-dark{background:transparent;color:var(--on-dark);border-color:rgba(168,187,255,.6)}
.btn-dark:hover{color:var(--navy-deep);background:var(--on-dark);border-color:var(--on-dark)}
.btn-ghost{min-height:36px;padding:0;color:var(--navy);font-weight:600}
.btn-ghost:hover{color:var(--navy-deep)}
.btn-lg{min-height:56px;padding:15px 32px}

/* Announcement */
.announce{background:var(--red);color:#fff;overflow:hidden}
.announce .wrap{display:flex;align-items:center;justify-content:center;gap:12px;min-height:42px;padding-block:8px;position:relative}
.announce .ann-t{font:500 14px/20px var(--font-sans);color:#fff}
.announce .ann-t b{font-weight:700;color:#fff}
.announce .ann-cta{gap:6px;font:700 14px/20px var(--font-sans);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.announce a{color:#fff;display:inline-flex;align-items:center;transition:transform .18s var(--ease)}
.announce a:hover{transform:translateX(3px);color:#fff}
.announce .x{position:absolute;right:max(16px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:8px;border:0;background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer}
.announce .x:hover{background:rgba(255,255,255,.15)}

/* Nav */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:#fff}
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.nav.scrolled{border-bottom-color:var(--border);box-shadow:0 6px 20px -12px rgba(17,40,87,.25)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--nav-h)}
.brand{display:inline-flex;align-items:center;text-decoration:none;height:44px}
/* Logo: Speed S monogram lockup, outlined paths in the #sm-logo symbol; the word takes currentColor (navy-deep on light, white on dark) */
.logo{display:block;width:auto;color:var(--navy-deep)}
.logo-on-dark{color:#fff}
.brand .logo{height:38px}
.nav-links{display:flex;gap:6px}
.nav-links a{position:relative;padding:10px 14px;color:var(--slate-700);text-decoration:none;font:500 15px/20px var(--font-sans);border-radius:10px;transition:color .15s,background-color .15s}
.nav-links a:hover{color:var(--navy);background:var(--surface-100)}
.nav-links a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:3px;border-radius:2px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav-links a.active{color:var(--ink)}
.nav-links a.active::after{transform:scaleX(1)}
.nav-right{display:flex;align-items:center;gap:16px}
.login{color:var(--slate-700);text-decoration:none;font:600 15px/20px var(--font-sans);padding:10px 6px}
.login:hover{color:var(--navy)}
.signup{min-height:42px;padding:9px 22px;border-radius:999px}
.menu-btn{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--border);background:var(--surface-0);color:var(--ink);align-items:center;justify-content:center;cursor:pointer}

/* Mobile sheet */
.sheet{position:fixed;inset:0;z-index:80;background:var(--navy-deep);color:var(--on-dark);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 16px) max(24px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 24px) max(24px,env(safe-area-inset-left,0px));opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s .25s}
.sheet.open{opacity:1;visibility:visible;transform:none;transition:opacity .25s var(--ease),transform .25s var(--ease)}
.sheet-top{display:flex;justify-content:space-between;align-items:center;min-height:56px}
.sheet .close{width:46px;height:46px;border-radius:12px;border:1px solid rgba(168,187,255,.4);background:transparent;color:var(--on-dark);display:grid;place-items:center;cursor:pointer}
.sheet nav{display:flex;flex-direction:column;margin-top:32px}
.sheet nav a{color:var(--on-dark);text-decoration:none;font:600 30px/1.2 var(--font-display);padding:16px 0;border-bottom:1px solid var(--navy-deep-2);display:flex;justify-content:space-between;align-items:center}
.sheet nav a svg{color:var(--yellow)}
.sheet .sheet-cta{margin-top:auto;display:flex;flex-direction:column;gap:12px}
.sheet .sheet-cta .btn{width:100%}
.sheet-top .logo{height:34px}

/* Chips + flags */
.works{display:inline-flex;align-self:flex-start;align-items:center;flex-wrap:wrap;gap:6px 14px;padding:8px 16px 8px 14px;border-radius:999px;background:var(--surface-0);border:1px solid var(--border);box-shadow:var(--shadow-sm);font:500 14px/20px var(--font-sans);color:var(--slate-600)}
.works b{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:var(--ink)}
.works svg{width:18px;height:18px;flex:none}
.works .sep{width:1px;height:16px;background:var(--border)}
.perks{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:-8px;font:500 14px/20px var(--font-sans);color:var(--slate-600)}
.perks span{display:inline-flex;align-items:center;gap:8px}
.perk-btn{display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:4px}
.perk-btn:hover{color:var(--ink)}
.perk-btn i{width:26px;height:26px;border-radius:50%;background:var(--yellow-soft);color:var(--navy-deep);display:grid;place-items:center;flex:none}
.perks i{width:26px;height:26px;border-radius:50%;background:var(--yellow-soft);color:var(--navy-deep);display:grid;place-items:center;flex:none}
.perks svg{width:14px;height:14px}
.cc{display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 4px;border-radius:999px;background:var(--surface-0);border:1px solid var(--border);font:600 15px/24px var(--font-sans);color:var(--ink);vertical-align:4px;letter-spacing:.02em;transition:transform .18s var(--ease),border-color .18s}
.cc:hover{transform:translateY(-2px);border-color:var(--navy)}
.sep{color:var(--slate-500);margin-left:-4px;margin-right:2px}
.flag{display:inline-block;width:22px;height:16px;border-radius:999px;flex:none;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(17,40,87,.14)}
.flag.sq{width:30px;height:21px;border-radius:5px}
.f-de{background:linear-gradient(#000 33.3%,#dd0000 0 66.6%,#ffce00 0)}
.f-nl{background:linear-gradient(#ae1c28 33.3%,#fff 0 66.6%,#21468b 0)}
.f-it{background:linear-gradient(90deg,#009246 33.3%,#fff 0 66.6%,#ce2b37 0)}
.f-es{background:linear-gradient(#aa151b 25%,#f1bf00 0 75%,#aa151b 0)}
.f-hu{background:linear-gradient(#ce2939 33.3%,#fff 0 66.6%,#477050 0)}
.f-pl{background:linear-gradient(#fff 50%,#dc143c 0)}
.f-cz::before{content:"";position:absolute;inset:0;background:#11457e;clip-path:polygon(0 0,50% 50%,0 100%)}
.f-bg{background:linear-gradient(#fff 33.3%,#00966e 0 66.6%,#d62612 0)}
.f-ro{background:linear-gradient(90deg,#002b7f 33.3%,#fcd116 0 66.6%,#ce1126 0)}
.f-at{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='flag-icons-at' viewBox='0 0 640 480'%3E %3Cpath fill='%23fff' d='M0 160h640v160H0z'/%3E %3Cpath fill='%23c8102e' d='M0 0h640v160H0zm0 320h640v160H0z'/%3E %3C/svg%3E ") center/cover no-repeat}
.f-be{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='flag-icons-be' viewBox='0 0 640 480'%3E %3Cg fill-rule='evenodd' stroke-width='1pt'%3E %3Cpath fill='%23000001' d='M0 0h213.3v480H0z'/%3E %3Cpath fill='%23ffd90c' d='M213.3 0h213.4v480H213.3z'/%3E %3Cpath fill='%23f31830' d='M426.7 0H640v480H426.7z'/%3E %3C/g%3E %3C/svg%3E ") center/cover no-repeat}
.f-fr{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='flag-icons-fr' viewBox='0 0 640 480'%3E %3Cpath fill='%23fff' d='M0 0h640v480H0z'/%3E %3Cpath fill='%23000091' d='M0 0h213.3v480H0z'/%3E %3Cpath fill='%23e1000f' d='M426.7 0H640v480H426.7z'/%3E %3C/svg%3E ") center/cover no-repeat}
.f-gb{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='flag-icons-gb' viewBox='0 0 640 480'%3E %3Cpath fill='%23012169' d='M0 0h640v480H0z'/%3E %3Cpath fill='%23FFF' d='m75 0 244 181L562 0h78v62L400 241l240 178v61h-80L320 301 81 480H0v-60l239-178L0 64V0z'/%3E %3Cpath fill='%23C8102E' d='m424 281 216 159v40L369 281zm-184 20 6 35L54 480H0zM640 0v3L391 191l2-44L590 0zM0 0l239 176h-60L0 42z'/%3E %3Cpath fill='%23FFF' d='M241 0v480h160V0zM0 160v160h640V160z'/%3E %3Cpath fill='%23C8102E' d='M0 193v96h640v-96zM273 0v480h96V0z'/%3E %3C/svg%3E ") center/cover no-repeat}
.f-us{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='flag-icons-us' viewBox='0 0 640 480'%3E %3Cpath fill='%23bd3d44' d='M0 0h640v480H0'/%3E %3Cpath stroke='%23fff' stroke-width='37' d='M0 55.3h640M0 129h640M0 203h640M0 277h640M0 351h640M0 425h640'/%3E %3Cpath fill='%23192f5d' d='M0 0h364.8v258.5H0'/%3E %3Cmarker id='us-a' markerHeight='30' markerWidth='30'%3E %3Cpath fill='%23fff' d='m14 0 9 27L0 10h28L5 27z'/%3E %3C/marker%3E %3Cpath fill='none' marker-mid='url(%23us-a)' d='m0 0 16 11h61 61 61 61 60L47 37h61 61 60 61L16 63h61 61 61 61 60L47 89h61 61 60 61L16 115h61 61 61 61 60L47 141h61 61 60 61L16 166h61 61 61 61 60L47 192h61 61 60 61L16 218h61 61 61 61 60z'/%3E %3C/svg%3E ") center/cover no-repeat}
.f-cz{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='flag-icons-cz' viewBox='0 0 640 480'%3E %3Cpath fill='%23fff' d='M0 0h640v240H0z'/%3E %3Cpath fill='%23d7141a' d='M0 240h640v240H0z'/%3E %3Cpath fill='%2311457e' d='M360 240 0 0v480z'/%3E %3C/svg%3E ") center/cover no-repeat}
.f-sk{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='flag-icons-sk' viewBox='0 0 640 480'%3E %3Cpath fill='%23ee1c25' d='M0 0h640v480H0z'/%3E %3Cpath fill='%230b4ea2' d='M0 0h640v320H0z'/%3E %3Cpath fill='%23fff' d='M0 0h640v160H0z'/%3E %3Cpath fill='%23fff' d='M233 370.8c-43-20.7-104.6-61.9-104.6-143.2 0-81.4 4-118.4 4-118.4h201.3s3.9 37 3.9 118.4S276 350 233 370.8'/%3E %3Cpath fill='%23ee1c25' d='M233 360c-39.5-19-96-56.8-96-131.4s3.6-108.6 3.6-108.6h184.8s3.5 34 3.5 108.6C329 303.3 272.5 341 233 360'/%3E %3Cpath fill='%23fff' d='M241.4 209c10.7.2 31.6.6 50.1-5.6 0 0-.4 6.7-.4 14.4s.5 14.4.5 14.4c-17-5.7-38.1-5.8-50.2-5.7v41.2h-16.8v-41.2c-12-.1-33.1 0-50.1 5.7 0 0 .5-6.7.5-14.4 0-7.8-.5-14.4-.5-14.4 18.5 6.2 39.4 5.8 50 5.6v-25.9c-9.7 0-23.7.4-39.6 5.7 0 0 .5-6.6.5-14.4 0-7.7-.5-14.4-.5-14.4 15.9 5.3 29.9 5.8 39.6 5.7-.5-16.4-5.3-37-5.3-37s9.9.7 13.8.7c4 0 13.8-.7 13.8-.7s-4.8 20.6-5.3 37c9.7.1 23.7-.4 39.6-5.7 0 0-.5 6.7-.5 14.4 0 7.8.5 14.4.5 14.4a119 119 0 0 0-39.7-5.7v26z'/%3E %3Cpath fill='%230b4ea2' d='M233 263.3c-19.9 0-30.5 27.5-30.5 27.5s-6-13-22.2-13c-11 0-19 9.7-24.2 18.8 20 31.7 51.9 51.3 76.9 63.4 25-12 57-31.7 76.9-63.4-5.2-9-13.2-18.8-24.2-18.8-16.2 0-22.2 13-22.2 13S253 263.3 233 263.3'/%3E %3C/svg%3E ") center/cover no-repeat}
.f-gr{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='flag-icons-gr' viewBox='0 0 640 480'%3E %3Cpath fill='%230d5eaf' fill-rule='evenodd' d='M0 0h640v53.3H0z'/%3E %3Cpath fill='%23fff' fill-rule='evenodd' d='M0 53.3h640v53.4H0z'/%3E %3Cpath fill='%230d5eaf' fill-rule='evenodd' d='M0 106.7h640V160H0z'/%3E %3Cpath fill='%23fff' fill-rule='evenodd' d='M0 160h640v53.3H0z'/%3E %3Cpath fill='%230d5eaf' d='M0 0h266.7v266.7H0z'/%3E %3Cpath fill='%230d5eaf' fill-rule='evenodd' d='M0 213.3h640v53.4H0z'/%3E %3Cpath fill='%23fff' fill-rule='evenodd' d='M0 266.7h640V320H0z'/%3E %3Cpath fill='%230d5eaf' fill-rule='evenodd' d='M0 320h640v53.3H0z'/%3E %3Cpath fill='%23fff' fill-rule='evenodd' d='M0 373.3h640v53.4H0z'/%3E %3Cg fill='%23fff' fill-rule='evenodd' stroke-width='1.3'%3E %3Cpath d='M106.7 0H160v266.7h-53.3z'/%3E %3Cpath d='M0 106.7h266.7V160H0z'/%3E %3C/g%3E %3Cpath fill='%230d5eaf' d='M0 426.7h640V480H0z'/%3E %3C/svg%3E ") center/cover no-repeat}
.f-tr{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='flag-icons-tr' viewBox='0 0 640 480'%3E %3Cg fill-rule='evenodd'%3E %3Cpath fill='%23e30a17' d='M0 0h640v480H0z'/%3E %3Cpath fill='%23fff' d='M407 247.5c0 66.2-54.6 119.9-122 119.9s-122-53.7-122-120 54.6-119.8 122-119.8 122 53.7 122 119.9'/%3E %3Cpath fill='%23e30a17' d='M413 247.5c0 53-43.6 95.9-97.5 95.9s-97.6-43-97.6-96 43.7-95.8 97.6-95.8 97.6 42.9 97.6 95.9z'/%3E %3Cpath fill='%23fff' d='m430.7 191.5-1 44.3-41.3 11.2 40.8 14.5-1 40.7 26.5-31.8 40.2 14-23.2-34.1 28.3-33.9-43.5 12-25.8-37z'/%3E %3C/g%3E %3C/svg%3E ") center/cover no-repeat}
.f-se{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='flag-icons-se' viewBox='0 0 640 480'%3E %3Cpath fill='%23005293' d='M0 0h640v480H0z'/%3E %3Cpath fill='%23fecb00' d='M176 0v192H0v96h176v192h96V288h368v-96H272V0z'/%3E %3C/svg%3E ") center/cover no-repeat}
.f-no{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='flag-icons-no' viewBox='0 0 640 480'%3E %3Cpath fill='%23ed2939' d='M0 0h640v480H0z'/%3E %3Cpath fill='%23fff' d='M180 0h120v480H180z'/%3E %3Cpath fill='%23fff' d='M0 180h640v120H0z'/%3E %3Cpath fill='%23002664' d='M210 0h60v480h-60z'/%3E %3Cpath fill='%23002664' d='M0 210h640v60H0z'/%3E %3C/svg%3E ") center/cover no-repeat}
.f-dk{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='flag-icons-dk' viewBox='0 0 640 480'%3E %3Cpath fill='%23c8102e' d='M0 0h640.1v480H0z'/%3E %3Cpath fill='%23fff' d='M205.7 0h68.6v480h-68.6z'/%3E %3Cpath fill='%23fff' d='M0 205.7h640.1v68.6H0z'/%3E %3C/svg%3E ") center/cover no-repeat}
.f-hk{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' id='flag-icons-hk' viewBox='0 0 640 480'%3E %3Cpath fill='%23EC1B2E' d='M0 0h640v480H0'/%3E %3Cpath id='hk-a' fill='%23fff' d='M346.3 103.1C267 98 230.6 201.9 305.6 240.3c-26-22.4-20.6-55.3-10.1-72.4l1.9 1.1c-13.8 23.5-11.2 52.7 11.1 71-12.7-12.3-9.5-39 12.1-48.9s23.6-39.3 16.4-49.1q-14.7-25.6 9.3-38.9M307.9 164l-4.7 7.4-1.8-8.6-8.6-2.3 7.8-4.3-.6-8.9 6.5 6.1 8.3-3.3-3.7 8.1 5.6 6.8z'/%3E %3Cuse xlink:href='%23hk-a' transform='rotate(72 312.5 243.5)'/%3E %3Cuse xlink:href='%23hk-a' transform='rotate(144 312.5 243.5)'/%3E %3Cuse xlink:href='%23hk-a' transform='rotate(216 312.5 243.5)'/%3E %3Cuse xlink:href='%23hk-a' transform='rotate(288 312.5 243.5)'/%3E %3C/svg%3E ") center/cover no-repeat}
.f-cn{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' id='flag-icons-cn' viewBox='0 0 640 480'%3E %3Cdefs%3E %3Cpath id='cn-a' fill='%23ff0' d='M-.6.8 0-1 .6.8-1-.3h2z'/%3E %3C/defs%3E %3Cpath fill='%23ee1c25' d='M0 0h640v480H0z'/%3E %3Cuse xlink:href='%23cn-a' width='30' height='20' transform='matrix(71.9991 0 0 72 120 120)'/%3E %3Cuse xlink:href='%23cn-a' width='30' height='20' transform='matrix(-12.33562 -20.5871 20.58684 -12.33577 240.3 48)'/%3E %3Cuse xlink:href='%23cn-a' width='30' height='20' transform='matrix(-3.38573 -23.75998 23.75968 -3.38578 288 95.8)'/%3E %3Cuse xlink:href='%23cn-a' width='30' height='20' transform='matrix(6.5991 -23.0749 23.0746 6.59919 288 168)'/%3E %3Cuse xlink:href='%23cn-a' width='30' height='20' transform='matrix(14.9991 -18.73557 18.73533 14.99929 240 216)'/%3E %3C/svg%3E ") center/cover no-repeat}
.f-pt{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 480'%3E%3Cpath fill='%23006600' d='M0 0h256v480H0z'/%3E%3Cpath fill='%23ff0000' d='M256 0h384v480H256z'/%3E%3Ccircle cx='256' cy='240' r='80' fill='%23ffcc00'/%3E%3Ccircle cx='256' cy='240' r='52' fill='%23ff0000'/%3E%3Cpath fill='%23fff' d='M232 206h48v52a24 24 0 0 1-48 0z'/%3E%3C/svg%3E") center/cover no-repeat}
.f-ua{background:linear-gradient(#0057b7 50%,#ffd700 0)}
.code{display:inline-block;min-width:34px;padding:2px 6px;border-radius:6px;background:var(--surface-100);color:var(--slate-600);font:600 11px/16px var(--font-sans);text-align:center;letter-spacing:.05em}
.mark{position:relative;white-space:nowrap;font-weight:700;color:var(--ink);padding:0 4px;background:linear-gradient(var(--yellow),var(--yellow)) 0 88%/100% 42% no-repeat;transition:background-size .9s var(--ease) .5s}
.js .mark{background-size:0% 42%}
.js .in .mark{background-size:100% 42%}

/* Cards */
.card{background:var(--surface-0);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm);padding:28px;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s}
.card.lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#d3dce8}
.icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--surface-100);color:var(--navy);flex:none;transition:background-color .22s,color .22s,transform .22s var(--ease)}
.icon svg{width:22px;height:22px}
.card.lift:hover .icon{background:var(--yellow);color:var(--navy-deep);transform:rotate(-6deg)}
.card h3{font-size:20px;line-height:28px;font-weight:600}
.card p{font-size:15px;line-height:25px;color:var(--slate-600)}
.dots{background-image:radial-gradient(#d3dce8 1.2px,transparent 1.3px);background-size:22px 22px}

/* Hero */
.hero{position:relative;overflow:hidden;background:var(--surface-50)}
.hero::before{content:"";position:absolute;right:-240px;top:-260px;width:720px;height:720px;border-radius:50%;background:radial-gradient(circle,rgba(255,204,0,.18),rgba(255,204,0,0) 65%);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:56px;align-items:center;padding-block:72px 64px}
.hero-copy{display:flex;flex-direction:column;gap:26px;min-width:0}
.h1{font-size:54px;line-height:60px;font-weight:700;letter-spacing:-.025em}
.hero-sub{font:600 23px/34px var(--font-display);color:var(--slate-700)}
.dep-line{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:-6px;font:600 14px/20px var(--font-sans);color:var(--slate-600)}
.dep-flags{display:inline-flex;gap:6px;text-decoration:none}
.dep-flags .flag{width:26px;height:18px;border-radius:4px;transition:transform .2s var(--ease)}
.dep-flags:hover .flag{transform:translateY(-2px)}
.flow-text{display:none;margin:0;padding:0;list-style:none;counter-reset:none}
.flow-text li{display:flex;align-items:center;gap:12px;padding:10px 0;font:600 15px/20px var(--font-sans);color:var(--ink);border-bottom:1px solid var(--border)}
.flow-text li:last-child{border-bottom:0}
.flow-text b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--yellow);color:var(--navy-deep);font:700 13px/1 var(--font-sans)}

.hero-sub .mark{font-size:30px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.hero-visual{position:relative;height:580px;border-radius:28px;background-color:var(--surface-100);border:1px solid var(--border);overflow:hidden}
.hv-route{position:absolute;inset:0;width:100%;height:100%}
.hv-route path{fill:none;stroke:var(--navy);stroke-width:2.5;stroke-dasharray:7 9;stroke-linecap:round;animation:dash 1.6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-32}}
.hv-pin{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;border:3px solid #fff;box-shadow:var(--shadow-md)}
.hv-pin.red{background:var(--red)}
.hv-pin.red::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:2px solid var(--red);opacity:0;animation:ping 2.2s var(--ease) infinite}
.hv-pin.navy{background:var(--navy-deep)}
@keyframes ping{0%{transform:scale(.4);opacity:.8}100%{transform:scale(1.8);opacity:0}}
.float-a{animation:floatA 7s ease-in-out infinite}
.float-b{animation:floatB 8s ease-in-out infinite}
@keyframes floatA{50%{transform:translateY(-8px)}}
@keyframes floatB{50%{transform:translateY(7px)}}
.order{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);font:500 14px/20px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink)}
.order:last-child{border-bottom:0}
.order .store{width:30px;height:30px;border-radius:9px;background:var(--surface-100);display:grid;place-items:center;color:var(--navy);flex:none}
.order .store svg{width:16px;height:16px}
.order .sk{flex:1;display:flex;flex-direction:column;gap:5px}
.order .sk i{height:7px;border-radius:4px;background:var(--surface-100)}
.order .sk i:last-child{width:60%}
.order .ok{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface-100);color:transparent;transition:background-color .3s,color .3s}
.order .ok svg{width:13px;height:13px}
.order.done .ok{background:var(--success);color:#fff}
.order.scan{background:linear-gradient(90deg,transparent,rgba(255,204,0,.22),transparent) 0 0/200% 100%;animation:scan 1s linear}
@keyframes scan{from{background-position:100% 0}to{background-position:-100% 0}}
.label{position:absolute;right:28px;bottom:34px;width:330px;background:var(--surface-0);border-radius:18px;box-shadow:var(--shadow-lg);border:1px solid var(--border);padding:20px;display:flex;flex-direction:column;gap:14px}
.label-top{display:flex;justify-content:space-between;align-items:center}
.label-top .logo{height:24px}
.barcode{height:56px;border-radius:6px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 5px,var(--ink) 5px 6px,transparent 6px 10px,var(--ink) 10px 13px,transparent 13px 15px,var(--ink) 15px 16px,transparent 16px 19px);position:relative;overflow:hidden}
.barcode::after{content:"";position:absolute;top:0;bottom:0;width:3px;left:0;background:var(--red);box-shadow:0 0 12px 2px rgba(237,11,13,.6);animation:laser 2.6s ease-in-out infinite}
@keyframes laser{0%,100%{left:2%}50%{left:96%}}
.label-addr{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px;font:400 12px/17px var(--font-sans);color:var(--slate-600)}
.label-addr .sk{display:flex;flex-direction:column;gap:6px;padding-top:3px}
.label-addr .sk i{height:8px;border-radius:4px;background:var(--surface-100)}
.couriers{display:flex;flex-direction:column;align-items:center;gap:22px;padding-block:36px 72px;border-top:1px solid var(--border)}
.couriers h3{font:600 15px/22px var(--font-sans);color:var(--slate-600);text-align:center;letter-spacing:.01em}
.logos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 40px;max-width:1140px}
.logos img{display:block;height:auto;max-width:none}

/* Hero flow: one order travels through the four stages, driven by data-stage on #flow */
#flow{--t:.6s}
.fl-steps{position:absolute;left:20px;right:20px;top:20px;margin:0;padding:6px;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;background:rgba(255,255,255,.85);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm);z-index:5}
.fl-steps li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;font:600 13px/16px var(--font-sans);color:var(--slate-500);transition:background-color .3s,color .3s;min-width:0}
.fl-steps em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl-steps b{width:22px;height:22px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--surface-100);color:var(--slate-600);font:700 12px/1 var(--font-sans);transition:background-color .3s,color .3s}
.fl-steps b svg{display:none;width:12px;height:12px}
.fl-steps li.on{background:var(--yellow-soft);color:var(--ink)}
.fl-steps li.on b{background:var(--yellow);color:var(--navy-deep)}
.fl-steps li.done{color:var(--slate-700)}
.fl-steps li.done b{background:var(--success);color:#fff}
.fl-steps li.done b span{display:none}.fl-steps li.done b svg{display:block}
.fl-cap{position:absolute;left:0;right:0;top:86px;height:24px;text-align:center;font:600 15px/24px var(--font-sans);color:var(--navy-deep);z-index:4}
.fl-cap span{position:absolute;inset:0;opacity:0;translate:0 6px;transition:opacity .35s,translate .35s var(--ease)}
.fl-cap span.on{opacity:1;translate:none}
.fl-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.fl-lines path{fill:none;stroke:#c3cede;stroke-width:2.5;stroke-dasharray:6 8;stroke-linecap:round;transition:stroke .4s}
#flow[data-stage="3"] .la,#flow[data-stage="4"] .la,#flow[data-stage="4"] .lb{stroke:var(--navy);animation:dash 1.2s linear infinite}
.fl-order{position:absolute;left:24px;top:128px;width:min(330px,62%);background:var(--surface-0);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);z-index:3;opacity:0;translate:-24px 0;transition:opacity var(--t),translate var(--t) var(--ease)}
#flow:not([data-stage="0"]) .fl-order{opacity:1;translate:none}
.fo-top{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border)}
.fo-shop{width:30px;height:30px;border-radius:9px;background:#eef6e8;display:grid;place-items:center;flex:none}
.fo-shop svg{width:17px;height:17px}
.fo-t{display:flex;flex-direction:column;flex:1;min-width:0;font:600 14px/18px var(--font-sans);color:var(--ink)}
.fo-t small{font-weight:500;font-size:12px;color:var(--slate-500)}
.fo-st{position:relative;height:24px;min-width:100px;display:flex;justify-content:flex-end}
.fo-st i{position:absolute;right:0;top:0;display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:999px;font:600 12px/1 var(--font-sans);font-style:normal;white-space:nowrap;transition:opacity .3s}
.fo-st .a{background:var(--surface-100);color:var(--slate-600)}
.fo-st .b{background:var(--success-soft);color:#0f5132;opacity:0}
.fo-st .b svg{width:11px;height:11px}
#flow[data-stage="2"] .fo-st .a,#flow[data-stage="3"] .fo-st .a,#flow[data-stage="4"] .fo-st .a{opacity:0}
#flow[data-stage="2"] .fo-st .b,#flow[data-stage="3"] .fo-st .b,#flow[data-stage="4"] .fo-st .b{opacity:1}
.fo-row{display:flex;align-items:center;gap:10px;padding:12px 14px}
.fo-addr{display:flex;flex-direction:column;flex:1;min-width:0;font:600 14px/18px var(--font-sans);color:var(--ink)}
.fo-addr small{font-weight:500;font-size:12px;color:var(--slate-500)}
.fo-price{font:700 18px/1 var(--font-display);color:var(--navy-deep);font-variant-numeric:tabular-nums;background:var(--yellow);padding:6px 9px;border-radius:8px}
.fl-label{position:absolute;right:24px;top:236px;width:min(220px,44%);z-index:2}
.fl-slot{display:flex;align-items:center;justify-content:center;height:34px;border-radius:12px 12px 6px 6px;background:var(--navy-deep);color:var(--on-dark-muted);opacity:0;transition:opacity .3s}
.fl-slot svg{width:18px;height:18px}
.fl-paper{margin:-4px 10px 0;background:#fff;border:1px solid var(--border);border-top:0;border-radius:0 0 12px 12px;box-shadow:var(--shadow-lg);padding:12px;display:flex;flex-direction:column;gap:9px;clip-path:inset(0 0 100% 0);transition:clip-path 1s var(--ease) .2s}
.fp-top{display:flex;justify-content:space-between;align-items:center}
.fp-top .logo{height:18px;width:auto}
.fp-bc{height:30px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 8px,var(--ink) 8px 11px,transparent 11px 13px)}
.fp-sk{display:flex;flex-direction:column;gap:5px}
.fp-sk i{height:6px;border-radius:3px;background:var(--surface-100)}
#flow[data-stage="2"] .fl-slot,#flow[data-stage="3"] .fl-slot,#flow[data-stage="4"] .fl-slot{opacity:1}
#flow[data-stage="2"] .fl-paper,#flow[data-stage="3"] .fl-paper,#flow[data-stage="4"] .fl-paper{clip-path:inset(0 0 0 0)}
.fl-pin{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;gap:6px;translate:-50% -50%}
.fl-pin i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);border:2px solid var(--border);box-shadow:var(--shadow-md);transition:background-color .4s,color .4s,border-color .4s,scale .4s var(--ease)}
.fl-pin i svg{width:20px;height:20px}
.fl-pin em{font:600 12px/1 var(--font-sans);font-style:normal;color:var(--slate-600);background:#fff;padding:4px 8px;border-radius:999px;box-shadow:var(--shadow-sm);white-space:nowrap}
#flow[data-stage="3"] .dep i{background:var(--navy-deep);color:var(--yellow);border-color:var(--navy-deep);scale:1.1}
#flow[data-stage="4"] .dep i{background:var(--navy-deep);color:var(--yellow);border-color:var(--navy-deep)}
#flow[data-stage="4"] .cus i{background:var(--success);color:#fff;border-color:var(--success);scale:1.1}
.fl-parcel{position:absolute;z-index:4;left:76%;top:60%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:10px;background:#e8c27a;color:#7a4f12;display:grid;place-items:center;box-shadow:var(--shadow-md);opacity:0;transition:left 1.4s var(--ease),top 1.4s var(--ease),opacity .3s}
.fl-parcel svg{width:20px;height:20px;position:relative;z-index:1}
.fl-parcel::before,.fl-parcel::after{content:"";position:absolute;inset:0;border-radius:10px;background:#d9ae62;box-shadow:var(--shadow-sm);opacity:0;transition:opacity .3s,translate .4s var(--ease)}
.fl-parcel::before{translate:-8px 6px}.fl-parcel::after{translate:8px 8px;background:#cf9f50}
#flow[data-stage="3"] .fl-parcel::before,#flow[data-stage="3"] .fl-parcel::after{opacity:1}
#flow[data-stage="3"] .fl-parcel{opacity:1;left:24%;top:69%}
#flow[data-stage="4"] .fl-parcel{opacity:0;left:78%;top:84%;transition:left 1.4s var(--ease),top 1.4s var(--ease),opacity .3s 1.3s}
#flow.reset *{transition:none!important}

/* Hero entrance */
/* Entrance + reveal use the individual translate/scale properties so they never fight hover transforms */
.js .enter{opacity:0;translate:0 18px}
.js .loaded .enter{opacity:1;translate:none;transition:opacity .7s var(--ease) var(--d,0s),translate .7s var(--ease) var(--d,0s)}
.js .loaded .enter:nth-child(2){--d:.08s}.js .loaded .enter:nth-child(3){--d:.16s}.js .loaded .enter:nth-child(4){--d:.24s}.js .loaded .enter:nth-child(5){--d:.32s}.js .loaded .enter:nth-child(6){--d:.4s}
.js .hero-visual.enter{translate:0 24px;scale:.98}
.js .loaded .hero-visual.enter{translate:none;scale:none;--d:.2s;transition:opacity .9s var(--ease) var(--d),translate .9s var(--ease) var(--d),scale .9s var(--ease) var(--d)}

/* Reveal */
.js .reveal{opacity:0;translate:0 26px;transition:opacity .8s var(--ease),translate .8s var(--ease)}
.js .reveal.in{opacity:1;translate:none}
.js .reveal-stagger>*{opacity:0;translate:0 22px;transition:opacity .7s var(--ease) var(--d,0s),translate .7s var(--ease) var(--d,0s),transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s}
.js .reveal-stagger.in>*{opacity:1;translate:none}
.reveal-stagger>*:nth-child(2){--d:.07s}.reveal-stagger>*:nth-child(3){--d:.14s}.reveal-stagger>*:nth-child(4){--d:.21s}.reveal-stagger>*:nth-child(5){--d:.28s}.reveal-stagger>*:nth-child(6){--d:.35s}.reveal-stagger>*:nth-child(7){--d:.42s}

/* Stats */
.stats-band{background:var(--navy-deep);position:relative;overflow:hidden}
.stats-band::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(168,187,255,.13) 1.2px,transparent 1.3px);background-size:24px 24px;mask-image:linear-gradient(90deg,transparent,#000 40%,#000 60%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 40%,#000 60%,transparent)}
.stats-band .wrap{position:relative}
.stats-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;border-top:1px solid var(--navy-deep-2);padding-top:44px;margin-top:56px}
.stat{display:flex;flex-direction:column;gap:8px}
.stat-num{font:700 54px/58px var(--font-display);letter-spacing:-.02em;color:var(--on-dark);font-variant-numeric:tabular-nums;white-space:nowrap}
.stat-num em{font-style:normal;color:var(--yellow)}
.stat-label{font:500 15px/22px var(--font-sans);color:var(--on-dark-muted)}

/* Stepper */
.steps-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:56px}
.stepper{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;position:relative;--fill:0}
.stepper::before,.stepper::after{content:"";position:absolute;left:calc(100%/12);right:calc(100%/12);top:19px;height:3px;border-radius:2px}
.stepper::before{background:var(--border)}
.stepper::after{background:var(--yellow);transform:scaleX(var(--fill));transform-origin:left;transition:transform 1.8s var(--ease)}
.stepper.run{--fill:1}
.step{display:flex;flex-direction:column;align-items:center;gap:18px;position:relative;z-index:1}
.step-n{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:700 15px/1 var(--font-sans);background:var(--surface-0);color:var(--slate-600);border:2px solid var(--border);transition:background-color .4s,color .4s,border-color .4s,transform .4s var(--ease)}
.stepper.run .step-n{background:var(--yellow);color:var(--navy-deep);border-color:var(--yellow)}
.stepper.run .step:nth-child(1) .step-n{transition-delay:.1s}.stepper.run .step:nth-child(2) .step-n{transition-delay:.4s}.stepper.run .step:nth-child(3) .step-n{transition-delay:.7s}.stepper.run .step:nth-child(4) .step-n{transition-delay:1s}.stepper.run .step:nth-child(5) .step-n{transition-delay:1.3s}.stepper.run .step:nth-child(6) .step-n{transition-delay:1.6s}
.step .card{width:100%;flex:1;display:flex;flex-direction:column;gap:16px;padding:22px}
.step .card p{font:600 16px/24px var(--font-sans);color:var(--ink)}
.step .card p a{color:var(--ink);text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:4px}
.step .card p a:hover{color:var(--navy)}
.steps-cta{display:flex;justify-content:center;margin-top:56px}
/* Desktop: 3 x 2 grid of roomy cards, number badge sits on the card's top edge */
@media (min-width:1101px){
  .stepper{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px;padding-top:18px}
  .stepper::before,.stepper::after{display:none}
  .step{display:block}
  .step-n{position:absolute;top:-18px;left:28px;z-index:2;width:38px;height:38px;border:3px solid var(--surface-0);box-shadow:var(--shadow-sm)}
  .step .card{height:100%;padding:32px 28px 30px;gap:22px}
  .step .sv{height:132px}
  .step .card p{font-size:18px;line-height:27px;max-width:30ch}
  .sv .tile{transform:scale(1.18)}
  .step .sv-label .lbl{transform:scale(1.15);transform-origin:bottom center}
  .step .sv-label .prn{bottom:18px;width:110px;margin-left:-55px}
  .step .sv-label .lbl{translate:0 8px}
  .stepper.run .step .sv-label .lbl{translate:0 -4px}
  .sv-depot{gap:10px}
  .sv-depot .line{max-width:80px}
}

/* Step visuals: each step shows a tiny piece of product UI instead of a generic icon */
.sv{height:88px;border-radius:14px;background-color:var(--surface-50);background-image:radial-gradient(#d5deeb 1px,transparent 1.2px);background-size:14px 14px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;position:relative;overflow:hidden;flex:none}
.sv .tile{max-width:100%;background:var(--surface-0);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:8px;padding:8px 10px}
.sv .sk{display:block;height:6px;border-radius:3px;background:var(--surface-100)}
.sv .ic{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;flex:none;background:var(--navy-deep);color:var(--yellow)}
.sv .ic svg{width:15px;height:15px}
.sv-wallet .tile{gap:6px;padding:8px}
.sv-wallet .amt{font:700 14px/1 var(--font-sans);color:var(--navy-deep);background:var(--yellow);border-radius:999px;padding:5px 9px;font-variant-numeric:tabular-nums}
.sv-wallet .plus{width:22px;height:22px;border-radius:50%;border:1.5px dashed var(--slate-500);display:grid;place-items:center;color:var(--slate-500);font:700 14px/1 var(--font-sans);transition:background-color .4s,border-color .4s,color .4s}
.stepper.run .sv-wallet .plus{background:var(--navy);border:1.5px solid var(--navy);color:#fff;transition-delay:.3s}
.sv-plug .tog{width:34px;height:20px;border-radius:999px;background:var(--border);position:relative;flex:none;transition:background-color .4s .6s}
.sv-plug .tog::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .4s var(--ease) .6s}
.stepper.run .sv-plug .tog{background:var(--success)}
.stepper.run .sv-plug .tog::after{transform:translateX(14px)}
.sv-key .tile{gap:7px;padding:8px 9px}
.sv-key code{font:600 12px/1 var(--font-sans);font-variant-numeric:tabular-nums;color:var(--slate-700);letter-spacing:.06em;white-space:nowrap}
.sv-key .ok{width:18px;height:18px;border-radius:50%;background:var(--success);color:#fff;display:grid;place-items:center;flex:none;scale:0;transition:scale .35s var(--ease) .9s}
.sv-key .ok svg{width:11px;height:11px}
.stepper.run .sv-key .ok{scale:1}
.sv-margin .tile{flex-direction:column;align-items:stretch;gap:9px;width:100%;max-width:150px}
.sv-margin .row{display:flex;justify-content:space-between;align-items:center}
.sv-margin .pct{font:700 12px/1 var(--font-sans);color:var(--navy-deep);background:var(--yellow-soft);border-radius:6px;padding:4px 6px}
.sv-margin .track{height:6px;border-radius:3px;background:var(--surface-100);position:relative}
.sv-margin .track i{position:absolute;left:0;top:0;bottom:0;width:15%;border-radius:3px;background:var(--yellow);transition:width .8s var(--ease) 1.2s}
.sv-margin .track b{position:absolute;top:50%;left:15%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;border:2px solid var(--navy-deep);transition:left .8s var(--ease) 1.2s}
.stepper.run .sv-margin .track i{width:62%}
.stepper.run .sv-margin .track b{left:62%}
.sv-label .lbl{width:74px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-sm);padding:7px;display:flex;flex-direction:column;gap:5px;translate:0 -6px;transition:translate .5s var(--ease) 1.5s}
.sv-label .lbl .bc{height:18px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 8px)}
.sv-label .prn{position:absolute;bottom:10px;left:50%;width:96px;height:22px;margin-left:-48px;border-radius:7px;background:var(--navy-deep);z-index:-1}
.sv-label{isolation:isolate}
.stepper.run .sv-label .lbl{translate:0 -14px}
.sv-depot{gap:6px}
.sv-depot .box{width:18px;height:16px;border-radius:4px;background:#e8c27a;box-shadow:inset 0 -3px 0 rgba(0,0,0,.08);position:relative}
.sv-depot .box::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;background:rgba(17,40,87,.25)}
.sv-depot .stack{display:grid;grid-template-columns:repeat(2,18px);gap:3px}
.sv-depot .line{flex:1;max-width:46px;height:0;border-top:2px dashed var(--navy)}
.sv-depot .pin{width:30px;height:30px;border-radius:50% 50% 50% 0;rotate:-45deg;background:var(--red);display:grid;place-items:center;box-shadow:var(--shadow-sm)}
.sv-depot .pin i{width:10px;height:10px;border-radius:50%;background:#fff}
.stepper.run .sv-depot .pin{animation:pinDrop .6s var(--ease) 1.9s both}
@keyframes pinDrop{0%{translate:0 -10px;opacity:.3}100%{translate:none;opacity:1}}

/* Prices: a quick finder first, then a compact table that can expand to every weight */
.p-intro{display:flex;flex-direction:column;gap:14px}
.finder{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:0;padding:0;overflow:hidden;border-radius:22px;border:1px solid var(--border);background:var(--surface-0);box-shadow:var(--shadow-md)}
.f-in{padding:28px 30px;display:flex;flex-direction:column;gap:12px}
.f-in label,.f-lab{font:600 14px/20px var(--font-sans);color:var(--ink)}
.f-sel{position:relative}
.f-sel .flag{position:absolute;left:16px;top:50%;margin-top:-10.5px;pointer-events:none}
.f-sel select{appearance:none;-webkit-appearance:none;width:100%;min-height:50px;padding:12px 44px 12px 58px;border-radius:12px;border:1.5px solid var(--border);background:var(--surface-50);font:600 16px/24px var(--font-sans);color:var(--ink);cursor:pointer}
.f-sel select:hover{border-color:#c9d4e3}
.f-sel svg{position:absolute;right:16px;top:50%;width:18px;height:18px;margin-top:-9px;color:var(--slate-500);pointer-events:none}
.wchips{display:flex;flex-wrap:wrap;gap:8px}
.wchip{min-height:40px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--border);background:var(--surface-0);font:600 14px/20px var(--font-sans);color:var(--slate-700);cursor:pointer;font-variant-numeric:tabular-nums;transition:background-color .15s,border-color .15s,color .15s}
.wchip:hover{border-color:var(--navy)}
.wchip[aria-checked="true"]{background:var(--navy-deep);border-color:var(--navy-deep);color:#fff}
.f-out{background:var(--navy-deep);color:var(--on-dark);padding:28px 30px;display:flex;flex-direction:column;justify-content:center;gap:6px;position:relative;overflow:hidden}
.f-out::before{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,204,0,.28),transparent)}
.f-out>*{position:relative}
.f-k{font:600 13px/16px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-muted)}
.f-price{font:700 64px/1.05 var(--font-display);letter-spacing:-.02em;color:var(--yellow);font-variant-numeric:tabular-nums}
.f-sub{font-size:15px;line-height:22px;color:var(--on-dark)}
.f-best{margin-top:14px;padding-top:14px;border-top:1px solid var(--navy-deep-2);font-size:14px;line-height:22px;color:var(--on-dark-muted)}
.f-best b{color:var(--on-dark)}
.t-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.t-bar h3{font:600 20px/28px var(--font-display)}
.seg{display:inline-flex;padding:4px;border-radius:999px;background:var(--surface-100);gap:2px}
.seg button{border:0;background:transparent;border-radius:999px;padding:8px 16px;font:600 14px/20px var(--font-sans);color:var(--slate-600);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--surface-0);color:var(--ink);box-shadow:var(--shadow-sm)}
.rates.compact .xw{display:none}
.rates tbody tr.f-row th,.rates tbody tr.f-row td{background:var(--yellow-soft)}

/* Who we are */
.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:center}
.quote{position:relative;overflow:hidden;background:var(--surface-0);border:1px solid var(--border);border-radius:28px;padding:44px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:28px}
.quote::before{content:"";position:absolute;right:-50px;top:-50px;width:190px;height:190px;border-radius:50%;background:var(--yellow-soft);transition:transform .8s var(--ease)}
.quote:hover::before{transform:scale(1.15)}
.quote>*{position:relative}
.quote h3{font-size:36px;line-height:44px;font-weight:700;letter-spacing:-.015em}

/* About: one feature list that auto-advances; each item has its own animated scene */
.ab{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:start}
.ab-left{display:flex;flex-direction:column;gap:6px}
.ab-left .h2{margin-bottom:28px}
.ab-left{padding-top:24px}
.ab-left>div:last-child{margin-top:32px}
.ab-item{position:relative;border-bottom:1px solid var(--border)}
.ab-btn{width:100%;display:flex;align-items:center;gap:16px;padding:22px 0;border:0;background:none;cursor:pointer;text-align:left;font:600 21px/28px var(--font-display);color:var(--slate-500);transition:color .25s}
.ab-btn:hover,.ab-item.on .ab-btn{color:var(--ink)}
.ab-n{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;border:1.5px solid var(--border);background:var(--surface-0);font:700 13px/1 var(--font-sans);color:var(--slate-500);font-variant-numeric:tabular-nums;transition:background-color .3s,border-color .3s,color .3s}
.ab-item.on .ab-n{background:var(--yellow);border-color:var(--yellow);color:var(--navy-deep)}
.ab-bar{position:absolute;left:0;right:0;bottom:-2px;height:3px;border-radius:2px;overflow:hidden;background:var(--surface-100);opacity:0;transition:opacity .3s}
.ab-item.on .ab-bar{opacity:1}
.ab-bar i{display:block;height:100%;width:100%;border-radius:2px;background:var(--yellow);transform:scaleX(0);transform-origin:left}
.ab-item.on .ab-bar i{animation:abFill var(--ab-dur,7s) linear forwards}
.ab.paused .ab-item.on .ab-bar i{animation-play-state:paused}
@keyframes abFill{to{transform:scaleX(1)}}
.ab-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.ab-body>div{overflow:hidden}
.ab-item.on .ab-body{grid-template-rows:1fr}
.ab-body p{font-size:17px;line-height:29px;color:var(--slate-600);padding:0 0 28px 50px;max-width:56ch}
.ab-vis{position:relative;aspect-ratio:1/1;border-radius:28px;background-color:var(--surface-50);border:1px solid var(--border);overflow:hidden}
.ab-vis .sk{display:block;height:7px;border-radius:4px;background:var(--surface-100)}
.sc{position:absolute;inset:0;display:grid;place-items:center;opacity:0;scale:.97;transition:opacity .5s,scale .6s var(--ease);pointer-events:none}
#ab[data-i="0"] .sc1,#ab[data-i="1"] .sc2,#ab[data-i="2"] .sc3{opacity:1;scale:1}
.sc1-stack{position:relative;width:62%;height:58%}
.sc1-l{position:absolute;left:0;right:0;top:calc(var(--i) * 12%);height:44%;background:#fff;border:1px solid var(--border);border-left:8px solid var(--c);border-radius:14px;box-shadow:var(--shadow-md);padding:16px;display:flex;flex-direction:column;gap:9px;translate:0 30px;opacity:0;transition:translate .6s var(--ease),opacity .4s;transition-delay:calc(var(--i) * .12s)}
.sc1-l .bc{height:26px;width:70%;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 8px)}
.sc1-l .sk{width:80%}.sc1-l .sk.s{width:50%}
#ab[data-i="0"] .sc1-l{translate:calc(var(--i) * 10px) 0;opacity:1}
.sc1-hub{position:absolute;right:12%;bottom:12%;width:72px;height:72px;border-radius:22px;display:grid;place-items:center;background:var(--surface-0);box-shadow:var(--shadow-lg);animation:floatA 6s ease-in-out infinite}
.sc1-hub svg,.sc2-hub svg{width:44px;height:44px}
.sc2-lines{position:absolute;inset:0;width:100%;height:100%}
.sc2-lines path{fill:none;stroke:var(--navy);stroke-width:2;stroke-dasharray:5 7;vector-effect:non-scaling-stroke;opacity:.5;animation:dash 1.2s linear infinite}
.sc2-store,.sc2-hub{position:absolute;top:50%;translate:-50% -50%;display:grid;place-items:center;box-shadow:var(--shadow-lg)}
.sc2-store{left:14%;width:56px;height:56px;border-radius:16px;background:var(--navy-deep);color:var(--yellow)}
.sc2-store svg{width:26px;height:26px}
.sc2-hub{left:50%;width:84px;height:84px;border-radius:24px;background:#fff}
.sc2-list{position:absolute;left:78%;top:20%;bottom:20%;display:flex;flex-direction:column;justify-content:space-between;translate:0 -18px}
.sc2-r{display:flex;align-items:center;gap:8px;width:110px;height:36px;padding:0 10px;margin-bottom:-18px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-sm);transition:border-color .3s,box-shadow .3s}
.sc2-r i{width:10px;height:10px;border-radius:3px;background:var(--c);flex:none}
.sc2-r .sk{flex:1}
.sc2-r b{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--success);color:#fff;scale:0;transition:scale .3s var(--ease)}
.sc2-r b svg{width:11px;height:11px}
#ab[data-i="1"] .sc2-r{animation:pick 4s var(--ease) infinite;animation-delay:calc(var(--i) * 1s)}
#ab[data-i="1"] .sc2-r b{animation:pickB 4s var(--ease) infinite;animation-delay:calc(var(--i) * 1s)}
@keyframes pick{0%,30%{border-color:var(--navy);box-shadow:0 0 0 3px rgba(40,59,128,.15)}31%,100%{border-color:var(--border);box-shadow:var(--shadow-sm)}}
@keyframes pickB{0%,30%{scale:1}31%,100%{scale:0}}
.sc3-win{width:74%;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden}
.sc3-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}
.sc3-head .dotrow{display:flex;gap:5px}.sc3-head .dotrow i{width:8px;height:8px;border-radius:50%;background:var(--border)}
.sc3-head .sk{width:40%}
.sc3-r{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border)}
.sc3-r:last-child{border-bottom:0}
.sc3-r .sk{flex:1}
.sc3-ic{width:34px;height:34px;border-radius:10px;background:var(--surface-100);color:var(--navy);display:grid;place-items:center;flex:none}
.sc3-ic svg{width:18px;height:18px}
.sc3-st{position:relative;width:104px;height:26px}
.sc3-st em,.sc3-st b{position:absolute;right:0;top:0;height:26px;display:inline-flex;align-items:center;gap:5px;padding:0 10px;border-radius:999px;font:600 12px/1 var(--font-sans);font-style:normal;white-space:nowrap}
.sc3-st em{background:var(--yellow-soft);color:var(--navy-deep)}
.sc3-st b{background:var(--success-soft);color:#0f5132;opacity:0}
.sc3-st b svg{width:11px;height:11px}
#ab[data-i="2"] .sc3-ic svg{animation:spin 1s linear 2;animation-delay:calc(var(--i) * .7s)}
#ab[data-i="2"] .sc3-st em{animation:hideA .3s forwards;animation-delay:calc(.9s + var(--i) * .7s)}
#ab[data-i="2"] .sc3-st b{animation:showB .3s forwards;animation-delay:calc(.9s + var(--i) * .7s)}
@keyframes hideA{to{opacity:0}}@keyframes showB{to{opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}

/* Prices */
.callout{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:14px;background:var(--yellow-soft);border:1px solid #f6e08a}
.callout h2{font:500 15px/24px var(--font-sans);color:var(--ink)}
.callout svg{flex:none;margin-top:2px;color:var(--navy)}
.tablebox{position:relative;border-radius:18px;border:1px solid var(--border);background:var(--surface-0);box-shadow:var(--shadow-lg);overflow:hidden}
.tablescroll{overflow:auto;max-height:660px;max-width:100%;overscroll-behavior-x:contain}
table.rates{border-collapse:separate;border-spacing:0;width:100%;font:500 14px/20px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--slate-700)}
.rates th,.rates td{padding:12px 13px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--border);transition:background-color .12s}
.rates thead th{position:sticky;top:0;z-index:2;background:var(--navy-deep);color:var(--on-dark);font:600 13px/16px var(--font-sans);border-bottom:0}
.rates thead th small{display:block;color:var(--on-dark-muted);font-weight:500;font-size:10px;letter-spacing:.1em}
.rates thead th:first-child{left:0;z-index:4;text-align:left;vertical-align:bottom}
.rates tbody th{position:sticky;left:0;z-index:1;background:var(--surface-0);text-align:left;font:600 14px/20px var(--font-sans);color:var(--ink);box-shadow:1px 0 0 var(--border)}
.rates tbody th .cn{display:flex;align-items:center;gap:10px}
.rates tbody tr:nth-child(even) td,.rates tbody tr:nth-child(even) th{background:var(--surface-50)}
.rates tbody tr:last-child th,.rates tbody tr:last-child td{border-bottom:0}
.rates td.lo{background:var(--success-soft)!important;color:#0f5132;font-weight:700}
.rates tbody tr.row-hl td,.rates tbody tr.row-hl th{background:var(--yellow-soft)}
.rates td.col-hl{background:var(--yellow-soft)}
.rates thead th.col-hl{background:var(--navy)}
.rates td.cell-hl{background:var(--yellow)!important;color:var(--navy-deep);font-weight:700;box-shadow:inset 0 0 0 2px var(--navy-deep)}
.fade{position:absolute;top:0;bottom:0;width:56px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:5}
.fade.r{right:0;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.95))}
.fade.l{left:150px;background:linear-gradient(270deg,rgba(255,255,255,0),rgba(255,255,255,.95))}
.tablebox.can-r .fade.r,.tablebox.can-l .fade.l{opacity:1}
.legend{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--slate-600)}

/* Bento: each feature leads with a small product visual instead of an icon */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.bento .wide{grid-column:span 2}
.bento .tall{grid-row:span 2}
.bento .card{display:flex;flex-direction:column;gap:14px}
.bento .card .vis{margin-bottom:10px}
.vis{position:relative;border-radius:16px;background-color:var(--surface-100);border:1px solid var(--border);overflow:hidden;display:flex;align-items:center;justify-content:center;padding:20px}
.skb{display:block;height:7px;border-radius:4px;background:var(--surface-100)}
/* Simplified Workflow: a small app window with orders moving through */
.dash{flex:1;min-height:250px;padding:28px}
.win{width:100%;max-width:460px;background:var(--surface-0);border-radius:14px;box-shadow:var(--shadow-md);overflow:hidden}
.win-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}
.win-head .dotrow{display:flex;gap:5px}
.win-head .dotrow i{width:8px;height:8px;border-radius:50%;background:var(--border)}
.win-btn{width:64px;height:22px;border-radius:999px;background:var(--yellow);flex:none}
.dash-row{display:flex;align-items:center;gap:14px;padding:13px 16px;border-bottom:1px solid var(--border)}
.dash-row:last-child{border-bottom:0}
.dash-row .track{flex:1;height:8px;border-radius:4px;background:var(--surface-100);overflow:hidden}
.dash-row .track i{display:block;height:100%;width:0;border-radius:4px;background:var(--navy);transition:width 1.4s var(--ease)}
.in .dash-row:nth-child(2) .track i{width:100%}.in .dash-row:nth-child(3) .track i{width:100%;transition-delay:.15s}.in .dash-row:nth-child(4) .track i{width:72%;transition-delay:.3s}.in .dash-row:nth-child(5) .track i{width:46%;transition-delay:.45s}.in .dash-row:nth-child(6) .track i{width:18%;transition-delay:.6s}
.dash-row .st{width:10px;height:10px;border-radius:50%;background:var(--border);flex:none}
.dash-row:nth-child(2) .st,.dash-row:nth-child(3) .st{background:var(--success)}.dash-row:nth-child(4) .st,.dash-row:nth-child(5) .st{background:var(--yellow)}
/* Multi-Carrier: one hub, several carriers, one picked */
.bento .mc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:center}
.bento .mc .vis{margin-bottom:0}
.mc-text{display:flex;flex-direction:column;gap:14px}
.vis-mc{padding:18px 20px}
.mc-hub{width:54px;height:54px;border-radius:16px;background:var(--navy-deep);color:var(--yellow);display:grid;place-items:center;flex:none;box-shadow:var(--shadow-md);position:relative;z-index:1}
.mc-hub svg{width:26px;height:26px}
.mc-lines{width:52px;height:128px;flex:none;overflow:visible}
.mc-lines path{fill:none;stroke:#c9d4e3;stroke-width:2;stroke-linecap:round;transition:stroke .35s}
.mc-lines path.on{stroke:var(--navy);stroke-width:2.5}
.mc-list{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0;max-width:210px}
.mc-opt{height:26px;display:flex;align-items:center;gap:8px;padding:0 6px 0 8px;border-radius:8px;background:var(--surface-0);border:1.5px solid transparent;box-shadow:var(--shadow-sm);transition:border-color .35s,transform .35s var(--ease)}
.mc-opt i{width:12px;height:12px;border-radius:4px;background:var(--c);flex:none}
.mc-opt b{flex:1;height:6px;border-radius:3px;background:var(--surface-100)}
.mc-opt em{width:15px;height:15px;border-radius:50%;background:var(--surface-100);flex:none;display:grid;place-items:center;color:transparent;transition:background-color .35s,color .35s}
.mc-opt em svg{width:9px;height:9px}
.mc-opt.on{border-color:var(--navy);transform:translateX(4px)}
.mc-opt.on em{background:var(--success);color:#fff}
/* Real-Time Tracking + Compliance: a floating mini card */
.vis-sm{height:140px}
.mini{width:100%;max-width:236px;background:var(--surface-0);border-radius:12px;box-shadow:var(--shadow-md);padding:14px;display:flex;flex-direction:column;gap:14px}
.mini-top{display:flex;align-items:center;gap:10px}
.live{width:10px;height:10px;border-radius:50%;background:var(--success);position:relative;flex:none}
.live::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--success);opacity:0;animation:ping 2s var(--ease) infinite}
.tr-line{position:relative;height:14px;margin:0 7px}
.tr-line::before,.tr-fill{content:"";position:absolute;left:0;top:6px;height:2px;border-radius:1px}
.tr-line::before{right:0;background:var(--border)}
.tr-fill{width:0;background:var(--navy);transition:width 1.6s var(--ease) .3s}
.in .tr-fill{width:66.6%}
.tr-line .n{position:absolute;top:0;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--surface-0);border:2px solid var(--border);transition:background-color .3s,border-color .3s}
.in .tr-line .n.done{background:var(--navy);border-color:var(--navy)}
.in .tr-line .n.done:nth-of-type(2){transition-delay:.9s}
.in .tr-line .n.cur{background:var(--yellow);border-color:var(--navy-deep);transition-delay:1.7s}
.tr-line .n.cur::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--yellow);opacity:0}
.in .tr-line .n.cur::after{animation:ping 2s var(--ease) 2s infinite}
.lockt{width:38px;height:38px;border-radius:11px;background:var(--navy-deep);color:var(--yellow);display:grid;place-items:center;flex:none}
.lockt svg{width:19px;height:19px;overflow:visible}
.lockt .sh{transform:translateY(-3px);transition:transform .45s var(--ease) 1s}
.in .lockt .sh{transform:none}
.mask{display:flex;gap:5px;flex:1;min-width:0}
.mask i{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background-color .2s}
.in .mask i{background:var(--navy)}
.in .mask i:nth-child(2){transition-delay:.08s}.in .mask i:nth-child(3){transition-delay:.16s}.in .mask i:nth-child(4){transition-delay:.24s}.in .mask i:nth-child(5){transition-delay:.32s}.in .mask i:nth-child(6){transition-delay:.4s}.in .mask i:nth-child(7){transition-delay:.48s}.in .mask i:nth-child(8){transition-delay:.56s}
.okb{width:22px;height:22px;border-radius:50%;background:var(--surface-100);color:transparent;display:grid;place-items:center;flex:none;transition:background-color .3s 1.3s,color .3s 1.3s}
.okb svg{width:12px;height:12px}
.in .okb{background:var(--success);color:#fff}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:64px;align-items:start}
.faq-side{position:sticky;top:calc(var(--nav-h) + 40px);display:flex;flex-direction:column;gap:20px}
.acc{border-top:1px solid var(--border)}
.acc details{border-bottom:1px solid var(--border)}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 4px;font:600 19px/27px var(--font-display);color:var(--ink);transition:color .15s}
.acc summary:hover{color:var(--navy)}
.acc summary::-webkit-details-marker{display:none}
.chev{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--surface-100);color:var(--navy);flex:none;transition:transform .3s var(--ease),background-color .3s,color .3s}
.acc details[open] .chev{transform:rotate(45deg);background:var(--yellow);color:var(--navy-deep)}
.acc .body{overflow:hidden}
.acc .body>div{padding:0 60px 24px 4px;font-size:16px;line-height:27px;color:var(--slate-600)}

/* CTA */
.cta{position:relative;overflow:hidden;border-radius:32px;background:var(--navy-deep);padding:80px 72px;display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.cta .cta-art{position:absolute;right:96px;top:50%;width:200px;height:200px;margin-top:-100px;display:grid;place-items:center;pointer-events:none}
.cta-art svg{width:200px;height:200px;border-radius:52px;transform:rotate(-8deg);box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.cta-art i{position:absolute;border-radius:50%;border:1.5px solid rgba(168,187,255,.22)}
.cta-art .r1{inset:-56px}.cta-art .r2{inset:-120px;border-style:dashed;border-color:rgba(168,187,255,.14)}
@media (max-width:1180px){.cta .cta-art{display:none}}
@media (max-width:1320px){.cta-art .r2{display:none}}
@keyframes drift{50%{transform:translate(-60px,50px) scale(1.08)}}
.cta::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(168,187,255,.12) 1.2px,transparent 1.3px);background-size:24px 24px;mask-image:linear-gradient(90deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 70%);pointer-events:none}
.cta>*{position:relative;z-index:1}
.cta h2{font-size:50px;line-height:56px;font-weight:700;letter-spacing:-.02em;color:var(--on-dark);max-width:760px}
.cta h2 span{background:linear-gradient(120deg,var(--yellow),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.cta p{font-size:18px;line-height:30px;color:var(--on-dark-muted);max-width:64ch}

/* Depots: pins only, no connecting line (depots are independent drop-off points, not a route) */
.mapbox{position:relative;border-radius:28px;background:var(--surface-50);border:1px solid var(--border);overflow:hidden;aspect-ratio:1.08/1;max-width:100%}
.mapbox svg{position:absolute;inset:0;width:100%;height:100%}
.mapbox .land{fill:#c4cfdf}
.dpin{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:5px;transition:transform .25s var(--ease)}
.dpin b{font:700 12px/1 var(--font-sans);background:var(--navy-deep);color:var(--on-dark);padding:6px 9px;border-radius:999px;letter-spacing:.05em;transition:background-color .2s,color .2s}
.dpin i{width:15px;height:15px;border-radius:50%;background:var(--red);border:3px solid #fff;position:relative;box-shadow:0 2px 6px rgba(17,40,87,.3)}
.dpin i::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--red);opacity:0;animation:ping 2.4s var(--ease) infinite}
.dpin.hl{transform:translate(-50%,-100%) scale(1.25)}
.dpin.hl b{background:var(--yellow);color:var(--navy-deep)}
.depots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:48px}
.depot{display:flex;flex-direction:column;gap:12px;padding:24px;cursor:default}
.depot .t{display:flex;align-items:center;gap:10px}
.depot h3{font-size:18px;line-height:24px}
.depot p{font-size:14px;line-height:22px}

/* Video */
.videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.vcard{margin:0;display:flex;flex-direction:column;gap:14px}
.vcard figcaption{font:600 17px/24px var(--font-sans);color:var(--ink);display:flex;flex-direction:column;gap:4px}
.vyt{display:inline-flex;align-items:center;gap:6px;font:500 14px/20px var(--font-sans);color:var(--slate-600);text-decoration:none;width:max-content}
.vyt:hover{color:var(--navy)}
.vid{aspect-ratio:16/9;width:100%;max-width:100%;border-radius:18px;background:var(--navy-deep);box-shadow:var(--shadow-md);position:relative;display:block;overflow:hidden;cursor:pointer;container-type:inline-size;text-decoration:none;color:#fff;transition:transform .3s var(--ease),box-shadow .3s}
a.vid:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg,0 18px 40px -14px rgba(17,40,87,.45))}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vp{position:absolute;right:6cqi;bottom:8cqi;width:17cqi;height:17cqi;min-width:52px;min-height:52px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;color:var(--navy-deep);box-shadow:0 8px 20px -6px rgba(0,0,0,.35);transition:transform .25s var(--ease),box-shadow .25s}
.vp svg{width:40%;height:40%;margin-left:6%}
a.vid:hover .vp{transform:scale(1.08);box-shadow:0 0 0 10px rgba(255,204,0,.22)}
.vt{position:absolute;inset:0;padding:6cqi 7cqi;display:flex;flex-direction:column;align-items:flex-start;gap:2.4cqi;overflow:hidden}
.vt::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.09) 1px,transparent 1.5px) 0 0/5.5cqi 5.5cqi;pointer-events:none}
.vt>*{position:relative;z-index:1}
.vt-top{display:flex;align-items:center;gap:3cqi;margin-bottom:auto}
.vt-mark{width:10cqi;height:10cqi;border-radius:2.6cqi}
.vt-tag{font:600 3.6cqi/1 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;padding:1.6cqi 2.8cqi;border-radius:99px;background:rgba(255,255,255,.14)}
.vt-h{font:700 7.6cqi/1.08 var(--font-display);max-width:68%;letter-spacing:-.01em}
.vt-s{font:500 4cqi/1.2 var(--font-sans);opacity:.85}
.vt-flags{display:flex;gap:1.4cqi;margin-top:1.4cqi}
.vt-flags .flag,.vt-lang .flag{width:5.6cqi;height:4cqi;border-radius:.8cqi;box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.vt-promo{background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy-deep-2) 60%,var(--navy) 100%)}
.vt-promo .vt-h{color:#fff}
.vt-promo .vt-h em{font-style:normal;color:var(--yellow)}
.vt-speed{position:absolute!important;right:-4cqi;top:7cqi;display:flex;flex-direction:column;gap:2.2cqi;transform:skewX(-20deg)}
.vt-speed i{display:block;height:2.2cqi;border-radius:99px;background:var(--red);margin-left:auto}
.vt-speed i:nth-child(1){width:22cqi}.vt-speed i:nth-child(2){width:32cqi;background:var(--yellow)}.vt-speed i:nth-child(3){width:15cqi}
.vt-tut{background:linear-gradient(150deg,#fff 0%,var(--yellow-soft) 100%);color:var(--navy-deep)}
.vt-tut::after{background:radial-gradient(circle at 1px 1px,rgba(17,40,87,.10) 1px,transparent 1.5px) 0 0/5.5cqi 5.5cqi}
.vt-tut .vt-h{font-size:6.8cqi;max-width:64%}
.vt-tut .vt-tag{background:var(--navy-deep);color:#fff}
.vt-woo{display:inline-flex;align-items:center;gap:1.6cqi;font:600 4cqi/1 var(--font-sans);color:#7f54b3}
.vt-woo svg{width:7cqi;height:7cqi}
.vt-lang{position:absolute!important;right:6cqi;top:6cqi;display:inline-flex;align-items:center;gap:2cqi;font:600 3.8cqi/1 var(--font-sans);padding:2cqi 3cqi 2cqi 2.4cqi;border-radius:99px;background:#fff;box-shadow:0 0 0 1px rgba(17,40,87,.12)}
.vt-lang .flag{box-shadow:0 0 0 1px rgba(17,40,87,.18)}
.vid.playing{cursor:default}

/* Contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:32px;align-items:start;margin-top:48px}
.hq{display:flex;flex-direction:column;gap:16px}
.hq .phone{display:flex;align-items:center;gap:14px;text-decoration:none;font:600 23px/30px var(--font-display);color:var(--ink)}
.hq .phone:hover{color:var(--navy)}
.hq h3{font:500 15px/24px var(--font-sans);color:var(--slate-600)}
.hq .mail{font:600 15px/22px var(--font-sans);display:inline-flex;align-items:center;gap:8px}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:38px;box-shadow:var(--shadow-md)}
.form .full{grid-column:1/-1}
.form-title{font:600 23px/30px var(--font-display);color:var(--ink)}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font:600 13px/18px var(--font-sans);color:var(--ink)}
.input{min-height:50px;padding:12px 15px;border-radius:12px;border:1px solid var(--border);background:var(--surface-50);color:var(--ink);font:400 15px/22px var(--font-sans);width:100%;transition:border-color .15s,box-shadow .15s,background-color .15s}
.input:hover{border-color:#cbd5e1}
.input:focus{outline:none;background:var(--surface-0);border-color:var(--navy);box-shadow:0 0 0 4px rgba(40,59,128,.14)}

/* Footer */
footer{background:var(--navy-deep);color:var(--on-dark-muted)}
footer .wrap{padding-block:60px 40px;display:flex;flex-direction:column;gap:32px}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.foot-logo{display:inline-flex}
.foot-logo .logo{height:36px}
.social{display:flex;gap:12px}
.social a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--navy-deep-2);color:var(--on-dark);transition:background-color .2s,color .2s,transform .2s var(--ease)}
.social a:hover{background:var(--yellow);color:var(--navy-deep);transform:translateY(-2px)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid var(--navy-deep-2);font-size:14px;line-height:22px}
.foot-bottom nav{display:flex;gap:24px}
.foot-bottom a{color:var(--on-dark);text-decoration:none}
.foot-bottom a:hover{color:var(--yellow)}

/* €20 sign-up popup */
.promo{width:min(820px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:28px;background:var(--surface-0);color:var(--slate-700);box-shadow:0 40px 80px -20px rgba(17,40,87,.45);overflow:auto}
.promo:focus{outline:none}
.promo::backdrop{background:rgba(17,40,87,.55);backdrop-filter:blur(4px)}
.promo[open]{animation:promoIn .45s var(--ease)}
.promo[open]::backdrop{animation:fadeIn .3s ease}
@keyframes promoIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}}
.promo-x{position:absolute;top:14px;right:14px;z-index:3;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:background-color .2s,transform .2s var(--ease)}
.promo-x:hover{background:#fff;transform:rotate(90deg)}
.promo-x svg{width:18px;height:18px}
.promo-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.promo-copy{padding:40px 40px 32px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.promo-copy .logo{height:30px;width:auto;margin-bottom:10px}
.promo-eye{display:inline-flex;align-items:center;gap:10px;font:600 13px/16px var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.promo-eye::before{content:"";width:24px;height:2px;background:var(--red);border-radius:2px}
.promo h2{display:flex;flex-direction:column;gap:2px}
.promo-amt{font:700 104px/.95 var(--font-display);letter-spacing:-.04em;color:var(--navy-deep);background:linear-gradient(transparent 62%,var(--yellow) 62% 90%,transparent 90%);padding:0 6px;margin-left:-6px;font-variant-numeric:tabular-nums}
.promo-sub{font:700 34px/40px var(--font-display);letter-spacing:-.02em;color:var(--ink)}
.promo-copy p{font:500 19px/28px var(--font-sans);color:var(--slate-600);margin-bottom:6px}
.promo-cta{width:100%}
.promo-later{align-self:center;border:0;background:none;font:600 14px/20px var(--font-sans);color:var(--slate-500);cursor:pointer;padding:6px 10px;border-radius:8px}
.promo-later:hover{color:var(--ink)}
.promo-vis{position:relative;background-color:var(--navy-deep);min-height:340px;overflow:hidden}
.promo-vis::before{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,204,0,.35),transparent)}
.promo-vis.dots{background-image:radial-gradient(rgba(168,187,255,.16) 1.2px,transparent 1.3px);background-size:20px 20px}
.promo-route{position:absolute;inset:0;width:100%;height:100%}
.promo-route path{fill:none;stroke:var(--yellow);stroke-width:2;stroke-dasharray:6 8;opacity:.7;animation:dash 1.4s linear infinite}
.promo-pin{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--red);border:3px solid #fff;box-shadow:0 0 0 6px rgba(237,11,13,.2)}
.promo-wallet{position:absolute;left:50%;top:50%;translate:-50% -50%;width:min(240px,78%);background:#fff;border-radius:20px;padding:20px;box-shadow:0 24px 48px -12px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:8px;animation:floatA 6s ease-in-out infinite}
.pw-top{display:flex;align-items:center;gap:10px}
.pw-ic{width:32px;height:32px;display:grid;place-items:center}
.pw-ic svg{width:32px;height:32px}
.pw-k{font:600 13px/16px var(--font-sans);color:var(--slate-500)}
.pw-amt{font:700 40px/1 var(--font-display);color:var(--navy-deep);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.pw-tag{display:inline-flex;align-self:flex-start;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--success-soft);color:#0f5132;font:600 12px/16px var(--font-sans)}
.pw-tag svg{width:13px;height:13px}
.promo-parcel{position:absolute;right:12%;bottom:12%;width:54px;height:54px;border-radius:14px;background:#e8c27a;color:#7a4f12;display:grid;place-items:center;box-shadow:var(--shadow-lg);rotate:-8deg;animation:floatB 7s ease-in-out infinite}
.promo-parcel svg{width:28px;height:28px}
.promo-perks{list-style:none;margin:0;padding:20px 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border-top:1px solid var(--border);background:var(--surface-50)}
.promo-perks li{display:flex;align-items:center;gap:10px;font:600 14px/18px var(--font-sans);color:var(--ink)}
.promo-perks i{width:38px;height:38px;border-radius:12px;background:var(--yellow-soft);color:var(--navy-deep);display:grid;place-items:center;flex:none}
.promo-perks svg{width:20px;height:20px}
@media (max-width:720px){
  .promo{border-radius:24px}
  .promo-grid{grid-template-columns:minmax(0,1fr)}
  .promo-vis{display:none}
  .promo-copy{padding:32px 24px 20px;align-items:stretch}
  .promo-copy .logo{align-self:flex-start}
  .promo-amt{font-size:84px;align-self:flex-start}
  .promo-sub{font-size:28px;line-height:34px}
  .promo-perks{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px 20px}
  .promo-perks li{font-size:13px}
}

/* €20 slide-in */
.slide{position:fixed;right:24px;bottom:24px;z-index:60;width:360px;max-width:calc(100vw - 32px);display:flex;gap:14px;padding:20px 20px 20px 18px;background:var(--surface-0);border:1px solid var(--border);border-radius:20px;box-shadow:0 24px 48px -12px rgba(17,40,87,.35);translate:0 24px;opacity:0;transition:translate .45s var(--ease),opacity .3s}
.slide.show{translate:none;opacity:1}
.slide-x{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;border:0;background:transparent;color:var(--slate-500);display:grid;place-items:center;cursor:pointer}
.slide-x:hover{background:var(--surface-100);color:var(--ink)}
.slide-x svg{width:16px;height:16px}
.slide-ic{width:46px;height:46px;border-radius:14px;background:var(--yellow);color:var(--navy-deep);display:grid;place-items:center;flex:none}
.slide-ic svg{width:22px;height:22px}
.slide-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.slide-eye{font:600 11px/14px var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.slide h2{font:700 22px/28px var(--font-display);color:var(--ink);padding-right:24px}
.slide h2 b{color:var(--navy-deep);background:linear-gradient(transparent 58%,var(--yellow) 58% 92%,transparent 92%)}
.slide p{font:500 15px/22px var(--font-sans);color:var(--slate-600)}
.slide-row{display:flex;align-items:center;gap:14px;margin-top:10px;flex-wrap:wrap}
.slide-cta{min-height:44px;padding:10px 18px}
.slide-more{border:0;background:none;padding:4px 0;font:600 14px/20px var(--font-sans);color:var(--navy);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media (max-width:640px){
  .slide{left:0;right:0;bottom:0;width:auto;max-width:none;border-radius:22px 22px 0 0;border-bottom:0;padding:22px 20px calc(20px + env(safe-area-inset-bottom,0px));translate:0 100%}
  .slide::before{content:"";position:absolute;top:8px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:2px;background:var(--border)}
  .slide-cta{flex:1}
}

/* Responsive */
@media (max-width:1100px){
  .stepper{grid-template-columns:minmax(0,1fr);gap:16px}
  .stepper::before,.stepper::after{left:18.5px;right:auto;top:20px;bottom:20px;width:3px;height:auto}
  .stepper::after{transform:scaleY(var(--fill));transform-origin:top}
  .step{flex-direction:row;align-items:flex-start;gap:18px}
  .step .card{flex-direction:row;align-items:center}
  .step .sv{width:180px}
  .depots{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .sec{padding-block:80px}
  .hero-grid,.split,.faq-grid,.contact-grid,.ab{grid-template-columns:minmax(0,1fr)}
  .ab{gap:36px}
  .ab-vis{max-width:520px;width:100%;justify-self:center}
  .finder{grid-template-columns:minmax(0,1fr)}
  .hero-grid{gap:44px;padding-block:48px 48px}
  .nav-links,.login{display:none}
  .menu-btn{display:inline-flex}
  .h1{font-size:44px;line-height:50px}
  .h2{font-size:34px;line-height:42px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bento .tall{grid-row:auto}
  .faq-side{position:static}
  .cta{padding:56px 36px}
  .videos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cta h2{font-size:38px;line-height:44px}
}
@media (max-width:640px){
  .sec{padding-block:64px}
  .h1{font-size:36px;line-height:42px}
  .h2{font-size:28px;line-height:36px}
  .hero-sub{font-size:19px;line-height:28px}
  .hero-copy{gap:20px}
  .hero-copy .works{order:0}.hero-copy .h1{order:1}.hero-copy .hero-sub{order:2}.hero-copy .cta-row{order:3}.hero-copy .perks{order:4}.hero-copy .flow-text{order:5;display:block;background:var(--surface-0);border:1px solid var(--border);border-radius:16px;padding:6px 16px}.hero-copy .lead{order:6}.hero-copy .dep-line{order:7}
  .hero-sub .mark{font-size:25px}
  .hero-visual{height:500px}
  .fl-steps{left:12px;right:12px;top:12px}
  .fl-steps li{justify-content:center;padding:6px 4px}
  .fl-steps li em{display:none}
  .fl-steps li.on{grid-column:span 1}
  .fl-cap{top:72px;font-size:14px}
  .fl-order{left:12px;right:12px;width:auto;top:108px}
  .fl-label{right:12px;top:240px;width:52%}
  .cta-row .btn,.steps-cta .btn,.cta-full{width:100%}
  .signup{display:none}
  .stat-num{font-size:36px;line-height:42px}
  .bento,.videos,.depots{grid-template-columns:minmax(0,1fr)}
  .bento .wide{grid-column:auto}
  .bento .mc{grid-template-columns:minmax(0,1fr);gap:14px}
  .bento .mc .vis{order:-1;margin-bottom:10px}
  .bento .card{padding:22px}
  .dash{min-height:0;padding:16px}
  .vis-mc{padding:16px}
  .step .card{flex-direction:column;align-items:stretch}
  .step .sv{width:auto}
  .finder{grid-template-columns:minmax(0,1fr)}
  .f-in,.f-out{padding:22px}
  .f-price{font-size:52px}
  .acc summary{font-size:17px}
  .acc .body>div{padding-right:8px}
  .cta{padding:44px 22px;border-radius:24px}
  .cta h2{font-size:30px;line-height:36px}
  .form{grid-template-columns:minmax(0,1fr);padding:24px}
  .quote{padding:30px}
  .ab-btn{font-size:18px}
  .ab-body p{padding-left:0;font-size:16px;line-height:27px}
  .ab-btn{padding:18px 0}
  .sc2-r{width:84px}
  .quote h3{font-size:28px;line-height:36px}
  .fade.l{left:118px}
  .announce .wrap{padding-right:48px}
  .logos{gap:22px 30px}
  .works{border-radius:16px;gap:6px 12px;font-size:13px}
  .works .sep{display:none}
  .logos img{zoom:.85}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .enter,.js .reveal,.js .reveal-stagger>*{opacity:1!important;translate:none!important;scale:none!important}
  .js .mark{background-size:100% 42%}
}

/* Language switcher (desktop nav) */
.lang{position:relative}
.lang>summary{list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-0);color:var(--slate-700);font:600 14px/20px var(--font-sans);cursor:pointer;user-select:none;transition:border-color .2s,color .2s}
.lang>summary::-webkit-details-marker{display:none}
.lang>summary:hover,.lang[open]>summary{color:var(--navy);border-color:#cbd5e0}
.lang>summary:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.lang>summary svg:last-child{transition:transform .2s var(--ease)}
.lang[open]>summary svg:last-child{transform:rotate(180deg)}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:210px;max-height:min(70vh,540px);overflow:auto;margin:0;padding:6px;list-style:none;background:var(--surface-0);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg)}
.lang-menu a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:var(--ink);text-decoration:none;font:500 15px/20px var(--font-sans)}
.lang-menu a:hover,.lang-menu a:focus-visible{background:var(--surface-50);color:var(--navy)}
.lang-menu a[aria-current]{background:var(--surface-100);font-weight:600}
.lang-menu .flag,.sheet-lang .flag{width:20px;height:14px;border-radius:3px}
@media (max-width:960px){.nav-right .lang{display:none}}

/* Language list in the mobile menu */
.sheet{overflow-y:auto}
.sheet-lang{margin-top:28px}
.sheet-lang p{margin:0 0 12px;font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-muted)}
.sheet-lang ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.sheet-lang a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--navy-deep-2);color:var(--on-dark);text-decoration:none;font:500 15px/20px var(--font-sans)}
.sheet-lang a[aria-current]{border-color:var(--yellow);color:var(--yellow)}
.sheet .sheet-cta{padding-top:28px}

/* Legal and 404 pages */
.legal{background:var(--surface-50)}
.legal-doc{max-width:760px;margin:0 auto;padding-block:72px 104px;color:var(--slate-700);font-size:17px;line-height:28px}
.legal-doc h1{margin:0 0 28px}
.legal-doc h2{margin:40px 0 12px;font:600 24px/32px var(--font-display);color:var(--ink)}
.legal-doc h3{margin:28px 0 8px;font:600 19px/26px var(--font-display);color:var(--ink)}
.legal-doc p,.legal-doc ul,.legal-doc ol{margin:0 0 16px}
.legal-doc a{color:var(--navy)}
.legal-doc.nf{text-align:center;padding-block:120px}
.legal-doc.nf .btn{margin-top:12px}

/* Hero flow chips: between 961px and 1180px the four labels don't fit, so only the active step shows its label */
@media (min-width:961px) and (max-width:1180px){
  .fl-steps{grid-template-columns:repeat(4,auto);justify-content:space-between}
  .fl-steps li:not(.on) em{display:none}
}

/* Keep the announcement CTA on one line in long languages */
.ann-cta{white-space:nowrap}

/* Contact form: taller subject + consent checkbox */
textarea.input{min-height:132px;resize:vertical;display:block}
.consent{display:flex;align-items:flex-start;gap:10px;font:400 14px/21px var(--font-sans);color:var(--slate-600)}
.consent input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--navy);cursor:pointer}
.consent label{cursor:pointer}
.consent a{color:var(--navy);font-weight:600}
.consent input[aria-invalid]{outline:2px solid var(--red);outline-offset:2px}

.legal-note{padding:14px 16px;border-radius:12px;background:var(--surface-100);font-size:15px;line-height:24px}
.legal-doc ul{padding-left:22px}
.legal-doc li{margin-bottom:6px}

/* Contact form: honeypot (hidden from people) and send result */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form{position:relative}
.form-status{margin:0;padding:14px 16px;border-radius:12px;font:500 15px/22px var(--font-sans)}
.form-status.ok{background:var(--success-soft);color:#14532d}
.form-status.err{background:#fdecec;color:#8a1010}
.form-status a{color:inherit;font-weight:600}
.form button[disabled]{opacity:.7;cursor:progress}

/* Footer: brand, link columns, contact, languages, company details */
footer .wrap{padding-block:72px 36px;gap:40px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.7fr) repeat(2,minmax(0,.8fr)) minmax(0,1.3fr);gap:48px}
.foot-brand{display:flex;flex-direction:column;align-items:flex-start;gap:18px;max-width:400px}
.foot-desc{margin:0;font-size:15px;line-height:24px;color:var(--on-dark-muted)}
.foot-depots{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;color:var(--on-dark)}
.foot-flags{display:flex;gap:6px}
.foot-flags .flag{width:24px;height:17px;border-radius:4px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.foot-cta{margin-top:4px}
.foot-h{margin:0 0 16px;font:600 13px/18px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark)}
.foot-h2{margin-top:28px}
.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:22px}
.foot-col a{color:var(--on-dark-muted);text-decoration:none;transition:color .15s}
.foot-col a:hover{color:var(--yellow)}
.foot-contact li,.foot-contact a{display:flex;align-items:flex-start;gap:10px}
.foot-contact svg{flex:none;margin-top:3px;color:var(--yellow)}
.foot-contact b{display:block;color:var(--on-dark);font-weight:600}
.foot-langs{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-top:28px;border-top:1px solid var(--navy-deep-2)}
.foot-langs .foot-h{margin:0}
.foot-langs ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px}
.foot-langs a{color:var(--on-dark-muted);text-decoration:none}
.foot-langs a:hover,.foot-langs a[aria-current]{color:var(--yellow)}
.foot-bottom{flex-direction:column;gap:6px;justify-content:flex-start}
.foot-company{font-size:13px;line-height:20px;opacity:.8}
@media (max-width:1080px){.foot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}.foot-brand{grid-column:1/-1;max-width:560px}}
@media (max-width:640px){footer .wrap{padding-block:56px 32px}.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-contact{grid-column:1/-1}}

/* Footer "Cookie settings" button styled as a link */
.foot-linkbtn{padding:0;border:0;background:none;font:inherit;color:var(--on-dark-muted);cursor:pointer;text-align:left;transition:color .15s}
.foot-linkbtn:hover{color:var(--yellow)}

/* Cookie consent: shipping label, bottom-left (the €20 slide-in owns bottom-right) */
.ck{position:fixed;left:24px;bottom:24px;z-index:70;width:392px;max-width:calc(100vw - 32px);background:var(--surface-0);color:var(--slate-700);border-radius:18px;box-shadow:0 28px 56px -16px rgba(17,40,87,.45),0 0 0 1px rgba(17,40,87,.08);overflow:hidden;
  translate:0 32px;rotate:-2deg;opacity:0;transition:translate .5s var(--ease),rotate .5s var(--ease),opacity .3s}
.ck.show{translate:0 0;rotate:0deg;opacity:1}
.ck-strip{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 18px 13px;background:var(--navy-deep);color:var(--on-dark)}
.ck-strip::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:10px;background:radial-gradient(circle at 5px 5px,var(--surface-0) 3.2px,transparent 3.6px) 0 0/12px 10px repeat-x}
.ck-stamp{font:700 11px/16px var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--navy-deep);background:var(--yellow);padding:3px 9px;border-radius:5px}
.ck-code{flex:none;width:96px;height:20px;opacity:.85;background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 4px,#fff 4px 5px,transparent 5px 8px,#fff 8px 11px,transparent 11px 13px)}
.ck-main{padding:20px 20px 14px;display:flex;flex-direction:column;gap:12px}
.ck-head{display:flex;align-items:center;gap:14px}
.ck-box{flex:none;width:56px;height:56px;border-radius:14px;background:var(--yellow-soft);display:grid;place-items:center}
.ck-box svg{width:44px;height:44px;animation:ckBob 3.2s ease-in-out infinite}
@keyframes ckBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.ck h2{margin:0;font:700 19px/24px var(--font-display);color:var(--ink);letter-spacing:-.01em}
.ck p{margin:0;font-size:14px;line-height:21px}
.ck p a{color:var(--navy);font-weight:600}
.ck-prefs{display:flex;flex-direction:column;gap:2px;border:1.5px dashed var(--border);border-radius:12px;padding:4px 12px}
.ck-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;cursor:pointer}
.ck-opt + .ck-opt{border-top:1px solid var(--border)}
.ck-opt b{display:block;font:600 14px/20px var(--font-sans);color:var(--ink)}
.ck-opt small{display:block;font-size:12.5px;line-height:18px;color:var(--slate-600)}
.ck-opt input{flex:none;appearance:none;-webkit-appearance:none;width:40px;height:24px;margin:0;border-radius:12px;background:#cbd5e1;position:relative;cursor:pointer;transition:background-color .2s}
.ck-opt input::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:translate .2s var(--ease)}
.ck-opt input:checked{background:var(--navy)}
.ck-opt input:checked::after{translate:16px 0}
.ck-opt input:disabled{opacity:.55;cursor:default}
.ck-opt input:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.ck-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:2px}
.ck-btn{min-height:46px;padding:10px 14px;border-radius:12px;border:1.5px solid transparent;font:600 14.5px/20px var(--font-sans);cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background-color .18s}
.ck-btn:hover{transform:translateY(-1px)}
.ck-accept{background:var(--yellow);color:var(--navy-deep)}
.ck-accept:hover{box-shadow:0 8px 20px -8px rgba(255,204,0,.8)}
.ck-reject{background:var(--navy-deep);color:#fff}
.ck-reject:hover{box-shadow:0 8px 20px -8px rgba(17,40,87,.6)}
.ck-btn:focus-visible,.ck-link:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.ck-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1.5px dashed var(--border)}
.ck-link{padding:4px 0;border:0;background:none;font:600 13.5px/18px var(--font-sans);color:var(--navy);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ck-trk{font:600 10.5px/14px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:var(--slate-500)}
@media (max-width:640px){
  .ck{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;max-height:calc(100dvh - 24px);overflow:auto}
  .ck-main{padding:16px 16px 12px}
  .ck-box{width:48px;height:48px}.ck-box svg{width:38px;height:38px}
  .ck h2{font-size:17px;line-height:22px}
  /* both cards at the bottom: the promo slide-in stacks above the cookie card */
  .ck-on .slide{bottom:calc(var(--ck-h,0px) + 20px);border-radius:22px;left:12px;right:12px}
}
@media (prefers-reduced-motion:reduce){.ck{transition:opacity .2s;translate:none;rotate:none}.ck-box svg{animation:none}}
/* Compact cookie card */
.ck{width:340px;border-radius:16px}
.ck-strip{padding:8px 14px 10px}
.ck-stamp{font-size:10px;line-height:14px;padding:2px 7px}
.ck-code{width:72px;height:15px}
.ck-main{padding:14px 16px 10px;gap:10px}
.ck-head{gap:11px}
.ck-box{width:42px;height:42px;border-radius:11px}.ck-box svg{width:33px;height:33px}
.ck h2{font-size:16px;line-height:21px}
.ck p{font-size:13px;line-height:19px}
.ck-opt{padding:7px 0}.ck-opt b{font-size:13px;line-height:18px}.ck-opt small{font-size:12px;line-height:16px}
.ck-opt input{width:36px;height:22px}.ck-opt input::after{width:16px;height:16px}.ck-opt input:checked::after{translate:14px 0}
.ck-actions{gap:8px}
.ck-btn{min-height:40px;padding:8px 12px;border-radius:10px;font-size:13.5px}
.ck-foot{padding-top:8px}
.ck-link{display:inline-flex;align-items:center;gap:4px;font-size:13px}
.ck-link svg{width:14px;height:14px;transition:rotate .2s}
.ck-link[aria-expanded="true"] svg{rotate:180deg}
.ck-foot .ck-link[data-ck="save"]{margin-left:auto;margin-right:12px}
@media (max-width:640px){.ck{width:auto}.ck-main{padding:12px 14px 10px}}
.ck-link{white-space:nowrap}
.ck-foot .ck-link[data-ck="save"]{margin-right:0}
.ck-foot:has([data-ck="save"]:not([hidden])) .ck-trk{display:none}
