:root{
  --bg:#050a18; --bg2:#0a1226; --glass:rgba(255,255,255,.045); --glass2:rgba(255,255,255,.08);
  --line:rgba(255,255,255,.09); --ink:#f4f6fb; --muted:#97a2b8;
  --a:#f6d27a; --b:#c8912f; --violet:#3b5bdb;
  --grad:linear-gradient(120deg,var(--a),var(--b));
  --r:24px;
  --hi:#fff; --at:#f6d27a; --inset:rgba(0,0,0,.28); --inset2:rgba(0,0,0,.4);
  --navbg:rgba(5,10,24,.7); --navbg2:rgba(5,10,24,.97); --lane:#05070c;
  --soft:#c4cce0; --body2:#e1e6f2; --chip:#cfd6e6; --track:#3b4560; --ph:#5f6a82;
  --aur:1; --gridop:.5; --opt:#10141f;
  color-scheme:dark;
}
:root[data-theme=light]{
  --bg:#f6f4ee; --bg2:#eaecf4; --glass:rgba(255,255,255,.72); --glass2:rgba(255,255,255,.95);
  --line:rgba(15,23,42,.1); --ink:#0b1220; --muted:#5a6479;
  --hi:#0b1220; --at:#8a5a0e; --inset:rgba(15,23,42,.04); --inset2:#fff;
  --navbg:rgba(246,244,238,.8); --navbg2:rgba(246,244,238,.98); --lane:#1a2133;
  --soft:#46506a; --body2:#26304a; --chip:#46506a; --track:#c3c9d9; --ph:#9aa3b8;
  --aur:.45; --gridop:.9; --opt:#fff;
  color-scheme:light;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);transition:background .4s,color .4s;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,.logo,.stats b,.price b,.num{font-family:Sora,Inter,sans-serif}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.container{width:min(1180px,100% - 40px);margin-inline:auto}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
::selection{background:var(--b);color:#fff}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 28px;border:0;border-radius:999px;cursor:pointer;
  background:var(--grad);color:#1a0d00;font:600 15px Inter;box-shadow:0 10px 30px -6px rgba(200,145,47,.55);transition:.3s}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px -6px rgba(200,145,47,.7)}
.btn .arr{transition:.3s}.btn:hover .arr{transform:translateX(4px)}
.btn-ghost{background:var(--glass);color:var(--ink);border:1px solid var(--line);box-shadow:none;backdrop-filter:blur(10px)}
.btn-ghost:hover{background:var(--glass2);box-shadow:none;border-color:var(--at)}
.btn-sm{padding:10px 20px;font-size:14px}
.btn.block{width:100%}

/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;transition:.35s}
.nav.scrolled{background:var(--navbg);backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;letter-spacing:-.01em}
.logo b{font-weight:700;color:var(--a);margin-left:5px}
.logo-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--grad);color:#1a0d00;font-weight:800;box-shadow:0 6px 18px -4px rgba(200,145,47,.6)}
.links{display:flex;align-items:center;gap:30px;font-size:14.5px;font-weight:500;color:var(--muted)}
.links a:not(.btn):hover{color:var(--hi)}
.burger{display:none;background:none;border:0;width:42px;height:42px;cursor:pointer;position:relative}
.burger span{position:absolute;left:9px;right:9px;height:2px;border-radius:2px;background:var(--hi);transition:.3s}
.burger span:first-child{top:16px}.burger span:last-child{top:24px}
.burger[aria-expanded=true] span:first-child{top:20px;transform:rotate(45deg)}
.burger[aria-expanded=true] span:last-child{top:20px;transform:rotate(-45deg)}

/* hero */
.hero{position:relative;overflow:hidden;padding:150px 0 0;min-height:100vh;display:flex;flex-direction:column;justify-content:space-between}
.aurora{position:absolute;border-radius:50%;filter:blur(110px);opacity:calc(.55*var(--aur));z-index:0;animation:float 14s ease-in-out infinite}
.a1{width:520px;height:520px;background:#c8912f;top:-160px;left:-120px;opacity:calc(.35*var(--aur))}
.a2{width:480px;height:480px;background:var(--violet);top:60px;right:-140px;opacity:calc(.38*var(--aur));animation-delay:-5s}
.a3{width:380px;height:380px;background:var(--a);bottom:80px;left:40%;opacity:calc(.16*var(--aur));animation-delay:-9s}
@keyframes float{50%{transform:translate(40px,30px) scale(1.08)}}
.grid-bg{position:absolute;inset:0;z-index:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%);opacity:var(--gridop)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;padding-bottom:70px}
.chip{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background:var(--glass);border:1px solid var(--line);font-size:13px;font-weight:500;color:var(--chip);backdrop-filter:blur(10px)}
.dot{width:8px;height:8px;border-radius:50%;background:#2ee59d;box-shadow:0 0 0 0 rgba(46,229,157,.6);animation:pulse 2s infinite;display:inline-block}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(46,229,157,0)}100%{box-shadow:0 0 0 0 rgba(46,229,157,0)}}
h1{font-size:clamp(44px,6.4vw,84px);font-weight:800;line-height:1.02;letter-spacing:-.035em;margin:26px 0 22px}
.hero-text p{font-size:18px;color:var(--muted);max-width:500px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin:34px 0 38px}
.trust{display:flex;align-items:center;gap:14px;font-size:14px;color:var(--muted)}
.trust b{color:var(--hi)}
.avatars{display:flex}
.avatars span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:700 13px Sora;margin-left:-10px;border:2px solid var(--bg);background:linear-gradient(135deg,#3a4668,#232b44);color:#fff}
.avatars span:first-child{margin-left:0}.avatars span:last-child{background:var(--grad);color:#1a0d00}

/* glass */
.glass{background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);border-radius:28px}
.quick{padding:30px;display:grid;gap:15px;box-shadow:0 40px 80px -20px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.1);animation:rise 1s .2s both}
@keyframes rise{from{opacity:0;transform:translateY(30px)}}
.quick-head{display:flex;justify-content:space-between;align-items:center}
.quick h3{font-size:22px}
.live{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#2ee59d}
.quick small{text-align:center;color:var(--muted);font-size:13px}
label{display:grid;gap:7px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:14px;font:500 15px Inter;color:var(--hi);background:var(--inset);transition:.25s;text-transform:none;letter-spacing:0}
input::placeholder,textarea::placeholder{color:var(--ph)}
select option{background:var(--opt);color:var(--hi)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--a);background:var(--inset2);box-shadow:0 0 0 4px rgba(246,210,122,.18)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.seg{display:flex;background:var(--inset);border:1px solid var(--line);border-radius:999px;padding:4px}
.seg button{flex:1;border:0;background:none;padding:10px;border-radius:999px;font:600 13px Inter;color:var(--muted);cursor:pointer;transition:.25s}
.seg .on{background:var(--grad);color:#1a0d00;box-shadow:0 4px 14px -2px rgba(200,145,47,.5)}

/* road */
.road{position:relative;z-index:1;height:150px;margin-top:auto}
.lane{position:absolute;left:0;right:0;bottom:0;height:34px;background:var(--lane);border-top:1px solid var(--line);overflow:hidden}
.lane::after{content:"";position:absolute;left:0;top:15px;width:200%;height:3px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.55) 0 46px,transparent 46px 100px);animation:dash 1.1s linear infinite}
@keyframes dash{to{transform:translateX(-100px)}}
.hero-car{position:absolute;bottom:20px;width:260px;filter:drop-shadow(0 20px 30px rgba(200,145,47,.35));animation:drive 16s linear infinite}
@keyframes drive{from{left:-300px}to{left:105%}}
.hero-car{animation-name:drive,bob}
.hero-car{animation-duration:16s,.5s;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite;animation-direction:normal,alternate}
@keyframes bob{from{margin-bottom:0}to{margin-bottom:2px}}

/* marquee */
.marquee{overflow:hidden;border-block:1px solid var(--line);background:var(--bg2);padding:20px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.track{display:flex;gap:56px;width:max-content;animation:marq 40s linear infinite}
.track span{font:700 22px Sora;color:var(--track);white-space:nowrap;display:flex;align-items:center;gap:56px}
.track span::after{content:"✦";font-size:14px;color:var(--b)}
@keyframes marq{to{transform:translateX(-50%)}}

/* stats */
.stats-band{padding:70px 0 10px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stats b{display:block;font-size:clamp(36px,5vw,58px);font-weight:800;letter-spacing:-.03em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stats span{color:var(--muted);font-size:14px}

/* sections */
.section{padding:100px 0;position:relative}
.head{text-align:center;margin-bottom:56px}
.eyebrow{display:inline-block;font:600 12px Inter;letter-spacing:.2em;text-transform:uppercase;color:var(--at);margin-bottom:14px;padding:6px 14px;border:1px solid rgba(246,210,122,.3);border-radius:999px;background:rgba(246,210,122,.07)}
h2{font-size:clamp(30px,4.4vw,52px);font-weight:700;letter-spacing:-.025em;line-height:1.1}

/* spotlight hover (cursor glow) */
.spot{position:relative;overflow:hidden;background:var(--glass);border:1px solid var(--line);border-radius:var(--r);transition:transform .4s,border-color .4s}
.spot::before{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(246,210,122,.16),transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none}
.spot:hover{transform:translateY(-6px);border-color:rgba(246,210,122,.35)}
.spot:hover::before{opacity:1}

/* bento */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(190px,auto);gap:18px}
.tile{padding:28px;display:flex;flex-direction:column}
.tile.big{grid-column:span 2;grid-row:span 2;background:linear-gradient(160deg,rgba(200,145,47,.18),rgba(59,91,219,.12) 70%),var(--glass);justify-content:flex-end}
.tile.big h3{font-size:30px}
.tile.big p{font-size:16px;max-width:380px}
.tile.wide{grid-column:span 2}
.ico{width:52px;height:52px;display:grid;place-items:center;font-size:24px;border-radius:16px;background:var(--glass2);border:1px solid var(--line);margin-bottom:auto}
.tile h3{font-size:19px;margin:22px 0 6px}
.tile p{font-size:14.5px;color:var(--muted)}
.more{margin-top:18px;font-size:12px;font-weight:600;color:var(--at);letter-spacing:.1em;text-transform:uppercase}

/* fleet */
.fleet{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.fcard{padding:24px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,var(--glass2),var(--glass))}
.fcard svg{width:100%;height:auto;margin:14px 0 4px;filter:drop-shadow(0 18px 20px rgba(200,145,47,.25));transition:.5s}
.fcard:hover svg{transform:translateX(8px) scale(1.04)}
.fcard.hot{border-color:rgba(246,210,122,.45);box-shadow:0 0 0 1px rgba(246,210,122,.15),0 30px 60px -30px rgba(200,145,47,.5)}
.badge{position:absolute;top:16px;right:16px;font:600 11px Inter;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:var(--grad);color:#1a0d00;font-style:normal}
.fmeta h3{font-size:20px}.fmeta p{font-size:14px;color:var(--muted)}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tags li{font-size:12px;font-weight:500;padding:4px 11px;border-radius:999px;background:var(--inset);border:1px solid var(--line);color:var(--soft)}
.price{margin-top:auto;padding-top:14px;border-top:1px dashed var(--line);display:flex;align-items:baseline;gap:6px;color:var(--muted);font-size:14px}
.price b{font-size:28px;font-weight:700;color:var(--hi)}
.note{text-align:center;margin-top:28px;font-size:13px;color:var(--muted)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative}
.step{padding:34px 30px;border-radius:var(--r);background:var(--glass);border:1px solid var(--line)}
.num{display:inline-block;font-size:46px;font-weight:800;letter-spacing:-.04em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:14px}
.step h3{font-size:21px;margin-bottom:8px}.step p{color:var(--muted);font-size:15px}

/* routes */
.routes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.route{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;background:var(--glass);border:1px solid var(--line);border-radius:20px;font:600 21px Sora;color:var(--hi);cursor:pointer;text-align:left;transition:.35s}
.route small{display:block;font:500 12px Inter;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.route i{font-style:normal;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--glass2);border:1px solid var(--line);transition:.35s;font-family:Inter}
.route:hover{border-color:rgba(246,210,122,.45);background:var(--glass2);transform:translateY(-3px)}
.route:hover i{background:var(--grad);color:#1a0d00;transform:rotate(-45deg)}

/* why */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.why{padding:30px}
.why span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(246,210,122,.1);border:1px solid rgba(246,210,122,.25);color:var(--at);font-size:20px;font-weight:700;margin-bottom:20px}
.why h3{font-size:19px;margin-bottom:8px}.why p{color:var(--muted);font-size:14.5px}

/* reviews */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.quote{padding:30px;display:flex;flex-direction:column;gap:16px}
.stars{color:var(--a);letter-spacing:4px}
.quote blockquote{font-size:16.5px;line-height:1.65;color:var(--body2)}
.quote figcaption{display:flex;align-items:center;gap:12px;margin-top:auto;font-weight:600;font-size:15px}
.quote figcaption i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font:700 15px Sora;font-style:normal;background:var(--grad);color:#1a0d00}
.quote small{display:block;font-weight:400;color:var(--muted);font-size:13px}

/* enquiry */
.enq{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;padding:54px;position:relative;overflow:hidden;
  background:radial-gradient(600px 300px at 0% 0%,rgba(200,145,47,.18),transparent),radial-gradient(500px 300px at 100% 100%,rgba(59,91,219,.18),transparent),var(--glass)}
.enq-info h2{margin:16px 0 14px;font-size:clamp(28px,3.6vw,44px)}
.enq-info>p{color:var(--muted)}
.contact{margin-top:32px;display:grid;gap:14px;font-weight:500}
.contact li{display:flex;align-items:center;gap:14px}
.contact i{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--glass2);border:1px solid var(--line);font-style:normal}
.contact a:hover{color:var(--at)}
.form{display:grid;gap:16px;align-content:start}

/* footer */
.footer{border-top:1px solid var(--line);background:var(--bg2);color:var(--muted);padding:64px 0 0;margin-top:40px}
.footer .logo{color:var(--hi);margin-bottom:14px}
.foot{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding-bottom:44px}
.foot h4{color:var(--hi);margin-bottom:14px;font-family:Sora}
.foot a:not(.logo){display:block;margin-bottom:9px;transition:.2s}
.foot a:not(.logo):hover{color:var(--a);transform:translateX(3px)}
.copy{padding:24px 0;border-top:1px solid var(--line);font-size:13.5px}

.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:#25d366;box-shadow:0 12px 30px -4px rgba(37,211,102,.6);transition:.3s}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:ring 2.2s infinite}
@keyframes ring{to{transform:scale(1.6);opacity:0}}
.wa-float:hover{transform:scale(1.1)}

/* reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.spot.reveal.in:hover{transform:translateY(-6px)}

@media(max-width:1020px){
  .hero-grid,.enq{grid-template-columns:1fr}
  .hero{min-height:auto}
  .bento{grid-template-columns:repeat(2,1fr)}
  .fleet{grid-template-columns:repeat(2,1fr)}
  .why-grid,.grid3,.steps,.routes{grid-template-columns:repeat(2,1fr)}
  .burger{display:block}
  .links{position:fixed;inset:76px 0 auto;flex-direction:column;align-items:stretch;gap:0;background:var(--navbg2);backdrop-filter:blur(20px);padding:10px 20px 26px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:.4s}
  .links.open{transform:none}
  .links a{padding:15px 4px;border-bottom:1px solid var(--line);font-size:16px}
  .links .btn{margin-top:16px;border:0;color:#1a0d00}
}
@media(max-width:620px){
  .bento,.fleet,.why-grid,.grid3,.steps,.routes,.row2,.foot{grid-template-columns:1fr}
  .tile.big,.tile.wide{grid-column:auto;grid-row:auto}
  .stats{grid-template-columns:1fr 1fr;gap:30px 10px}
  .section{padding:72px 0}
  .hero{padding-top:112px}
  .enq{padding:30px 22px}
  .hero-car{width:190px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* theme toggle */
.theme-toggle{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--glass);color:var(--hi);cursor:pointer;display:grid;place-items:center;transition:.3s;flex:none}
.theme-toggle:hover{border-color:var(--at);transform:rotate(15deg)}
.theme-toggle svg{width:20px;height:20px;grid-area:1/1;transition:.4s}
.theme-toggle .moon{opacity:0;transform:scale(.4) rotate(-90deg)}
:root[data-theme=light] .theme-toggle .sun{opacity:0;transform:scale(.4) rotate(90deg)}
:root[data-theme=light] .theme-toggle .moon{opacity:1;transform:none}
.nav-actions{display:flex;align-items:center;gap:10px}
:root[data-theme=light] .glass{box-shadow:0 30px 60px -25px rgba(30,41,80,.2),inset 0 1px 0 #fff}
:root[data-theme=light] .spot:hover{box-shadow:0 24px 50px -24px rgba(30,41,80,.28)}
:root[data-theme=light] .tile.big{background:linear-gradient(160deg,rgba(200,145,47,.14),rgba(59,91,219,.1) 70%),var(--glass)}
:root[data-theme=light] .hero-car,:root[data-theme=light] .fcard svg{filter:drop-shadow(0 16px 18px rgba(200,145,47,.3))}

/* ---------- Light theme refinement ---------- */
:root{--tgrad:var(--grad)}
:root[data-theme=light]{
  --bg:#f6f4ee; --bg2:#ece8dc; --glass:rgba(255,255,255,.92); --glass2:#fff;
  --line:rgba(15,23,42,.09); --muted:#586178; --aur:.75; --gridop:.55; --track:#a3acc3;
  --tgrad:linear-gradient(120deg,#8a5a0e,#b27a1c);
  --card-shadow:0 1px 2px rgba(15,23,42,.06),0 16px 36px -18px rgba(30,41,80,.22);
}
:root[data-theme=light] body{background:linear-gradient(180deg,#fbf3e2 0,var(--bg) 700px)}
:root[data-theme=light] .grad,:root[data-theme=light] .stats b,:root[data-theme=light] .num{background-image:var(--tgrad)}
:root[data-theme=light] .spot,:root[data-theme=light] .step,:root[data-theme=light] .route,:root[data-theme=light] .tile{box-shadow:var(--card-shadow)}
:root[data-theme=light] .spot:hover{box-shadow:0 2px 4px rgba(15,23,42,.06),0 28px 50px -20px rgba(154,106,20,.35)}
:root[data-theme=light] .step{background:#fff}
:root[data-theme=light] .marquee{background:#fff}
:root[data-theme=light] .track span{color:#9aa4bd}
:root[data-theme=light] .eyebrow{background:rgba(154,106,20,.08);border-color:rgba(154,106,20,.28)}
:root[data-theme=light] .nav.scrolled{box-shadow:0 8px 30px -18px rgba(15,23,42,.25)}
:root[data-theme=light] .chip{background:#fff;box-shadow:var(--card-shadow)}
:root[data-theme=light] .btn-ghost{background:#fff;box-shadow:var(--card-shadow)}
:root[data-theme=light] .quick{background:rgba(255,255,255,.85);box-shadow:0 40px 80px -30px rgba(154,106,20,.35),0 2px 6px rgba(15,23,42,.06)}
:root[data-theme=light] .fcard{background:linear-gradient(180deg,#fff,#f8f9fd)}
:root[data-theme=light] .fcard.hot{border-color:rgba(154,106,20,.5);box-shadow:0 0 0 1px rgba(154,106,20,.2),0 30px 60px -28px rgba(154,106,20,.45)}

/* dark navy bands inside the light theme */
:root[data-theme=light] #why,
:root[data-theme=light] .enq,
:root[data-theme=light] .footer{
  --glass:rgba(255,255,255,.045); --glass2:rgba(255,255,255,.08); --line:rgba(255,255,255,.1);
  --ink:#f4f6fb; --hi:#fff; --muted:#97a2b8; --at:#f6d27a; --soft:#c4cce0; --body2:#e1e6f2; --ph:#5f6a82;
  --inset:rgba(0,0,0,.28); --inset2:rgba(0,0,0,.4); --opt:#10141f;
  --tgrad:var(--grad); --card-shadow:none; color:var(--ink); color-scheme:dark;
}
:root[data-theme=light] #why{background:radial-gradient(900px 420px at 15% 0,rgba(59,91,219,.28),transparent),radial-gradient(700px 400px at 90% 100%,rgba(200,145,47,.22),transparent),#0a0e1a}
:root[data-theme=light] #why .spot{box-shadow:none}
:root[data-theme=light] #why .spot:hover{box-shadow:none}
:root[data-theme=light] #why .eyebrow{background:rgba(246,210,122,.08);border-color:rgba(246,210,122,.3)}
:root[data-theme=light] #why .grad,:root[data-theme=light] .enq .grad{background-image:var(--grad)}
:root[data-theme=light] .enq{background:radial-gradient(600px 300px at 0% 0%,rgba(200,145,47,.28),transparent),radial-gradient(500px 300px at 100% 100%,rgba(59,91,219,.28),transparent),#0c1120;border-color:rgba(255,255,255,.08);box-shadow:0 40px 80px -30px rgba(11,18,40,.5)}
:root[data-theme=light] .footer{background:#080b14;border-top:0}
:root[data-theme=light] .quote{background:#fff}
:root[data-theme=light] .logo b{color:#9a6a14}
:root[data-theme=light] .footer .logo b{color:#f6d27a}
.fcard svg{filter:drop-shadow(0 14px 16px rgba(0,0,0,.35))}
:root[data-theme=light] .fcard svg{filter:drop-shadow(0 12px 12px rgba(15,23,42,.22))}
:root[data-theme=light] .enq .btn-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.22);box-shadow:none}
:root[data-theme=light] .enq .btn-ghost:hover{background:rgba(255,255,255,.14);border-color:#f6d27a}

/* fleet photos */
.fcard{padding-top:0}
.shot{margin:0 -24px;aspect-ratio:3/2;overflow:hidden;border-radius:var(--r) var(--r) 0 0;background:var(--bg2);position:relative}
.shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,10,24,.35))}
.shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.fcard:hover .shot img{transform:scale(1.06)}
.fcard svg,.fcard:hover svg{filter:none;transform:none}
.credits{padding:18px 0 0;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}
.credits+.copy{border-top:0;padding-top:10px}

/* five-car fleet */
.fleet{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}
.fcard{padding-left:20px;padding-right:20px}
.shot{margin-left:-20px;margin-right:-20px}
@media(max-width:1020px){.fleet{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}
@media(max-width:620px){.fleet{grid-template-columns:1fr}}

/* ---------- driving scene ---------- */
:root{--hill:rgba(255,255,255,.045);--city:rgba(255,255,255,.08);--win:rgba(246,210,122,.6);--pole:#2a3556;--tree:#16233a;--road:#04060d;--roadline:rgba(255,255,255,.14);--beam:.85;--lampo:1;--exh:rgba(255,255,255,.18)}
:root[data-theme=light]{--hill:rgba(15,23,42,.06);--city:rgba(15,23,42,.1);--win:rgba(255,255,255,.7);--pole:#7a8299;--tree:#8fa39a;--road:#1a2133;--roadline:rgba(255,255,255,.2);--beam:.18;--lampo:.35;--exh:rgba(15,23,42,.14)}
.scene{position:relative;z-index:1;height:250px;margin-top:auto;overflow:hidden;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 22%);mask-image:linear-gradient(180deg,transparent,#000 22%)}
.layer{position:absolute;left:0;display:flex;width:max-content;will-change:transform}
.layer svg{width:1920px;height:150px;flex:none;display:block}
.l-hills{bottom:46px;animation:scroll 110s linear infinite}
.l-city{bottom:46px;animation:scroll 48s linear infinite}
.l-side{bottom:46px;animation:scroll 4.5s linear infinite}
@keyframes scroll{to{transform:translateX(-1920px)}}
.hill{fill:var(--hill)}.city rect{fill:var(--city)}.win rect{fill:var(--win)}
.pole{fill:var(--pole)}.poleS{fill:none;stroke:var(--pole);stroke-width:4;stroke-linecap:round}
.trunk{fill:none;stroke:var(--tree);stroke-width:6;stroke-linecap:round}.leaf path{fill:var(--tree)}
.lamp{opacity:var(--lampo)}
.road{position:absolute;left:0;right:0;bottom:0;height:46px;background:linear-gradient(180deg,#0b1020,var(--road));border-top:2px solid var(--roadline)}
:root[data-theme=light] .road{background:linear-gradient(180deg,#2a3350,var(--road))}
.road .dash{position:absolute;left:0;right:0;top:26px;height:3px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.65) 0 64px,transparent 64px 128px);animation:dash .3s linear infinite}
@keyframes dash{to{transform:translateX(-128px)}}
.road .dash{width:calc(100% + 128px)}
.car{position:absolute;left:14%;bottom:12px;width:310px;animation:bob .7s ease-in-out infinite}
.car svg{width:100%;height:auto;display:block;filter:drop-shadow(0 10px 18px rgba(200,145,47,.35))}
@keyframes bob{50%{transform:translateY(-2px) rotate(-.25deg)}}
.spin{transform-box:fill-box;transform-origin:center;animation:spin .28s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.beam{opacity:var(--beam)}
.puffs circle{fill:var(--exh);transform-box:fill-box;transform-origin:center;animation:puff 1.5s ease-out infinite}
.puffs circle:nth-child(2){animation-delay:.5s}.puffs circle:nth-child(3){animation-delay:1s}
@keyframes puff{from{transform:translateX(0) scale(.5);opacity:.9}to{transform:translateX(-90px) scale(2.6);opacity:0}}
@media(max-width:620px){.scene{height:200px}.car{width:210px;left:6%;bottom:10px}.l-hills,.l-city,.l-side{bottom:46px}.l-side{animation-duration:3.6s}}
.hero{padding-top:112px}.hero-grid{padding-bottom:6px}
.scene .road{z-index:0;margin:0}.scene .car{z-index:2;bottom:8px}.road .dash{top:32px}

/* ---------- Tirupati touches ---------- */
.gp{fill:var(--city);stroke:var(--gpstroke);stroke-width:.7}
.gw{fill:var(--win)}
.gi{fill:currentColor}
:root{--gpstroke:rgba(246,210,122,.22)}
:root[data-theme=light]{--gpstroke:rgba(154,106,20,.28)}
.tel{font-family:"Noto Sans Telugu",Inter,sans-serif;font-weight:600;color:var(--a)}
:root[data-theme=light] .tel{color:#8a5a0e}
.toran{position:absolute;left:0;right:0;top:70px;height:60px;z-index:3;pointer-events:none;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2772%27%20height%3D%2760%27%20viewBox%3D%270%200%2072%2060%27%3E%3Cpath%20d%3D%27M0%203Q36%2030%2072%203%27%20fill%3D%27none%27%20stroke%3D%27%23c8912f%27%20stroke-width%3D%271.6%27%2F%3E%3Cpath%20d%3D%27M18%2013q-6%2011%200%2022q6-11%200-22z%27%20fill%3D%27%232f9e63%27%2F%3E%3Cpath%20d%3D%27M54%2013q-6%2011%200%2022q6-11%200-22z%27%20fill%3D%27%232f9e63%27%2F%3E%3Cpath%20d%3D%27M18%2014v18M54%2014v18%27%20stroke%3D%27%231d6f44%27%20stroke-width%3D%27.8%27%2F%3E%3Cg%3E%3Ccircle%20cx%3D%2736%27%20cy%3D%2717%27%20r%3D%277.5%27%20fill%3D%27%23ff9f1c%27%2F%3E%3Ccircle%20cx%3D%2736%27%20cy%3D%2717%27%20r%3D%275%27%20fill%3D%27%23ffc02e%27%2F%3E%3Ccircle%20cx%3D%2736%27%20cy%3D%2717%27%20r%3D%272.2%27%20fill%3D%27%23e65f00%27%2F%3E%3Ccircle%20cx%3D%270%27%20cy%3D%274%27%20r%3D%275%27%20fill%3D%27%23ff9f1c%27%2F%3E%3Ccircle%20cx%3D%270%27%20cy%3D%274%27%20r%3D%272.6%27%20fill%3D%27%23ffc02e%27%2F%3E%3Ccircle%20cx%3D%2772%27%20cy%3D%274%27%20r%3D%275%27%20fill%3D%27%23ff9f1c%27%2F%3E%3Ccircle%20cx%3D%2772%27%20cy%3D%274%27%20r%3D%272.6%27%20fill%3D%27%23ffc02e%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") repeat-x;background-size:72px 60px;transform-origin:50% 0;animation:sway 7s ease-in-out infinite;filter:drop-shadow(0 6px 8px rgba(0,0,0,.22))}
@keyframes sway{0%,100%{transform:skewX(0)}50%{transform:skewX(-.9deg)}}
.hero{padding-top:134px}
.eyebrow::before,.eyebrow::after{content:"";display:inline-block;width:5px;height:5px;background:currentColor;transform:rotate(45deg);margin:0 10px 2px;opacity:.8}
.tours{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tour{padding:30px 28px 26px;display:flex;flex-direction:column;gap:8px}
.tour::after{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:repeating-linear-gradient(90deg,var(--a) 0 7px,transparent 7px 14px);opacity:.55}
.gico{width:54px;height:56px;color:var(--at);margin-bottom:6px;filter:drop-shadow(0 6px 10px rgba(200,145,47,.3))}
.dur{position:absolute;top:22px;right:22px;font:600 11px Inter;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:99px;background:var(--glass2);border:1px solid var(--line);color:var(--soft)}
.tour h3{font-size:20px;line-height:1.25}
.tour p{font-size:14.5px;color:var(--muted)}
.tour .rt{font:600 12.5px Inter;letter-spacing:.02em;color:var(--at)}
.tour-btn{margin-top:auto;align-self:flex-start;display:inline-flex;gap:8px;align-items:center;padding:10px 18px;border-radius:99px;border:1px solid var(--line);background:var(--glass2);color:var(--hi);font:600 14px Inter;cursor:pointer;transition:.3s}
.tour p:nth-of-type(2){margin-bottom:14px}
.tour-btn:hover{background:var(--grad);color:#1a1203;border-color:transparent}
.tour-btn .arr{transition:.3s}.tour-btn:hover .arr{transform:translateX(4px)}
@media(max-width:1020px){.tours{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.tours{grid-template-columns:1fr}.toran{top:68px}.hero{padding-top:124px}}
.gp{fill:var(--gpfill)}
:root{--gpfill:rgba(170,185,225,.15)}
:root[data-theme=light]{--gpfill:rgba(15,23,42,.17)}

/* temple photos */
.tour{padding-top:0}
.tour::after{z-index:3}
.tour .shot{margin:0 -28px 14px;aspect-ratio:16/10}
.tour .shot img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.tour:hover .shot img{transform:scale(1.06)}
.tour .dur{top:18px;right:18px;z-index:3;background:rgba(5,10,24,.62);color:#fff;border-color:rgba(255,255,255,.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}

/* ---------- divine touches ---------- */
:root{--ray:rgba(246,210,122,.085);--mandala:.17}
:root[data-theme=light]{--ray:rgba(200,145,47,.16);--mandala:.26}
.rays{position:absolute;left:50%;top:-1250px;width:2100px;height:2100px;margin-left:-1050px;z-index:0;pointer-events:none;will-change:transform;
  background:repeating-conic-gradient(from 0deg at 50% 50%,var(--ray) 0 4deg,transparent 4deg 12deg);
  -webkit-mask-image:radial-gradient(closest-side,#000 25%,transparent 72%);mask-image:radial-gradient(closest-side,#000 25%,transparent 72%);
  animation:rot 360s linear infinite,breathe 7s ease-in-out infinite}
.mandala{position:absolute;z-index:0;pointer-events:none;color:var(--a);opacity:var(--mandala);will-change:transform}
:root[data-theme=light] .mandala{color:var(--at)}
.mandala svg{width:100%;height:auto;display:block}
.m1{width:760px;left:-300px;top:30px;animation:rot 150s linear infinite}
.m2{width:620px;right:-260px;bottom:-230px;animation:rot 190s linear infinite reverse}
@keyframes rot{to{transform:rotate(360deg)}}
@keyframes breathe{50%{opacity:.65}}
.hero-text{position:relative}
.hero-text::before{content:"";position:absolute;left:-120px;top:-60px;width:680px;height:480px;z-index:-1;pointer-events:none;
  background:radial-gradient(closest-side,rgba(246,210,122,.17),transparent);animation:breathe 6s ease-in-out infinite}
:root[data-theme=light] .hero-text::before{background:radial-gradient(closest-side,rgba(200,145,47,.22),transparent)}

.petals{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.petals i{position:absolute;top:-30px;left:var(--x);width:var(--s);height:calc(var(--s)*1.5);border-radius:70% 0 70% 0;
  background:radial-gradient(circle at 30% 30%,#fff3b0,var(--c) 60%);opacity:0;will-change:transform;animation:fall var(--t) linear var(--d) infinite}
@keyframes fall{0%{transform:translate3d(0,0,0) rotate(0);opacity:0}8%{opacity:.85}50%{transform:translate3d(calc(var(--dx)*.5),520px,0) rotate(220deg)}92%{opacity:.7}100%{transform:translate3d(var(--dx),1020px,0) rotate(440deg);opacity:0}}

.divider{display:flex;align-items:center;gap:14px;max-width:620px;margin:0 auto;padding:18px 0}
.divider .ln{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--a),transparent);opacity:.55}
.divider .lotus{width:72px;height:44px;color:var(--a);flex:none}
.divider .diya{width:28px;height:32px;flex:none}
:root[data-theme=light] .divider .lotus,:root[data-theme=light] .bless .lotus{color:var(--at)}
.flame{transform-box:fill-box;transform-origin:50% 100%;animation:flick 1.7s ease-in-out infinite}
@keyframes flick{0%,100%{transform:scale(1) rotate(-2deg)}25%{transform:scale(.9,1.1) rotate(2.5deg)}50%{transform:scale(1.06,.94) rotate(-1deg)}75%{transform:scale(.94,1.06) rotate(1.5deg)}}
.divider svg:last-of-type .flame{animation-delay:-.8s}

.track .tel{font-family:"Noto Sans Telugu",Sora,sans-serif;font-weight:600;color:var(--at);opacity:.75;font-size:20px}
.bless{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:10px 0 28px;color:var(--muted)}
.bless .lotus{width:64px;height:40px;color:var(--a)}
.bless p{font-size:15px}
.bless .tel{font-size:20px}
.bless small{font-size:13px;opacity:.8}
@media(max-width:620px){.m1{width:520px;left:-240px}.m2{display:none}.divider .diya{width:22px}.divider .lotus{width:56px}}

.flame.in{animation-duration:1.3s;animation-delay:-.4s}
.bless+.copy{border-top:1px solid var(--line)}

/* ---------- sacred emblems ---------- */
:root{--glow:rgba(246,210,122,.65)}
:root[data-theme=light]{--glow:rgba(184,120,28,.45)}
.toran{display:none}
.sacred-bar{position:absolute;left:0;right:0;top:86px;z-index:3;display:flex;align-items:center;justify-content:center;gap:20px;pointer-events:none}
.sacred-bar .ln{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--a) 85%);opacity:.7}
.sacred-bar .ln.r{transform:scaleX(-1)}
.sacred-bar .e-c{width:34px;height:34px;color:var(--a);filter:drop-shadow(0 0 7px var(--glow));animation:rot 40s linear infinite}
:root[data-theme=light] .sacred-bar .e-c{color:var(--at)}
.sacred-bar .e-n{width:20px;height:auto;filter:drop-shadow(0 0 6px var(--glow))}
.sacred-bar .e-s{width:28px;height:auto;filter:drop-shadow(0 0 7px var(--glow));animation:floaty 5s ease-in-out infinite}
:root[data-theme=light] .namam path:first-of-type{stroke:#fff9ea}
:root[data-theme=light] .namam{filter:drop-shadow(0 0 1.5px rgba(120,76,10,.8))}
@keyframes floaty{50%{transform:translateY(-3px)}}
.m1 svg{filter:drop-shadow(0 0 18px var(--glow))}
.m1{opacity:calc(var(--mandala) + .06)}

.blessing{position:relative;overflow:hidden;padding:76px 0 56px;text-align:center}
.blessing::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(640px 320px at 50% 50%,rgba(246,210,122,.15),transparent 70%)}
:root[data-theme=light] .blessing::before{background:radial-gradient(640px 320px at 50% 50%,rgba(200,145,47,.2),transparent 70%)}
.blessing::after{content:"";position:absolute;left:50%;top:50%;width:1200px;height:1200px;margin:-600px 0 0 -600px;pointer-events:none;z-index:0;
  background:repeating-conic-gradient(from 0deg at 50% 50%,var(--ray) 0 4deg,transparent 4deg 12deg);
  -webkit-mask-image:radial-gradient(closest-side,#000 10%,transparent 70%);mask-image:radial-gradient(closest-side,#000 10%,transparent 70%);animation:rot 320s linear infinite}
.bl-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr minmax(0,560px) 1fr;gap:36px;align-items:center}
.bl-emb svg{display:block;width:100%;height:auto}
.bl-c{width:200px;justify-self:end;color:var(--a);filter:drop-shadow(0 0 16px var(--glow));animation:rot 70s linear infinite}
:root[data-theme=light] .bl-c{color:var(--at)}
.bl-s{width:136px;justify-self:start;filter:drop-shadow(0 8px 22px var(--glow));animation:floaty 6s ease-in-out infinite}
.bl-text .namam.big{width:34px;height:auto;margin:0 auto 14px;display:block;filter:drop-shadow(0 0 10px var(--glow))}
.bl-text h2{font-size:clamp(30px,4.2vw,52px);line-height:1.25;font-weight:700}
.bl-text .tel{font-family:"Noto Sans Telugu",Sora,sans-serif;background-image:var(--tgrad);background-color:transparent;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
:root[data-theme=light] .bl-text .tel{color:transparent}
.bl-text p{margin:12px auto 10px;color:var(--muted);max-width:430px}
.bl-text small{display:block;font-size:17px;letter-spacing:.04em}
@media(max-width:760px){
  .bl-grid{grid-template-columns:1fr 1fr;gap:20px 10px}
  .bl-c{width:112px;justify-self:end}.bl-s{width:76px;justify-self:start}
  .bl-text{grid-column:1/-1;order:3}
  .sacred-bar{top:80px;gap:12px}.sacred-bar .e-c{width:28px;height:28px}
}
.m1{opacity:.14}
:root[data-theme=light] .m1{opacity:.2}
.blessing{-webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent)}

/* realistic chakra */
.cspin{transform-box:fill-box;transform-origin:center;animation:rot 60s linear infinite}
.m1 .cspin{animation-duration:140s}
.bl-c .cspin{animation-duration:90s}
.sacred-bar .e-c .cspin{animation-duration:30s}
.sacred-bar .e-c,.bl-c,.m1{animation:none}
:root[data-theme=light] .sacred-bar .e-c,:root[data-theme=light] .bl-c{color:inherit}
.m1{opacity:.2;color:inherit}
:root[data-theme=light] .m1{opacity:.28}
.m1 svg{filter:drop-shadow(0 0 22px var(--glow))}
.sacred-bar .e-c{width:36px;height:36px}
.bl-c{width:210px}
.m1{left:auto;right:-210px;top:96px;width:660px;opacity:.38}
:root[data-theme=light] .m1{opacity:.42}
@media(max-width:1020px){.m1{right:-300px;opacity:.22}}
@media(max-width:620px){.m1{width:420px;right:-200px;top:260px;opacity:.2}}

/* ---------- traditional trio ---------- */
.m1{display:none}
.blessing{padding:84px 0 60px}
.bl-wrap{position:relative;z-index:1}
.trio{display:flex;justify-content:center;align-items:flex-end;gap:clamp(4px,3.2vw,46px)}
.tr{width:clamp(92px,19vw,214px);animation:floaty 7s ease-in-out infinite}
.tr-n{width:clamp(100px,21vw,236px);animation-delay:-2.3s}
.tr-s{animation-delay:-4.6s}
.tr svg{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 12px 26px var(--glow))}
.flk{transform-box:fill-box;transform-origin:50% 100%;animation:flick 2.4s ease-in-out infinite}
.tr-n .flk,.tr-s .flk{animation-delay:-.9s}
.cspin2{transform-box:fill-box;transform-origin:center;animation:rot 100s linear infinite}
.bl-text{margin-top:30px}
@media(max-width:620px){.blessing{padding:64px 0 44px}.bl-text{margin-top:18px}}

/* compact refined trio */
.blessing{padding:52px 0 34px}
.trio{gap:clamp(12px,2.6vw,34px);align-items:flex-end}
.tr,.tr-n{width:clamp(66px,9vw,104px);animation:none}
.tr-n{width:clamp(70px,9.6vw,112px)}
.tr svg{filter:drop-shadow(0 4px 12px var(--glow))}
.flk,.cspin2{animation:none}
.bl-text{margin-top:16px}
.bl-text h2{font-size:clamp(24px,3.2vw,38px)}
.bl-text p{font-size:14.5px;margin:8px auto 6px}
.bl-text small{font-size:15px}
.blessing::after{width:900px;height:900px;margin:-450px 0 0 -450px}
.logo-mark{font-size:15px;letter-spacing:-.02em;font-family:Sora,Inter,sans-serif}

/* positive trust, no unverified claims */
.ticks{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;padding:0;margin:0}
.ticks li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}
.ticks li::before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;flex:none;background:var(--grad);color:#1a1203;font:700 12px Inter}
.stats.promise b{font-size:clamp(28px,3.6vw,44px)}
.stats.promise span{display:block;margin-top:4px}
.quote h3{font-size:20px}
.quote p{color:var(--muted);font-size:15.5px;line-height:1.65}
.welcome-cta{text-align:center;margin-top:44px}
.welcome-cta p{font:600 clamp(18px,2.2vw,24px) Sora,Inter,sans-serif;color:var(--hi)}
.welcome-cta .hero-cta{justify-content:center;margin:22px 0 0}

/* ---------- tour detail pages ---------- */
.tour-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.tour-actions .tour-btn{margin-top:0}
.tour-btn.primary{background:var(--grad);color:#1a1203;border-color:transparent;text-decoration:none}
.tour h3 a{color:inherit;text-decoration:none}
.tour h3 a:hover{color:var(--at)}
.phero{position:relative;overflow:hidden;padding:128px 0 56px}
.phero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.phero-text{min-width:0}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--muted);margin-bottom:22px}
.crumbs a:hover{color:var(--at)}
.crumbs b{color:var(--hi);font-weight:600}
.phero h1{font-size:clamp(34px,4.8vw,58px);margin:20px 0 10px;line-height:1.08}
.phero .rtline{font:600 15px Inter;color:var(--at);letter-spacing:.02em;margin-bottom:16px}
.phero .lead{font-size:17px;color:var(--muted);max-width:560px}
.phero .hero-cta{margin:26px 0 22px}
.phero-img{position:relative;margin:0;border-radius:26px;overflow:hidden;border:1px solid var(--line);box-shadow:0 40px 80px -30px rgba(0,0,0,.6);aspect-ratio:3/2;min-width:0}
.phero-img img{width:100%;height:100%;object-fit:cover;display:block}
.phero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(5,10,24,.3));pointer-events:none}
.pbody{padding-top:24px}
.pgrid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:44px;align-items:start}
.pmain{display:grid;gap:44px;min-width:0}
.pblock h2{font-size:clamp(22px,2.6vw,30px);margin-bottom:18px}
.pblock .eyebrow{margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}
.chips li{padding:7px 16px;border-radius:999px;background:var(--glass);border:1px solid var(--line);font-size:14px;color:var(--soft)}
.stops{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.stop{padding:24px}
.stop h3{font-size:18px;margin-bottom:8px}
.stop p{color:var(--muted);font-size:15px}
.plan{list-style:none;padding:0;margin:0;display:grid;gap:0;counter-reset:s;border-left:2px solid var(--line);margin-left:14px}
.plan li{position:relative;padding:0 0 26px 34px;counter-increment:s}
.plan li:last-child{padding-bottom:0}
.plan li::before{content:counter(s);position:absolute;left:-15px;top:0;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#1a1203;font:700 13px Sora}
.plan h3{font-size:17px;margin-bottom:4px}
.plan p{color:var(--muted);font-size:15px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.list{list-style:none;padding:0;display:grid;gap:12px}
.list li{position:relative;padding-left:28px;color:var(--soft);font-size:15px;line-height:1.55}
.list li::before{position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font:700 12px Inter;color:#1a1203;background:var(--grad)}
.list.ok li::before{content:"\2713"}
.list.tip li::before{content:"i";background:var(--glass2);color:var(--at);border:1px solid var(--line);font-style:italic}
.pside{position:sticky;top:96px;min-width:0}
.side-form{padding:26px;display:grid;gap:14px}
.side-form h3{font-size:21px}
.side-form small{text-align:center;color:var(--muted);font-size:13px}
.morep .rel{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rel-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;padding:0}
.rel-card img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.rel-card div{padding:18px 20px 20px}
.rel-card h3{font-size:18px;margin-bottom:4px}
.rel-card span{font-size:13px;color:var(--at);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.morep .back{text-align:center;margin-top:32px}
@media(max-width:1020px){
  .phero-grid,.pgrid{grid-template-columns:1fr}
  .pside{position:static}
  .morep .rel{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .phero{padding-top:104px}
  .two,.morep .rel{grid-template-columns:1fr}
  .side-form{padding:22px}
  .phero .hero-cta .btn{width:100%}
}
.phero{-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent);mask-image:linear-gradient(180deg,#000 82%,transparent);padding-bottom:72px}
.side-form .muted{color:var(--muted);font-size:14.5px}

/* map */
.map-embed{margin-top:26px;border-radius:18px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/10;background:var(--bg2)}
.map-embed iframe{width:100%;height:100%;border:0;display:block}
.dir{color:var(--at);font-weight:600;display:inline-block;margin-top:4px}
.dir:hover{text-decoration:underline}
.contact li span{line-height:1.5}
