/* ===================================================================
   One Standard Rentals (OSR) — Flagship edition
   Premium performance car hire · recovery · accident claims
   Theme: carbon black + signature red · rounded, tactile, cinematic
   =================================================================== */

:root {
  /* Surfaces */
  --bg:        #08080a;
  --bg-2:      #0c0c0f;
  --surface:   #131318;
  --surface-2: #1a1a21;
  --glass:     rgba(255,255,255,.045);
  --line:      rgba(255,255,255,.09);
  --line-2:    rgba(255,255,255,.14);

  /* Ink */
  --text:      #f6f6f8;
  --muted:     #a0a0ad;
  --muted-2:   #76767f;

  /* Brand red */
  --accent:    #e4151b;
  --accent-2:  #ff4536;
  --accent-3:  #ff7a5e;
  --grad:      linear-gradient(105deg, #ff7a5e 0%, #ff2f2a 40%, #c20d12 100%);
  --grad-ink:  linear-gradient(105deg, #ffd9cf 0%, #ff5a4d 45%, #e4151b 100%);
  --glow:      0 0 0 1px rgba(255,69,54,.35), 0 20px 60px -18px rgba(255,47,42,.55);

  --wa:        #25D366;

  /* Radii — rounded & friendly */
  --r-xl: 26px;
  --r:    18px;
  --r-sm: 12px;
  --r-pill: 999px;

  --shadow:    0 40px 80px -28px rgba(0,0,0,.8);
  --shadow-sm: 0 18px 40px -22px rgba(0,0,0,.7);
  --maxw:      1200px;
  --ease:      cubic-bezier(.22,.61,.36,1);
  --ease-out:  cubic-bezier(.16,1,.3,1);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: 'Inter', system-ui, sans-serif;
  background: var(--bg); color: var(--text); line-height: 1.6;
  overflow-x: hidden; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
/* faint premium grain */
body::after {
  content: ""; position: fixed; inset: 0; z-index: 9999; pointer-events: none; opacity: .04;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
h1,h2,h3,h4,.brand__mark { font-family:'Sora',sans-serif; line-height:1.05; letter-spacing:-.02em; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
::selection { background: var(--accent); color:#fff; }
.container { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 22px; }

/* Scrollbar */
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: var(--bg-2); }
::-webkit-scrollbar-thumb { background: #2a2a31; border-radius: 10px; border: 3px solid var(--bg-2); }
::-webkit-scrollbar-thumb:hover { background: var(--accent); }

.grad { background: var(--grad-ink); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Eyebrow as a refined chip */
.eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  text-transform: uppercase; letter-spacing: .24em; font-size: .7rem; font-weight: 700;
  color: var(--accent-3); margin-bottom: 18px;
}
.eyebrow::before { content:""; width: 26px; height: 2px; background: var(--grad); border-radius: 2px; }
.section__head .eyebrow { display:inline-flex; }

/* ===== Buttons (rounded, tactile, with sheen) ===== */
.btn {
  position: relative; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-weight: 700; font-size: .95rem; letter-spacing: .01em;
  padding: 15px 28px; border-radius: var(--r-pill);
  border: 1px solid transparent; cursor: pointer;
  transition: transform .3s var(--ease-out), box-shadow .3s var(--ease), background .3s, color .3s, border-color .3s;
  white-space: nowrap; isolation: isolate;
}
.btn::after { /* sheen sweep */
  content:""; position:absolute; inset:0; z-index:-1; transform: translateX(-130%);
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.28) 50%, transparent 70%);
  transition: transform .6s var(--ease);
}
.btn:hover::after { transform: translateX(130%); }
.btn:hover { transform: translateY(-3px); }
.btn:active { transform: translateY(-1px) scale(.99); }
.btn--primary { background: var(--grad); color: #fff; box-shadow: 0 14px 34px -10px rgba(255,47,42,.6); }
.btn--primary:hover { box-shadow: 0 22px 50px -12px rgba(255,47,42,.8); }
.btn--outline { border-color: var(--line-2); color: var(--text); background: var(--glass); }
.btn--outline:hover { border-color: var(--accent); color: #fff; background: rgba(228,21,27,.12); }
.btn--ghost { border:1px solid var(--accent); color: var(--accent-3); padding: 11px 22px; }
.btn--ghost:hover { background: var(--grad); color: #fff; border-color: transparent; }
.btn--lg { padding: 18px 38px; font-size: 1.05rem; }
.wa-ico { width: 22px; height: 22px; }

/* ===== Navbar ===== */
.nav { position: fixed; inset: 0 0 auto 0; z-index: 100; transition: padding .3s; }
/* scrolled background on a pseudo so it never traps the fixed mobile menu */
.nav::before {
  content:""; position:absolute; inset:0; z-index:-1; opacity:0;
  background: rgba(8,8,10,.72); backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  border-bottom: 1px solid var(--line); transition: opacity .35s var(--ease);
}
.nav.scrolled::before { opacity: 1; }
.nav__inner { display:flex; align-items:center; justify-content:space-between; padding:14px 22px; transition: padding .3s; }
.nav.scrolled .nav__inner { padding:10px 22px; }
.brand { display:flex; align-items:center; }
.brand__logo { height:54px; width:auto; filter: drop-shadow(0 3px 8px rgba(0,0,0,.55)); transition: transform .3s var(--ease); }
.brand:hover .brand__logo { transform: scale(1.04); }
.brand__mark { font-size:1.6rem; font-weight:800; background: var(--grad-ink); -webkit-background-clip:text; background-clip:text; color:transparent; }
.nav__links { display:flex; align-items:center; gap:30px; }
.nav__links a:not(.btn) { font-size:.82rem; font-weight:600; color:var(--muted); transition:color .2s; position:relative; text-transform:uppercase; letter-spacing:.08em; }
.nav__links a:not(.btn):hover { color:var(--text); }
.nav__links a:not(.btn)::after { content:''; position:absolute; left:0; bottom:-7px; width:0; height:2px; background:var(--grad); border-radius:2px; transition:width .3s var(--ease); }
.nav__links a:not(.btn):hover::after { width:100%; }
.nav__toggle { display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:8px; z-index:101; }
.nav__toggle span { width:26px; height:2px; background:var(--text); transition:.3s var(--ease); border-radius:2px; }
.nav__toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav__toggle.open span:nth-child(2){ opacity:0; }
.nav__toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ===== Hero ===== */
.hero { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; padding:130px 0 80px;
  background:
    radial-gradient(1100px 600px at 82% 8%, rgba(255,47,42,.14), transparent 60%),
    radial-gradient(800px 500px at 10% 90%, rgba(255,69,54,.06), transparent 60%),
    var(--bg); }
.hero__grid-overlay { position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.5;
  background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:64px 64px; mask-image:radial-gradient(circle at 76% 36%, #000 0%, transparent 70%);
  -webkit-mask-image:radial-gradient(circle at 76% 36%, #000 0%, transparent 70%); }
.hero__glow { position:absolute; z-index:0; top:-14%; right:-8%; width:58vw; height:58vw; pointer-events:none;
  background:radial-gradient(circle, rgba(255,47,42,.26) 0%, transparent 60%); filter: blur(10px); animation:float 16s ease-in-out infinite; }
@keyframes float { 0%,100%{ transform:translate(0,0) scale(1);} 50%{ transform:translate(-30px,30px) scale(1.06);} }
.hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:1.12fr .88fr; gap:54px; align-items:center; width:100%; }
.hero__title { font-size:clamp(2.7rem,6vw,5.4rem); font-weight:800; margin-bottom:24px; }
.hero__title .grad { background: var(--grad-ink); -webkit-background-clip:text; background-clip:text; color:transparent; background-size:200% auto; animation: shimmer 6s linear infinite; }
@keyframes shimmer { to { background-position: 200% center; } }
.hero__lead { font-size:clamp(1.02rem,1.5vw,1.2rem); color:var(--muted); max-width:560px; margin-bottom:34px; }
.hero__cta { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.hero__badges { display:flex; flex-wrap:wrap; gap:11px; margin-top:42px; }
.hbadge { font-size:.8rem; font-weight:600; color:var(--text); background:var(--glass); border:1px solid var(--line); padding:10px 16px; border-radius:var(--r-pill); backdrop-filter: blur(6px); transition: border-color .25s, transform .25s; }
.hbadge:hover { border-color: var(--accent); transform: translateY(-2px); }

/* Hero showcase (portrait-friendly, glossy) */
.hero__showcase { position:relative; justify-self:center; }
.showcase__frame { position:relative; width:min(380px,82vw); border-radius:28px; overflow:hidden;
  background: linear-gradient(160deg, rgba(255,255,255,.18), rgba(255,255,255,0) 40%) border-box;
  border:1px solid var(--line-2); box-shadow:var(--shadow); transform:rotate(2deg); transition:transform .6s var(--ease-out); }
.showcase__frame::before { /* gloss */ content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background: linear-gradient(125deg, rgba(255,255,255,.22) 0%, transparent 28%); }
.showcase__frame:hover { transform:rotate(0deg) translateY(-6px) scale(1.01); }
.showcase__frame img { width:100%; aspect-ratio:3/4; object-fit:cover; }
.showcase__chip { position:absolute; left:16px; bottom:16px; z-index:3; background:var(--grad); color:#fff; font-weight:800; font-size:.78rem; padding:8px 15px; border-radius:var(--r-pill); box-shadow: 0 8px 20px -6px rgba(255,47,42,.7); }
.showcase__halo { position:absolute; inset:-14% -10% -14% -10%; z-index:-1; border-radius:36px;
  background:radial-gradient(closest-side, rgba(255,47,42,.32), transparent 75%); filter:blur(14px); animation: pulseHalo 5s ease-in-out infinite; }
@keyframes pulseHalo { 0%,100%{ opacity:.7;} 50%{ opacity:1;} }
.hero__scroll { position:absolute; bottom:22px; left:50%; transform:translateX(-50%); font-size:.68rem; letter-spacing:.28em; text-transform:uppercase; color:var(--muted-2); display:flex; flex-direction:column; align-items:center; gap:10px; z-index:1; }
.hero__scroll span { width:1px; height:42px; background:linear-gradient(var(--accent), transparent); animation:scrolly 1.8s ease-in-out infinite; }
@keyframes scrolly { 0%,100%{ opacity:.3; transform:scaleY(.55);} 50%{ opacity:1; transform:scaleY(1);} }

/* ===== Stat strip ===== */
.strip { position:relative; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background: linear-gradient(180deg, var(--bg-2), var(--bg)); }
.strip::before { content:""; position:absolute; top:-1px; left:0; right:0; height:1px; background: linear-gradient(90deg, transparent, rgba(255,47,42,.6), transparent); }
.strip__inner { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; padding:36px 22px; text-align:center; }
.strip__stat { position:relative; }
.strip__stat:not(:last-child)::after { content:""; position:absolute; right:-9px; top:50%; transform:translateY(-50%); width:1px; height:46px; background:var(--line); }
.strip__num { display:block; font-family:'Sora'; font-size:clamp(1.9rem,3.2vw,2.7rem); font-weight:800; background:var(--grad-ink); -webkit-background-clip:text; background-clip:text; color:transparent; }
.strip__lbl { font-size:.78rem; color:var(--muted); text-transform:uppercase; letter-spacing:.1em; margin-top:4px; }

/* ===== Sections ===== */
.section { padding:120px 0; }
.section__head { text-align:center; max-width:720px; margin:0 auto 56px; }
.section__title { font-size:clamp(2.1rem,4.2vw,3.4rem); font-weight:800; margin-bottom:18px; }
.section__lead { color:var(--muted); font-size:1.06rem; }
.section__lead strong { color: var(--text); }
.grid { display:grid; gap:24px; }

/* ===== Cards (gradient-border glass on hover) ===== */
.card {
  position: relative;
  background: linear-gradient(180deg, var(--surface) 0%, var(--bg-2) 100%);
  border:1px solid var(--line); border-radius:var(--r);
  padding:30px; transition:transform .4s var(--ease-out), border-color .4s, box-shadow .4s;
}
.card:hover { transform:translateY(-7px); border-color:rgba(255,69,54,.45); box-shadow:var(--shadow-sm); }

/* ===== Tick lists ===== */
.ticklist { list-style:none; display:flex; flex-direction:column; gap:13px; }
.ticklist li { position:relative; padding-left:32px; color:var(--muted); }
.ticklist li::before { content:'✓'; position:absolute; left:0; top:1px; width:20px; height:20px; display:inline-flex; align-items:center; justify-content:center; font-size:.7rem; font-weight:800; color:#fff; background:var(--grad); border-radius:50%; }
.ticklist strong { color:var(--text); }
.ticklist--tight li { padding-left:30px; }

/* ===== Filters ===== */
.filters { display:flex; flex-wrap:wrap; gap:11px; justify-content:center; margin-bottom:48px; }
.chip { background:var(--surface); border:1px solid var(--line); color:var(--muted); padding:11px 22px; border-radius:var(--r-pill); cursor:pointer; font-size:.86rem; font-weight:600; transition:.28s var(--ease); }
.chip:hover { color:var(--text); border-color:var(--accent); transform:translateY(-2px); }
.chip.is-active { background:var(--grad); color:#fff; border-color:transparent; box-shadow:0 10px 26px -10px rgba(255,47,42,.7); }

/* ===== Fleet (portrait, showroom-grade) ===== */
.fleet__grid { grid-template-columns:repeat(3,1fr); }
.car { position:relative; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; display:flex; flex-direction:column; transition:transform .45s var(--ease-out), border-color .45s, box-shadow .45s; }
.car:hover { transform:translateY(-10px); border-color:rgba(255,69,54,.5); box-shadow:var(--shadow); }
.car.hide { display:none; }
.car__media { position:relative; aspect-ratio:3/4; overflow:hidden; background:var(--surface-2); }
.car__media img { width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease-out); }
.car:hover .car__media img { transform:scale(1.07); }
.car__media::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,8,10,.1) 0%, transparent 38%, rgba(8,8,10,.72) 100%); }
.car__tag { position:absolute; top:14px; left:14px; z-index:2; background:rgba(8,8,10,.62); backdrop-filter:blur(8px); border:1px solid var(--line-2); color:#fff; font-size:.66rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:6px 12px; border-radius:var(--r-pill); }
.car__bhp { position:absolute; top:14px; right:14px; z-index:2; background:var(--grad); color:#fff; font-size:.7rem; font-weight:800; padding:6px 12px; border-radius:var(--r-pill); box-shadow:0 8px 18px -6px rgba(255,47,42,.7); }
.car__hot { position:absolute; bottom:14px; left:14px; z-index:2; background:rgba(8,8,10,.55); backdrop-filter:blur(6px); border:1px solid rgba(255,69,54,.5); color:#ff9a8c; font-size:.64rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:6px 11px; border-radius:var(--r-pill); }
.car__body { padding:22px; display:flex; flex-direction:column; gap:12px; flex:1; }
.car__name { font-size:1.18rem; font-weight:700; }
.car__desc { color:var(--muted-2); font-size:.84rem; margin-top:-5px; }
.car__specs { display:flex; flex-wrap:wrap; gap:7px; }
.car__spec { font-size:.71rem; color:var(--muted); background:var(--surface-2); border:1px solid var(--line); padding:5px 10px; border-radius:8px; }
.car__foot { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:10px; gap:10px; border-top:1px solid var(--line); }
.car__price { font-family:'Sora'; font-weight:800; font-size:1.15rem; color:#fff; }
.car__price small { display:block; font-size:.66rem; color:var(--muted-2); font-weight:400; letter-spacing:.02em; }
.car__actions { display:flex; align-items:center; gap:8px; }
.car__wa { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; background:rgba(37,211,102,.12); border:1px solid rgba(37,211,102,.45); border-radius:50%; transition:transform .25s, background .25s; }
.car__wa:hover { transform:translateY(-2px) scale(1.05); background:rgba(37,211,102,.24); }
.car__wa svg { width:20px; height:20px; }
.car__book { position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:8px; background:var(--grad); color:#fff; font-weight:700; font-size:.85rem; padding:11px 20px; border-radius:var(--r-pill); border:0; cursor:pointer; transition:transform .25s, box-shadow .25s; }
.car__book:hover { transform:translateY(-2px); box-shadow:0 12px 26px -8px rgba(255,47,42,.75); }

/* ===== Recovery ===== */
.recovery__layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; align-items:center; }
.recovery__content .btn { margin-top:26px; }
.recovery__gallery { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.recovery__gallery img { width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:var(--r-sm); border:1px solid var(--line); transition:transform .45s var(--ease-out), border-color .45s; }
.recovery__gallery img:hover { transform:scale(1.03); border-color:rgba(255,69,54,.5); }
.recovery__reqtitle { text-align:center; font-size:clamp(1.5rem,2.6vw,2rem); margin:66px 0 8px; scroll-margin-top:92px; }
.recovery__reqlead { text-align:center; color:var(--muted); max-width:620px; margin:0 auto 34px; }
.recovery__reqgrid { display:grid; grid-template-columns:1.1fr .9fr; gap:30px; align-items:start; }
.recovery__mapwrap { display:flex; flex-direction:column; gap:12px; }
.rmap__search { display:flex; gap:10px; }
.rmap__search input { flex:1; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--r-sm); padding:14px 16px; color:var(--text); font-family:inherit; font-size:.95rem; transition:border-color .2s, box-shadow .2s; }
.rmap__search input:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(228,21,27,.22); }
.rmap__search .btn { padding:13px 24px; }
.rmap { height:380px; width:100%; border-radius:var(--r); border:1px solid var(--line-2); overflow:hidden; background:var(--surface-2); z-index:0; box-shadow: inset 0 0 0 1px rgba(255,255,255,.02); }
.leaflet-container { font-family:inherit; }
.rmap__row { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.rmap__status { color:var(--muted); font-size:.85rem; flex:1; min-width:180px; }
.recovery__form { display:flex; flex-direction:column; gap:14px; }

/* ===== Car Accident Claims ===== */
.claims__points { display:flex; flex-wrap:wrap; justify-content:center; gap:11px; margin-bottom:50px; }
.cpoint { font-size:.84rem; font-weight:600; color:#fff; background:rgba(228,21,27,.1); border:1px solid rgba(255,69,54,.4); padding:10px 17px; border-radius:var(--r-pill); transition:transform .25s, box-shadow .25s; }
.cpoint:hover { transform:translateY(-2px); box-shadow:0 10px 24px -12px rgba(255,47,42,.7); }
.claims__grid { grid-template-columns:repeat(3,1fr); }
.claim { position:relative; overflow:hidden; }
.claim::before { content:""; position:absolute; top:0; left:0; width:100%; height:3px; background:var(--grad); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease); }
.claim:hover::before { transform:scaleX(1); }
.claim__ico { font-size:2rem; margin-bottom:14px; width:58px; height:58px; display:flex; align-items:center; justify-content:center; background:var(--surface-2); border:1px solid var(--line); border-radius:16px; }
.claim h3 { font-size:1.12rem; margin-bottom:10px; }
.claim p { color:var(--muted); font-size:.92rem; }
.claims__how { text-align:center; font-size:clamp(1.4rem,2.4vw,1.8rem); margin:60px 0 30px; }
.claims__steps { grid-template-columns:repeat(5,1fr); }
.claims__cta { margin-top:50px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  background:radial-gradient(700px 320px at 18% -40%, rgba(255,47,42,.22), transparent 70%), var(--surface);
  border:1px solid var(--line-2); border-radius:var(--r-xl); padding:36px 40px; }
.claims__cta h3 { font-size:clamp(1.3rem,2.2vw,1.7rem); margin-bottom:4px; }
.claims__cta p { color:var(--muted); }

/* ===== FAQ ===== */
.faq__list { max-width:860px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }
.faq__item { background:var(--surface); border:1px solid var(--line); border-radius:var(--r-sm); overflow:hidden; transition:border-color .25s, background .25s; }
.faq__item[open] { border-color:rgba(255,69,54,.45); background:linear-gradient(180deg,var(--surface),var(--bg-2)); }
.faq__item summary { cursor:pointer; list-style:none; padding:22px 24px; font-family:'Sora'; font-weight:600; font-size:1.04rem; color:var(--text); display:flex; align-items:center; justify-content:space-between; gap:16px; transition:color .2s; }
.faq__item summary::-webkit-details-marker { display:none; }
.faq__item summary::after { content:'+'; color:var(--accent-3); font-size:1.6rem; line-height:1; flex:0 0 auto; transition:transform .3s var(--ease); }
.faq__item[open] summary::after { content:'\2013'; transform:rotate(180deg); }
.faq__item summary:hover { color:var(--accent-3); }
.faq__a { padding:0 24px 22px; color:var(--muted); font-size:.95rem; }

/* ===== Hire info ===== */
.hire__grid { grid-template-columns:repeat(3,1fr); }
.hire__card h3 { font-size:1.16rem; margin-bottom:18px; }

/* ===== Why grid ===== */
.why__grid { grid-template-columns:repeat(4,1fr); }
.svc__ico { font-size:1.9rem; margin-bottom:16px; width:58px; height:58px; display:flex; align-items:center; justify-content:center; background:var(--surface-2); border:1px solid var(--line); border-radius:16px; }
.svc h3 { font-size:1.12rem; margin-bottom:10px; }
.svc p { color:var(--muted); font-size:.92rem; }

/* ===== Steps ===== */
.steps__grid { grid-template-columns:repeat(3,1fr); }
.step { position:relative; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:32px; transition:transform .4s var(--ease-out), border-color .4s; }
.step:hover { transform:translateY(-7px); border-color:rgba(255,69,54,.45); }
.step__n { display:inline-flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:15px; background:var(--grad); color:#fff; font-family:'Sora'; font-weight:800; font-size:1.4rem; margin-bottom:18px; box-shadow:0 12px 26px -10px rgba(255,47,42,.7); }
.step h3 { font-size:1.12rem; margin-bottom:8px; }
.step p { color:var(--muted); font-size:.92rem; }
.claims__steps .step { padding:26px; }

/* ===== Reviews ===== */
.reviews__grid { grid-template-columns:repeat(3,1fr); }
.review { position:relative; }
.review::before { content:'\201C'; position:absolute; top:8px; right:22px; font-family:'Sora'; font-size:4rem; line-height:1; color:rgba(255,69,54,.18); }
.review__stars { color:var(--accent-3); letter-spacing:.15em; margin-bottom:14px; }
.review blockquote { font-size:1.02rem; margin-bottom:16px; line-height:1.6; }
.review figcaption { color:var(--muted); font-size:.9rem; font-weight:600; }

/* ===== CTA ===== */
.cta { position:relative; padding:104px 0; overflow:hidden;
  background:radial-gradient(820px 420px at 50% -25%, rgba(255,47,42,.22), transparent 70%), var(--bg-2);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.cta__inner { text-align:center; position:relative; z-index:1; }
.cta h2 { font-size:clamp(2.1rem,4.4vw,3.3rem); margin-bottom:14px; }
.cta p { color:var(--muted); margin-bottom:32px; font-size:1.12rem; max-width:620px; margin-inline:auto; }
.cta__btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ===== Contact ===== */
.contact__layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:40px; align-items:start; }
.contact__details { display:flex; flex-direction:column; gap:13px; }
.cdetail { display:flex; align-items:center; gap:16px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-sm); padding:18px 20px; transition:transform .28s var(--ease-out), border-color .28s, background .28s; }
.cdetail:not(.cdetail--static):hover { transform:translateX(5px); border-color:rgba(255,69,54,.45); background:linear-gradient(180deg,var(--surface),var(--bg-2)); }
.cdetail__ico { font-size:1.35rem; width:46px; height:46px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; background:var(--surface-2); border:1px solid var(--line); border-radius:50%; }
.cdetail > span { display:flex; flex-direction:column; }
.cdetail strong { font-size:.98rem; }
.cdetail small { color:var(--muted); font-size:.85rem; }
.contact__form { display:flex; flex-direction:column; gap:16px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field label { font-size:.84rem; font-weight:600; color:var(--muted); }
.field input, .field select, .field textarea {
  width:100%; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--r-sm);
  padding:14px 16px; color:var(--text); font-family:inherit; font-size:.95rem; transition:border-color .2s, box-shadow .2s;
}
.field input:focus, .field select:focus, .field textarea:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(228,21,27,.22); }
.field textarea { resize:vertical; min-height:120px; }
.field select { appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%); background-position:calc(100% - 20px) 20px, calc(100% - 14px) 20px; background-size:6px 6px,6px 6px; background-repeat:no-repeat; }
.contact__submit { justify-content:center; margin-top:4px; }
.contact__note { font-size:.8rem; color:var(--muted-2); text-align:center; }

/* ===== Footer ===== */
.footer { padding:76px 0 32px; background:var(--bg); border-top:1px solid var(--line); }
.footer__grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; padding-bottom:48px; border-bottom:1px solid var(--line); }
.footer__logo { height:66px; width:auto; margin-bottom:10px; }
.footer__col h4 { font-size:.78rem; text-transform:uppercase; letter-spacing:.14em; color:var(--muted-2); margin-bottom:18px; }
.footer__col a { display:block; color:var(--muted); font-size:.92rem; margin-bottom:11px; transition:color .2s, transform .2s; width:fit-content; }
.footer__col a:hover { color:var(--accent-3); transform:translateX(3px); }
.footer__about { color:var(--muted); font-size:.92rem; max-width:340px; }
.footer__tagline { font-family:'Sora'; font-weight:700; margin-top:14px; font-size:1.05rem; }
.footer__hours { color:var(--muted); font-size:.92rem; }
.footer__bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; padding-top:24px; color:var(--muted-2); font-size:.82rem; }

/* ===== Floating WhatsApp ===== */
.wa-float { position:fixed; bottom:24px; right:24px; z-index:90; display:inline-flex; align-items:center; gap:10px; background:var(--wa); color:#fff; font-weight:700; padding:14px 20px; border-radius:var(--r-pill); box-shadow:0 16px 36px -10px rgba(37,211,102,.65); transition:transform .3s var(--ease-out); animation:wapulse 2.8s ease-in-out infinite; }
.wa-float:hover { transform:translateY(-3px) scale(1.04); }
.wa-float svg { width:30px; height:30px; }
@keyframes wapulse { 0%,100%{ box-shadow:0 16px 36px -10px rgba(37,211,102,.6);} 50%{ box-shadow:0 16px 48px -6px rgba(37,211,102,.95);} }

/* ===== Booking modal ===== */
.bmodal { position:fixed; inset:0; z-index:200; display:none; }
.bmodal.open { display:block; }
.bmodal__backdrop { position:absolute; inset:0; background:rgba(0,0,0,.74); backdrop-filter:blur(6px); animation:fade .3s ease; }
.bmodal__panel { position:absolute; inset:3.5vh 50% auto auto; transform:translateX(50%); width:min(960px,94vw); height:93vh; display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--line-2); border-radius:20px; overflow:hidden; box-shadow:var(--shadow); animation:pop .35s var(--ease-out); }
.bmodal__bar { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 18px; background:var(--bg); border-bottom:1px solid var(--line); }
.bmodal__title { font-family:'Sora'; font-weight:700; font-size:.92rem; }
.bmodal__tools { display:flex; align-items:center; gap:14px; }
.bmodal__new { font-size:.82rem; font-weight:700; color:var(--accent-3); white-space:nowrap; }
.bmodal__new:hover { text-decoration:underline; }
.bmodal__close { width:36px; height:36px; border-radius:10px; border:1px solid var(--line); background:var(--surface-2); color:var(--text); font-size:1rem; cursor:pointer; transition:background .2s, border-color .2s; }
.bmodal__close:hover { background:var(--accent); border-color:var(--accent); color:#fff; }
.bmodal__body { position:relative; flex:1; background:#fff; }
.bmodal__loader { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#666; font-size:.95rem; background:#fff; }
.bmodal__body iframe { width:100%; height:100%; border:0; display:block; position:relative; z-index:1; }
@keyframes fade { from{opacity:0} to{opacity:1} }
@keyframes pop { from{opacity:0; transform:translateX(50%) translateY(14px)} to{opacity:1; transform:translateX(50%) translateY(0)} }

/* ===== Reveal animation ===== */
.reveal { opacity:0; transform:translateY(36px); filter:blur(4px); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out), filter .9s var(--ease-out); }
.reveal.in { opacity:1; transform:none; filter:none; }

/* ===== Responsive ===== */
@media (max-width:980px) {
  .hero__inner { grid-template-columns:1fr; gap:42px; }
  .hero__showcase { order:-1; }
  .fleet__grid, .why__grid, .hire__grid, .reviews__grid, .claims__grid { grid-template-columns:repeat(2,1fr); }
  .claims__steps { grid-template-columns:repeat(2,1fr); }
  .recovery__layout, .recovery__reqgrid, .contact__layout { grid-template-columns:1fr; gap:30px; }
  .claims__cta { flex-direction:column; align-items:flex-start; }
  .footer__grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
  .nav__links { position:fixed; inset:0 0 0 auto; width:min(82vw,330px); flex-direction:column; align-items:flex-start; justify-content:center; gap:24px; background:rgba(8,8,10,.98); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); padding:44px; transform:translateX(100%); transition:transform .4s var(--ease-out); border-left:1px solid var(--line); box-shadow:-30px 0 60px -20px rgba(0,0,0,.7); }
  .nav__links.open { transform:none; }
  .nav__links a:not(.btn) { font-size:1.05rem; }
  .nav__toggle { display:flex; }
  .section { padding:78px 0; }
  .hero { padding-top:124px; }
  .strip__inner { grid-template-columns:repeat(2,1fr); gap:28px; }
  .strip__stat:nth-child(2)::after { display:none; }
  .fleet__grid, .why__grid, .hire__grid, .reviews__grid, .steps__grid, .footer__grid, .claims__grid, .claims__steps { grid-template-columns:1fr; }
  .car__media { aspect-ratio:4/3; }
  .wa-float__txt { display:none; }
  .wa-float { padding:15px; }
  .bmodal__panel { inset:0; transform:none; width:100vw; height:100vh; height:100dvh; border-radius:0; }
  @keyframes pop { from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:translateY(0)} }
}
@media (max-width:480px){ .recovery__gallery { grid-template-columns:1fr 1fr; } }
@media (prefers-reduced-motion: reduce) { *{ animation:none !important; transition:none !important;} .reveal{ opacity:1; transform:none; filter:none;} }
