/* ===================== Homepage (src/pages/home.mjs) ===================== */

/* Hero light streaks: animate transform instead of "left" (main.css) so they never count as layout shift (CLS) */
.hero__streak{left:-40%;animation-name:kc-streak-a}
.hero__streak--2{animation-name:kc-streak-b}
@keyframes kc-streak-a{0%{transform:translate3d(0,0,0);opacity:0}15%{opacity:1}100%{transform:translate3d(400%,0,0);opacity:0}}
@keyframes kc-streak-b{0%{transform:translate3d(0,0,0);opacity:0}15%{opacity:1}100%{transform:translate3d(572%,0,0);opacity:0}}
/* A soft spotlight beam behind the vehicle */
.hero__beam{position:absolute;right:-10%;top:-20%;width:70%;height:120%;background:conic-gradient(from 200deg at 70% 0%,transparent 0deg,rgba(147,197,253,.08) 12deg,rgba(147,197,253,.1) 18deg,rgba(147,197,253,.08) 24deg,transparent 40deg);opacity:.9}

/* Hero: one sentence per line at every width ("Your Drive. / Your Time. / Your Freedom.") */
.hero h1 .hero__line{display:block}
.hero--showcase .hero__lead{max-width:520px}
@media (min-width:1000px){.hero h1 .gradient-text{white-space:nowrap}}
@media (min-width:1024px) and (max-width:1279px){.hero h1{font-size:clamp(3rem,5.6vw,4.4rem)}}

/* ---------- Layout ---------- */
.hero--showcase .hero__visual{margin:6px 0 26px}
.hero--showcase .hero__visual::before{left:6%;right:6%;bottom:-4%;height:40%}
.hero--showcase .hero__bottom .kc-trip{margin-bottom:16px}
@media (min-width:1024px){
	.hero--showcase .hero__inner{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"top visual" "bottom visual";column-gap:clamp(32px,4vw,64px);align-items:center}
	.hero--showcase .hero__top{align-self:end}
	.hero--showcase .hero__bottom{align-self:start}
	/* Parallax only where the photo has its own column (on phones it would slide under the form) */
	.hero--showcase .hero__visual{margin:0;transform:translate3d(0,var(--py,0),0)}
}

/* ---------- Showcase: the vehicle photo in a cinematic glass frame ---------- */
.showcase{position:relative;transform:perspective(1400px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .7s var(--ease);will-change:transform}
.showcase__stage{position:relative}
.showcase__stage::after{content:"";position:absolute;left:8%;right:8%;bottom:-18px;height:36px;border-radius:50%;background:radial-gradient(closest-side,rgba(96,165,250,.45),rgba(124,58,237,.18) 60%,transparent);filter:blur(10px);z-index:-1}
.showcase__frame{position:relative;aspect-ratio:auto;border-radius:clamp(20px,2.6vw,30px);overflow:hidden;isolation:isolate;background:#0b1224;border:1px solid rgba(255,255,255,.16);box-shadow:0 50px 110px -45px rgba(0,0,0,.95),0 28px 80px -36px rgba(59,130,246,.55)}

.showcase__img{position:relative;display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
@keyframes kc-kenburns{from{transform:scale(1.14);opacity:0}to{transform:scale(1.001);opacity:1}}
/* Colour grade + vignette: cool shadows, a darker floor for the caption */
.showcase__grade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(5,8,19,.25),transparent 18%)}
/* Glass edge highlight that follows the pointer */
.showcase__frame::after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 0 0 1px rgba(255,255,255,.05);background:radial-gradient(70% 45% at var(--gx,50%) 0%,rgba(255,255,255,.14),transparent 70%)}
/* A slow light sweep across the glass */
.showcase__glare{position:absolute;inset:-30% -60%;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.17) 48.5%,rgba(255,255,255,.05) 51.5%,transparent 58%);transform:translate3d(-45%,0,0);animation:kc-glare 9s ease-in-out 2.2s infinite}
@keyframes kc-glare{0%{transform:translate3d(-45%,0,0)}28%,100%{transform:translate3d(45%,0,0)}}
/* HUD corner brackets */
.showcase__corners{position:absolute;inset:14px;z-index:2;pointer-events:none;opacity:.75;--c:rgba(147,197,253,.75);background:linear-gradient(var(--c),var(--c)) top left/22px 1.5px no-repeat,linear-gradient(var(--c),var(--c)) top left/1.5px 22px no-repeat,linear-gradient(var(--c),var(--c)) top right/22px 1.5px no-repeat,linear-gradient(var(--c),var(--c)) top right/1.5px 22px no-repeat,linear-gradient(var(--c),var(--c)) bottom left/22px 1.5px no-repeat,linear-gradient(var(--c),var(--c)) bottom left/1.5px 22px no-repeat,linear-gradient(var(--c),var(--c)) bottom right/22px 1.5px no-repeat,linear-gradient(var(--c),var(--c)) bottom right/1.5px 22px no-repeat}
.showcase__hud{position:absolute;z-index:4;top:clamp(20px,2.4vw,28px);left:clamp(20px,2.4vw,30px);right:clamp(20px,2.4vw,30px);display:flex;justify-content:space-between;align-items:center;gap:10px}
.showcase__tag{padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(6,10,20,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:600 .7rem/1 var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:rgba(226,232,240,.9)}
.showcase__caption{position:relative;z-index:4;left:0;right:0;bottom:0;padding:clamp(18px,2.6vw,30px);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 18px}
@media (max-width:1023px){.showcase__caption{padding-inline:30px}}
.showcase__name{margin:0;font:600 clamp(1.2rem,2.2vw,1.7rem)/1.15 var(--font-display);letter-spacing:-.01em;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.6)}
.showcase__name span{display:block;margin-bottom:4px;font:600 .7rem/1.2 var(--font);letter-spacing:.18em;text-transform:uppercase;color:var(--blue-3)}
.showcase__stats{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.showcase__stats li{display:flex;flex-direction:column;align-items:center;min-width:62px;padding:8px 10px;border-radius:12px;background:rgba(6,10,20,.55);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.showcase__stats strong{font:600 1rem/1 var(--font-display);color:#fff}
.showcase__stats span{margin-top:4px;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
@media (max-width:639px){.showcase__frame{aspect-ratio:auto}.showcase__mirror{aspect-ratio:4/3}.showcase__stats{display:none}}
@media (max-width:419px){.showcase__tag{display:none}}
/* Floor reflection: the bottom of the photo, mirrored and faded */
.showcase__reflect{position:absolute;left:0;right:0;top:100%;height:clamp(44px,8vw,96px);margin-top:4px;overflow:hidden;border-radius:clamp(20px,2.6vw,30px) clamp(20px,2.6vw,30px) 0 0;transform:scaleY(-1);opacity:.32;filter:blur(1.5px) saturate(.8);-webkit-mask-image:linear-gradient(to top,#000,transparent 90%);mask-image:linear-gradient(to top,#000,transparent 90%);pointer-events:none}
.showcase__mirror{position:absolute;left:0;right:0;bottom:0;width:100%;height:auto;aspect-ratio:16/11;object-fit:cover;object-position:50% 58%}
@media (min-width:1024px){.showcase__mirror{aspect-ratio:5/4}}
.showcase__credit{position:relative;z-index:1;margin:14px 6px 0;font-size:.8rem;line-height:1.5;color:var(--text-2);text-align:left}
/* Photo unavailable → local illustration, shown whole on a studio floor */
.showcase.is-fallback .showcase__img{object-fit:contain;object-position:50% 46%;filter:none;background:radial-gradient(70% 60% at 50% 40%,#16213f,#070b16)}
@media (prefers-reduced-motion:reduce){.showcase__img,.showcase__glare{animation:none}.showcase{transform:none}}

/* Hero ticks under the form */
.hero--showcase .hero__ticks{gap:8px 16px}

/* ---------- Sections ---------- */
.home-head-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
@media (max-width:639px){.home-head-actions{width:100%}.home-head-actions .kc-btn{flex:1 1 auto}}
.faq-split__aside .home-head-actions{margin-top:22px}

/* How it works: the WhatsApp step */
.step__icon--wa{background:linear-gradient(135deg,#25d366,#128c7e);box-shadow:0 14px 40px -10px rgba(37,211,102,.65)}
.step:has(.step__icon--wa) .step__num{background-image:linear-gradient(180deg,rgba(134,239,172,.5),rgba(134,239,172,0))}

/* Destinations: local photographs above glass cards, with explicit route actions. */
.dest-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.dest-filters[hidden],.dest[hidden]{display:none}
.dest-filter{font:600 .84rem/1.3 var(--font);color:var(--text-2);padding:12px 16px;min-height:44px;border:1px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer;transition:background .2s,border-color .2s}
.dest-filter:hover{border-color:var(--blue-3);color:#fff}
.dest-filter[aria-pressed="true"]{background:#193354;border-color:var(--blue-3);color:#fff}
.dest-filter:focus-visible,.dest__credit summary:focus-visible{outline:2px solid var(--blue-3);outline-offset:4px}
.dest-count{font-size:.85rem;color:var(--muted);margin:0 0 20px}
.dests{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.dest{min-width:0;height:100%;border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border);background:linear-gradient(145deg,#111b2c,#090f1b);box-shadow:0 18px 40px -28px #000;transition:border-color .25s}
.dest:hover{border-color:rgba(147,197,253,.45)}
.dest__media{position:relative;aspect-ratio:8/5;overflow:hidden;background:#101b2b}
.dest__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
@media (prefers-reduced-motion:no-preference) and (hover:hover){.dest:hover .dest__media img{transform:scale(1.04)}}
.dest__tag{position:absolute;top:14px;left:14px;background:#0a1424;color:#dbeafe;border-color:#526984;box-shadow:0 3px 16px #0005}
.dest__body{display:flex;flex-direction:column;flex:1;padding:20px}
.dest h3{font-size:1.3rem;margin:0 0 8px;text-wrap:balance}
.dest p{color:var(--text-2);font-size:.88rem;margin:0 0 16px}
.dest__actions{display:grid;gap:8px;margin-top:auto;padding-top:4px}
.dest__actions .kc-btn{width:100%;min-height:44px;white-space:normal;text-align:center;line-height:1.3}
.dest__actions .kc-icon{width:16px;height:16px;flex-shrink:0}
.dest__credit{margin-top:12px;font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}
.dest__credit summary{cursor:pointer;padding-block:12px;min-height:44px;width:fit-content}
.dest__credit p{font-size:.75rem;margin:6px 0 0}
.dest__credit a{color:var(--blue-3);text-decoration:underline;text-underline-offset:3px}
@media (min-width:700px){.dests{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.dests{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* FAQ list */
.home-faqs .kc-acc:last-child{margin-bottom:0}
