@font-face { font-family:"League Gothic"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/league-gothic-038171280274/league-gothic-f9b67b1f.woff2") format("woff2"); }
@font-face { font-family:"League Gothic"; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/league-gothic-038171280274/league-gothic-3b15d6f9.woff2") format("woff2"); }
@font-face { font-family:"Geist"; font-style:normal; font-weight:100 900; font-display:swap; src:url("fonts/geist-8ac0455e797f/geist-98bbbccb.woff2") format("woff2"); }
@font-face { font-family:"Geist"; font-style:normal; font-weight:100 900; font-display:swap; src:url("fonts/geist-8ac0455e797f/geist-001175b1.woff2") format("woff2"); }

:root { --navy:#071827; --blue:#0b2e4f; --gold:#c9a45c; --cream:#f7f3ea; --coral:#ef6b5b; --ink:#142536; --muted:#657483; --font-title:"League Gothic"; --font-geist-sans:"Geist"; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:var(--font-geist-sans),Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.topline { background:var(--navy); color:#f4dfb5; text-align:center; padding:8px 20px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.site-header { height:96px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(22px,5vw,74px); gap:32px; background:linear-gradient(180deg,rgba(7,24,39,.82),rgba(7,24,39,.28) 72%,transparent); position:absolute; top:29px; left:0; right:0; z-index:20; }
.logo img { width:215px; height:90px; object-fit:contain; filter:drop-shadow(0 3px 10px rgba(0,0,0,.3)); }
nav { display:flex; align-items:center; gap:32px; font-size:14px; font-weight:750; color:#fff; text-transform:uppercase; letter-spacing:.045em; }
nav a { position:relative; }
nav a:after { content:""; position:absolute; height:2px; width:0; left:0; bottom:-8px; background:var(--gold); transition:.2s; }
nav a:hover:after { width:100%; }
.header-actions,.language { display:flex; align-items:center; gap:10px; }
.language { padding:4px; border:1px solid rgba(255,255,255,.35); border-radius:99px; }
.language button { border:0; background:transparent; border-radius:99px; padding:6px 9px; cursor:pointer; font-size:11px; font-weight:750; color:#647383; }
.language button.active { background:var(--navy); color:#fff; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:16px; min-height:56px; padding:0 27px; background:var(--gold); color:var(--navy); border:1px solid var(--gold); border-radius:8px; font-weight:800; transition:.2s ease; box-shadow:0 10px 24px rgba(201,164,92,.2); }
.button:hover { transform:translateY(-2px); background:#dbb86f; }
.button-small { min-height:44px; padding:0 19px; font-size:13px; box-shadow:none; }
.hero { min-height:690px; position:relative; display:flex; align-items:center; overflow:hidden; background:var(--navy); }
.hero-slides,.hero-image,.hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.hero-slides { overflow:hidden; }
.hero-image { object-fit:cover; opacity:0; transform:scale(1.06); transition:opacity 1.1s ease,transform 7s ease; }
.hero-image.active { opacity:1; transform:scale(1); }
.hero-shade { background:linear-gradient(90deg,rgba(7,24,39,.96) 0%,rgba(7,24,39,.82) 37%,rgba(7,24,39,.18) 73%,rgba(7,24,39,.05) 100%); }
.hero-content { position:relative; z-index:2; width:min(670px,52vw); margin-left:clamp(24px,8vw,120px); padding:80px 0 145px; color:#fff; }
.eyebrow { margin:0 0 14px; color:#9a742c; text-transform:uppercase; letter-spacing:.16em; font-size:12px; font-weight:850; }
.eyebrow.light { color:#e6c985; }
h1 { font-family:Georgia,serif; font-size:clamp(48px,5.4vw,80px); line-height:.98; letter-spacing:-.045em; margin:0 0 25px; font-weight:600; }
.hero-copy { max-width:590px; font-size:19px; line-height:1.65; color:#dfe7eb; margin:0 0 32px; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.hero-pagination { position:absolute; z-index:4; right:clamp(24px,6.5vw,100px); bottom:102px; display:flex; gap:9px; }
.hero-pagination button { width:34px; height:4px; padding:0; border:0; border-radius:99px; background:rgba(255,255,255,.45); cursor:pointer; transition:.25s ease; }
.hero-pagination button.active { width:58px; background:var(--gold); }
.button-ghost { background:rgba(7,24,39,.28); border-color:rgba(255,255,255,.6); color:#fff; box-shadow:none; }
.button-ghost:hover { background:rgba(255,255,255,.12); }
.trustbar { position:absolute; z-index:3; bottom:0; left:clamp(24px,8vw,120px); right:clamp(24px,8vw,120px); background:#fff; border-radius:18px 18px 0 0; min-height:88px; display:grid; grid-template-columns:repeat(3,1fr); box-shadow:0 -12px 40px rgba(7,24,39,.14); }
.trustbar div { display:flex; justify-content:center; align-items:center; gap:13px; font-size:14px; font-weight:750; border-right:1px solid #e7e5df; }
.trustbar div:last-child { border:0; }
.trustbar span { color:var(--gold); font-size:25px; }
.section { padding:110px clamp(24px,8vw,120px); }
.section-heading { display:grid; grid-template-columns:1.35fr .65fr; gap:70px; align-items:end; margin-bottom:44px; }
h2 { font-family:Georgia,serif; font-size:clamp(39px,4.2vw,62px); line-height:1.04; letter-spacing:-.035em; margin:0; }
.section-heading>p,.parks-copy>p,.self-content>p { color:var(--muted); line-height:1.75; font-size:16px; margin:0; }
.fleet-section { background:var(--cream); }
.fleet-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.car-card { background:#fff; overflow:hidden; border-radius:16px; box-shadow:0 10px 30px rgba(7,24,39,.07); transition:.25s; }
.car-card:hover { transform:translateY(-6px); box-shadow:0 18px 38px rgba(7,24,39,.12); }
.car-media { overflow:hidden; aspect-ratio:1.48; background:#e9edf0; }
.car-card .car-media img { display:block; width:100%; height:100%; object-fit:cover; transform:scale(1.01); transition:transform .7s cubic-bezier(.2,.72,.25,1); }
.car-card:hover .car-media img { transform:scale(1.14); }
.car-card>.car-details { padding:21px 23px 23px; position:relative; }
.car-card p { color:#a47e34; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.09em; margin:0 0 7px; }
.car-card h3 { margin:0; font-size:20px; }
.car-card span { display:block; color:#87919b; font-size:12px; margin-top:6px; }
.car-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:18px; padding-top:16px; border-top:1px solid #ece9e2; }
.car-footer span { margin:0; }
.car-book { display:inline-flex; align-items:center; gap:9px; min-height:38px; padding:0 15px; border-radius:7px; background:var(--gold); color:var(--navy); font-size:12px; font-weight:850; transition:.22s ease; }
.car-book:hover { background:#dbb86f; transform:translateX(2px); }
.car-book b { font-size:16px; }
.self-section { background:var(--navy); color:#fff; display:grid; grid-template-columns:1fr 1fr; align-items:stretch; min-height:690px; }
.self-visual { position:relative; min-height:620px; overflow:hidden; }
.self-visual>img { width:100%; height:100%; position:absolute; object-fit:cover; }
.self-visual:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 70%,var(--navy)); }
.code-card { position:absolute; z-index:2; right:5%; bottom:9%; width:220px; padding:22px; border-radius:16px; background:rgba(255,255,255,.95); color:var(--navy); box-shadow:0 20px 48px rgba(0,0,0,.27); }
.code-card span,.code-card small { display:block; color:#687785; font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.code-card strong { display:block; color:var(--gold); font-size:36px; letter-spacing:.2em; padding:5px 0; }
.self-content { padding:90px clamp(28px,7vw,105px) 80px; }
.self-content>p { color:#bbc5cc; margin-top:23px; }
.steps { margin-top:35px; display:grid; gap:23px; }
.step { display:grid; grid-template-columns:48px 1fr; gap:17px; align-items:start; }
.step>span { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:var(--gold); color:var(--navy); font-weight:900; }
.step h3 { margin:1px 0 6px; font-size:17px; }
.step p { margin:0; color:#aebbc4; font-size:14px; line-height:1.5; }
.parks-section { padding:110px clamp(24px,8vw,120px); display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:center; background:linear-gradient(135deg,#fff 0%,#f6fbfb 100%); }
.parks-copy>p { margin:24px 0; }
.text-link { font-weight:850; color:#9a742c; border-bottom:2px solid #d8bd83; padding-bottom:6px; }
.benefit-grid { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.benefit-grid article { background:#fff; border:1px solid #e1e7e9; padding:28px; border-radius:16px; min-height:180px; box-shadow:0 8px 26px rgba(7,24,39,.04); }
.benefit-grid span { display:grid; place-items:center; width:43px; height:43px; border-radius:50%; background:#e8f7f3; color:#148a80; font-size:20px; }
.benefit-grid h3 { margin:21px 0 8px; }
.benefit-grid p { margin:0; color:var(--muted); line-height:1.5; font-size:14px; }
.reviews { background:#fff; }
.reviews-heading { max-width:750px; margin-bottom:45px; }
.review-grid { display:grid; grid-template-columns:1fr 1fr .62fr; gap:22px; }
blockquote,.rating-card { margin:0; padding:34px; background:var(--cream); border-radius:16px; }
blockquote .stars { color:#bb9141; letter-spacing:.16em; }
blockquote>p { font-family:Georgia,serif; font-size:21px; line-height:1.5; margin:20px 0 28px; }
blockquote footer { color:#75818b; font-size:13px; }
.rating-card { background:var(--navy); color:#fff; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }
.rating-card img { width:90px; height:90px; border-radius:14px; object-fit:cover; margin-bottom:22px; }
.rating-card strong { font-family:Georgia,serif; font-size:36px; color:#e3c37e; }
.rating-card span { color:#b8c2c9; margin-top:5px; }
.final-cta { margin:0 clamp(24px,5vw,75px) 70px; border-radius:22px; padding:70px clamp(28px,6vw,85px); background:linear-gradient(120deg,var(--navy),#123f64); color:#fff; display:flex; justify-content:space-between; gap:45px; align-items:center; }
.final-cta>div { max-width:720px; }
.final-cta h2 { font-size:clamp(37px,4vw,58px); }
.final-cta p:not(.eyebrow) { color:#bdc8cf; margin:18px 0 0; }
.final-cta .button { flex-shrink:0; }
.footer { padding:40px clamp(24px,7vw,105px); display:grid; grid-template-columns:.7fr 1fr 1fr; gap:45px; align-items:center; background:#f5f3ed; font-size:13px; line-height:1.7; color:#64717c; }
.footer img { width:185px; height:82px; object-fit:contain; }
.footer p:last-child { text-align:right; }
.footer a { color:#243b50; font-weight:650; }
@media (max-width:1050px) { nav { display:none; } .hero-content { width:64vw; } .fleet-grid { grid-template-columns:repeat(2,1fr); } .review-grid { grid-template-columns:1fr 1fr; } .rating-card { grid-column:1/-1; min-height:250px; } }
@media (max-width:760px) {
  .topline { font-size:9px; } .site-header { height:78px; padding:0 16px; } .logo img { width:136px; height:64px; } .header-actions>.button { display:none; } .language button { padding:5px 7px; }
  .hero { min-height:760px; align-items:flex-start; } .hero-image { object-position:70% center; } .hero-shade { background:linear-gradient(90deg,rgba(7,24,39,.96),rgba(7,24,39,.62)),linear-gradient(0deg,var(--navy) 0%,transparent 55%); }
  .hero-content { width:auto; margin:0; padding:75px 22px 230px; } h1 { font-size:49px; } .hero-copy { font-size:16px; } .hero-actions { display:grid; } .trustbar { left:16px; right:16px; grid-template-columns:1fr; padding:12px 20px; border-radius:16px 16px 0 0; } .trustbar div { justify-content:flex-start; min-height:42px; border-right:0; border-bottom:1px solid #eee; } .trustbar div:last-child { border:0; }
  .section,.parks-section { padding:76px 20px; } .section-heading,.parks-section { grid-template-columns:1fr; gap:28px; } .fleet-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:15px; } .car-card { min-width:82vw; scroll-snap-align:start; }
  .self-section { grid-template-columns:1fr; } .self-visual { min-height:400px; } .self-visual:after { background:linear-gradient(0deg,var(--navy),transparent 45%); } .code-card { right:20px; bottom:12px; width:190px; } .self-content { padding:55px 22px 75px; }
  .benefit-grid { grid-template-columns:1fr 1fr; gap:10px; } .benefit-grid article { padding:20px; min-height:170px; }
  .review-grid { grid-template-columns:1fr; } .rating-card { grid-column:auto; } blockquote { padding:28px; }
  .final-cta { margin:0 14px 45px; padding:50px 24px; flex-direction:column; align-items:flex-start; } .final-cta .button { width:100%; }
  .footer { grid-template-columns:1fr; text-align:center; gap:15px; } .footer img { margin:auto; } .footer p:last-child { text-align:center; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }

/* Compact, auto-fitting first viewport and refreshed typography */
.site-header { height:100px; padding:0 clamp(20px,4vw,64px); gap:24px; }
.logo img { width:205px; height:80px; }
nav { gap:clamp(18px,2vw,30px); font-size:13px; }
.header-actions,.language { gap:9px; }
.language { padding:5px; border-color:rgba(255,255,255,.28); border-radius:14px; background:rgba(7,24,39,.36); box-shadow:0 4px 14px rgba(7,24,39,.13); }
.language button { min-width:74px; padding:7px 10px; border-radius:10px; color:#a27622; line-height:1.05; }
.language-code { display:block; font-size:11px; font-weight:900; letter-spacing:.06em; color:#1e6d77; }
.language-name { display:block; margin-top:3px; font-size:11px; font-weight:800; color:#f3d99a; white-space:nowrap; }
.language button.active .language-code,.language button.active .language-name { color:#fff; }
.hero { min-height:calc(100vh - 110px); max-height:760px; }
.hero-content { width:min(650px,49vw); margin-left:clamp(24px,6.5vw,100px); margin-top:112px; padding:44px 0 125px; }
h1 { font-family:var(--font-title),"Arial Narrow",sans-serif; font-size:clamp(42px,4.2vw,62px); line-height:.9; letter-spacing:-.025em; font-weight:400; text-transform:uppercase; margin-bottom:25px; max-width:620px; color:#fff; text-shadow:0 4px 18px rgba(0,0,0,.72),0 1px 0 rgba(201,164,92,.55); }
.hero-copy { max-width:570px; font-size:17px; line-height:1.55; margin-bottom:27px; }
.trustbar { left:clamp(24px,6.5vw,100px); right:clamp(24px,6.5vw,100px); min-height:76px; }
h2 { font-family:var(--font-geist-sans),Arial,sans-serif; font-size:clamp(36px,3.8vw,56px); font-weight:760; letter-spacing:-.04em; }
blockquote>p,.rating-card strong { font-family:var(--font-geist-sans),Arial,sans-serif; }

@media (max-width:1250px) {
  .language button { min-width:62px; }
  .language-name { font-size:9px; }
}
@media (max-width:760px) {
  .site-header { height:88px; padding:0 12px; gap:8px; }
  .logo img { width:160px; height:76px; }
  .language { gap:2px; padding:3px; }
  .language button { min-width:48px; padding:7px 5px; }
  .language-code { display:none; }
  .language-name { margin:0; font-size:9px; white-space:normal; }
  .hero { min-height:calc(100svh - 100px); max-height:none; }
  .hero-image { object-position:center center!important; transform:none; }
  .hero-image.active { opacity:1; transform:none; }
  .hero-shade { background:linear-gradient(90deg,rgba(7,24,39,.79) 0%,rgba(7,24,39,.48) 58%,rgba(7,24,39,.22) 100%),linear-gradient(0deg,rgba(7,24,39,.7) 0%,transparent 48%); }
  .hero-content { width:auto; margin:0; padding:158px 22px 218px; }
  h1 { font-size:clamp(35px,9.5vw,42px); line-height:.94; }
  .trustbar { left:16px; right:16px; min-height:auto; padding:9px 18px; }
  .trustbar div { min-height:38px; }
  .hero-pagination { right:20px; bottom:188px; }
}
