/* ZEVUNIQ — generated by build_site.py. Do not edit by hand. */

/* ---------- Fonts. Self-hosted; nothing is fetched from a third party. ---- */
@font-face{font-family:'Sora';font-style:normal;font-weight:100 800;font-display:swap;
  src:url(../fonts/Sora-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Sora';font-style:normal;font-weight:100 800;font-display:swap;
  src:url(../fonts/Sora-latin-ext.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;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../fonts/Inter-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../fonts/Inter-latin-ext.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;}

/* The CJK face is requested only by the Chinese document, which carries
   data-cjk. The unicode-range keeps it out of the Latin page's way too. */
@font-face{font-family:'Noto Sans SC';font-style:normal;font-weight:400;font-display:swap;
  src:url(../fonts/NotoSansSC-400-subset.woff2) format('woff2');
  unicode-range:U+2E80-9FFF,U+3000-303F,U+FF00-FFEF,U+201C-201D,U+2018-2019;}
@font-face{font-family:'Noto Sans SC';font-style:normal;font-weight:700;font-display:swap;
  src:url(../fonts/NotoSansSC-700-subset.woff2) format('woff2');
  unicode-range:U+2E80-9FFF,U+3000-303F,U+FF00-FFEF,U+201C-201D,U+2018-2019;}

/* ---------- Reset ------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body,h1,h2,h3,h4,p,ul,ol,li,figure,blockquote,dl,dd{margin:0;padding:0;}
ul,ol{list-style:none;}
img,picture,svg{display:block;max-width:100%;}
button,input,select,textarea{font:inherit;color:inherit;}
a{color:inherit;text-decoration:none;}

/* Neither Sora nor Inter ships an italic and the CJK subset carries none, so
   an authored italic would be synthesised by the browser. These elements are
   italic by user-agent default, which no stylesheet gate can see. */
em,i,cite,dfn,var,address,q{font-style:normal;}

:root{
  /* Ground and ink */
  --ink:          #111111;   /* headings, dark bands, primary buttons */
  --ink-deep:     #0d0d0d;   /* the hero trust bar */
  --ink-card:     #1a1a1a;   /* vehicle cards on the dark band */
  --line-dark:    #222222;   /* borders inside dark bands */
  --line-hair:    #1a1a1a;   /* the footer hairline */
  --rule-dark:    #2a2a2a;   /* the divider inside a vehicle card */
  --white:        #ffffff;
  --shell:        #f7f7f5;   /* tinted band and card ground */
  --line:         #e9eaec;   /* every light border */
  --muted:        #6e7175;   /* secondary body copy, light grounds only */
  /* The design uses #6e7175 on #111 and #1a1a1a too, where it measures
     3.55-3.96:1 against a 4.5 requirement. Same role, lifted until it
     passes on both dark grounds, measured not guessed. */
  --muted-on-dark:#969ba3;
  --muted-dark:   #c8cbd0;   /* secondary copy on a photograph */
  --on-dark:      #f0f2f5;   /* body copy on a photograph */

  /* The one accent. #e31e24 is the client's brand red and every FILL uses
     it unchanged — buttons, badges, ticks, the red card border. White on it
     measures 4.69:1, which passes.

     Small RED TEXT is the exception. Measured on this build: the 14px bold
     eyebrow reads 4.37:1 on the tinted band and 4.03:1 on the dark band,
     against a 4.5 requirement. The two tokens below are the same colour
     nudged until it passes — 1.5% darker for light grounds, 5% lighter for
     dark — a change nobody sees beside the brand red, and one an accessibility
     audit does. Set both to var(--red) to ship the untouched values. */
  --red:          #e31e24;
  --red-text:     #df1d23;   /* accent as text on white or #f7f7f5 -> 4.51:1 */
  --red-text-dk:  #f0262c;   /* accent as text on #111 or #1a1a1a  -> 4.51:1 */
  --red-wash:     rgba(227, 30, 36, 0.12);
  --red-glow:     rgba(227, 31, 36, 0.5);

  /* Scrims over photography */
  --scrim-hero:   rgba(12, 12, 15, 0.55);
  --scrim-join:   rgba(17, 17, 17, 0.65);

  /* Type */
  --sans: 'Sora', 'Noto Sans SC', 'PingFang SC', 'Hiragino Sans GB',
          'Microsoft YaHei', system-ui, -apple-system, sans-serif;
  --body: 'Inter', 'Noto Sans SC', 'PingFang SC', 'Hiragino Sans GB',
          'Microsoft YaHei', system-ui, -apple-system, sans-serif;

  /* Radii, exactly the four the file uses */
  --r-xs: 2px;
  --r-sm: 4px;
  --r-md: 8px;
  --r-lg: 12px;
  --r-pill: 100px;

  /* Rhythm. The band padding and the container are ours below 1440px. */
  --band-y: 100px;
  --gutter: 120px;
  --measure: 1200px;
}

body{
  margin:0;background:var(--white);color:var(--ink);
  font-family:var(--body);font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

/* ---------- Shared shapes ---------------------------------------------- */
.z-band{padding:var(--band-y) var(--gutter);}
.z-wrap{width:100%;max-width:var(--measure);margin-inline:auto;}

.z-head{max-width:800px;margin-inline:auto;display:flex;flex-direction:column;
  align-items:center;gap:16px;text-align:center;}
.z-eyebrow{font-family:var(--sans);font-weight:700;font-size:14px;color:var(--red-text);
  letter-spacing:.04em;}
.z-band--dark .z-eyebrow{color:var(--red-text-dk);}
.z-h2{font-family:var(--sans);font-weight:800;font-size:36px;line-height:1.18;color:var(--ink);}
.z-sub{font-size:16px;color:var(--muted);}
.z-band--tint{background:var(--shell);}
.z-band--dark{background:var(--ink);}
.z-band--dark .z-h2{color:var(--white);}
.z-band--dark .z-sub{color:var(--muted-on-dark);}

.z-icon{width:1em;height:1em;flex:0 0 auto;stroke-width:2;}

/* Focus. Nothing in the Figma file defines one; shipping without is not an
   option, so every focusable thing gets the same visible ring. */
:where(a,button,input,select,summary,[tabindex]):focus-visible{
  outline:3px solid var(--red);outline-offset:3px;border-radius:2px;
}
.z-skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ink);
  color:var(--white);padding:12px 20px;font-weight:600;}
.z-skip:focus{left:8px;top:8px;}

/* ---------- Buttons ---------------------------------------------------- */
.z-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--sans);font-weight:700;border:0;border-radius:var(--r-sm);
  cursor:pointer;text-align:center;transition:background-color .18s ease,
  color .18s ease,transform .18s ease,box-shadow .18s ease;}
.z-btn:active{transform:translateY(1px);}
.z-btn--red{background:var(--red);color:var(--white);}
.z-btn--red:hover{background:#c8161c;}
.z-btn--ink{background:var(--ink);color:var(--white);}
.z-btn--ink:hover{background:#2b2b2b;}
.z-btn--ghost{background:transparent;color:var(--white);
  box-shadow:inset 0 0 0 1px var(--white);}
.z-btn--ghost:hover{background:rgba(255,255,255,.12);}
.z-btn--nav{font-size:14px;padding:12px 24px;}
.z-btn--hero{font-size:16px;padding:18px 40px;text-transform:uppercase;
  box-shadow:0 8px 14px var(--red-glow);}
.z-btn--block{width:100%;font-size:14px;padding:14px 16px;}
.z-btn--wide{font-size:15px;padding:18px 36px;}
.z-btn--widget{width:100%;font-size:15px;padding:16px;}

/* ---------- Masthead --------------------------------------------------- */
.z-nav{position:sticky;top:0;z-index:100;background:var(--white);
  border-bottom:1px solid var(--line);box-shadow:0 4px 8px rgba(0,0,0,.06);}
.z-nav__in{display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:16px 64px;}
.z-nav__logo{flex:0 0 auto;display:block;}
.z-nav__logo img{width:200px;height:44px;object-fit:contain;object-position:left center;}
.z-nav__links{display:flex;align-items:center;gap:36px;white-space:nowrap;}
.z-nav__link{font-family:var(--body);font-weight:600;font-size:15px;color:var(--ink);
  transition:color .18s ease;}
.z-nav__link:hover{color:var(--red);}
.z-nav__link[aria-current="page"],.z-nav__link.is-active{color:var(--red);}
.z-nav__right{display:flex;align-items:center;gap:24px;}
.z-lang{font-family:var(--body);font-weight:700;font-size:13px;color:var(--ink);
  background:var(--shell);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:6px 12px;white-space:nowrap;transition:border-color .18s ease;}
.z-lang:hover{border-color:var(--red);color:var(--red);}
.z-nav__burger{display:none;width:44px;height:44px;align-items:center;
  justify-content:center;background:transparent;border:1px solid var(--line);
  border-radius:var(--r-sm);cursor:pointer;}
.z-nav__burger .z-icon{width:22px;height:22px;color:var(--ink);}

/* ---------- Hero ------------------------------------------------------- */
.z-hero{position:relative;isolation:isolate;padding:100px var(--gutter) 80px;
  display:flex;flex-direction:column;gap:56px;justify-content:space-between;
  min-height:760px;}
.z-hero__bg{position:absolute;inset:0;z-index:-1;overflow:hidden;}
.z-hero__bg picture,.z-join__bg picture{display:block;width:100%;height:100%;}
.z-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center;}
.z-hero__bg::after{content:"";position:absolute;inset:0;background:var(--scrim-hero);}
.z-hero__row{display:flex;align-items:center;justify-content:space-between;
  gap:64px;width:100%;max-width:var(--measure);margin-inline:auto;}
.z-hero__text{width:640px;max-width:100%;display:flex;flex-direction:column;
  align-items:flex-start;gap:28px;}
.z-badge{display:inline-block;background:var(--red);color:var(--white);
  font-family:var(--sans);font-weight:700;font-size:12px;text-transform:uppercase;
  padding:8px 16px;border-radius:var(--r-xs);letter-spacing:.02em;}
.z-hero__h1{font-family:var(--sans);font-weight:800;font-size:68px;line-height:76px;
  color:var(--white);text-transform:uppercase;}
.z-hero__h1 span{display:block;}
.z-hero__lede{font-family:var(--sans);font-weight:600;font-size:20px;color:var(--white);}
.z-hero__tag{font-family:var(--sans);font-weight:600;font-size:20px;color:var(--white);}
.z-hero__sub{font-size:16px;line-height:26px;color:var(--on-dark);}
.z-hero__stack{display:flex;flex-direction:column;gap:12px;width:100%;}
.z-hero__ctas{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.z-textlink{display:inline-flex;align-items:center;gap:8px;font-weight:600;
  font-size:15px;color:var(--white);text-decoration:underline;
  text-underline-offset:3px;}
.z-textlink .z-icon{width:16px;height:16px;transition:transform .18s ease;}
.z-textlink:hover .z-icon{transform:translateX(3px);}
.z-trust{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.z-trust li{display:flex;align-items:center;gap:8px;font-weight:500;font-size:13px;
  color:var(--muted-dark);}
.z-trust .z-icon{width:16px;height:16px;color:var(--red);}

/* Booking widget */
.z-widget{width:420px;max-width:100%;flex:0 0 auto;background:rgba(255,255,255,.86);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border-radius:var(--r-md);padding:32px;display:flex;flex-direction:column;gap:20px;}
.z-widget__h{font-family:var(--sans);font-weight:700;font-size:20px;color:var(--ink);}
.z-widget__fields{display:flex;flex-direction:column;gap:12px;}
.z-field{display:flex;flex-direction:column;gap:6px;}
.z-field__label{font-weight:600;font-size:13px;color:var(--ink);}
.z-field__box{position:relative;display:flex;align-items:center;}
.z-field__box .z-icon{position:absolute;right:12px;width:16px;height:16px;
  color:var(--red);pointer-events:none;}
.z-field input,.z-field select{width:100%;background:var(--white);
  border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 36px 12px 12px;
  font-size:14px;color:var(--ink);appearance:none;-webkit-appearance:none;}
.z-field input::placeholder{color:var(--muted);}
.z-field input:hover,.z-field select:hover{border-color:var(--muted);}
.z-field--pair{display:flex;gap:12px;}
.z-field--pair > *{flex:1 1 0;min-width:0;}
.z-widget__note{font-size:12px;line-height:17px;color:var(--muted);}
.z-widget__out{font-size:13px;line-height:19px;color:var(--ink);
  background:var(--white);border:1px solid var(--line);border-left:3px solid var(--red);
  border-radius:var(--r-sm);padding:12px 14px;}
.z-widget__out a{color:var(--red);font-weight:600;text-decoration:underline;
  text-underline-offset:2px;}
.z-widget__out[hidden]{display:none;}

/* Hero trust bar */
.z-bar{width:100%;max-width:var(--measure);margin-inline:auto;background:var(--ink-deep);
  border:1px solid var(--line-dark);border-radius:var(--r-sm);
  padding:16px 32px;display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap;}
.z-bar li{display:flex;align-items:center;gap:12px;}
.z-bar__tick{width:3px;height:24px;background:var(--red);flex:0 0 auto;}
.z-bar__t{font-weight:700;font-size:14px;color:var(--white);}
.z-bar__c{font-size:11px;color:var(--muted-on-dark);}

/* ---------- Strength cards --------------------------------------------- */
.z-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  width:100%;max-width:var(--measure);margin:56px auto 0;}
.z-card{background:var(--shell);border:1px solid var(--line);border-radius:var(--r-md);
  padding:32px;display:flex;flex-direction:column;align-items:flex-start;gap:20px;}
.z-chip{width:48px;height:48px;border-radius:50%;background:var(--red-wash);
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.z-chip .z-icon{width:24px;height:24px;color:var(--red);}
.z-card__h{font-family:var(--sans);font-weight:700;font-size:20px;color:var(--ink);}
.z-card__p{font-size:14px;line-height:22px;color:var(--muted);}

/* ---------- Plans ------------------------------------------------------ */
.z-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;
  width:100%;max-width:var(--measure);margin:56px auto 0;}
.z-plan{position:relative;background:var(--white);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:40px;display:flex;flex-direction:column;gap:32px;}
.z-plan--featured{border:2px solid var(--red);}
.z-plan__flag{position:absolute;top:-18px;right:22px;background:var(--red);
  color:var(--white);font-weight:700;font-size:12px;padding:6px 16px;
  border-radius:var(--r-pill);white-space:nowrap;}
.z-plan__top{display:flex;flex-direction:column;gap:12px;}
.z-plan__name{font-family:var(--sans);font-weight:800;font-size:22px;color:var(--ink);}
.z-plan__desc{font-size:14px;line-height:21px;color:var(--muted);}
.z-plan__price{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;}
.z-plan__fig{font-family:var(--sans);font-weight:800;font-size:40px;color:var(--red);}
.z-plan__per{font-weight:600;font-size:16px;color:var(--muted);}
.z-rule{height:1px;width:100%;background:var(--line);}
.z-plan__feats{display:flex;flex-direction:column;gap:16px;}
.z-plan__feats li{display:flex;align-items:flex-start;gap:10px;font-size:14px;
  line-height:20px;color:var(--ink);}
.z-plan__feats .z-icon{width:16px;height:16px;color:var(--red);margin-top:2px;}
.z-plan__cta{margin-top:auto;}

/* ---------- Three steps ------------------------------------------------ */
.z-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;align-items:start;
  width:100%;max-width:var(--measure);margin:56px auto 0;}
.z-step{background:var(--shell);border:1px solid var(--line);border-radius:var(--r-md);
  padding:40px;display:flex;flex-direction:column;gap:24px;}
.z-step__top{display:flex;align-items:center;justify-content:space-between;}
.z-step__n{font-family:var(--sans);font-weight:800;font-size:40px;color:var(--red);
  opacity:.15;line-height:1;}
.z-step__badge{width:40px;height:40px;border-radius:50%;background:var(--white);
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.z-step__badge .z-icon{width:18px;height:18px;color:var(--red);}
.z-step__h{font-family:var(--sans);font-weight:700;font-size:20px;color:var(--ink);}
.z-step__p{font-size:14px;line-height:22px;color:var(--muted);}

/* ---------- Fleet ------------------------------------------------------ */
.z-fleet{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;
  width:100%;max-width:var(--measure);margin:56px auto 0;}
.z-car{background:var(--ink-card);border:1px solid var(--line-dark);
  border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;}
.z-car__shot{height:260px;background:#000;}
.z-car__shot img{width:100%;height:100%;object-fit:cover;}
.z-car__body{padding:32px;display:flex;flex-direction:column;gap:24px;flex:1 1 auto;}
.z-car__top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.z-car__name{font-family:var(--sans);font-weight:800;font-size:24px;color:var(--white);}
.z-car__sub{font-size:14px;color:var(--muted-on-dark);margin-top:4px;}
.z-car__price{text-align:right;flex:0 0 auto;}
.z-car__fig{font-family:var(--sans);font-weight:800;font-size:28px;color:var(--red);}
.z-car__unit{font-size:11px;color:var(--muted-on-dark);margin-top:2px;}
.z-car__rule{height:1px;width:100%;background:var(--rule-dark);}
.z-car__specs{display:flex;align-items:center;justify-content:space-between;gap:16px;
  flex-wrap:wrap;}
.z-car__specs li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--white);}
.z-car__specs .z-icon{width:16px;height:16px;color:var(--red);}
.z-car__cta{margin-top:auto;}

/* ---------- Training --------------------------------------------------- */
.z-split{display:flex;align-items:center;gap:48px;width:100%;
  max-width:var(--measure);margin-inline:auto;}
.z-split__shot{width:540px;flex:0 0 auto;border-radius:var(--r-lg);overflow:hidden;}
.z-split__shot img{width:100%;height:400px;object-fit:cover;}
.z-split__say{flex:1 1 0;min-width:0;display:flex;flex-direction:column;
  align-items:flex-start;gap:24px;}
.z-pill{display:inline-block;background:var(--red-wash);color:var(--red);
  font-family:var(--sans);font-weight:700;font-size:12px;text-transform:uppercase;
  padding:6px 12px;border-radius:var(--r-sm);letter-spacing:.03em;}
.z-split__h{font-family:var(--sans);font-weight:800;font-size:36px;line-height:1.2;
  color:var(--ink);}
.z-split__p{font-size:16px;line-height:24px;color:var(--muted);}
.z-numlist{display:flex;flex-direction:column;gap:16px;width:100%;}
.z-numlist li{display:flex;align-items:flex-start;gap:12px;}
.z-num{width:24px;height:24px;border-radius:50%;background:var(--red-wash);
  color:var(--red);font-weight:700;font-size:12px;display:flex;align-items:center;
  justify-content:center;flex:0 0 auto;}
.z-numlist li > span:last-child{display:flex;flex-direction:column;gap:4px;min-width:0;}
.z-numlist__h{display:block;font-weight:700;font-size:15px;line-height:20px;color:var(--ink);}
.z-numlist__p{display:block;font-size:13px;line-height:18px;color:var(--muted);}

/* ---------- Join ------------------------------------------------------- */
.z-join{position:relative;isolation:isolate;padding:100px var(--gutter);
  display:flex;justify-content:center;}
.z-join__bg{position:absolute;inset:0;z-index:-1;overflow:hidden;}
.z-join__bg img{width:100%;height:100%;object-fit:cover;}
.z-join__bg::after{content:"";position:absolute;inset:0;background:var(--scrim-join);}
.z-join__in{width:800px;max-width:100%;display:flex;flex-direction:column;
  align-items:center;gap:32px;text-align:center;}
.z-join__flag{display:inline-block;background:var(--red);color:var(--white);
  font-family:var(--sans);font-weight:700;font-size:12px;padding:6px 16px;
  border-radius:var(--r-pill);letter-spacing:.03em;}
.z-join__h{font-family:var(--sans);font-weight:800;font-size:40px;line-height:1.24;
  color:var(--white);}
.z-join__p{font-size:16px;line-height:24px;color:var(--shell);}
.z-join__ctas{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;}

/* ---------- Stories and FAQ -------------------------------------------- */
.z-two{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;
  width:100%;max-width:var(--measure);margin-inline:auto;}
.z-col{display:flex;flex-direction:column;gap:32px;}
.z-col__h{font-family:var(--sans);font-weight:800;font-size:28px;color:var(--ink);}
.z-quote{background:var(--shell);border-radius:var(--r-md);padding:28px;
  display:flex;flex-direction:column;gap:16px;}
.z-quote__p{font-size:15px;line-height:22px;color:var(--ink);}
.z-quote__by{font-weight:700;font-size:13px;color:var(--red-text);}
.z-faq{border:1px solid var(--line);border-radius:6px;padding:20px;
  display:flex;flex-direction:column;gap:12px;}
.z-faq__q{font-weight:700;font-size:15px;color:var(--ink);cursor:default;
  list-style:none;display:block;}
.z-faq__q::-webkit-details-marker{display:none;}
.z-faq__a{font-size:13px;line-height:18px;color:var(--muted);}
.z-faq[open] .z-faq__q,.z-faq .z-faq__q{position:relative;}

/* ---------- Footer ----------------------------------------------------- */
.z-foot{background:var(--ink);color:var(--white);padding:80px var(--gutter) 40px;}
.z-foot__in{width:100%;max-width:var(--measure);margin-inline:auto;
  display:flex;flex-direction:column;gap:64px;}
.z-foot__top{display:flex;align-items:flex-start;justify-content:space-between;
  gap:48px;flex-wrap:wrap;}
.z-foot__brand{width:380px;max-width:100%;display:flex;flex-direction:column;gap:24px;}
.z-foot__logo img{width:180px;height:40px;object-fit:contain;object-position:left center;}
.z-foot__blurb{font-size:14px;line-height:20px;color:var(--shell);}
.z-foot__tag{font-family:var(--sans);font-weight:700;font-size:16px;color:var(--red-text-dk);}
.z-foot__cols{display:flex;gap:80px;flex-wrap:wrap;}
.z-foot__col{display:flex;flex-direction:column;gap:16px;}
.z-foot__h{font-family:var(--sans);font-weight:700;font-size:15px;color:var(--white);}
.z-foot__col a,.z-foot__col li{font-size:14px;color:var(--muted-on-dark);}
.z-foot__col a{transition:color .18s ease;}
.z-foot__col a:hover{color:var(--white);}
.z-foot__contact{width:280px;max-width:100%;display:flex;flex-direction:column;gap:20px;}
.z-foot__rows{display:flex;flex-direction:column;gap:12px;}
.z-foot__rows li{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--white);}
.z-foot__rows .z-icon{width:16px;height:16px;color:var(--red);}
.z-foot__rows a:hover{color:var(--red);}
.z-foot__hair{height:1px;width:100%;background:var(--line-hair);}
.z-foot__legal{display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap;font-size:12px;color:var(--muted-on-dark);}
.z-foot__legal ul{display:flex;gap:16px;}
.z-foot__legal a:hover{color:var(--white);}
.z-foot__note{font-size:11px;line-height:16px;color:var(--muted-on-dark);max-width:760px;}

/* ---------- Reveal ------------------------------------------------------ */
/* Guarded: the hidden state only exists once the script has confirmed it can
   restore it. A reveal that fails to fire must never leave copy invisible. */
html.z-js .z-rv{opacity:0;transform:translateY(16px);
  transition:opacity .6s ease,transform .6s ease;}
html.z-js .z-rv.is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  html.z-js .z-rv{opacity:1;transform:none;transition:none;}
}

/* ---------- Responsive. None of this is in the Figma file. -------------- */
@media (max-width:1279px){
  :root{--gutter:64px;--band-y:88px;}
  .z-nav__in{padding:16px 40px;}
  .z-hero__h1{font-size:56px;line-height:62px;}
  .z-hero__text{width:auto;flex:1 1 0;min-width:0;}
  .z-split__shot{width:44%;}
}
@media (max-width:1023px){
  :root{--gutter:40px;--band-y:72px;}
  .z-nav__links{display:none;}
  .z-nav__burger{display:flex;}
  .z-nav__right{gap:12px;}
  /* The links collapse into the drawer here, but the primary action stays
     visible — the bar has room for it at this width and burying the only
     conversion point behind a menu costs more than it tidies. It goes at
     720, where the hero's own BOOK NOW is the first thing on screen. */
  .z-nav__cta{padding:10px 18px;}
  .z-hero{min-height:0;padding:64px var(--gutter);}
  .z-hero__row{flex-direction:column;align-items:stretch;gap:40px;}
  .z-hero__text{width:100%;}
  .z-widget{width:100%;}
  .z-hero__h1{font-size:46px;line-height:52px;}
  .z-grid4{grid-template-columns:repeat(2,1fr);}
  .z-plans{grid-template-columns:1fr;max-width:560px;}
  .z-plan--featured{order:-1;}
  .z-steps{grid-template-columns:1fr;gap:20px;}
  .z-fleet{grid-template-columns:1fr;}
  .z-split{flex-direction:column;align-items:stretch;gap:32px;}
  .z-split__shot{width:100%;}
  .z-split__shot img{height:320px;}
  .z-two{grid-template-columns:1fr;gap:48px;}
  .z-join__h{font-size:32px;}
  .z-foot__top{flex-direction:column;gap:40px;}
  /* Below the tablet line the FAQ collapses — three open answers push the
     page too far. The <details> element does this without script. */
  .z-faq__q{cursor:pointer;padding-right:28px;}
  .z-faq__q::after{content:"";position:absolute;right:4px;top:6px;width:8px;height:8px;
    border-right:2px solid var(--red);border-bottom:2px solid var(--red);
    transform:rotate(45deg);transition:transform .2s ease;}
  .z-faq[open] .z-faq__q::after{transform:rotate(-135deg);top:9px;}
}
@media (max-width:719px){
  :root{--gutter:20px;--band-y:56px;}
  .z-nav__in{padding:12px 20px;}
  .z-nav__logo img{width:150px;height:34px;}
  .z-nav__cta{display:none;}
  .z-hero{padding:44px var(--gutter);}
  .z-hero__h1{font-size:34px;line-height:40px;}
  .z-hero__lede,.z-hero__tag{font-size:17px;}
  .z-badge{font-size:11px;padding:7px 12px;}
  .z-btn--hero{width:100%;padding:16px 24px;}
  .z-hero__ctas{width:100%;gap:16px;}
  .z-widget{padding:22px;}
  .z-field--pair{flex-direction:column;}
  .z-trust{gap:12px 18px;}
  .z-bar{padding:18px 20px;gap:18px;flex-direction:column;align-items:flex-start;}
  .z-h2{font-size:27px;}
  .z-grid4{grid-template-columns:1fr;}
  .z-card,.z-step,.z-plan{padding:26px;}
  .z-split__h{font-size:27px;}
  .z-split__shot img{height:220px;}
  .z-join{padding:64px var(--gutter);}
  .z-join__h{font-size:26px;}
  .z-join__ctas{flex-direction:column;width:100%;}
  .z-join__ctas .z-btn{width:100%;}
  .z-two{gap:40px;}
  .z-col__h{font-size:23px;}
  .z-foot{padding:56px var(--gutter) 32px;}
  .z-foot__cols{gap:40px;}
  .z-foot__legal{flex-direction:column;align-items:flex-start;gap:12px;}
  .z-car__top{flex-direction:column;}
  .z-car__price{text-align:left;}
}

/* ---------- Mobile drawer ---------------------------------------------- */
.z-drawer{position:fixed;inset:0;z-index:150;display:none;}
.z-drawer[data-open="1"]{display:block;}
.z-drawer__veil{position:absolute;inset:0;background:rgba(17,17,17,.55);}
.z-drawer__panel{position:absolute;top:0;right:0;height:100%;width:min(340px,86vw);
  background:var(--white);padding:24px;display:flex;flex-direction:column;gap:8px;
  box-shadow:-12px 0 32px rgba(0,0,0,.2);}
.z-drawer__top{display:flex;align-items:center;justify-content:space-between;
  margin-bottom:16px;}
.z-drawer__close{width:44px;height:44px;display:flex;align-items:center;
  justify-content:center;background:transparent;border:1px solid var(--line);
  border-radius:var(--r-sm);cursor:pointer;}
.z-drawer__close .z-icon{width:20px;height:20px;}
.z-drawer a.z-nav__link{font-size:18px;padding:14px 0;
  border-bottom:1px solid var(--line);}
.z-drawer .z-btn{margin-top:20px;width:100%;font-size:15px;padding:16px;}

/* ---------- Print ------------------------------------------------------- */
@media print{
  .z-nav,.z-drawer,.z-widget__note{display:none;}
  .z-hero,.z-join{color:var(--ink);}
  .z-hero__bg,.z-join__bg{display:none;}
  .z-hero__h1,.z-join__h,.z-hero__lede,.z-hero__sub,.z-join__p{color:var(--ink);}
  html.z-js .z-rv{opacity:1;transform:none;}
}
