/* =========================================================
   Nachiyar Chit Fund Private Limited — Design System
   Layout concept: carved-gold temple ledger — maroon velvet bands
   alternate with ivory ledger pages; gold rules frame every figure.
   ========================================================= */
:root{
  --maroon-950:#1f0307;
  --maroon-900:#2e050b;
  --maroon-800:#4a0912;
  --maroon-700:#6b0f1a;
  --maroon-600:#8a1626;
  --maroon-500:#a8283a;
  --gold-700:#8a6116;
  --gold-600:#b08227;
  --gold-500:#d1a23a;
  --gold-400:#e6c063;
  --gold-300:#f4d98f;
  --gold-200:#fbebc0;
  --ivory:#fffaf0;
  --ivory-2:#fbf2df;
  --paper:#fffdf8;
  --ink:#2a1712;
  --ink-2:#4a3329;
  --muted:#7a6255;
  --line:#ead8b2;
  --green:#1f7a3f;
  --red:#b3261e;
  --gold-grad:linear-gradient(135deg,#8a6116 0%,#e9c46a 22%,#fff1c1 38%,#d1a23a 55%,#f4d98f 72%,#9c6f1b 100%);
  --gold-grad-soft:linear-gradient(135deg,#f6e2a8,#fff6d9 45%,#e8c56c);
  --maroon-grad:linear-gradient(140deg,#2e050b 0%,#6b0f1a 48%,#8a1626 70%,#4a0912 100%);
  --shadow-sm:0 2px 8px rgba(74,9,18,.08);
  --shadow:0 14px 40px -12px rgba(74,9,18,.28);
  --shadow-gold:0 10px 30px -10px rgba(177,130,39,.55);
  --radius:14px;
  --radius-lg:22px;
  --f-display:"Cinzel","Playfair Display",Georgia,serif;
  --f-head:"Playfair Display",Georgia,"Times New Roman",serif;
  --f-body:"Mulish","Segoe UI",system-ui,-apple-system,sans-serif;
  --f-ta:"Noto Sans Tamil","Latha","Nirmala UI",sans-serif;
  --f-ta-head:"Noto Serif Tamil","Noto Sans Tamil","Latha",serif;
  --container:1220px;
  --gutter:clamp(16px,4vw,40px);
  --header-h:78px;
  --nav-h:52px;
  color-scheme:light;
}
html[lang="ta"]{
  --f-head:var(--f-ta-head);
  --f-body:var(--f-ta);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--f-body);font-size:16px;line-height:1.65;color:var(--ink);
  background:var(--ivory);overflow-x:hidden;
}
html[lang="ta"] body{font-size:15.5px;line-height:1.8}
main{overflow-x:clip}
main>.section:first-of-type{padding-top:clamp(40px,5vw,64px)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--f-head);line-height:1.2;margin:0;text-wrap:balance;color:var(--maroon-800)}
p{margin:0}
:focus-visible{outline:3px solid var(--gold-500);outline-offset:3px;border-radius:6px}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.num,.tabular{font-variant-numeric:tabular-nums}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Preloader ---------- */
#preloader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:var(--maroon-grad);transition:opacity .6s ease,visibility .6s}
#preloader.done{opacity:0;visibility:hidden}
.pl-inner{position:relative;width:132px;height:132px;display:grid;place-items:center}
.pl-inner img{width:96px;height:96px;border-radius:50%;animation:plPulse 1.6s ease-in-out infinite}
.pl-ring{position:absolute;inset:0;border-radius:50%;border:3px solid transparent;border-top-color:var(--gold-400);border-right-color:var(--gold-600);animation:spin 1.1s linear infinite}
.pl-ring.r2{inset:-12px;border-top-color:transparent;border-bottom-color:var(--gold-300);animation-duration:1.8s;animation-direction:reverse;opacity:.7}
.pl-text{position:absolute;top:calc(100% + 26px);left:50%;transform:translateX(-50%);white-space:nowrap;font-family:var(--f-display);letter-spacing:.32em;color:var(--gold-300);font-size:13px}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes plPulse{50%{transform:scale(.92);filter:brightness(1.15)}}

body.page-enter main{animation:pageIn .8s cubic-bezier(.2,.7,.2,1) both}
@keyframes pageIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ---------- Scroll progress ---------- */
#scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;z-index:1200;background:var(--gold-grad);transform-origin:left;transform:scaleX(0)}

/* ---------- Top bar ---------- */
.topbar{background:var(--maroon-950);color:var(--gold-200);font-size:13px}
.topbar .container{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px;flex-wrap:wrap}
.topbar a{display:inline-flex;align-items:center;gap:6px;opacity:.9;transition:opacity .2s,color .2s}
.topbar a:hover{opacity:1;color:#fff}
.topbar .tb-left,.topbar .tb-right{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.topbar svg{width:14px;height:14px;fill:var(--gold-400)}
.tb-tag{font-family:var(--f-ta);color:var(--gold-300)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:1000;background:rgba(255,250,240,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:box-shadow .3s,background .3s}
.site-header.scrolled{box-shadow:0 10px 30px -18px rgba(74,9,18,.45);background:rgba(255,250,240,.97)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gold-grad);opacity:.85}
.nav-wrap{display:flex;align-items:center;gap:18px;min-height:var(--header-h);transition:min-height .35s}
.site-header.scrolled .nav-wrap{min-height:64px}
.site-header.scrolled .brand img{width:46px;height:46px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand img{width:54px;height:54px;border-radius:50%;box-shadow:0 0 0 2px var(--gold-400),0 6px 16px -6px rgba(74,9,18,.5);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.brand:hover img{transform:rotate(-12deg) scale(1.05)}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-name{font-family:var(--f-display);font-weight:800;font-size:23px;letter-spacing:.06em;background:linear-gradient(180deg,#8a1626,#4a0912);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-sub{font-family:var(--f-display);font-size:10.5px;letter-spacing:.14em;color:var(--gold-700);font-weight:700;margin-top:3px}
.main-nav{position:relative;background:var(--maroon-grad);border-top:1px solid var(--gold-600)}
.main-nav::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 40%,rgba(255,241,193,.10) 50%,transparent 60%);background-size:250% 100%;animation:navSheen 7s linear infinite}
@keyframes navSheen{from{background-position:150% 0}to{background-position:-100% 0}}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;align-items:center;justify-content:space-between;min-height:var(--nav-h)}
.main-nav ul a{position:relative;display:block;white-space:nowrap;padding:14px 10px;font-weight:800;font-size:14.5px;color:var(--gold-200);border-radius:8px;transition:color .25s,background .25s}
html[lang="ta"] .main-nav ul a{font-size:13.5px;padding:14px 7px}
.main-nav ul a::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--gold-grad);transform:scaleX(0);transform-origin:right;transition:transform .35s ease}
.main-nav ul a:hover,.main-nav ul a.active{color:#fff6dc}
.main-nav ul a.active{background:rgba(230,192,99,.14)}
.main-nav ul a:hover::after,.main-nav ul a.active::after{transform:scaleX(1);transform-origin:left}
.nav-actions{display:flex;align-items:center;gap:12px;margin-left:auto}
.hdr-cta{display:inline-flex}
.lang-switch{position:relative;display:inline-flex;background:var(--maroon-800);border-radius:999px;padding:3px;border:1px solid var(--gold-500);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.lang-switch button{position:relative;z-index:1;border:0;background:none;color:var(--gold-200);font-weight:800;font-size:13px;padding:7px 12px;border-radius:999px;transition:color .3s;min-width:52px}
.lang-switch button[aria-pressed="true"]{color:var(--maroon-900)}
.lang-switch .lang-pill{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:999px;background:var(--gold-grad);box-shadow:var(--shadow-gold);transition:transform .45s cubic-bezier(.6,-0.2,.3,1.3)}
.lang-switch[data-lang="ta"] .lang-pill{transform:translateX(100%)}
.lang-switch .ta-btn{font-family:var(--f-ta)}
.menu-toggle{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--gold-500);background:var(--maroon-800);position:relative}
.menu-toggle span{position:absolute;left:12px;right:12px;height:2px;background:var(--gold-300);border-radius:2px;transition:transform .35s,opacity .25s,top .35s}
.menu-toggle span:nth-child(1){top:15px}.menu-toggle span:nth-child(2){top:22px}.menu-toggle span:nth-child(3){top:29px}
.menu-open .menu-toggle span:nth-child(1){top:22px;transform:rotate(45deg)}
.menu-open .menu-toggle span:nth-child(2){opacity:0}
.menu-open .menu-toggle span:nth-child(3){top:22px;transform:rotate(-45deg)}

/* ---------- Buttons ---------- */
.btn{--bg:var(--gold-grad);position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:999px;font-weight:800;font-size:15px;letter-spacing:.02em;border:0;transition:transform .25s ease,box-shadow .3s ease;white-space:nowrap;min-height:48px}
.btn svg{width:18px;height:18px;flex-shrink:0;transition:transform .3s}
.btn:hover svg{transform:translateX(4px)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--bg);background-size:200% 200%;transition:background-position .6s}
.btn::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;z-index:-1;background:linear-gradient(105deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-20deg);transition:left .7s ease}
.btn:hover::after{left:130%}
.btn:hover::before{background-position:100% 0}
.btn:active{transform:scale(.97)}
.btn-gold{color:var(--maroon-900);box-shadow:var(--shadow-gold)}
.btn-gold:hover{box-shadow:0 16px 36px -12px rgba(177,130,39,.75)}
.btn-maroon{--bg:linear-gradient(135deg,#4a0912,#8a1626 60%,#6b0f1a);color:var(--gold-200);box-shadow:0 10px 26px -12px rgba(74,9,18,.8)}
.btn-outline{--bg:transparent;color:var(--gold-200);border:1.5px solid var(--gold-400)}
.btn-outline:hover{background:rgba(230,192,99,.12)}
.btn-outline-dark{--bg:transparent;color:var(--maroon-700);border:1.5px solid var(--maroon-600)}
.btn-outline-dark:hover{background:rgba(138,22,38,.06)}
.btn-wa{--bg:linear-gradient(135deg,#128c4a,#25d366);color:#fff;box-shadow:0 10px 24px -12px rgba(18,140,74,.8)}
.btn-sm{padding:10px 18px;font-size:14px;min-height:42px}
.ripple{position:absolute;border-radius:50%;transform:scale(0);background:rgba(255,255,255,.55);animation:ripple .65s linear;pointer-events:none;z-index:0}
@keyframes ripple{to{transform:scale(4);opacity:0}}

/* ---------- Section scaffolding ---------- */
.section{padding-block:clamp(64px,9vw,110px);position:relative}
.section.tight{padding-block:clamp(48px,6vw,72px)}
.section.alt{background:var(--ivory-2)}
.section.paper{background:var(--paper)}
.section.dark{background:var(--maroon-grad);color:var(--gold-200)}
.section.dark h2,.section.dark h3{color:#fff6dc}
.section-head{max-width:760px;margin:0 auto clamp(36px,5vw,56px);text-align:center}
.section-head.left{margin-inline:0;text-align:left}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:700;font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-700);margin-bottom:14px}
html[lang="ta"] .eyebrow{font-family:var(--f-ta);letter-spacing:.06em;font-size:13.5px}
.eyebrow::before,.eyebrow::after{content:"";width:28px;height:1.5px;background:var(--gold-grad)}
.section-head.left .eyebrow::before{display:none}
.dark .eyebrow{color:var(--gold-400)}
.h-title{font-size:clamp(28px,4.2vw,46px);font-weight:700}
html[lang="ta"] .h-title{font-size:clamp(24px,3.4vw,38px);line-height:1.35}
.h-title em{font-style:normal;background:var(--gold-grad);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
.section:not(.dark) .h-title em{background:linear-gradient(120deg,#8a1626,#b08227 45%,#8a1626 90%);background-size:200% auto;-webkit-background-clip:text;background-clip:text}
@keyframes shine{to{background-position:200% center}}
.lead{font-size:clamp(16px,1.6vw,18.5px);color:var(--muted);margin-top:16px}
.dark .lead{color:rgba(251,235,192,.82)}
.divider-orn{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px auto 0;color:var(--gold-600)}
.divider-orn::before,.divider-orn::after{content:"";height:1px;width:70px;background:linear-gradient(90deg,transparent,var(--gold-500))}
.divider-orn::after{transform:scaleX(-1)}
.divider-orn svg{width:20px;height:20px;fill:currentColor}

/* ---------- Reveal animations (visible at rest without JS) ---------- */
.js [data-reveal]{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),filter .9s;transition-delay:var(--d,0s);will-change:opacity,transform}
.js [data-reveal="up"]{transform:translateY(40px)}
.js [data-reveal="down"]{transform:translateY(-30px)}
.js [data-reveal="left"]{transform:translateX(-50px)}
.js [data-reveal="right"]{transform:translateX(50px)}
.js [data-reveal="zoom"]{transform:scale(.86)}
.js [data-reveal="flip"]{transform:perspective(900px) rotateX(28deg) translateY(30px);transform-origin:top}
.js [data-reveal="blur"]{filter:blur(12px);transform:translateY(16px)}
.js [data-reveal="rotate"]{transform:rotate(-6deg) scale(.92)}
.js [data-reveal].in{opacity:1;transform:none;filter:none}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--maroon-grad);color:var(--gold-200);isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:
  radial-gradient(900px 500px at 85% 20%,rgba(230,192,99,.22),transparent 60%),
  radial-gradient(700px 500px at 0% 100%,rgba(168,40,58,.55),transparent 60%)}
.hero-pattern{position:absolute;inset:0;z-index:-1;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23f4d98f' stroke-width='1'%3E%3Cpath d='M40 4 L76 40 L40 76 L4 40Z'/%3E%3Ccircle cx='40' cy='40' r='10'/%3E%3Ccircle cx='40' cy='4' r='3'/%3E%3Ccircle cx='76' cy='40' r='3'/%3E%3Ccircle cx='40' cy='76' r='3'/%3E%3Ccircle cx='4' cy='40' r='3'/%3E%3C/g%3E%3C/svg%3E");animation:patternMove 60s linear infinite}
@keyframes patternMove{to{background-position:800px 400px}}
#gold-dust{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,56px);align-items:center;padding-block:clamp(56px,8vw,96px) clamp(70px,9vw,110px)}
.hero-grid>*{min-width:0}
.hero-tag{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:999px;background:rgba(255,241,193,.08);border:1px solid rgba(230,192,99,.45);font-size:14px;color:var(--gold-200);font-family:var(--f-ta)}
.hero-tag b{background:var(--gold-grad);color:var(--maroon-900);border-radius:999px;padding:3px 10px;font-family:var(--f-display);font-size:11.5px;letter-spacing:.12em}
.hero h1{color:#fff6dc;font-size:clamp(36px,5.6vw,66px);font-weight:700;margin-top:22px;line-height:1.08}
html[lang="ta"] .hero h1{font-size:clamp(28px,4.2vw,48px);line-height:1.35}
.rotator>span{background:var(--gold-grad);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:shine 5s linear infinite}
.rotator,.hero h1 .rotator{display:inline-grid;vertical-align:bottom}
.rotator>span{grid-area:1/1;white-space:nowrap;opacity:0;transform:translateY(60%) rotateX(-70deg);transition:opacity .6s,transform .7s cubic-bezier(.2,.8,.2,1)}
.rotator>span.on{opacity:1;transform:none}
.rotator>span.out{opacity:0;transform:translateY(-60%) rotateX(70deg)}
.hero p.lead{color:rgba(251,235,192,.85);max-width:560px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.hero-trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:34px;font-size:14px;color:var(--gold-300)}
.hero-trust span{display:inline-flex;align-items:center;gap:8px}
.hero-trust svg{width:18px;height:18px;fill:var(--gold-400)}

/* hero emblem orbit (replaces imagery) */
.orbit-stage{position:relative;width:min(460px,100%);aspect-ratio:1;margin-inline:auto;max-width:100%}
.orbit-stage .ring{position:absolute;border-radius:50%;border:1px dashed rgba(244,217,143,.45)}
.orbit-stage .ring.r1{inset:6%;animation:spin 40s linear infinite}
.orbit-stage .ring.r2{inset:18%;border-style:solid;border-color:rgba(244,217,143,.25);animation:spin 28s linear infinite reverse}
.orbit-stage .ring.r3{inset:30%;border:2px solid transparent;border-top-color:var(--gold-400);border-left-color:rgba(230,192,99,.4);animation:spin 9s linear infinite}
.orbit-stage .core{position:absolute;inset:31%;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#fffaf0,#fbebc0 60%,#e6c063);box-shadow:0 0 0 6px rgba(230,192,99,.25),0 0 80px 10px rgba(230,192,99,.35),inset 0 -8px 20px rgba(138,97,22,.35);animation:corePulse 4s ease-in-out infinite}
.orbit-stage .core img{width:92%;height:92%;border-radius:50%;object-fit:cover}
@keyframes corePulse{50%{box-shadow:0 0 0 12px rgba(230,192,99,.12),0 0 110px 20px rgba(230,192,99,.45),inset 0 -8px 20px rgba(138,97,22,.35)}}
.orbit-stage .sat{position:absolute;top:50%;left:50%;width:0;height:0}
.orbit-stage .sat .chip{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:14px;background:rgba(46,5,11,.75);border:1px solid rgba(230,192,99,.55);backdrop-filter:blur(6px);color:var(--gold-200);font-size:13px;font-weight:700;white-space:nowrap;box-shadow:0 10px 24px -10px rgba(0,0,0,.6)}
.orbit-stage .sat .chip i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--gold-grad);color:var(--maroon-900);font-style:normal;font-weight:900;font-size:14px}
.orbit-stage .sat .chip svg{width:16px;height:16px;fill:var(--maroon-900)}
.orbit-stage .coin{position:absolute;width:44px;height:44px;border-radius:50%;background:var(--gold-grad);display:grid;place-items:center;color:var(--maroon-800);font-weight:900;font-size:20px;box-shadow:0 8px 18px -6px rgba(0,0,0,.5),inset 0 -3px 6px rgba(138,97,22,.5);animation:floaty 6s ease-in-out infinite}
@keyframes floaty{50%{transform:translateY(-16px) rotate(8deg)}}
.hero-wave{position:absolute;left:0;right:0;bottom:-1px;line-height:0;z-index:1}
.hero-wave svg{width:100%;height:70px;display:block}

/* ---------- Ticker ---------- */
.ticker{background:var(--gold-grad);color:var(--maroon-900);overflow:hidden;border-block:1px solid var(--gold-700);position:relative}
.ticker-track{display:flex;width:max-content;animation:ticker 38s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-item{display:flex;align-items:center;gap:12px;padding:13px 28px;font-weight:800;font-size:15px;white-space:nowrap}
.ticker-item::after{content:"✦";margin-left:28px;color:var(--maroon-600)}
@keyframes ticker{to{transform:translateX(-50%)}}

/* ---------- Feature cards ---------- */
.grid{display:grid;gap:clamp(16px,2.2vw,26px)}
.grid>*{min-width:0}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}
.feature{position:relative;padding:28px 24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .4s;overflow:hidden}
.feature::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 160px at var(--mx,50%) var(--my,0%),rgba(230,192,99,.22),transparent 70%);opacity:0;transition:opacity .4s}
.feature:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:var(--gold-400)}
.feature:hover::before{opacity:1}
.feature>*{position:relative}
.f-icon{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;background:var(--maroon-grad);box-shadow:inset 0 0 0 1.5px var(--gold-500),0 10px 20px -10px rgba(74,9,18,.7);margin-bottom:18px;transition:transform .6s cubic-bezier(.3,1.6,.5,1)}
.f-icon svg{width:30px;height:30px;fill:none;stroke:var(--gold-300);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.feature:hover .f-icon{transform:rotateY(180deg)}
.feature:hover .f-icon svg{transform:rotateY(180deg)}
.feature h3{font-size:19px;margin-bottom:8px}
html[lang="ta"] .feature h3{font-size:17px}
.feature p{color:var(--muted);font-size:15px}
.dark .feature{background:rgba(255,241,193,.05);border-color:rgba(230,192,99,.25)}
.dark .feature h3{color:#fff6dc}
.dark .feature p{color:rgba(251,235,192,.75)}

/* ---------- Scheme family cards ---------- */
.scheme-card{position:relative;border-radius:var(--radius-lg);background:var(--paper);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s;transform-style:preserve-3d;will-change:transform}
.scheme-card:hover{box-shadow:0 30px 60px -24px rgba(74,9,18,.45)}
.sc-top{position:relative;padding:24px 22px 20px;background:var(--maroon-grad);color:var(--gold-200);overflow:hidden}
.sc-top::after{content:"";position:absolute;right:-40px;top:-40px;width:150px;height:150px;border-radius:50%;border:18px solid rgba(230,192,99,.12)}
.sc-badge{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:rgba(230,192,99,.16);border:1px solid rgba(230,192,99,.5);color:var(--gold-300)}
html[lang="ta"] .sc-badge{letter-spacing:.02em;text-transform:none}
.sc-medal{position:absolute;right:18px;top:18px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;z-index:1;box-shadow:0 6px 16px -4px rgba(0,0,0,.5),inset 0 -4px 8px rgba(0,0,0,.25);transition:transform .8s cubic-bezier(.3,1.5,.5,1)}
.scheme-card:hover .sc-medal{transform:rotateY(360deg)}
.sc-medal svg{width:28px;height:28px}
.medal-silver{background:linear-gradient(135deg,#8d9196,#f5f6f7 40%,#b7bcc2 60%,#eef0f2)}
.medal-gold{background:var(--gold-grad)}
.medal-diamond{background:linear-gradient(135deg,#0e5a8a,#9fe2ff 40%,#2a8fd0 65%,#d9f5ff)}
.medal-platinum{background:linear-gradient(135deg,#6f6a80,#f1eef8 40%,#a29cb6 65%,#e8e4f2)}
.medal-honey{background:linear-gradient(135deg,#b46a00,#ffd36b 45%,#e59a12)}
.medal-jet{background:linear-gradient(135deg,#7a1020,#ff8a8a 40%,#c2283a 65%,#ffd0d0)}
.sc-top h3{color:#fff6dc;font-size:22px;margin-top:12px;padding-right:64px}
html[lang="ta"] .sc-top h3{font-size:19px}
.sc-top p{font-size:14px;color:rgba(251,235,192,.8);margin-top:4px;padding-right:50px}
.sc-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:14px;flex:1}
.sc-range{font-family:var(--f-head);font-weight:800;font-size:24px;color:var(--maroon-700)}
html[lang="ta"] .sc-range{font-family:var(--f-body)}
.sc-range small{display:block;font-family:var(--f-body);font-size:12.5px;color:var(--muted);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.sc-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.sc-meta div{background:var(--ivory-2);border:1px solid var(--line);border-radius:10px;padding:9px 12px}
.sc-meta b{display:block;font-size:17px;color:var(--maroon-800)}
.sc-meta span{font-size:12.5px;color:var(--muted);font-weight:700}
.sc-body .btn{margin-top:auto;align-self:flex-start}
.sc-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,246,220,.35) 45%,transparent 60%);transform:translateX(-120%);transition:transform 1s ease}
.scheme-card:hover .sc-shine{transform:translateX(120%)}

/* ---------- Spotlight compare ---------- */
.spotlight{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
.spotlight>*{min-width:0}
.pay-get{background:var(--paper);border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow);padding:clamp(22px,3vw,34px);position:relative;overflow:hidden}
.pay-get::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:var(--gold-grad)}
.pg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.pg-amount{font-family:var(--f-head);font-size:clamp(30px,4vw,42px);font-weight:800;color:var(--maroon-700)}
html[lang="ta"] .pg-amount{font-family:var(--f-body)}
.pg-chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:800;background:var(--ivory-2);border:1px solid var(--line);color:var(--maroon-700)}
.bar-row{margin-top:22px}
.bar-label{display:flex;justify-content:space-between;font-weight:800;font-size:15px;margin-bottom:8px;gap:10px}
.bar-label span:last-child{font-variant-numeric:tabular-nums}
.bar{height:16px;border-radius:999px;background:var(--ivory-2);border:1px solid var(--line);overflow:hidden}
.bar i{display:block;height:100%;width:0;border-radius:999px;transition:width 1.6s cubic-bezier(.2,.7,.2,1)}
.bar i.pay{background:linear-gradient(90deg,#6b0f1a,#a8283a)}
.bar i.get{background:var(--gold-grad)}
.gain-box{margin-top:24px;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,#fff6dc,#fbebc0);border:1px dashed var(--gold-600)}
.gain-box b{font-size:24px;color:var(--green);font-variant-numeric:tabular-nums}
.gain-box svg{width:36px;height:36px;flex-shrink:0}

/* ---------- Steps / how it works ---------- */
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step}
.steps>*{min-width:0}
.steps-line{position:absolute;left:12%;right:12%;top:46px;height:4px;z-index:0}
.steps-line svg{width:100%;height:4px;overflow:visible}
.steps-line line{stroke:var(--gold-500);stroke-width:3;stroke-dasharray:8 8}
.step{position:relative;z-index:1;text-align:center;padding:0 8px}
.step-num{width:92px;height:92px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:2px solid var(--gold-500);box-shadow:0 0 0 8px var(--ivory),var(--shadow);position:relative;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.section.alt .step-num{box-shadow:0 0 0 8px var(--ivory-2),var(--shadow)}
.step:hover .step-num{transform:scale(1.08) rotate(-6deg)}
.step-num svg{width:38px;height:38px;fill:none;stroke:var(--maroon-700);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.step-num::after{counter-increment:step;content:counter(step);position:absolute;top:-4px;right:-4px;width:30px;height:30px;border-radius:50%;background:var(--maroon-grad);color:var(--gold-300);font-weight:900;font-size:14px;display:grid;place-items:center;border:2px solid var(--gold-400)}
.step h3{font-size:18px;margin-bottom:8px}
.step p{font-size:14.5px;color:var(--muted)}

/* vertical timeline steps (inner page) */
.vsteps{position:relative;display:grid;gap:22px;max-width:880px;margin-inline:auto}
.vsteps::before{content:"";position:absolute;left:35px;top:10px;bottom:10px;width:3px;background:linear-gradient(var(--gold-500),var(--maroon-600));border-radius:3px;transform-origin:top;transform:scaleY(var(--progress,1))}
.vstep{display:grid;grid-template-columns:72px 1fr;gap:22px;align-items:start}
.vstep>*{min-width:0}
.vstep-dot{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--maroon-grad);border:3px solid var(--gold-400);color:var(--gold-200);font-family:var(--f-display);font-weight:800;font-size:22px;position:relative;z-index:1;box-shadow:0 0 0 6px var(--ivory)}
.vstep-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow-sm);transition:transform .35s,box-shadow .35s}
.vstep-card:hover{transform:translateX(6px);box-shadow:var(--shadow)}
.vstep-card h3{font-size:19px;margin-bottom:6px}
.vstep-card p{color:var(--muted)}

/* ---------- Stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stats>*{min-width:0}
.stat{text-align:center;padding:28px 14px;border-radius:var(--radius);border:1px solid rgba(230,192,99,.3);background:rgba(255,241,193,.04);position:relative;overflow:hidden}
.stat::after{content:"";position:absolute;left:50%;bottom:0;width:0;height:3px;background:var(--gold-grad);transform:translateX(-50%);transition:width .8s}
.stat.in::after,.stat:hover::after{width:70%}
.stat-num{font-family:var(--f-display);font-size:clamp(34px,4.6vw,52px);font-weight:800;line-height:1;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.stat-label{margin-top:10px;font-weight:700;color:var(--gold-200);font-size:15px}

/* ---------- Uses grid ---------- */
.uses{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.uses>*{min-width:0}
.use{display:flex;align-items:center;gap:14px;padding:18px;border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);transition:all .35s}
.use:hover{background:var(--maroon-800);border-color:var(--gold-500);transform:translateY(-4px)}
.use:hover b{color:var(--gold-200)}
.use:hover small{color:var(--gold-400)}
.use .u-ico{width:48px;height:48px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:var(--gold-grad-soft);border:1px solid var(--gold-500)}
.use .u-ico svg{width:24px;height:24px;fill:none;stroke:var(--maroon-700);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.use b{display:block;font-size:15.5px;color:var(--maroon-800);transition:color .3s}
.use small{color:var(--muted);font-size:13px;transition:color .3s}

/* ---------- Special facility band ---------- */
.facility{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,48px);align-items:center}
.facility>*{min-width:0}
.example-card{background:var(--paper);color:var(--ink);border-radius:var(--radius-lg);padding:26px;border:2px solid var(--gold-500);box-shadow:0 30px 60px -20px rgba(0,0,0,.5);position:relative}
.example-card .tag15{position:absolute;top:-22px;right:22px;width:84px;height:84px;border-radius:50%;background:var(--gold-grad);display:grid;place-items:center;text-align:center;color:var(--maroon-900);font-weight:900;line-height:1;box-shadow:var(--shadow-gold);animation:wobble 4s ease-in-out infinite}
.tag15 b{font-size:28px;display:block}
.tag15 small{font-size:10.5px;letter-spacing:.06em}
@keyframes wobble{50%{transform:rotate(-10deg) scale(1.05)}}
.ex-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px dashed var(--line)}
.ex-row:last-child{border-bottom:0}
.ex-row span{font-weight:700;color:var(--ink-2);font-size:15px}
.ex-row b{font-size:22px;color:var(--maroon-700);font-variant-numeric:tabular-nums;white-space:nowrap}
.ex-row b.zero{color:var(--green)}
.check-list{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}
.check-list li{display:flex;gap:12px;align-items:flex-start}
.check-list li::before{content:"";flex-shrink:0;width:24px;height:24px;margin-top:2px;border-radius:50%;background-position:center;background-repeat:no-repeat;background-size:14px,100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%234a0912' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),var(--gold-grad);box-shadow:0 4px 10px -4px rgba(138,97,22,.7)}

/* ---------- Registration strip ---------- */
.reg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.reg-grid>*{min-width:0}
.reg{padding:18px 16px;border-radius:var(--radius);background:var(--paper);border:1px solid var(--gold-400);text-align:center;position:relative;overflow:hidden}
.reg::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--maroon-grad)}
.reg small{display:block;font-weight:800;letter-spacing:.12em;font-size:12px;color:var(--gold-700);text-transform:uppercase}
.reg b{display:block;margin-top:6px;font-size:15px;color:var(--maroon-800);word-break:break-all;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.reg button{margin-top:8px;border:0;background:none;color:var(--muted);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* ---------- FAQ accordion ---------- */
.faq-list{display:grid;gap:12px;max-width:900px;margin-inline:auto}
.faq{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden;transition:border-color .3s,box-shadow .3s}
.faq.open{border-color:var(--gold-500);box-shadow:var(--shadow)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:none;border:0;text-align:left;font-weight:800;font-size:16.5px;color:var(--maroon-800);font-family:var(--f-body)}
.faq-q .pm{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--ivory-2);border:1px solid var(--gold-500);position:relative;transition:background .3s,transform .4s}
.faq-q .pm::before,.faq-q .pm::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:2px;background:var(--maroon-700);transform:translate(-50%,-50%);transition:transform .4s}
.faq-q .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq.open .pm{background:var(--gold-grad);transform:rotate(180deg)}
.faq.open .pm::after{transform:translate(-50%,-50%) rotate(0)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1)}
.faq.open .faq-a{grid-template-rows:1fr}
.faq-a>div{overflow:hidden}
.faq-a p{padding:0 22px 20px;color:var(--ink-2)}
.faq-tools{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:28px}
.search-box{position:relative;flex:1 1 320px;max-width:520px}
.search-box input{width:100%;padding:14px 18px 14px 48px;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);font:inherit;color:var(--ink);transition:border-color .3s,box-shadow .3s}
.search-box input:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 4px rgba(230,192,99,.25)}
.search-box svg{position:absolute;left:18px;top:50%;width:18px;height:18px;transform:translateY(-50%);stroke:var(--muted);fill:none;stroke-width:2}

/* ---------- Tabs ---------- */
.tabs{position:relative;display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding:6px;background:var(--maroon-900);border-radius:999px;border:1px solid var(--gold-600);scrollbar-width:none;max-width:100%}
.tabs::-webkit-scrollbar{display:none}
.tab{position:relative;z-index:1;flex-shrink:0;border:0;background:none;color:var(--gold-200);font-weight:800;font-size:14px;padding:11px 18px;border-radius:999px;transition:color .3s;white-space:nowrap}
.tab[aria-selected="true"]{color:var(--maroon-900)}
.tab-ind{position:absolute;z-index:0;top:6px;bottom:6px;left:0;width:0;border-radius:999px;background:var(--gold-grad);box-shadow:var(--shadow-gold);transition:transform .5s cubic-bezier(.5,0,.2,1.2),width .5s cubic-bezier(.5,0,.2,1.2)}
.tab-wrap{position:sticky;top:calc(env(safe-area-inset-top,0px) + 64px + var(--nav-h) + 8px);z-index:50;display:flex;justify-content:center;margin-bottom:34px}
.panel{animation:panelIn .6s cubic-bezier(.2,.7,.2,1)}
@keyframes panelIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* ---------- Plan variant cards (scheme page) ---------- */
.family-head{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:26px;border-radius:var(--radius-lg);background:var(--maroon-grad);color:var(--gold-200);margin-bottom:26px;position:relative;overflow:hidden}
.family-head>*{min-width:0}
.family-head::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 40%,rgba(255,241,193,.12) 50%,transparent 60%);transform:translateX(-100%);animation:sweep 5s ease-in-out infinite}
@keyframes sweep{60%,100%{transform:translateX(100%)}}
.family-head .sc-medal{position:static;width:74px;height:74px}
.family-head .sc-medal svg{width:36px;height:36px}
.family-head h2{color:#fff6dc;font-size:clamp(24px,3vw,34px)}
.family-head p{color:rgba(251,235,192,.82);margin-top:4px}
.family-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.family-chips .chip{background:rgba(255,241,193,.08);border-color:rgba(230,192,99,.45);color:var(--gold-200)}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.plans>*{min-width:0}
.plan{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px 22px 22px;display:flex;flex-direction:column;gap:14px;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,border-color .45s;overflow:hidden}
.plan::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--gold-grad);transform:scaleX(.2);transform-origin:left;transition:transform .6s}
.plan:hover{transform:translateY(-10px);box-shadow:0 30px 50px -24px rgba(74,9,18,.4);border-color:var(--gold-400)}
.plan:hover::before{transform:scaleX(1)}
.plan.featured{border:2px solid var(--gold-500);background:linear-gradient(180deg,#fffaf0,#fff3d6)}
.ribbon{position:absolute;top:16px;right:-38px;transform:rotate(45deg);background:var(--maroon-grad);color:var(--gold-300);font-size:11px;font-weight:900;letter-spacing:.1em;padding:5px 42px;text-transform:uppercase}
.plan-label{font-size:12.5px;font-weight:800;color:var(--gold-700);letter-spacing:.14em;text-transform:uppercase}
html[lang="ta"] .plan-label{letter-spacing:.02em}
.plan-amount{font-family:var(--f-head);font-size:34px;font-weight:800;color:var(--maroon-700);line-height:1.1;font-variant-numeric:tabular-nums}
html[lang="ta"] .plan-amount{font-family:var(--f-body)}
.plan-amount small{display:block;font-family:var(--f-body);font-size:13px;color:var(--muted);font-weight:700}
.kv{display:grid;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.kv div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-size:14.5px}
.kv div:nth-child(odd){background:var(--ivory-2)}
.kv span{color:var(--muted);font-weight:700;display:inline-flex;align-items:center;gap:8px}
.kv span svg{width:16px;height:16px;fill:none;stroke:var(--gold-700);stroke-width:2}
.kv b{color:var(--maroon-800);font-variant-numeric:tabular-nums;text-align:right}
.pg-mini{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pg-mini div{border-radius:12px;padding:12px;text-align:center}
.pg-mini .p{background:var(--maroon-grad);color:var(--gold-200)}
.pg-mini .g{background:var(--gold-grad);color:var(--maroon-900)}
.pg-mini small{display:block;font-size:12px;font-weight:800;opacity:.9}
.pg-mini b{font-size:20px;font-variant-numeric:tabular-nums}
.plan-gain{font-size:14px;font-weight:800;color:var(--green);display:flex;align-items:center;gap:6px}
.plan .btn{margin-top:auto}
.plan-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.plan-actions .btn{flex:1 1 auto}

/* ---------- Tables ---------- */
.table-card{background:var(--paper);border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow-sm);overflow:hidden}
.table-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 22px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fffaf0,#fbf2df)}
.table-head h3{font-size:20px}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.data{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:560px}
table.data th{background:var(--maroon-800);color:var(--gold-200);font-size:13px;font-weight:800;padding:12px 14px;text-align:right;white-space:nowrap;position:sticky;top:0}
table.data th:first-child,table.data td:first-child{text-align:center}
table.data th small{display:block;font-weight:600;opacity:.75;font-size:11.5px}
table.data td{padding:11px 14px;text-align:right;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink-2)}
table.data tbody tr{transition:background .25s}
table.data tbody tr:nth-child(even){background:#fffaf0}
table.data tbody tr:hover{background:#fff1cc}
table.data tfoot td{background:var(--gold-grad-soft);font-weight:900;color:var(--maroon-800);border-top:2px solid var(--gold-600);font-size:16px}
table.data td.hl{color:var(--green);font-weight:900}
table.data td.hl-r{color:var(--red);font-weight:900}
table.data td.name{text-align:left;font-weight:800;color:var(--maroon-800)}
table.data th.l{text-align:left}
.table-note{padding:14px 22px;font-size:13.5px;color:var(--muted);border-top:1px solid var(--line);display:flex;gap:10px;align-items:flex-start}
.table-note svg{width:18px;height:18px;flex-shrink:0;stroke:var(--gold-700);fill:none;stroke-width:2;margin-top:2px}
.row-anim tr{animation:rowIn .5s cubic-bezier(.2,.7,.2,1) both}
@keyframes rowIn{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
.variant-pills{display:flex;gap:8px;flex-wrap:wrap}
.variant-pills button{border:1.5px solid var(--gold-500);background:var(--paper);color:var(--maroon-700);font-weight:800;padding:8px 14px;border-radius:999px;font-size:14px;transition:all .3s}
.variant-pills button[aria-pressed="true"]{background:var(--maroon-grad);color:var(--gold-200);border-color:var(--maroon-700)}

/* rules strip */
.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:26px}
.rule{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--paper)}
.rule .r-ico{width:42px;height:42px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:var(--maroon-grad);border:1.5px solid var(--gold-500)}
.rule .r-ico svg{width:20px;height:20px;fill:none;stroke:var(--gold-300);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rule b{display:block;color:var(--maroon-800);font-size:14.5px}
.rule small{color:var(--muted);font-size:12.5px}
.info-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px}
.info-cols>*{min-width:0}
.info-box{padding:22px 24px;border-radius:var(--radius);background:var(--paper);border:1px solid var(--line)}
.info-box h4{font-size:18px;margin-bottom:6px;display:flex;align-items:center;gap:10px}
.info-box h4 svg{width:22px;height:22px;stroke:var(--gold-700);fill:none;stroke-width:2}
.info-box .check-list{margin-top:12px;gap:9px}
.info-box .check-list li{font-size:15px}
.schedule{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin-top:26px}
.sched-card{padding:20px;border-radius:var(--radius);text-align:center;background:var(--paper);border:1px solid var(--gold-400)}
.sched-card .day{display:inline-block;background:var(--maroon-grad);color:var(--gold-300);font-weight:900;padding:6px 14px;border-radius:999px;font-size:13px;letter-spacing:.08em}
.sched-card b{display:block;margin-top:10px;font-size:18px;color:var(--maroon-800)}
.sched-card p{color:var(--muted);font-size:14px;margin-top:4px}
.sched-arrow{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--gold-grad);animation:nudge 1.6s ease-in-out infinite}
.sched-arrow svg{width:22px;height:22px;stroke:var(--maroon-900);fill:none;stroke-width:2.4}
@keyframes nudge{50%{transform:translateX(6px)}}

/* ---------- Inner page banner (no side images; animated composition) ---------- */
.page-banner{position:relative;overflow:hidden;background:var(--maroon-grad);color:var(--gold-200);isolation:isolate}
.page-banner .hero-pattern{opacity:.1}
.pb-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:30px;align-items:center;padding-block:clamp(48px,7vw,84px) clamp(64px,8vw,96px)}
.pb-grid>*{min-width:0}
.crumbs{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--gold-300);flex-wrap:wrap}
.crumbs a:hover{color:#fff}
.crumbs svg{width:14px;height:14px;stroke:var(--gold-500);fill:none;stroke-width:2.4}
.page-banner h1{color:#fff6dc;font-size:clamp(34px,5vw,58px);margin-top:14px}
html[lang="ta"] .page-banner h1{font-size:clamp(28px,4vw,44px);line-height:1.35}
.page-banner p{color:rgba(251,235,192,.85);font-size:clamp(16px,1.6vw,18.5px);margin-top:14px;max-width:620px}
.pb-art{position:relative;width:min(300px,100%);aspect-ratio:1;margin-inline:auto}
.pb-art .ring{position:absolute;border-radius:50%;border:1px dashed rgba(244,217,143,.5)}
.pb-art .ring.r1{inset:0;animation:spin 30s linear infinite}
.pb-art .ring.r2{inset:14%;border:2px solid transparent;border-top-color:var(--gold-400);border-bottom-color:rgba(230,192,99,.35);animation:spin 7s linear infinite}
.pb-art .pb-core{position:absolute;inset:26%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6dc,#e6c063 70%,#b08227);display:grid;place-items:center;box-shadow:0 0 60px 6px rgba(230,192,99,.4),inset 0 -6px 14px rgba(138,97,22,.5);animation:corePulse 4s ease-in-out infinite}
.pb-core svg{width:46%;height:46%;fill:none;stroke:var(--maroon-800);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pb-art .orb{position:absolute;width:40px;height:40px;margin:-20px;border-radius:50%;display:grid;place-items:center;background:rgba(46,5,11,.85);border:1.5px solid var(--gold-400);top:50%;left:50%}
.pb-art .orb svg{width:18px;height:18px;fill:none;stroke:var(--gold-300);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pb-art .spinner{position:absolute;inset:0;animation:spin 18s linear infinite}
.pb-art .spinner .orb{animation:spin 18s linear infinite reverse}
.pb-stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.pb-stats .chip{background:rgba(255,241,193,.08);border-color:rgba(230,192,99,.45);color:var(--gold-200)}

/* ---------- About ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);align-items:start}
.about-grid>*{min-width:0}
.prose p+p{margin-top:16px}
.prose p{color:var(--ink-2);font-size:16.5px}
.quote-card{position:relative;padding:34px 30px;border-radius:var(--radius-lg);background:var(--maroon-grad);color:var(--gold-200);overflow:hidden}
.quote-card::before{content:"\201C";position:absolute;top:-30px;left:14px;font-family:var(--f-head);font-size:180px;color:rgba(230,192,99,.2);line-height:1}
.quote-card p{position:relative;font-family:var(--f-head);font-size:clamp(20px,2.4vw,26px);line-height:1.45;color:#fff6dc}
html[lang="ta"] .quote-card p{font-size:clamp(18px,2vw,22px)}
.quote-card small{display:block;margin-top:16px;color:var(--gold-400);font-weight:800;letter-spacing:.06em}
.mvv{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mvv>*{min-width:0}
.mv{position:relative;padding:30px 26px;border-radius:var(--radius-lg);background:var(--paper);border:1px solid var(--line);text-align:center;transition:transform .5s,box-shadow .5s}
.mv:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.mv .f-icon{margin-inline:auto}
.mv h3{font-size:21px;margin-bottom:8px}
.mv p{color:var(--muted)}
.timeline{position:relative;max-width:980px;margin-inline:auto}
.timeline::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;transform:translateX(-50%);background:linear-gradient(var(--gold-500),var(--maroon-600))}
.tl-item{position:relative;width:50%;padding:0 40px 40px}
.tl-item:nth-child(odd){margin-left:0;text-align:right}
.tl-item:nth-child(even){margin-left:50%}
.tl-item::before{content:"";position:absolute;top:6px;width:20px;height:20px;border-radius:50%;background:var(--gold-grad);border:4px solid var(--maroon-700);box-shadow:0 0 0 6px rgba(230,192,99,.25)}
.tl-item:nth-child(odd)::before{right:-10px}
.tl-item:nth-child(even)::before{left:-10px}
.tl-year{font-family:var(--f-display);font-weight:800;font-size:28px;color:var(--gold-700)}
html[lang="ta"] .tl-year{font-family:var(--f-ta-head);font-size:22px}
.tl-item h3{font-size:19px;margin:4px 0 6px}
.tl-item p{color:var(--muted)}

/* ---------- Calculator ---------- */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
.calc>*{min-width:0}
.calc-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(20px,3vw,30px);box-shadow:var(--shadow-sm)}
.calc-panel h3{font-size:21px;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.calc-panel h3 i{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--maroon-grad);color:var(--gold-300);font-style:normal;font-size:15px;font-family:var(--f-display);flex-shrink:0}
.field{display:grid;gap:8px;margin-bottom:18px}
.field label{font-weight:800;font-size:14.5px;color:var(--ink-2);display:flex;justify-content:space-between;gap:10px}
.field label output{color:var(--maroon-700);font-variant-numeric:tabular-nums}
.field input[type=text],.field input[type=tel],.field input[type=email],.field input[type=number],.field select,.field textarea{width:100%;padding:13px 16px;border-radius:12px;border:1.5px solid var(--line);background:#fffdf8;font:inherit;color:var(--ink);transition:border-color .3s,box-shadow .3s}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 4px rgba(230,192,99,.25)}
.field .err{color:var(--red);font-size:13px;font-weight:700;display:none}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--red)}
.field.invalid .err{display:block}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--maroon-600) var(--fill,50%),var(--line) var(--fill,50%));outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--gold-grad);border:3px solid var(--maroon-700);box-shadow:var(--shadow-gold);cursor:grab;transition:transform .2s}
input[type=range]::-webkit-slider-thumb:active{transform:scale(1.2)}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#e6c063;border:3px solid var(--maroon-700);cursor:grab}
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.result{padding:16px;border-radius:14px;background:var(--ivory-2);border:1px solid var(--line)}
.result small{display:block;font-weight:800;font-size:12.5px;color:var(--muted)}
.result b{display:block;font-size:22px;color:var(--maroon-800);font-variant-numeric:tabular-nums;margin-top:2px}
.result.big{grid-column:1/-1;background:var(--maroon-grad);border-color:var(--gold-500)}
.result.big small{color:var(--gold-300)}
.result.big b{font-size:32px;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.result.good b{color:var(--green)}
.split-bar{display:flex;height:22px;border-radius:999px;overflow:hidden;margin-top:18px;border:1px solid var(--line)}
.split-bar i{display:block;height:100%;transition:width .8s cubic-bezier(.2,.7,.2,1)}
.legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:13px;font-weight:700;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:12px;height:12px;border-radius:3px;display:inline-block}

/* ---------- Comparison table (why chit fund) ---------- */
.cmp td,.cmp th{text-align:center!important}
.cmp td:first-child,.cmp th:first-child{text-align:left!important;font-weight:800;color:var(--maroon-800)}
.yes{color:var(--green);font-weight:900}
.no{color:var(--red);font-weight:900}
.mid{color:var(--gold-700);font-weight:900}
.cmp th.us{background:var(--gold-grad);color:var(--maroon-900)}
.cmp td.us{background:rgba(251,235,192,.55)}

/* ---------- Gallery ---------- */
.filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:30px}
.filters button{border:1.5px solid var(--gold-500);background:var(--paper);color:var(--maroon-700);font-weight:800;padding:10px 18px;border-radius:999px;transition:all .3s}
.filters button[aria-pressed="true"],.filters button:hover{background:var(--maroon-grad);color:var(--gold-200);border-color:var(--maroon-700)}
@property --gangle{syntax:"<angle>";initial-value:0deg;inherits:false}
.gallery{display:grid;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,3vw,40px);max-width:1180px;margin-inline:auto}
.gallery>*{min-width:0}
.g-item{position:relative;margin:0;display:flex;flex-direction:column;border-radius:22px;padding:5px;cursor:zoom-in;background:conic-gradient(from var(--gangle),#8a6116,#f4d98f,#6b0f1a,#fff1c1,#d1a23a,#8a1626,#f4d98f,#8a6116);background-size:100% 100%;animation:gBorder 6s linear infinite;box-shadow:0 24px 50px -26px rgba(74,9,18,.55);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,opacity .4s}
@keyframes gBorder{to{--gangle:360deg}}
.g-item:hover{transform:translateY(-8px);box-shadow:0 34px 60px -24px rgba(74,9,18,.7);animation-duration:2.5s}
.g-frame{position:relative;border-radius:17px;overflow:hidden;aspect-ratio:1024/1205;background:radial-gradient(circle at 50% 50%,#fffaf0,#fbebc0 75%,#f4d98f);display:flex;align-items:center;justify-content:center}
.g-item img{width:100%;height:100%;object-fit:contain;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.g-item:hover img{transform:scale(1.03)}
.g-zoom{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(46,5,11,.85);border:1.5px solid var(--gold-400);opacity:0;transform:scale(.8);transition:all .35s}
.g-zoom svg{width:20px;height:20px;stroke:var(--gold-300);fill:none;stroke-width:2.2}
.g-item:hover .g-zoom,.g-item:focus-visible .g-zoom{opacity:1;transform:none}
.g-cap{min-height:86px;display:flex;flex-direction:column;justify-content:center;padding:12px 16px;border-radius:0 0 17px 17px;background:var(--paper);color:var(--maroon-800);font-weight:800;font-size:16.5px;line-height:1.4;text-align:center}
.g-cap small{display:block;color:var(--gold-700);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}
html[lang="ta"] .g-cap small{text-transform:none;letter-spacing:0}
.g-item .g-frame{border-radius:17px 17px 0 0}
.g-item.hide{display:none}
.lightbox{position:fixed;inset:0;z-index:5000;background:rgba(20,2,5,.92);display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.lightbox.open{opacity:1;visibility:visible}
.lightbox figure{margin:0;max-width:min(980px,100%);max-height:94vh;display:flex;flex-direction:column;align-items:center;transform:scale(.9);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.lightbox.open figure{transform:none}
.lightbox img{max-height:86vh;width:auto;border-radius:12px;border:2px solid var(--gold-400);box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lightbox figcaption{color:var(--gold-200);margin-top:12px;font-weight:800;text-align:center}
.lb-btn{position:absolute;width:52px;height:52px;border-radius:50%;border:1.5px solid var(--gold-400);background:rgba(46,5,11,.8);color:var(--gold-200);display:grid;place-items:center;transition:background .3s,transform .3s}
.lb-btn:hover{background:var(--maroon-600);transform:scale(1.08)}
.lb-btn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2.4}
.lb-close{top:18px;right:18px}
.lb-prev{left:18px;top:50%;margin-top:-26px}
.lb-next{right:18px;top:50%;margin-top:-26px}

/* ---------- Careers ---------- */
.jobs{display:grid;gap:16px}
.job{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:20px 22px;border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);transition:transform .35s,box-shadow .35s,border-color .35s}
.job>*{min-width:0}
.job:hover{transform:translateX(8px);box-shadow:var(--shadow);border-color:var(--gold-500)}
.job h3{font-size:18.5px}
.job p{color:var(--muted);font-size:14.5px;margin-top:2px}
.job-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.job-tags .chip{font-size:12px;padding:4px 10px}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.contact-grid>*{min-width:0}
.c-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:26px 22px;border-radius:var(--radius-lg);background:var(--paper);border:1px solid var(--line);transition:transform .4s,box-shadow .4s,border-color .4s;overflow:hidden}
.c-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:var(--gold-500)}
.c-card .c-ico{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--maroon-grad);border:1.5px solid var(--gold-500);transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.c-card:hover .c-ico{transform:scale(1.1) rotate(-8deg)}
.c-card .c-ico svg{width:26px;height:26px;fill:var(--gold-300)}
.c-card h3{font-size:18px}
.c-card .val{font-weight:800;font-size:17px;color:var(--maroon-700);word-break:break-word;font-variant-numeric:tabular-nums}
.c-card .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.copy-btn{border:1px solid var(--line);background:var(--ivory-2);color:var(--ink-2);font-size:13px;font-weight:800;padding:8px 12px;border-radius:999px;transition:all .25s}
.copy-btn:hover{border-color:var(--gold-500)}
.copy-btn.ok{background:var(--green);color:#fff;border-color:var(--green)}
.form-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(22px,3vw,34px);box-shadow:var(--shadow)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-row>*{min-width:0}
.form-success{display:none;margin-top:16px;padding:16px 18px;border-radius:14px;background:#ecf7ef;border:1px solid #9fd3b0;color:#1d5b33;font-weight:700}
.form-success.show{display:block;animation:panelIn .5s}
.map-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:340px;background:var(--maroon-grad);color:var(--gold-200);display:flex;flex-direction:column;justify-content:flex-end;padding:28px;border:2px solid var(--gold-500)}
.map-card .map-grid{position:absolute;inset:0;opacity:.25;background-image:linear-gradient(rgba(244,217,143,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(244,217,143,.35) 1px,transparent 1px);background-size:36px 36px;transform:perspective(500px) rotateX(35deg) scale(1.4);transform-origin:bottom}
.map-card .roads{position:absolute;inset:0;width:100%;height:100%}
.map-card .roads path{stroke:rgba(244,217,143,.55);fill:none;stroke-width:3;stroke-dasharray:600;stroke-dashoffset:600;animation:draw 3s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.map-pin{position:absolute;top:26%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px}
.map-pin .pin{width:64px;height:64px;animation:pinDrop 1.4s cubic-bezier(.3,1.6,.5,1) both,bob 3s ease-in-out 1.4s infinite}
.map-pin .pin path{fill:url(#pinGold)}
.map-pin::after{content:"";position:absolute;left:50%;top:100%;width:60px;height:18px;margin-left:-30px;border-radius:50%;border:2px solid var(--gold-400);animation:pulseRing 2s ease-out infinite}
@keyframes pinDrop{from{transform:translateY(-120px);opacity:0}}
@keyframes bob{50%{transform:translateY(-8px)}}
@keyframes pulseRing{from{transform:scale(.4);opacity:1}to{transform:scale(2.2);opacity:0}}
.map-card>*:not(.map-grid):not(.roads):not(.map-pin){position:relative}
.map-card h3{color:#fff6dc;font-size:22px}
.map-card p{margin:6px 0 16px}

/* ---------- CTA band ---------- */
.cta-band{position:relative;overflow:hidden;border-radius:28px;padding:clamp(32px,5vw,56px);background:var(--maroon-grad);color:var(--gold-200);display:grid;grid-template-columns:1.3fr auto;gap:26px;align-items:center;border:1.5px solid var(--gold-500);box-shadow:0 40px 80px -40px rgba(74,9,18,.7)}
.cta-band>*{min-width:0}
.cta-band::before{content:"";position:absolute;width:420px;height:420px;right:-120px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(230,192,99,.35),transparent 65%);animation:glowMove 8s ease-in-out infinite}
@keyframes glowMove{50%{transform:translate(-60px,40px)}}
.cta-band h2{color:#fff6dc;font-size:clamp(26px,3.4vw,38px);position:relative}
.cta-band p{position:relative;margin-top:10px;color:rgba(251,235,192,.85)}
.cta-band .cta-actions{position:relative;display:flex;gap:12px;flex-wrap:wrap}

/* ---------- Footer ---------- */
.site-footer{position:relative;background:var(--maroon-950);color:rgba(251,235,192,.8);padding-top:70px;overflow:hidden}
.site-footer::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--gold-grad)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:36px}
.footer-grid>*{min-width:0}
.f-brand{display:flex;gap:14px;align-items:center}
.f-brand img{width:64px;height:64px;border-radius:50%;box-shadow:0 0 0 2px var(--gold-500)}
.f-brand .brand-name{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.f-brand .brand-sub{color:var(--gold-400)}
.site-footer p.about{margin-top:18px;font-size:14.5px}
.site-footer h4{color:var(--gold-300);font-size:17px;margin-bottom:16px;font-family:var(--f-head);position:relative;padding-bottom:10px}
.site-footer h4::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:2px;background:var(--gold-grad)}
.f-links{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.f-links a{display:inline-flex;align-items:center;gap:8px;transition:color .25s,transform .25s;font-size:14.5px}
.f-links a::before{content:"›";color:var(--gold-500);font-weight:900}
.f-links a:hover{color:var(--gold-300);transform:translateX(5px)}
.f-contact{list-style:none;padding:0;margin:0;display:grid;gap:14px;font-size:14.5px}
.f-contact li{display:flex;gap:12px;align-items:flex-start}
.f-contact svg{width:18px;height:18px;fill:var(--gold-400);flex-shrink:0;margin-top:3px}
.f-contact a:hover{color:var(--gold-300)}
.socials{display:flex;gap:10px;margin-top:20px}
.socials a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(230,192,99,.5);transition:all .35s}
.socials a svg{width:18px;height:18px;fill:var(--gold-300);transition:fill .35s}
.socials a:hover{background:var(--gold-grad);transform:translateY(-4px) rotate(8deg)}
.socials a:hover svg{fill:var(--maroon-900)}
.f-reg{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:44px;padding:18px 0;border-top:1px solid rgba(230,192,99,.2);font-size:13px;color:var(--gold-300)}
.f-reg b{color:var(--gold-200);font-variant-numeric:tabular-nums}
.f-bottom{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:18px 0 26px;border-top:1px solid rgba(230,192,99,.2);font-size:13.5px}
.f-bottom .tamil-tag{font-family:var(--f-ta);color:var(--gold-400)}

/* ---------- Floating actions ---------- */
.fab-wa{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:900;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 12px 26px -8px rgba(18,140,74,.8)}
.fab-wa::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:pulseRing 2.2s ease-out infinite}
.fab-wa svg{width:30px;height:30px;fill:#fff}
.fab-wa .fab-tip{position:absolute;right:70px;background:var(--maroon-900);color:var(--gold-200);font-size:13px;font-weight:800;padding:8px 12px;border-radius:10px;white-space:nowrap;opacity:0;transform:translateX(10px);transition:all .3s;pointer-events:none;border:1px solid var(--gold-600)}
.fab-wa:hover .fab-tip{opacity:1;transform:none}
.to-top{position:fixed;right:24px;bottom:calc(90px + env(safe-area-inset-bottom,0px));z-index:900;width:48px;height:48px;border-radius:50%;border:0;background:var(--maroon-900);display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .4s}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top svg.ring{position:absolute;inset:0;width:48px;height:48px;transform:rotate(-90deg)}
.to-top svg.ring circle{fill:none;stroke:var(--gold-400);stroke-width:3;stroke-dasharray:138;stroke-dashoffset:138}
.to-top svg.arr{width:20px;height:20px;stroke:var(--gold-300);fill:none;stroke-width:2.6;position:relative}
.cursor-glow{position:fixed;left:0;top:0;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(230,192,99,.12),transparent 65%);transition:opacity .4s;opacity:0}
.toast{visibility:hidden;position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,120px);z-index:6000;background:var(--maroon-900);color:var(--gold-200);border:1px solid var(--gold-500);padding:12px 20px;border-radius:999px;font-weight:800;font-size:14px;transition:transform .45s cubic-bezier(.3,1.5,.5,1);max-width:calc(100% - 32px);text-align:center}
.toast.show{visibility:visible;transform:translate(-50%,0)}

.mnav-cta{display:none}
/* ---------- Responsive ---------- */
@media (max-width:1200px){
  .main-nav ul a{padding:14px 7px;font-size:13.5px}
  html[lang="ta"] .main-nav ul a{padding:14px 4px;font-size:12px}
}
@media (max-width:1024px){
  :root{--nav-h:0px}
  .main-nav{border-top:0}
  .main-nav::before{display:none}
  .main-nav .container{padding:0}
  .main-nav ul{min-height:0}
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(255,250,240,.985)}
  .menu-toggle{display:block}
    .main-nav{position:fixed;left:0;right:0;top:0;bottom:0;margin:0;z-index:999;background:var(--maroon-grad);padding:calc(var(--header-h) + 60px) 24px 30px;transform:translateX(100%);transition:transform .55s cubic-bezier(.7,0,.2,1);overflow-y:auto;overflow-x:hidden;visibility:hidden}
  .menu-open .main-nav{transform:none;visibility:visible}
  .main-nav ul{flex-direction:column;align-items:stretch;gap:4px}
  .main-nav li{opacity:0;transform:translateX(30px);transition:opacity .4s,transform .4s;transition-delay:calc(var(--i,0)*45ms + .15s)}
  .menu-open .main-nav li{opacity:1;transform:none}
  .main-nav ul a,html[lang="ta"] .main-nav ul a{color:var(--gold-200);font-size:19px;padding:14px 10px;border-bottom:1px solid rgba(230,192,99,.18);border-radius:0}
  .main-nav ul a.active,.main-nav ul a:hover{color:#fff}
  .main-nav ul a::after{left:10px;right:auto;width:40px;bottom:-1px}
  .nav-actions{margin-left:auto;position:relative;z-index:1001}
  .brand{position:relative;z-index:1001}
  .menu-open .brand-name{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text}
  .menu-open .brand-sub{color:var(--gold-300)}
  .menu-open .site-header{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:transparent}
  .menu-open{overflow:hidden}
  .g-4,.stats,.reg-grid,.uses{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .hdr-cta{display:none}
  .mnav-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
  .mnav-cta .btn{flex:1 1 200px}
}
@media (max-width:900px){
  .gallery{grid-template-columns:1fr;max-width:760px}
  .hero-grid,.pb-grid,.spotlight,.facility,.about-grid,.calc,.cta-band{grid-template-columns:1fr}
  .orbit-stage{width:min(380px,100%)}
  .pb-art{width:min(220px,70%)}
  .g-3,.mvv,.contact-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr);row-gap:40px}
  .steps-line{display:none}
  .family-head{grid-template-columns:auto 1fr}
  .family-chips{grid-column:1/-1;justify-content:flex-start}
  .info-cols{grid-template-columns:1fr}
  .timeline::before{left:20px}
  .tl-item,.tl-item:nth-child(even){width:100%;margin-left:0;padding:0 0 34px 56px;text-align:left}
  .tl-item:nth-child(odd){text-align:left}
  .tl-item::before,.tl-item:nth-child(odd)::before,.tl-item:nth-child(even)::before{left:10px;right:auto}
}
@media (max-width:640px){
  :root{--header-h:66px}
  .topbar .tb-left .tb-mail,.topbar .tb-tag{display:none}
  .topbar .container{justify-content:center}
  .brand img{width:44px;height:44px}
  .brand-name{font-size:18px}
  .brand-sub{font-size:8.5px;letter-spacing:.08em}
  .lang-switch button{padding:6px 9px;min-width:42px;font-size:12px}
  .g-2,.g-3,.g-4,.mvv,.contact-grid,.reg-grid,.uses,.form-row{grid-template-columns:1fr}
  .orbit-stage .sat .chip{padding:5px;border-radius:50%}
  .orbit-stage .sat .chip>span{display:none}
  .orbit-stage .sat .chip i{width:30px;height:30px}
  .stats{grid-template-columns:1fr 1fr;gap:12px}
  .steps{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr;gap:22px}
  .footer-grid{grid-template-columns:1fr}
  .job{grid-template-columns:1fr}
  .job .f-icon{display:none}
  .schedule{grid-template-columns:1fr}
  .sched-arrow{margin-inline:auto;transform:rotate(90deg);animation:none}
  .vstep{grid-template-columns:52px 1fr;gap:14px}
  .vstep-dot{width:52px;height:52px;font-size:17px}
  .vsteps::before{left:25px}
  .hero-ctas .btn,.cta-band .btn{flex:1 1 100%}
  .tab-wrap{top:calc(env(safe-area-inset-top,0px) + var(--header-h) + 4px)}
  .tab{padding:10px 14px;font-size:13px}
  .lb-prev,.lb-next{top:auto;bottom:18px;margin-top:0}
  .lb-prev{left:calc(50% - 64px)}.lb-next{right:calc(50% - 64px)}
  .pg-mini b{font-size:18px}
  .fab-wa{width:52px;height:52px}
  .to-top{right:20px;bottom:calc(82px + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .js [data-reveal]{opacity:1;transform:none;filter:none}
}
