/* IndianTechHub — golden-brown theme with live video background */
:root{
  --bg:#120b06;--bg2:#1c120a;--panel:rgba(30,19,10,.74);--panel-solid:#1d130b;
  --gold:#E2B04A;--gold2:#F4D58D;--amber:#C98A2B;--copper:#A8632A;--cream:#FFF4DE;--muted:#d4c2a2;
  --line:rgba(226,176,74,.24);--grad:linear-gradient(135deg,#C98A2B,#F4D58D);
  --radius:18px;--shadow:0 20px 55px rgba(0,0,0,.5);
  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
html{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{max-width:100%;font-family:var(--font);background:var(--bg);color:var(--cream);line-height:1.68;font-size:16.5px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-decoration:none;transition:.2s}
a:hover{color:#fff}
h1,h2,h3,h4{color:#fff;line-height:1.16;letter-spacing:-.01em}
h1,h2{font-family:var(--serif);font-weight:700}
h1{font-size:clamp(2.1rem,4.8vw,3.7rem)}
h2{font-size:clamp(1.65rem,3.2vw,2.5rem)}
h3{font-size:1.15rem;font-weight:650}
p{color:var(--muted)}
.container{width:min(1200px,92%);margin-inline:auto}
section{padding:88px 0;position:relative}
.eyebrow{display:inline-block;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--gold);margin-bottom:14px}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.section-head{max-width:780px;margin-bottom:48px}
.section-head.center{margin-inline:auto;text-align:center}
.section-head p{margin-top:14px;font-size:1.05rem}
.sr{position:absolute;left:-9999px}.sr:focus{left:10px;top:10px;z-index:999;background:#fff;color:#000;padding:10px}

/* ---------- Live video background ---------- */
.bg-fallback{position:fixed;inset:0;z-index:-3;background:
  radial-gradient(900px 600px at 80% 10%,rgba(201,138,43,.38),transparent 60%),
  radial-gradient(800px 600px at 10% 90%,rgba(168,99,42,.32),transparent 60%),
  linear-gradient(160deg,#1c120a,#120b06 60%,#241508)}
.bg-video{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:0;transition:opacity 1.4s ease}
.vid-on .bg-video{opacity:1}
.bg-overlay{position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,11,6,.34) 0%,rgba(18,11,6,.48) 45%,rgba(18,11,6,.66) 100%)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;font-weight:650;font-size:.97rem;border:1.5px solid transparent;cursor:pointer;transition:.25s;font-family:inherit;line-height:1.2}
.btn-primary{background:var(--grad);color:#2a1706;box-shadow:0 8px 28px rgba(226,176,74,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(244,213,141,.45);color:#2a1706}
.btn-outline{border-color:rgba(255,244,222,.45);color:#fff;background:rgba(255,255,255,.05)}
.btn-outline:hover{border-color:var(--gold);background:rgba(226,176,74,.14);color:#fff}
.btn-wa{background:#18b757;color:#fff}.btn-wa:hover{background:#12a04b;color:#fff;transform:translateY(-2px)}
.btn svg,.ic{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.btn-wa svg.wa{fill:#fff;stroke:none;width:20px;height:20px}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.btn-sm{padding:10px 20px;font-size:.9rem}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(18,11,6,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px;position:relative}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:1.25rem;color:#fff;letter-spacing:-.02em}

.brand b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.menu{display:flex;align-items:center;gap:2px;list-style:none}
.menu>li>a{display:block;padding:10px 13px;color:var(--cream);font-weight:550;font-size:.93rem;border-radius:10px}
.menu>li>a:hover,.menu>li>a.active{color:var(--gold);background:rgba(226,176,74,.09)}
.mega{position:absolute;left:0;right:0;top:calc(100% - 1px);background:#1a1008;border:1px solid var(--line);border-radius:18px;padding:26px;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility 0s linear .15s}
.menu>li.has-mega:hover .mega,.menu>li.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.mega h4{font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.mega h4 a{color:var(--gold)}
.mega a{display:block;padding:5px 0;color:var(--cream);font-size:.9rem}
.mega a:hover{color:var(--gold)}
.mega .all{margin-top:6px;font-weight:650;color:var(--gold)}
.nav-cta{display:flex;align-items:center;gap:10px}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.burger svg{width:28px;height:28px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round}

/* ---------- Hero ---------- */
.hero{padding:84px 0 92px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}
.hero p.lead{font-size:1.12rem;margin-top:20px;max-width:620px}
.hero-img{border-radius:26px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 80px rgba(201,138,43,.18);position:relative}
.hero-img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.crumbs{font-size:.86rem;margin-bottom:16px;color:var(--muted)}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--gold)}
.tagline-strip{margin-top:30px;padding:16px 22px;border-left:3px solid var(--gold);background:rgba(226,176,74,.08);border-radius:0 12px 12px 0;color:var(--cream);font-weight:550}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.badge{padding:8px 15px;border-radius:999px;border:1px solid var(--line);background:rgba(18,11,6,.55);font-size:.84rem;color:var(--cream);font-weight:550}

/* ---------- Bands & cards ---------- */
.band{background:rgba(18,11,6,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-block:1px solid rgba(226,176,74,.1)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.card{background:var(--panel);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.3s}
.card:hover{transform:translateY(-6px);border-color:rgba(244,213,141,.55);box-shadow:0 22px 50px rgba(201,138,43,.22)}
.card-img{aspect-ratio:16/10;overflow:hidden;display:block}
.card-img img{width:100%;height:100%;object-fit:cover;transition:.5s}
.card:hover .card-img img{transform:scale(1.06)}
.card-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.card h3{margin-bottom:9px}
.card p{font-size:.94rem;flex:1}
.more{margin-top:16px;font-weight:650;display:inline-flex;align-items:center;gap:7px;font-size:.92rem}
.more svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;transition:.2s}
.card:hover .more svg{transform:translateX(5px)}
.card-icon{width:46px;height:46px;border-radius:13px;background:rgba(226,176,74,.14);border:1px solid var(--line);display:grid;place-items:center;color:var(--gold);margin-bottom:14px}
.card-icon .ic{width:24px;height:24px}

/* Feature (big) pillar cards */
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.pillar{display:grid;grid-template-columns:1fr;background:var(--panel);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:24px;overflow:hidden;transition:.3s;position:relative}
.pillar:hover{transform:translateY(-6px);border-color:rgba(244,213,141,.6);box-shadow:0 26px 60px rgba(201,138,43,.26)}
.pillar.big .pillar-img{aspect-ratio:16/8}
.pillar-img img{width:100%;height:100%;object-fit:cover}
.pillar-body{padding:26px 28px 30px}
.pillar .num{font-family:var(--serif);font-size:2.2rem;color:var(--gold);opacity:.9;line-height:1}
.pillar h3{font-size:1.45rem;margin:6px 0 10px;font-family:var(--serif)}
.pillar.small{grid-template-columns:1fr}
.pillars.second{margin-top:26px}
.tag{position:absolute;top:18px;left:18px;background:var(--grad);color:#2a1706;font-weight:700;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 13px;border-radius:999px;z-index:2}

/* Split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split p{margin-top:16px}
.split-img{border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}

/* Lists */
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.check{display:flex;gap:12px;align-items:flex-start;padding:14px 17px;background:var(--panel);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;color:var(--cream);font-weight:520;transition:.25s}
.check:hover{border-color:rgba(244,213,141,.55);transform:translateY(-2px)}
.check svg{width:21px;height:21px;stroke:var(--gold);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-top:3px}
.group{margin-bottom:40px}
.group h3{font-family:var(--serif);font-size:1.4rem;margin-bottom:16px;color:var(--gold2)}
.chips{display:flex;flex-wrap:wrap;gap:11px}
.chip{padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:rgba(226,176,74,.1);color:var(--cream);font-weight:550;font-size:.92rem}
a.chip:hover{background:rgba(226,176,74,.25);color:#fff}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;counter-reset:s}
.step{padding:24px 22px;background:var(--panel);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--radius)}
.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--serif);font-size:2.2rem;font-weight:700;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:6px}
.step h3{margin-bottom:8px}.step p{font-size:.92rem}
.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tile{padding:28px;background:var(--panel);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--radius);transition:.3s}
.tile:hover{border-color:rgba(244,213,141,.55);transform:translateY(-4px)}
.tile h3{margin-bottom:10px}.tile p{font-size:.96rem}

.notice{padding:22px 26px;border-radius:16px;border:1px solid rgba(244,213,141,.4);background:linear-gradient(135deg,rgba(201,138,43,.2),rgba(226,176,74,.06));margin-top:30px}
.notice strong{color:#fff;font-size:1.05rem}
.notice p{color:var(--cream);margin-top:6px}
.hindi{padding:26px 30px;border-radius:18px;background:var(--panel);border:1px dashed rgba(226,176,74,.45);margin-top:36px}
.hindi p{color:var(--cream);font-size:1.08rem;line-height:1.9}
.hindi .eyebrow{margin-bottom:8px}

/* Contract spotlight */
.spot{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:44px;border-radius:28px;background:radial-gradient(600px 300px at 90% 0,rgba(244,213,141,.2),transparent 60%),linear-gradient(135deg,rgba(60,36,18,.88),rgba(30,19,10,.9));border:1px solid rgba(244,213,141,.4);box-shadow:0 30px 80px rgba(0,0,0,.5)}
.spot ul{list-style:none;margin-top:18px}
.spot li{padding:7px 0 7px 28px;position:relative;color:var(--cream)}
.spot li::before{content:"";position:absolute;left:0;top:15px;width:14px;height:8px;border-left:3px solid var(--gold);border-bottom:3px solid var(--gold);transform:rotate(-45deg)}
.spot .split-img{box-shadow:none}

/* FAQ */
.faq{max-width:880px;margin-inline:auto}
details{background:var(--panel);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden;transition:.25s}
details[open]{border-color:rgba(244,213,141,.55)}
summary{cursor:pointer;padding:18px 24px;font-weight:620;color:#fff;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.6rem;color:var(--gold);line-height:1;transition:.25s}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 24px 22px}

/* CTA band */
.cta-band{padding:76px 0}
.cta-box{border-radius:30px;padding:60px 44px;text-align:center;background:radial-gradient(600px 300px at 80% 0,rgba(244,213,141,.3),transparent 60%),linear-gradient(135deg,rgba(60,36,18,.92),rgba(120,72,24,.92) 60%,rgba(201,138,43,.9));border:1px solid rgba(244,213,141,.45);box-shadow:0 30px 80px rgba(0,0,0,.5)}
.cta-box p{color:#f6e8cc;max-width:680px;margin:16px auto 0;font-size:1.05rem}
.cta-box .btn-row{justify-content:center}
.cta-box .btn-primary{background:#fff;color:#2a1706;box-shadow:none}
.cta-box .btn-primary:hover{background:var(--cream)}

/* Forms */
.enquire{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:start}
.info-card,.form-card{background:var(--panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:22px;padding:32px}
.info-row{display:flex;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}
.info-row:last-of-type{border:0}
.info-row .card-icon{margin:0;flex:none}
.info-row h4{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:3px;font-family:var(--font)}
.info-row p,.info-row a{color:var(--cream)}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:17px}
.field.full{grid-column:1/-1}
label{display:block;font-size:.87rem;font-weight:600;margin-bottom:7px;color:var(--cream)}
label .req{color:var(--gold)}
input,select,textarea{width:100%;padding:13px 15px;border-radius:12px;border:1.5px solid rgba(212,194,162,.3);background:rgba(18,11,6,.85);color:#fff;font-family:inherit;font-size:.97rem;transition:.2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(226,176,74,.18)}
textarea{min-height:120px;resize:vertical}
select option{background:#1c120a;color:#fff}
input.invalid,select.invalid,textarea.invalid{border-color:#ff8a76}
.err{color:#ffab9b;font-size:.82rem;margin-top:5px;display:none}
.field.has-error .err{display:block}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden}
.alert{padding:15px 20px;border-radius:12px;margin-bottom:18px;display:none;font-weight:520}
.alert.show{display:block}
.alert.ok{background:rgba(24,183,87,.16);border:1px solid rgba(24,183,87,.55);color:#c2f5d6}
.alert.bad{background:rgba(255,138,118,.13);border:1px solid rgba(255,138,118,.5);color:#ffd0c7}
.alert a{text-decoration:underline;color:#fff}
.form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.form-note{font-size:.82rem;margin-top:14px}
.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.tab{padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:rgba(18,11,6,.6);color:var(--cream);cursor:pointer;font-family:inherit;font-weight:600;font-size:.9rem;transition:.2s}
.tab.active,.tab:hover{background:var(--grad);color:#2a1706;border-color:transparent}
.panel[hidden]{display:none}
.map{border-radius:22px;overflow:hidden;border:1px solid var(--line);margin-top:34px}
.map iframe{width:100%;height:420px;border:0;display:block;filter:sepia(.55) saturate(.9) brightness(.85) contrast(1.05)}

/* Footer */
.site-footer{background:rgba(10,6,3,.92);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:70px 0 0}
.foot-grid{display:grid;grid-template-columns:1.3fr .9fr 1.2fr 1.2fr;gap:40px}
.site-footer h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.13em;color:var(--gold);margin-bottom:16px;font-family:var(--font)}
.site-footer ul{list-style:none}
.site-footer li{margin-bottom:9px}
.site-footer a{color:var(--muted);font-size:.93rem}
.site-footer a:hover{color:#fff}
.foot-bottom{margin-top:48px;padding:22px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.87rem;color:var(--muted)}
.foot-bottom nav{display:flex;gap:22px;flex-wrap:wrap}
.foot-contact li{display:flex;gap:10px;align-items:flex-start}
.foot-contact .ic{width:17px;height:17px;margin-top:5px;color:var(--gold)}
.foot-area{margin-top:14px;font-size:.86rem;color:var(--muted)}
.wa-float{position:fixed;right:20px;bottom:20px;z-index:90;width:58px;height:58px;border-radius:50%;background:#18b757;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.5);transition:.25s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px;fill:#fff}
.call-float{position:fixed;left:20px;bottom:20px;z-index:90;display:none;align-items:center;gap:8px;background:var(--grad);color:#2a1706;font-weight:700;padding:13px 20px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.call-float svg{stroke:#2a1706}
.legal{max-width:860px}
.legal h2{font-size:1.5rem;margin:36px 0 12px}
.legal p,.legal li{margin-bottom:12px}
.legal ul{padding-left:22px;color:var(--muted)}
.sitemap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.sitemap-grid h3{font-family:var(--serif);color:var(--gold2);margin-bottom:12px}
.sitemap-grid ul{list-style:none}.sitemap-grid li{margin-bottom:8px}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
html.calm *{transition:none!important;animation:none!important}html.calm .reveal{opacity:1;transform:none}html.calm{scroll-behavior:auto}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .menu>li>a{padding:10px 9px;font-size:.88rem}
}
@media(max-width:1020px){
  .hero-grid,.split,.enquire,.spot{grid-template-columns:1fr}
  .tri,.pillars{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .burger{display:block}
  .nav-cta .btn{display:none}
  /* backdrop-filter makes the header the containing block for position:fixed children,
     which collapsed the mobile menu to 76px and widened the page. Disable it here. */
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(18,11,6,.97)}
  .menu{position:fixed;top:76px;left:0;right:0;bottom:0;height:calc(100vh - 76px);height:calc(100dvh - 76px);background:#120b06;flex-direction:column;align-items:stretch;padding:18px 5% 40px;gap:2px;overflow-y:auto;overscroll-behavior:contain;transform:translateX(100%);visibility:hidden;transition:transform .3s,visibility 0s linear .3s}
  .menu.open{transform:none;visibility:visible;transition:transform .3s,visibility 0s}
  .menu>li>a{padding:14px 12px;font-size:1.05rem}
  .mega{position:static;opacity:1;visibility:visible;transform:none;display:none;grid-template-columns:1fr;box-shadow:none;border:0;background:transparent;padding:0 0 8px 12px;gap:10px}
  .menu>li.open .mega{display:grid}
  .call-float{display:inline-flex}
}
@media(max-width:620px){
  section{padding:64px 0}
  form .row{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .cta-box{padding:44px 22px}.spot{padding:28px 22px}
  .info-card,.form-card{padding:22px}
  .btn{width:100%;justify-content:center}
  .btn-row,.form-actions{flex-direction:column}
  .wa-float{bottom:84px}
}

.guide h2{font-size:1.5rem;margin:30px 0 12px}.guide p{margin-bottom:12px}.guide .checks{grid-template-columns:1fr;margin:10px 0}
body{text-rendering:optimizeLegibility}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media print{.bg-video,.bg-fallback,.bg-overlay,.wa-float,.call-float{display:none}}

.chips{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 22px}.chip{padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:rgba(226,176,74,.1);color:var(--cream);font-size:.92rem}.group+.group{margin-top:10px}

/* ---------- Desktop menu: no dead gap between item and panel ---------- */
@media(min-width:1021px){.menu{align-self:stretch}.menu>li{display:flex;align-items:center}}
/* ---------- Live background + animations ---------- */
.bg-fallback{background:url(/media/LiveBG-poster.jpg) center/cover no-repeat,#120b06}
body::after{content:"";position:fixed;inset:-20%;z-index:-1;pointer-events:none;opacity:.55;mix-blend-mode:screen;
  background:radial-gradient(420px 420px at 20% 30%,rgba(226,176,74,.22),transparent 70%),radial-gradient(520px 520px at 80% 70%,rgba(201,138,43,.2),transparent 70%);
  animation:drift 22s ease-in-out infinite alternate}
@keyframes drift{from{transform:translate3d(-4%,-3%,0) scale(1)}to{transform:translate3d(5%,4%,0) scale(1.12)}}
.progress{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--grad);transform:scaleX(0);transform-origin:0 50%;z-index:200;pointer-events:none}
.site-header.scrolled{box-shadow:0 10px 30px rgba(0,0,0,.45)}
.hero-img img{animation:floaty 7s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.grad-text{background-size:220% 100%;animation:shine 6s linear infinite;background-image:linear-gradient(100deg,#C98A2B,#F4D58D,#C98A2B,#F4D58D,#C98A2B)}
@keyframes shine{to{background-position:-220% 0}}
.btn-primary{position:relative;overflow:hidden}
.btn-primary::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:sweep 4.5s ease-in-out infinite}
@keyframes sweep{0%,55%{left:-60%}100%{left:130%}}
.wa-float{animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(24,183,87,.55)}100%{box-shadow:0 0 0 22px rgba(24,183,87,0)}}
.reveal{transition:opacity .7s ease,transform .7s ease}
.cards .reveal:nth-child(2),.checks .reveal:nth-child(2),.steps .reveal:nth-child(2){transition-delay:.08s}
.cards .reveal:nth-child(3),.checks .reveal:nth-child(3),.steps .reveal:nth-child(3){transition-delay:.16s}
.cards .reveal:nth-child(4),.checks .reveal:nth-child(4),.steps .reveal:nth-child(4){transition-delay:.24s}
.chip{transition:.25s}.chip:hover{transform:translateY(-3px);border-color:var(--gold);background:rgba(226,176,74,.2)}


.brand .logo{height:46px;width:auto;display:block;filter:drop-shadow(0 2px 10px rgba(0,0,0,.45));transition:.25s}.brand:hover .logo{transform:translateY(-1px)}
.site-footer .brand .logo{height:54px}
@media(max-width:520px){.brand .logo{height:38px}}

/* cookie banner + legal tables */
.ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;max-width:880px;margin:0 auto;background:var(--panel-solid);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 22px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.ck p{flex:1 1 320px;font-size:.92rem;color:var(--muted);margin:0}
.ck p a{color:var(--gold2);text-decoration:underline}
.ck-btns{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:600px){.ck{left:10px;right:10px;bottom:10px;padding:16px}.ck-btns{width:100%}.ck-btns .btn{flex:1;justify-content:center}}
.tbl-wrap{overflow-x:auto;margin:12px 0 18px;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;font-size:.92rem;min-width:560px}
.tbl th,.tbl td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;color:var(--muted)}
.tbl th{color:var(--cream);background:rgba(226,176,74,.1)}
.legal a{color:var(--gold2)}

/* ---------- Extra mobile polish ---------- */
@media(max-width:1020px){
  .nav{height:68px}.menu{top:68px;height:calc(100vh - 68px);height:calc(100dvh - 68px)}
  .hero{padding:48px 0 56px}
  .hero-img img,.hero-img{animation:none}
}
@media(max-width:620px){
  body{font-size:16px}
  h1{font-size:clamp(1.85rem,8vw,2.4rem)}
  .eyebrow{letter-spacing:.12em;font-size:.72rem}
  .section-head{margin-bottom:32px}
  .cards{grid-template-columns:1fr}
  .checks{grid-template-columns:1fr}
  .pillar-body{padding:22px 20px 26px}
  .pillar.big .pillar-img{aspect-ratio:16/10}
  .tile{padding:22px}
  .group h3{font-size:1.2rem}
  summary{padding:16px 18px}details p{padding:0 18px 18px}
  .hindi{padding:20px}
  .map iframe{height:300px}
  .foot-bottom{flex-direction:column}
  .call-float{padding:12px 16px;left:12px;bottom:12px}
  .wa-float{right:12px;bottom:72px;width:52px;height:52px}
  .progress{height:2px}
}
@media(max-width:620px){.container{width:min(1200px,calc(100% - 32px))}}
@media(hover:none){.card:hover,.pillar:hover,.tile:hover,.check:hover,.chip:hover{transform:none}}
img,video,iframe,svg{max-width:100%}
.tagline-strip,.notice,.hero p,.card p,.pillar p{overflow-wrap:anywhere}
@media(max-width:1020px){body{padding-bottom:70px}}
.enquire>*,.split>*,.hero-grid>*,.spot>*,.foot-grid>*,.pillars>*,.tri>*{min-width:0}
.info-row>div,.info-row p,.info-row a,.form-card,.info-card{overflow-wrap:anywhere}
@media(max-width:380px){.info-card,.form-card{padding:18px}.btn{padding:13px 18px}}
