/* ============================================================
   KESHAV TAXI — Premium Static Site
   Design system: ink black + taxi yellow + warm white
   ============================================================ */

:root{
  --ink:#0a0a0b;
  --ink-2:#0e0e10;
  --card:#141416;
  --card-2:#191a1d;
  --line:rgba(240,235,224,.08);
  --line-2:rgba(240,235,224,.15);
  --white:#f1ede4;
  --muted:#a7a199;
  --muted-2:#6d6860;
  --yellow:#d4af51;
  --yellow-deep:#b28a30;
  --yellow-soft:rgba(212,175,81,.1);
  --green:#25d366;
  --radius:16px;
  --radius-sm:10px;
  --shadow:0 40px 90px -50px rgba(0,0,0,.9);
  --shadow-glow:0 0 0 1px rgba(212,175,81,.2);
  --ease:cubic-bezier(.22,.61,.36,1);
  --container:1180px;
  --font:'Inter',system-ui,sans-serif;
  --font-display:'Fraunces','Georgia',serif;
  --font-alt:'Space Grotesk',system-ui,sans-serif;
  /* theme-adaptive surfaces */
  --field-bg:rgba(0,0,0,.35);
  --field-text:#f1ede4;
  --chip-bg:rgba(255,255,255,.04);
  --nav-bg:rgba(10,10,11,.55);
  --nav-bg-scroll:rgba(8,8,9,.9);
  --topbar-bg:#050506;
  --book-form-bg:linear-gradient(160deg,rgba(27,30,38,.9),rgba(17,19,24,.95));
  --on-dark:#f1ede4;
}

/* ===================== LIGHT THEME ===================== */
[data-theme="light"]{
  --ink:#f5f2ea;
  --ink-2:#ece8dd;
  --card:#ffffff;
  --card-2:#f5f2ea;
  --line:rgba(28,24,18,.1);
  --line-2:rgba(28,24,18,.17);
  --white:#1c1813;
  --muted:#6c665c;
  --muted-2:#9a948a;
  --yellow:#a17c22;
  --yellow-deep:#7d5f16;
  --yellow-soft:rgba(161,124,34,.12);
  --shadow:0 40px 80px -48px rgba(60,48,24,.4);
  --field-bg:rgba(28,24,18,.04);
  --field-text:#1c1813;
  --chip-bg:rgba(28,24,18,.05);
  --nav-bg:rgba(245,242,234,.72);
  --nav-bg-scroll:rgba(245,242,234,.93);
  --topbar-bg:#ece8dd;
  --book-form-bg:#ffffff;
}

/* Footer stays cinematic-dark in both themes */
.footer{
  --card:#141416;--card-2:#191a1d;
  --white:#f1ede4;--muted:#a7a199;--muted-2:#6d6860;
  --line:rgba(240,235,224,.08);--line-2:rgba(240,235,224,.15);
  --yellow:#d4af51;--yellow-deep:#b28a30;--yellow-soft:rgba(212,175,81,.1);
  --field-bg:rgba(0,0,0,.35);--field-text:#f1ede4;--chip-bg:rgba(255,255,255,.04);
  --book-form-bg:linear-gradient(160deg,rgba(27,30,38,.9),rgba(17,19,24,.95));
}

/* Light-mode hero: bright cream scrim over the photo */
[data-theme="light"] .hero__bg{background:
  linear-gradient(180deg,rgba(245,242,234,.84),rgba(245,242,234,.95) 60%,var(--ink)),
  radial-gradient(120% 90% at 78% 6%,rgba(161,124,34,.16),transparent 52%),
  url("../assets/tours/somnath.jpg");
  background-size:cover;background-position:center}
[data-theme="light"] .hero__overlay{background:radial-gradient(140% 100% at 50% 0,transparent 45%,rgba(245,242,234,.5))}
[data-theme="light"] .quote-card{background:linear-gradient(160deg,rgba(255,255,255,.94),rgba(245,242,234,.92))}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  font-family:var(--font);
  background:var(--ink);
  color:var(--white);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  letter-spacing:-.01em;
  transition:background .45s var(--ease),color .45s var(--ease);
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
ul{list-style:none}

.container{width:min(var(--container),90vw);margin-inline:auto}
.section{padding:clamp(84px,11vw,150px) 0;position:relative}

/* Film grain */
.grain{position:fixed;inset:0;z-index:9990;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- Icons (inline SVG via mask) ---------- */
[data-ic]{
  width:1em;height:1em;display:inline-block;flex:none;
  background:currentColor;
  -webkit-mask:center/contain no-repeat;mask:center/contain no-repeat;
  vertical-align:-.12em;
}
[data-ic="phone"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}
[data-ic="mail"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 5L2 7'/%3E%3C/svg%3E")}
[data-ic="pin"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
[data-ic="clock"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E")}
[data-ic="arrow"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}
[data-ic="whatsapp"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M17.5 14.4c-.3-.15-1.7-.85-2-.94-.26-.1-.46-.15-.65.15-.2.3-.75.94-.92 1.13-.17.2-.34.22-.63.08-.3-.15-1.25-.46-2.38-1.47-.88-.78-1.47-1.75-1.64-2.05-.17-.3-.02-.46.13-.6.13-.13.3-.34.44-.5.15-.18.2-.3.3-.5.1-.2.05-.37-.02-.52-.08-.15-.65-1.57-.9-2.15-.24-.56-.48-.48-.65-.5h-.56c-.2 0-.5.07-.77.37-.26.3-1 1-1 2.42s1.03 2.8 1.17 3c.15.2 2.02 3.08 4.9 4.32.68.3 1.22.47 1.63.6.68.22 1.3.19 1.8.11.55-.08 1.7-.7 1.94-1.36.24-.67.24-1.24.17-1.36-.07-.12-.26-.2-.56-.34zM12 2a10 10 0 0 0-8.6 15.05L2 22l5.05-1.32A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.18-1.14l-.3-.18-3 .78.8-2.92-.2-.3A8.2 8.2 0 1 1 12 20.2z'/%3E%3C/svg%3E")}
[data-ic="car"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 17H3v-5l2-5h14l2 5v5h-2'/%3E%3Ccircle cx='7.5' cy='17' r='2'/%3E%3Ccircle cx='16.5' cy='17' r='2'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E")}
[data-ic="cal"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E")}
[data-ic="flag"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z'/%3E%3Cpath d='M4 22v-7'/%3E%3C/svg%3E")}
[data-ic="user"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E")}
[data-ic="shield"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E")}
[data-ic="tag"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41 12 22l-9-9V3h10l7.59 7.59a2 2 0 0 1 0 2.82z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E")}
[data-ic="star"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='m12 2 3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z'/%3E%3C/svg%3E")}
[data-ic="route"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='19' r='3'/%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Cpath d='M9 19h6a3 3 0 0 0 3-3V8'/%3E%3C/svg%3E")}
[data-ic="chat"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E")}
[data-ic="sun"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4'/%3E%3C/svg%3E")}
[data-ic="moon"]{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z'/%3E%3C/svg%3E")}

/* ---------- Preloader ---------- */
.preloader{position:fixed;inset:0;z-index:10000;background:var(--ink);display:grid;place-items:center;transition:opacity .6s ease,visibility .6s}
.preloader.done{opacity:0;visibility:hidden}
.preloader__mark{text-align:center}
.preloader__mark .kt{font-family:var(--font-display);font-weight:600;font-size:60px;letter-spacing:1px;color:var(--yellow);display:block;text-shadow:none}
.preloader__road{width:180px;height:3px;background:var(--line);border-radius:3px;overflow:hidden;margin:18px auto 12px;position:relative}
.preloader__road span{position:absolute;inset:0;width:40%;background:linear-gradient(90deg,transparent,var(--yellow),transparent);animation:load 1.1s var(--ease) infinite}
@keyframes load{from{transform:translateX(-120%)}to{transform:translateX(320%)}}
.preloader__text{font-size:12px;letter-spacing:6px;color:var(--muted)}

/* ---------- Scroll progress ---------- */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--yellow),var(--yellow-deep));z-index:900;box-shadow:0 0 12px var(--yellow)}

/* ---------- Scroll-following cab (journey indicator) ---------- */
.scroll-road{position:fixed;left:26px;top:15vh;height:70vh;width:2px;z-index:600;pointer-events:none;
  background:repeating-linear-gradient(to bottom,var(--line-2) 0 10px,transparent 10px 22px)}
.scroll-road::before,.scroll-road::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:9px;height:9px;border-radius:50%}
.scroll-road::before{top:-5px;background:var(--yellow);box-shadow:0 0 0 4px var(--yellow-soft)}
.scroll-road::after{bottom:-5px;background:transparent;border:2px solid var(--yellow)}
.scroll-cab{position:absolute;left:50%;top:0;width:26px;transform:translate(-50%,-50%);transition:top .12s ease-out;filter:drop-shadow(0 5px 8px rgba(0,0,0,.45))}
.scroll-cab svg{width:100%;height:auto;display:block}
.sc-body{fill:var(--yellow)}
.sc-mirror{fill:var(--yellow)}
.sc-win{fill:#0f0f11;opacity:.9}
.sc-sign{fill:var(--yellow-deep)}
.sc-light{fill:#fff;opacity:.9}
@media(max-width:900px){.scroll-road{left:9px;top:12vh;height:76vh}.scroll-cab{width:20px}}

/* ---------- Topbar ---------- */
.topbar{background:var(--topbar-bg);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);transition:background .45s var(--ease)}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;height:40px}
.topbar__item{display:inline-flex;align-items:center;gap:7px;transition:color .2s}
.topbar__item [data-ic]{color:var(--yellow);font-size:14px}
a.topbar__item:hover{color:var(--white)}
.topbar__sep{width:1px;height:14px;background:var(--line);margin:0 14px;display:inline-block}
.topbar__left,.topbar__right{display:flex;align-items:center}
.topbar__phone{color:var(--white);font-weight:600}
@media(max-width:760px){.topbar__hours,.topbar__left .topbar__sep{display:none}.topbar__inner{font-size:12px}}
@media(max-width:520px){.topbar{display:none}}

/* ---------- Navbar ---------- */
.nav{position:sticky;top:0;z-index:800;backdrop-filter:blur(14px);background:var(--nav-bg);border-bottom:1px solid transparent;transition:background .45s var(--ease),border-color .3s,box-shadow .3s}
.nav.scrolled{background:var(--nav-bg-scroll);border-color:var(--line);box-shadow:0 10px 40px -20px rgba(0,0,0,.4)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:74px}

.brand{display:inline-flex;align-items:center;gap:12px}
.brand__logo{height:54px;width:auto;display:block;object-fit:contain;transition:background .4s var(--ease),padding .4s var(--ease)}
.brand:has(.brand__logo) .brand__badge,.brand:has(.brand__logo) .brand__text{display:none}
.brand--footer .brand__logo{height:66px}
[data-theme="light"] .nav .brand__logo{height:44px;background:#141416;padding:8px 13px;border-radius:12px}
.brand__badge{width:46px;height:46px;border-radius:13px;background:linear-gradient(145deg,var(--yellow),var(--yellow-deep));display:grid;place-items:center;box-shadow:0 10px 24px -8px rgba(212,175,81,.6);position:relative;overflow:hidden}
.brand__badge::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 40%,rgba(255,255,255,.5) 50%,transparent 60%);transform:translateX(-120%);animation:shine 4.5s ease-in-out infinite}
@keyframes shine{0%,60%{transform:translateX(-120%)}80%,100%{transform:translateX(120%)}}
.brand__car{width:30px}
.brand__car-body{fill:#0a0b0d}
.brand__wheel{fill:#0a0b0d;stroke:var(--yellow);stroke-width:2}
.brand__text{display:flex;flex-direction:column;line-height:1;font-family:var(--font-alt)}
.brand__text strong{font-size:19px;letter-spacing:1px}
.brand__text em{font-style:normal;font-size:12px;letter-spacing:5px;color:var(--yellow);font-weight:600}

.nav__links{display:flex;align-items:center;gap:6px}
.nav__link{padding:9px 15px;font-size:14.5px;font-weight:500;color:var(--muted);border-radius:10px;position:relative;transition:color .2s}
.nav__link::after{content:"";position:absolute;left:15px;right:15px;bottom:4px;height:2px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);border-radius:2px}
.nav__link:hover{color:var(--white)}
.nav__link:hover::after,.nav__link.active::after{transform:scaleX(1)}
.nav__link.active{color:var(--white)}
.nav__cta{margin-left:12px}

.nav__toggle{display:none;flex-direction:column;gap:5px;padding:8px}
.nav__ctrls{display:flex;align-items:center;gap:10px}
.theme-toggle{width:42px;height:42px;border-radius:11px;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--white);position:relative;overflow:hidden;transition:border-color .3s,color .3s,background .3s}
.theme-toggle:hover{border-color:var(--yellow);color:var(--yellow);background:var(--yellow-soft)}
.theme-toggle [data-ic]{position:absolute;font-size:18px;transition:opacity .35s var(--ease),transform .5s var(--ease)}
.theme-toggle [data-ic="sun"]{opacity:1;transform:none}
.theme-toggle [data-ic="moon"]{opacity:0;transform:rotate(-45deg) scale(.5)}
[data-theme="light"] .theme-toggle [data-ic="sun"]{opacity:0;transform:rotate(45deg) scale(.5)}
[data-theme="light"] .theme-toggle [data-ic="moon"]{opacity:1;transform:none}
.nav__toggle span{width:24px;height:2px;background:var(--white);border-radius:2px;transition:.3s}
.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)}

@media(max-width:900px){
  .nav__toggle{display:flex}
  .nav__links{position:fixed;top:0;right:0;bottom:0;left:auto;width:min(330px,86vw);flex-direction:column;justify-content:center;gap:14px;background:var(--card);border-left:1px solid var(--line);box-shadow:-30px 0 80px -40px rgba(0,0,0,.6);visibility:hidden;opacity:0;transform:translateX(28px);transition:transform .4s var(--ease),opacity .3s var(--ease),visibility .4s;padding:40px;overflow-y:auto}
  .nav__links.open{visibility:visible;opacity:1;transform:none}
  .nav__link{font-size:20px;width:100%}
  .nav__cta{margin:14px 0 0}
}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 30px;border-radius:10px;font-weight:500;font-size:15px;letter-spacing:0;transition:transform .4s var(--ease),box-shadow .4s,background .3s,color .3s,border-color .3s;position:relative;white-space:nowrap}
.btn [data-ic]{font-size:1.05em;transition:transform .4s var(--ease)}
.btn--primary{background:var(--yellow);color:#161310}
.btn--primary:hover{background:#e2c069;transform:translateY(-2px);box-shadow:0 24px 44px -24px rgba(212,175,81,.7)}
.btn--primary:hover [data-ic]{transform:translateX(3px)}
.btn--ghost{background:transparent;color:var(--white);border:1px solid var(--line-2)}
.btn--ghost:hover{border-color:rgba(241,237,228,.55);background:rgba(241,237,228,.04)}
.btn--wa{background:var(--green);color:#04240f}
.btn--wa:hover{transform:translateY(-2px);box-shadow:0 22px 40px -22px rgba(37,211,102,.5)}
.btn--pill{padding:12px 22px;font-size:14px}
.btn--sm{padding:11px 20px;font-size:13.5px}
.btn--block{width:100%}

/* ---------- Pills / eyebrow ---------- */
.pill{display:inline-flex;align-items:center;gap:9px;padding:8px 16px;border-radius:999px;font-size:12.5px;font-weight:500;letter-spacing:.01em;background:rgba(212,175,81,.08);color:var(--yellow);border:1px solid var(--line-2)}
.pill--glow{box-shadow:none}
.pill__dot{width:6px;height:6px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 3px rgba(212,175,81,.15);animation:pulse 2.4s infinite}
.eyebrow{display:inline-block;font-family:var(--font-alt);font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--yellow);margin-bottom:20px}

/* ---------- Section head ---------- */
.section__head{text-align:center;max-width:680px;margin:0 auto 72px}
.section__title{font-family:var(--font-display);font-size:clamp(32px,5vw,58px);font-weight:500;line-height:1.05;letter-spacing:-.02em}
.section__lead{color:var(--muted);margin-top:20px;font-size:17px;line-height:1.75}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding:60px 0 80px}
.hero__bg{position:absolute;inset:-10% 0;background:
  linear-gradient(180deg,rgba(9,9,10,.8),rgba(9,9,10,.93) 62%,var(--ink)),
  radial-gradient(120% 90% at 78% 6%,rgba(212,175,81,.16),transparent 52%),
  url("../assets/tours/somnath.jpg");
  background-size:cover;background-position:center;
  will-change:transform}
.hero__overlay{position:absolute;inset:0;background:radial-gradient(140% 100% at 50% 0,transparent 40%,rgba(5,5,6,.6))}
.hero__grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:88px 88px;mask:radial-gradient(90% 70% at 60% 30%,#000,transparent 80%);opacity:.25}
.hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;width:min(var(--container),92vw);margin-inline:auto}

.hero__title{font-family:var(--font-display);font-size:clamp(42px,6.8vw,86px);line-height:1;font-weight:500;letter-spacing:-.03em;margin:26px 0}
.hero__title span{display:block}
.hero__accent{font-style:italic;font-weight:400;color:var(--yellow)}
.hero__sub{color:var(--muted);font-size:18px;max-width:520px}
.hero__actions{display:flex;gap:14px;margin:30px 0 26px;flex-wrap:wrap}
.hero__trust{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:14px}
.hero__avatars{width:52px;height:52px;border-radius:50%;background:conic-gradient(var(--yellow),var(--yellow-deep),var(--yellow));display:grid;place-items:center;color:#0a0b0d;font-weight:800;font-family:var(--font-alt);box-shadow:0 10px 24px -8px rgba(212,175,81,.6)}
.hero__trust strong{color:var(--white)}

/* quote card */
.quote-card{background:linear-gradient(160deg,rgba(27,30,38,.9),rgba(17,19,24,.9));border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow);backdrop-filter:blur(10px);position:relative}
.quote-card::before{content:"";position:absolute;inset:0;border-radius:24px;padding:1px;background:linear-gradient(160deg,rgba(212,175,81,.5),transparent 40%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.quote-card__head{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.quote-card__dot{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(37,211,102,.2);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(37,211,102,.2)}50%{box-shadow:0 0 0 8px rgba(37,211,102,0)}}
.quote-card__head h3{font-size:18px;font-weight:600}
.quote-card__form{display:flex;flex-direction:column;gap:14px}

/* fields */
.field{display:flex;flex-direction:column;gap:6px;flex:1}
.field label{font-size:12.5px;color:var(--muted);font-weight:500;padding-left:2px}
.field__box{display:flex;align-items:center;gap:10px;background:var(--field-bg);border:1px solid var(--line);border-radius:12px;padding:0 14px;transition:border-color .2s,box-shadow .2s,background .45s var(--ease)}
.field__box [data-ic]{color:var(--yellow);font-size:16px}
.field__box:focus-within{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(212,175,81,.12)}
.field__box input,.field__box select,.field__box textarea{width:100%;background:none;border:none;outline:none;color:var(--field-text);font-family:inherit;font-size:15px;padding:13px 0}
.field__box select{cursor:pointer}
.field__box select option{background:var(--card);color:var(--field-text)}
.field__box input::placeholder,.field__box textarea::placeholder{color:var(--muted-2)}
.field__box textarea{resize:vertical;padding-top:13px}
.field__box--area{align-items:flex-start}
.field__box--area [data-ic]{margin-top:14px}
.field--half-row{flex-direction:row;gap:12px}
input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7)}

.hero__scroll{position:absolute;bottom:26px;left:50%;translate:-50%;text-align:center;color:var(--muted);font-size:11px;letter-spacing:3px;z-index:3}
.hero__mouse{width:22px;height:36px;border:2px solid var(--line-2);border-radius:14px;display:block;margin:0 auto 8px;position:relative}
.hero__mouse span{position:absolute;top:7px;left:50%;translate:-50%;width:3px;height:7px;background:var(--yellow);border-radius:2px;animation:scrolldot 1.6s infinite}
@keyframes scrolldot{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}80%,100%{opacity:0;transform:translate(-50%,12px)}}

@media(max-width:900px){
  .hero{min-height:auto;padding:50px 0 70px}
  .hero__inner{grid-template-columns:1fr;gap:40px}
  .hero__scroll{display:none}
}

/* ============================================================
   MARQUEE
   ============================================================ */
.marquee{background:var(--ink-2);color:var(--muted);overflow:hidden;padding:22px 0;border-block:1px solid var(--line);position:relative}
.marquee__track{display:flex;align-items:center;gap:46px;white-space:nowrap;width:max-content;animation:scroll-x 48s linear infinite;font-family:var(--font-display);font-style:italic;font-weight:400;letter-spacing:0;font-size:21px}
.marquee__track span{color:var(--white);opacity:.72}
.marquee__track i{opacity:1;color:var(--yellow);font-style:normal;font-size:9px}
@keyframes scroll-x{to{transform:translateX(-50%)}}

/* ============================================================
   STATS
   ============================================================ */
.stats{padding:clamp(64px,8vw,110px) 0;background:var(--ink)}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card)}
.stat{text-align:center;padding:46px 20px;border-right:1px solid var(--line)}
.stat:last-child{border-right:none}
.stat__num{font-family:var(--font-display);font-size:clamp(40px,4.6vw,58px);font-weight:500;color:var(--white);line-height:1;letter-spacing:-.02em}
.stat__suffix{font-family:var(--font-display);font-size:28px;font-weight:500;color:var(--yellow)}
.stat p{color:var(--muted);font-size:12px;margin-top:14px;text-transform:uppercase;letter-spacing:.16em}
@media(max-width:640px){.stats__grid{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:none}.stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--line)}}

/* ============================================================
   PACKAGES
   ============================================================ */
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.pkg{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s,border-color .3s;transform-style:preserve-3d}
.pkg:hover{border-color:rgba(212,175,81,.35);box-shadow:var(--shadow)}
.pkg__img{height:200px;position:relative;overflow:hidden;background:linear-gradient(135deg,#12283f,#1d4e78)}
.pkg__img img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05) brightness(.86);transition:transform .8s var(--ease),filter .6s var(--ease);opacity:0;animation:imgin .7s var(--ease) forwards}
.pkg:hover .pkg__img img{transform:scale(1.06);filter:saturate(1) contrast(1.04) brightness(.98)}
.pkg__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(21,23,29,.9));pointer-events:none}
.pkg__img--somnath{background:linear-gradient(135deg,#3a1c1c,#6b3410)}
.pkg__img--combo{background:linear-gradient(135deg,#2b1c46,#5b2c86)}
.pkg__tag{position:absolute;top:14px;left:14px;z-index:2;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18);padding:6px 13px;border-radius:60px;font-size:12px;font-weight:600;color:var(--on-dark)}
.pkg__tag--hot{background:var(--yellow);color:#0a0b0d;border-color:var(--yellow)}
.pkg__body{padding:24px}
.pkg__body h3{font-size:22px;font-weight:700;letter-spacing:-.5px}
.pkg__body p{color:var(--muted);font-size:14.5px;margin:10px 0 16px}
.pkg__meta{display:flex;gap:18px;color:var(--muted);font-size:13.5px;margin-bottom:18px}
.pkg__meta li{display:inline-flex;align-items:center;gap:6px}
.pkg__meta [data-ic]{color:var(--yellow)}
.pkg__foot{display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--line);padding-top:16px}
.pkg__actions{display:flex;gap:10px}
.pkg__actions .btn{flex:1}
.grand__btns{display:flex;gap:12px;flex-wrap:wrap}
.pkg__price{font-family:var(--font-alt);font-size:26px;font-weight:700;color:var(--white)}
.pkg__price small{display:block;font-size:11px;color:var(--muted);font-weight:400;letter-spacing:1px}
.pkg--feature{border-color:rgba(212,175,81,.35);box-shadow:0 0 40px -20px rgba(212,175,81,.5)}
@media(max-width:900px){.pkg-grid{grid-template-columns:1fr;max-width:440px;margin-inline:auto}}

/* Flagship grand tour banner */
.grand{margin-top:26px;display:grid;grid-template-columns:1fr 1.05fr;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.grand__media{position:relative;min-height:360px;overflow:hidden;background:linear-gradient(145deg,#1b1e26,#101216)}
.grand__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.05) brightness(.9);transition:transform 1s var(--ease)}
.grand:hover .grand__media img{transform:scale(1.05)}
.grand__badge{position:absolute;top:18px;left:18px;z-index:2;background:var(--yellow);color:#161310;font-size:12px;font-weight:600;padding:7px 14px;border-radius:60px;box-shadow:0 8px 18px -6px rgba(0,0,0,.55)}
.grand__body{padding:clamp(28px,4vw,50px);display:flex;flex-direction:column;justify-content:center}
.grand__body .eyebrow{margin-bottom:6px}
.grand__body h3{font-family:var(--font-display);font-size:clamp(26px,3vw,40px);font-weight:500;line-height:1.08;letter-spacing:-.02em;margin:0 0 14px}
.grand__body p{color:var(--muted);font-size:15.5px;line-height:1.7;max-width:540px}
.grand__body p strong{color:var(--white);font-weight:600}
.grand__points{display:grid;grid-template-columns:1fr 1fr;gap:11px 22px;margin:24px 0 28px}
.grand__points li{display:flex;align-items:center;gap:9px;font-size:14.5px;color:var(--white)}
.grand__points [data-ic]{color:var(--yellow)}
.grand__foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px}
.grand__dur{display:block;margin-top:6px;font-size:13px;color:var(--muted)}
.grand__dur [data-ic]{color:var(--yellow)}
@media(min-width:821px){.grand__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 62%,var(--card))}}
@media(max-width:820px){.grand{grid-template-columns:1fr}.grand__media{min-height:220px}.grand__points{grid-template-columns:1fr}}

/* ============================================================
   ROUTE MAP
   ============================================================ */
.route{background:var(--ink-2)}
.route__inner{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.route__map{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.route__svg{width:100%;height:auto;overflow:visible}
.route__line{fill:none;stroke:var(--yellow);stroke-width:2.5;stroke-dasharray:8 6;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(212,175,81,.5))}
.route__stop circle{fill:#0a0b0d;stroke:var(--yellow);stroke-width:2.5;transform-box:fill-box;transform-origin:center;animation:stoppop .5s var(--ease) backwards;animation-delay:calc(.4s + var(--i)*.25s)}
@keyframes stoppop{from{scale:0}to{scale:1}}
.route__stop text{fill:var(--white);font-size:12px;font-weight:600;text-anchor:middle;font-family:var(--font-alt)}
.route__cab-glow{fill:rgba(212,175,81,.22)}
.route__cab-body{fill:var(--yellow)}
.route__cab-wheel{fill:#0a0b0d}
@media(max-width:820px){.route__inner{grid-template-columns:1fr;gap:36px}}

/* ============================================================
   FLEET
   ============================================================ */
.fleet__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.car{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .4s var(--ease),border-color .3s,box-shadow .4s}
.car:hover{transform:translateY(-8px);border-color:rgba(212,175,81,.4);box-shadow:var(--shadow)}
.car__photo{position:relative;height:196px;overflow:hidden;background:linear-gradient(145deg,#1b1e26,#101216)}
.car__photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05) brightness(.88);transition:transform .8s var(--ease),filter .6s var(--ease);opacity:0;animation:imgin .7s var(--ease) forwards}
@keyframes imgin{to{opacity:1}}
.car:hover .car__photo img{transform:scale(1.06);filter:saturate(1) contrast(1.04) brightness(1)}
.car__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(21,23,29,.85));pointer-events:none}
.car__type{position:absolute;top:14px;left:14px;z-index:2;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#0a0b0d;background:var(--yellow);padding:5px 12px;border-radius:60px;box-shadow:0 6px 14px -6px rgba(0,0,0,.6)}
.car__seats{position:absolute;bottom:12px;left:14px;z-index:2;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--on-dark);background:rgba(0,0,0,.5);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.15);padding:5px 12px;border-radius:60px}
.car__seats [data-ic]{color:var(--yellow)}
.car__info{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.car h3{font-size:21px;font-weight:700}
.car h3 em{font-style:normal;font-size:14px;color:var(--yellow)}
.car p{color:var(--muted);font-size:14px;margin:8px 0 16px}
.car__feat{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.car__feat span{font-size:12px;color:var(--muted);background:var(--chip-bg);border:1px solid var(--line);padding:5px 11px;border-radius:60px}
.car--pop{border-color:rgba(212,175,81,.4)}
.car__ribbon{position:absolute;top:14px;right:14px;z-index:3;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;background:linear-gradient(145deg,var(--yellow),var(--yellow-deep));color:#0a0b0d;font-size:11px;font-weight:700;padding:6px 13px;border-radius:60px;letter-spacing:.3px;box-shadow:0 8px 18px -6px rgba(0,0,0,.65)}
.car--cta{display:grid;place-items:center;text-align:center;padding:34px 24px;background:linear-gradient(160deg,var(--yellow-soft),var(--card));border-color:rgba(212,175,81,.3)}
.car__cta-inner h3{font-size:20px}
.car__cta-inner p{margin:10px 0 18px}
@media(max-width:900px){.fleet__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.fleet__grid{grid-template-columns:1fr;max-width:380px;margin-inline:auto}}
.car__row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.car__rate{font-family:var(--font-alt);font-weight:700;color:var(--yellow);font-size:19px;white-space:nowrap;line-height:1}
.car__rate small{font-size:11px;color:var(--muted);font-weight:400;letter-spacing:.5px}

/* ============================================================
   SERVICES
   ============================================================ */
.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;overflow:hidden;transition:transform .35s var(--ease),border-color .3s,box-shadow .4s}
.svc::before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:linear-gradient(180deg,var(--yellow),var(--yellow-deep));transform:scaleY(0);transform-origin:top;transition:transform .4s var(--ease)}
.svc:hover{transform:translateY(-6px);border-color:rgba(212,175,81,.35);box-shadow:var(--shadow)}
.svc:hover::before{transform:scaleY(1)}
.svc__ic{width:56px;height:56px;border-radius:16px;background:var(--yellow-soft);color:var(--yellow);display:grid;place-items:center;font-size:26px;margin-bottom:18px;transition:transform .4s var(--ease)}
.svc:hover .svc__ic{transform:rotate(-8deg) scale(1.06)}
.svc h3{font-size:19px;font-weight:600;margin-bottom:8px}
.svc p{color:var(--muted);font-size:14.5px}
@media(max-width:900px){.services__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.services__grid{grid-template-columns:1fr}}

/* ============================================================
   TARIFF
   ============================================================ */
.tariff{background:var(--ink-2)}
.tariff__grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.tariff__card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.tariff__card h3{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600;margin-bottom:18px}
.tariff__card h3 [data-ic]{color:var(--yellow)}
.tariff__table{width:100%;border-collapse:collapse;font-size:15px}
.tariff__table th{text-align:left;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:600;padding:0 0 12px;border-bottom:1px solid var(--line-2)}
.tariff__table th:not(:first-child),.tariff__table td:not(:first-child){text-align:right;font-family:var(--font-alt);font-weight:600}
.tariff__table td{padding:13px 0;border-bottom:1px solid var(--line);color:#d6dae2}
.tariff__table tbody tr:last-child td{border-bottom:none}
.tariff__table tbody tr{transition:background .2s}
.tariff__table tbody tr:hover td{color:var(--white)}
.tariff__table td:not(:first-child){color:var(--yellow)}
.tariff__perkm{margin-top:22px;padding-top:20px;border-top:1px dashed var(--line-2)}
.tariff__perkm h4{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.tariff__perkm ul{display:flex;flex-wrap:wrap;gap:10px}
.tariff__perkm li{display:flex;align-items:center;gap:8px;background:var(--chip-bg);border:1px solid var(--line);border-radius:60px;padding:7px 14px;font-size:13px;color:var(--muted)}
.tariff__perkm li b{font-family:var(--font-alt);color:var(--yellow)}
.tariff__notes{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.tariff__notes li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--muted)}
.tariff__notes [data-ic]{color:var(--yellow);font-size:16px;margin-top:2px;flex:none}
.tariff__cta{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:34px;flex-wrap:wrap;text-align:center}
.tariff__cta p{color:var(--muted);font-size:16px}
@media(max-width:820px){.tariff__grid{grid-template-columns:1fr}.tariff__notes{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.tariff__notes{grid-template-columns:1fr}}

/* ============================================================
   WHY
   ============================================================ */
.why__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.why__card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px 24px;transition:transform .35s var(--ease),border-color .3s}
.why__card:hover{transform:translateY(-6px);border-color:rgba(212,175,81,.35)}
.why__ic{width:56px;height:56px;border-radius:16px;background:var(--yellow-soft);color:var(--yellow);display:grid;place-items:center;font-size:26px;margin-bottom:18px}
.why__card h3{font-size:18px;font-weight:600;margin-bottom:8px}
.why__card p{color:var(--muted);font-size:14px}
@media(max-width:900px){.why__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.why__grid{grid-template-columns:1fr}}

/* ============================================================
   STEPS
   ============================================================ */
.steps{background:var(--ink-2)}
.steps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;counter-reset:step}
.step{position:relative;padding:36px 28px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.step__n{font-family:var(--font-alt);font-size:56px;font-weight:700;color:transparent;-webkit-text-stroke:1.5px rgba(212,175,81,.5);display:block;margin-bottom:6px}
.step h3{font-size:20px;font-weight:600;margin-bottom:8px}
.step p{color:var(--muted);font-size:14.5px}
.step::after{content:"";position:absolute;right:-40px;bottom:-40px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(212,175,81,.12),transparent 70%)}
@media(max-width:820px){.steps__grid{grid-template-columns:1fr;max-width:440px;margin-inline:auto}}

/* ============================================================
   REVIEWS
   ============================================================ */
.reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.review{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:transform .35s var(--ease),border-color .3s;position:relative}
.review::before{content:"“";position:absolute;top:6px;right:22px;font-family:Georgia,serif;font-size:80px;color:rgba(212,175,81,.16);line-height:1}
.review:hover{transform:translateY(-6px);border-color:rgba(212,175,81,.3)}
.review__stars{color:var(--yellow);letter-spacing:3px;margin-bottom:14px}
.review blockquote{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:20px;color:var(--white);line-height:1.55}
.review figcaption{display:flex;align-items:center;gap:12px;margin-top:20px;font-weight:600;font-size:14.5px}
.review figcaption em{font-style:normal;color:var(--muted);font-weight:400;font-size:13px}
.review__ava{width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,var(--yellow),var(--yellow-deep));color:#0a0b0d;display:grid;place-items:center;font-weight:800;font-family:var(--font-alt)}
@media(max-width:900px){.reviews__grid{grid-template-columns:1fr;max-width:520px;margin-inline:auto}}

/* ============================================================
   BOOK
   ============================================================ */
.book{background:radial-gradient(90% 120% at 90% 0,rgba(212,175,81,.08),transparent 55%),var(--ink)}
.book__inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:start}
.book__info .section__title{text-align:left}
.book__contacts{margin:30px 0}
.book__contacts li{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.book__ic{width:48px;height:48px;flex:none;border-radius:14px;background:var(--yellow-soft);color:var(--yellow);display:grid;place-items:center;font-size:20px}
.book__contacts small{display:block;color:var(--muted);font-size:12px;letter-spacing:1px;text-transform:uppercase}
.book__contacts a,.book__contacts span{font-weight:600;font-size:16px}
.book__contacts a:hover{color:var(--yellow)}
.book__form{background:var(--book-form-bg);border:1px solid var(--line);border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow)}
.book__hint{text-align:center;font-size:12.5px;color:var(--muted)}
@media(max-width:860px){.book__inner{grid-template-columns:1fr;gap:34px}}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:#050506;border-top:1px solid var(--line);padding-top:64px}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:44px}
.brand--footer{margin-bottom:18px}
.footer__brand p{color:var(--muted);font-size:14px;max-width:320px}
.footer__col h4{font-size:15px;font-weight:600;margin-bottom:16px;color:var(--white)}
.footer__col a,.footer__col span{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:14px;padding:6px 0;transition:color .2s}
.footer__col a:hover{color:var(--yellow)}
.footer__col [data-ic]{color:var(--yellow)}
.footer__bar{border-top:1px solid var(--line);padding:22px 0}
.footer__bar-inner{display:flex;justify-content:space-between;color:var(--muted-2);font-size:13px;gap:16px;flex-wrap:wrap}
.footer__credits a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.footer__credits a:hover{color:var(--yellow)}
@media(max-width:820px){.footer__grid{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:520px){.footer__grid{grid-template-columns:1fr}.footer__bar-inner{flex-direction:column;gap:6px;text-align:center}}

/* ============================================================
   FAB + TOAST
   ============================================================ */
.fab{position:fixed;right:20px;bottom:20px;z-index:700;display:flex;flex-direction:column;gap:12px}
.fab__btn{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:24px;color:#fff;box-shadow:0 12px 26px -8px rgba(0,0,0,.6);transition:transform .3s var(--ease)}
.fab__btn:hover{transform:scale(1.1)}
.fab__btn--wa{background:var(--green)}
.fab__btn--wa::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--green);animation:ripple 2s infinite}
.fab__btn--call{background:linear-gradient(145deg,var(--yellow),var(--yellow-deep));color:#0a0b0d}
.fab__btn{position:relative}
@keyframes ripple{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.6);opacity:0}}

.toast{position:fixed;bottom:30px;left:50%;translate:-50% 100px;background:var(--card-2);border:1px solid var(--line-2);color:var(--white);padding:14px 24px;border-radius:60px;font-size:14px;font-weight:500;z-index:9998;opacity:0;transition:all .4s var(--ease);box-shadow:var(--shadow)}
.toast.show{translate:-50% 0;opacity:1}
.toast b{color:var(--yellow)}

/* ============================================================
   REVEAL ANIMATION
   ============================================================ */
.reveal{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:calc(var(--d,1) * .09s)}
.reveal.in{opacity:1;transform:none}
[data-d="2"]{--d:2}[data-d="3"]{--d:3}[data-d="4"]{--d:4}[data-d="5"]{--d:5}[data-d="6"]{--d:6}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
