:root{
  --ink:#0d0f12; --ink-2:#171a1f; --paper:#f4f2ee; --line:#dcd8d0;
  --amber:#f5a524; --amber-d:#c9820f; --muted:#6b6f76;
  --pad: clamp(1.25rem, 5vw, 5rem);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper); color:var(--ink);
  font:400 clamp(15px,1.05vw,17px)/1.65 Inter,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,.stat b{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:800;line-height:.98;letter-spacing:-.01em;text-transform:uppercase}
h1{font-size:clamp(2.6rem,8vw,6.5rem)}
h2{font-size:clamp(2rem,4.5vw,3.6rem)}
h3{font-size:clamp(1.2rem,2vw,1.6rem)}
.eyebrow{font:600 .78rem/1 Inter;letter-spacing:.18em;text-transform:uppercase;color:var(--amber-d)}
.note{color:var(--muted);font-size:.85rem;margin-top:.75rem}

/* ---------- loader ---------- */
.loader{position:fixed;inset:0;background:var(--ink);z-index:99;display:grid;place-items:center}
.loader__bar{width:min(320px,50vw);height:3px;background:var(--amber);box-shadow:0 0 0 100vmax transparent}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;
  gap:1rem;padding:1.4rem var(--pad);transition:padding .3s,background .3s,box-shadow .3s;color:#fff;mix-blend-mode:normal}
.nav.is-stuck{background:rgba(13,15,18,.92);backdrop-filter:blur(10px);padding:.7rem var(--pad);box-shadow:0 1px 0 #ffffff1a}
.nav__brand{display:flex;align-items:center;gap:.7rem;font:700 1.05rem/1 'Barlow Condensed';text-transform:uppercase;letter-spacing:.04em}
.nav__brand small{display:block;font:400 .62rem/1.4 Inter;letter-spacing:.14em;color:#ffffff99;text-transform:uppercase}
.nav__mark{display:grid;place-items:center;width:2.2rem;height:2.2rem;background:var(--amber);color:var(--ink);border-radius:.4rem;font-size:1rem}
.nav__links{display:flex;align-items:center;gap:clamp(.8rem,2vw,1.8rem);font-size:.9rem}
.nav__links a:not(.btn):hover{color:var(--amber)}
@media(max-width:720px){.nav__links a:not(.btn){display:none}}

/* ---------- buttons ---------- */
.btn{display:inline-block;background:var(--amber);color:var(--ink);font:600 .9rem/1 Inter;letter-spacing:.02em;
  padding:1rem 1.6rem;border:0;border-radius:2rem;cursor:pointer;transition:transform .25s,background .25s}
.btn:hover{background:var(--amber-d);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.btn--ghost:hover{background:currentColor;color:var(--paper)}
.btn--sm{padding:.55rem 1rem;font-size:.82rem}
.btn--lg{padding:1.2rem 2.4rem;font-size:1rem}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--ink)}
.hero__media{position:absolute;inset:0}
.hero__img{width:100%;height:120%;object-fit:cover;will-change:transform}
.hero__media.is-fallback{background:linear-gradient(135deg,#1b1f26,#3a2c12 60%,#7a5a12)}
.hero__media.is-fallback img{display:none}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,#0d0f12cc,#0d0f1233 35%,#0d0f12ee)}
/* shadow keeps the copy legible over bright patches of the photo */
.hero__inner{position:relative;padding:0 var(--pad) clamp(4rem,10vh,8rem);max-width:1100px;text-shadow:0 2px 18px #0d0f1299}
.hero__title{margin:.6rem 0 1.2rem}
.hero__sub{max-width:48ch;color:#e8e6e2;font-size:1.05rem}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
/* offset clear of the floating WhatsApp button */
.hero__scroll{position:absolute;right:calc(var(--pad) + 4rem);bottom:2.5rem;display:flex;align-items:center;gap:.6rem;
  font:600 .7rem/1 Inter;letter-spacing:.2em;text-transform:uppercase;color:#ffffff99}
.hero__scroll span{width:2.5rem;height:1px;background:currentColor;transform-origin:right}

/* ---------- marquee ---------- */
.marquee{background:var(--amber);color:var(--ink);padding:.9rem 0;overflow:hidden;white-space:nowrap}
.marquee__track{display:inline-flex;gap:2rem;font:800 1.25rem/1 'Barlow Condensed';text-transform:uppercase;letter-spacing:.06em;will-change:transform}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);
  border-block:1px solid var(--line)}
.stat{background:var(--paper);padding:clamp(1.5rem,4vw,2.75rem) 1.25rem;text-align:center}
.stat b{display:block;font-size:clamp(2.4rem,5vw,3.6rem);color:var(--ink)}
.stat span{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* ---------- sections ---------- */
.section{padding:clamp(4rem,10vw,8rem) var(--pad)}
.section--dark{background:var(--ink);color:#fff}
.section__head{max-width:60ch;margin-bottom:clamp(2rem,5vw,3.5rem)}
.section__head p{color:var(--muted);margin-top:.9rem}
.section--dark .section__head p{color:#b9bcc2}
.page-head{min-height:70svh;display:flex;flex-direction:column;justify-content:flex-end;gap:1rem;
  padding:8rem var(--pad) clamp(3rem,6vw,5rem);background:var(--ink);color:#fff}
.page-head p:not(.eyebrow){max-width:52ch;color:#c9ccd2}
.page-head .eyebrow a:hover{text-decoration:underline}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1.5rem}
.card{background:#fff;border:1px solid var(--line);border-radius:1rem;overflow:hidden;display:flex;flex-direction:column;will-change:transform}
.card__media{aspect-ratio:4/3;overflow:hidden;background:var(--ink-2)}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.card:hover .card__media img{transform:scale(1.07)}
.card__media.is-fallback{background:linear-gradient(135deg,#2a2f38,#f5a52455)}
.card__media.is-fallback img{display:none}
.card__body{padding:1.4rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.card__body p{color:var(--muted);font-size:.92rem}
.card__rate{margin-top:auto;padding-top:.8rem;font-size:.85rem;color:var(--muted)}
.card__rate b{font-size:1.1rem;color:var(--ink)}

/* ---------- rows (fleet list) ---------- */
.rows{display:flex;flex-direction:column;gap:clamp(3rem,8vw,6rem)}
.row{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.row:nth-child(even) .row__media{order:2}
@media(max-width:860px){.row{grid-template-columns:1fr}.row:nth-child(even) .row__media{order:0}}
.row__media{aspect-ratio:16/11;overflow:hidden;border-radius:1rem;background:var(--ink-2)}
.row__media img{width:100%;height:118%;object-fit:cover;will-change:transform}
.row__media.is-fallback{background:linear-gradient(135deg,#2a2f38,#f5a52455)}
.row__media.is-fallback img{display:none}
.row__tag{color:var(--muted);margin:.6rem 0 1.2rem}
.row__cta{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.4rem}
.tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin-bottom:1.2rem}
.tags li{font-size:.78rem;padding:.35rem .8rem;border:1px solid var(--line);border-radius:2rem;color:var(--muted)}
.rates,.specs{width:100%;border-collapse:collapse;font-size:.92rem}
.rates th,.specs th{text-align:left;font-weight:500;color:var(--muted);padding:.65rem 0;border-bottom:1px solid var(--line)}
.rates td,.specs td{text-align:right;padding:.65rem 0;border-bottom:1px solid var(--line)}
.section--dark .specs th{color:#9aa0a8;border-color:#ffffff1f}
.section--dark .specs td{border-color:#ffffff1f}

/* ---------- detail hero ---------- */
.detail-hero{position:relative;min-height:92svh;display:flex;align-items:flex-end;color:#fff;background:var(--ink);overflow:hidden}
.detail-hero__media{position:absolute;inset:0}
.detail-hero__media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0d0f12aa,#0d0f1244 40%,#0d0f12f2)}
.detail-hero__media img{width:100%;height:125%;object-fit:cover}
.detail-hero__media.is-fallback{background:linear-gradient(135deg,#1b1f26,#4a3712)}
.detail-hero__media.is-fallback img{display:none}
.detail-hero__inner{position:relative;padding:0 var(--pad) clamp(3rem,8vh,6rem);display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.detail-hero__tag{color:#d6d3ce;max-width:46ch}
.detail-hero__where{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(2rem,6vw,5rem)}
.split h2{margin-bottom:1.5rem}
.uses{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem}
.uses li{padding:1.5rem;border:1px solid #ffffff26;border-radius:.8rem;font-size:1rem}

/* ---------- steps ---------- */
.steps__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,5rem);align-items:start}
@media(max-width:900px){.steps__grid{grid-template-columns:1fr}}
.steps__aside{position:sticky;top:6rem;display:flex;flex-direction:column;gap:1.1rem;align-items:flex-start}
@media(max-width:900px){.steps__aside{position:static}}
.steps__lead{color:#b9bcc2;max-width:40ch}
.steps__aside-cta{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.5rem}
.steps__badge{margin-top:1rem;padding:1.1rem 1.4rem;border:1px solid #ffffff26;border-radius:.9rem;background:#ffffff08}
.steps__badge b{display:block;font:800 1.9rem/1 'Barlow Condensed';color:var(--amber)}
.steps__badge span{font-size:.82rem;color:#9aa0a8}
.steps__list{position:relative;list-style:none;display:flex;flex-direction:column;gap:1.25rem}
/* runs through the circle centres: card border (1px) + padding (1.9rem) + circle radius (1.4rem) */
.steps__line{position:absolute;left:3.3rem;top:3.3rem;bottom:3.3rem;width:2px;background:#ffffff1f}
.steps__line i{position:absolute;inset:0;background:var(--amber);transform:scaleY(0);transform-origin:top;display:block}
@media(max-width:560px){.steps__line{display:none}}
.steps__list li{position:relative;display:grid;grid-template-columns:auto 1fr;gap:1.4rem;align-items:start;
  padding:1.9rem;border:1px solid #ffffff26;border-radius:1rem;background:#ffffff08;transition:border-color .3s,background .3s}
.steps__list li:hover{border-color:var(--amber);background:#ffffff0f}
@media(max-width:560px){.steps__list li{grid-template-columns:1fr}}
.steps__no{position:relative;z-index:1;display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:50%;
  background:var(--amber);color:var(--ink);font:800 1.3rem/1 'Barlow Condensed'}
.steps__list p{color:#b9bcc2;margin-top:.5rem;font-size:.94rem}
.steps__meta{display:inline-block;margin-top:.9rem;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}

/* ---------- cta ---------- */
.cta{position:relative;padding:clamp(4rem,10vw,8rem) var(--pad);background:var(--amber);color:var(--ink);overflow:hidden}
.cta__stripes{position:absolute;inset:-20% -10%;display:flex;gap:5rem;transform:rotate(-14deg);pointer-events:none}
.cta__stripes i{flex:1;background:#0d0f120d}
.cta__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,6vw,4.5rem);align-items:center}
@media(max-width:900px){.cta__grid{grid-template-columns:1fr}}
.cta__eyebrow{color:#7a5205}
.cta__lead{margin:1.1rem 0 2rem;max-width:46ch;color:#4a3a12}
.cta__btns{display:flex;gap:.8rem;flex-wrap:wrap}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:#000}
.btn--outline{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn--outline:hover{background:var(--ink);color:var(--amber)}
.cta__points{list-style:none;display:grid;gap:.9rem}
.cta__points li{display:flex;flex-direction:column;gap:.25rem;padding:1.1rem 1.3rem;background:#fffdf8;border-radius:.8rem;
  border-left:4px solid var(--ink)}
.cta__points b{font:600 .95rem Inter}
.cta__points span{font-size:.87rem;color:var(--muted)}

/* ---------- form ---------- */
.form-wrap{max-width:820px;margin-inline:auto}
.form{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
@media(max-width:640px){.form{grid-template-columns:1fr}}
.form .full{grid-column:1/-1}
.form label{display:flex;flex-direction:column;gap:.45rem;font-size:.85rem;font-weight:500}
.form input,.form select,.form textarea{
  font:400 1rem Inter;padding:.9rem 1rem;border:1px solid var(--line);border-radius:.6rem;background:#fff;color:var(--ink);width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--amber);outline-offset:1px;border-color:transparent}
.form em{color:#b42318;font-style:normal;font-size:.8rem}
.alert{background:#fee4e2;color:#912018;padding:1rem 1.2rem;border-radius:.6rem;margin-bottom:1.5rem;font-size:.9rem}

/* ---------- footer + float ---------- */
.foot{background:var(--ink);color:#c9ccd2;padding:clamp(3rem,7vw,5rem) var(--pad) 2rem}
.foot__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:2.5rem}
.foot h3{color:#fff;margin-bottom:.8rem}
.foot h4{color:#fff;font:600 .8rem/1 Inter;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem}
.foot a{display:block;padding:.25rem 0;font-size:.92rem}
.foot a:hover{color:var(--amber)}
.foot p{font-size:.92rem}
.foot__base{margin-top:3rem;padding-top:1.5rem;border-top:1px solid #ffffff1a;font-size:.8rem;color:#7d838c}
.wa-float{position:fixed;right:1.25rem;bottom:1.25rem;z-index:60;display:grid;place-items:center;width:3.4rem;height:3.4rem;
  border-radius:50%;background:#25d366;color:#fff;box-shadow:0 8px 24px #0003;transition:transform .25s}
.wa-float:hover{transform:scale(1.08)}

/* GSAP sets initial states in JS; this only hides FOUC for the split lines. */
[data-split]{visibility:hidden}
.no-js [data-split]{visibility:visible}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  [data-split]{visibility:visible}
}
/* inline-block, not block — otherwise every word gets its own line */
.split-line{display:inline-block;overflow:hidden;vertical-align:bottom}
.split-line>span{display:inline-block;will-change:transform}

/* admin — compact utility pages, not marketing: smaller headings, tighter padding */
.admin.section{padding:7.5rem var(--pad) 5rem}
/* admin pages have no dark hero behind the fixed nav — give it its own dark bg */
body:has(.admin) .nav{background:rgba(13,15,18,.92)}
.admin h1{font-size:clamp(1.7rem,3vw,2.5rem)}
.admin .section__head{margin-bottom:2rem}
.admin .section__head a{color:var(--muted)}
.admin .section__head a:hover{text-decoration:underline}
.admin-media{display:flex;gap:1.2rem;align-items:flex-end}
.admin-media label{flex:1}
.admin-thumb{width:72px;height:48px;object-fit:cover;border-radius:.4rem;display:block}
.admin-thumb--lg{width:150px;height:100px}
.inline-form{display:inline-block;margin:0}
.admin-actions{display:flex;gap:.75rem;align-items:center;margin-top:1rem}
.admin-list{width:100%;max-width:1000px;border-collapse:collapse;font-size:.92rem}
.admin-list th{text-align:left;font-weight:500;color:var(--muted);padding:.65rem .8rem;border-bottom:1px solid var(--line)}
.admin-list td{text-align:left;padding:.65rem .8rem;border-bottom:1px solid var(--line);vertical-align:middle}
.admin-list td:first-child,.admin-list th:first-child{padding-left:0}
.admin-list td:last-child{text-align:right;white-space:nowrap;padding-right:0}
.admin-list td:nth-child(3),.admin-list td:nth-child(4){white-space:nowrap}
.admin-list td b{font-weight:600}
.admin-list small a{color:var(--muted)}
.admin-list .btn{margin-left:.4rem}
