/* ==========================================================================
   Murli Sharma — Theme stylesheet  ·  Modern redesign (2026)
   Saffron / tricolor political identity. Mobile-first, responsive.
   Color tokens (--primary, --primary-d, --accent, --ink, --bg-soft) are set
   in header.php from config.php; the design tokens below build on them.
   ========================================================================== */

/* --- Design tokens -------------------------------------------------------- */
:root{
    /* Surfaces */
    --surface:#ffffff;
    --surface-2:#fffaf4;
    --line:#f1e6d8;
    --line-2:#ece0d0;
    --muted:#6b6258;
    --muted-2:#8c8377;

    /* Brand-derived */
    --saffron:#ff6b00;
    --saffron-d:#e25a00;
    --green:#138808;
    --ink-1:#1a1410;
    --ink-2:#2a221b;

    /* Gradients */
    --grad-saffron:linear-gradient(135deg,#ff8a2b 0%,#ff6b00 45%,#e25a00 100%);
    --grad-ink:linear-gradient(135deg,#241a12 0%,#15100b 100%);
    --grad-warm:linear-gradient(180deg,#fffdfb 0%,#fff6ec 100%);
    --grad-text:linear-gradient(120deg,#ff7a14,#e25a00);

    /* Radii */
    --r-sm:10px;
    --r:16px;
    --r-lg:22px;
    --r-xl:30px;
    --r-pill:999px;

    /* Shadows */
    --sh-xs:0 1px 2px rgba(26,20,16,.06);
    --sh-sm:0 4px 14px rgba(26,20,16,.07);
    --sh:0 12px 30px rgba(26,20,16,.10);
    --sh-lg:0 26px 60px rgba(26,20,16,.14);
    --sh-saffron:0 14px 34px rgba(255,107,0,.34);

    /* Motion */
    --ease:cubic-bezier(.22,.61,.36,1);
    --t:.28s var(--ease);
}

/* --- Reset & base --------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
    font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
    color:var(--ink);background:var(--surface);line-height:1.7;font-size:16px;
    overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;line-height:1.15;font-weight:700;color:var(--ink);letter-spacing:-.01em}
::selection{background:rgba(255,107,0,.22);color:var(--ink-1)}
:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:4px}

/* Decorative tricolor scrollbar accent (supported browsers) */
@supports (scrollbar-color:auto){html{scrollbar-color:var(--saffron) #f3ece3;scrollbar-width:thin}}

.container{width:min(1180px,92%);margin-inline:auto}
.section{padding:96px 0;position:relative}
.section--soft{background:var(--grad-warm)}
.center{text-align:center}
.mt{margin-top:34px}
.hide-sm{display:none}

.skip-link{position:absolute;left:-999px;top:0;background:var(--primary);color:#fff;padding:10px 16px;z-index:300;border-radius:0 0 8px 0}
.skip-link:focus{left:8px;top:8px}

/* --- Scroll reveal (driven by JS adding .is-in) --------------------------- */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
[data-reveal].is-in{opacity:1;transform:none}
[data-reveal][data-reveal-delay="1"]{transition-delay:.08s}
[data-reveal][data-reveal-delay="2"]{transition-delay:.16s}
[data-reveal][data-reveal-delay="3"]{transition-delay:.24s}
[data-reveal][data-reveal-delay="4"]{transition-delay:.32s}
[data-reveal][data-reveal-delay="5"]{transition-delay:.40s}

/* --- Buttons -------------------------------------------------------------- */
.btn{
    position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;
    font-family:'Poppins',sans-serif;font-weight:600;font-size:.95rem;letter-spacing:.01em;
    padding:14px 28px;border-radius:var(--r-pill);cursor:pointer;border:2px solid transparent;
    transition:transform .2s var(--ease),background .25s ease,box-shadow .25s ease,color .25s ease,border-color .25s ease;
    white-space:nowrap;overflow:hidden;isolation:isolate;
}
.btn:hover{transform:translateY(-3px)}
.btn:active{transform:translateY(-1px)}
.btn .icon{width:18px;height:18px}
/* Sheen sweep */
.btn::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-130%);transition:transform .6s var(--ease)}
.btn:hover::after{transform:translateX(130%)}
.btn-primary{background:var(--grad-saffron);color:#fff;box-shadow:var(--sh-saffron)}
.btn-primary:hover{box-shadow:0 20px 42px rgba(255,107,0,.46)}
.btn-outline{border-color:var(--primary);color:var(--primary);background:transparent}
.btn-outline:hover{background:var(--primary);color:#fff;box-shadow:var(--sh-saffron)}
.btn-light{background:#fff;color:var(--saffron-d);box-shadow:var(--sh-sm)}
.btn-light:hover{box-shadow:var(--sh)}
.btn-whatsapp{background:#25D366;color:#fff;box-shadow:0 10px 26px rgba(37,211,102,.32)}
.btn-whatsapp:hover{background:#1da851}
.btn-sm{padding:10px 20px;font-size:.85rem}
.btn-block{width:100%}

/* --- Topbar --------------------------------------------------------------- */
.topbar{background:var(--grad-ink);color:#eee;font-size:.84rem;position:relative}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--saffron) 0 33.3%,#fff 33.3% 66.6%,var(--green) 66.6% 100%)}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;flex-wrap:wrap}
.topbar a{display:inline-flex;align-items:center;gap:6px;color:#d7cfc6;transition:color .2s}
.topbar a:hover{color:var(--saffron)}
.topbar__contact{display:flex;gap:20px;flex-wrap:wrap}
.topbar__social{display:flex;gap:8px}
.topbar__social a{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.07);transition:background .2s,color .2s,transform .2s}
.topbar__social a:hover{background:var(--saffron);color:#fff;transform:translateY(-2px)}
.topbar .icon{width:15px;height:15px}

/* --- Header / Nav --------------------------------------------------------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);box-shadow:0 1px 0 rgba(26,20,16,.06);transition:box-shadow .3s,background .3s}
.site-header.scrolled{background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(26,20,16,.10)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;padding:13px 0;gap:16px}
.brand{display:flex;align-items:center;gap:12px;transition:transform .2s var(--ease)}
.brand:hover{transform:translateY(-1px)}
.brand__mark{
    width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:14px;
    background:var(--grad-saffron);box-shadow:var(--sh-saffron);
    color:#fff;font-family:'Poppins';font-weight:800;font-size:1.06rem;letter-spacing:.5px;
}
.brand__logo{height:52px;width:auto;display:block}
.brand--footer .brand__logo{height:48px}
.brand__text{display:flex;flex-direction:column;line-height:1.15}
.brand__text strong{font-family:'Poppins';font-size:1.2rem;color:var(--ink)}
.brand__text small{font-size:.72rem;color:var(--muted-2);font-weight:500;letter-spacing:.02em}

.nav__menu{display:flex;align-items:center;gap:2px}
.nav__menu a{display:inline-flex;align-items:center;gap:4px;font-family:'Poppins';font-weight:500;font-size:.92rem;padding:10px 13px;border-radius:var(--r-pill);color:#3a322b;transition:color .2s,background .2s;position:relative}
.nav__menu>li>a:hover{color:var(--primary);background:rgba(255,107,0,.07)}
.nav__menu>li>a.is-active{color:var(--primary)}
.nav__menu>li>a.is-active::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:3px;width:18px;height:3px;background:var(--grad-saffron);border-radius:3px}
.nav__cta a{color:#fff}
.nav__cta a:hover{color:#fff;background:transparent}
.nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.nav__toggle span{width:26px;height:3px;background:var(--ink);border-radius:3px;transition:.3s}

/* Dropdown / sub-menus */
.nav__menu .has-sub{position:relative}
.nav__menu a .icon--chevron{width:13px;height:13px;opacity:.6;transition:transform .25s}
/* Closing is DELAYED ~150ms (grace period) so a brief slip off the menu
   doesn't dismiss it; opening (rule further down) is instant. */
.sub-menu{list-style:none;position:absolute;top:calc(100% + 8px);left:0;min-width:236px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-lg);border-radius:var(--r);padding:9px;opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);transform-origin:top left;transition:opacity .18s var(--ease) .15s,transform .18s var(--ease) .15s,visibility 0s linear .33s;z-index:130}
.sub-menu::before{content:"";position:absolute;top:-7px;left:24px;width:14px;height:14px;background:var(--surface);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
/* Invisible hover bridge across the 8px gap between trigger and menu */
.sub-menu::after{content:"";position:absolute;left:-8px;right:-8px;top:-12px;height:12px}
.sub-menu .sub-menu::after{left:-12px;right:auto;top:0;bottom:0;width:12px;height:auto}
.nav__menu .has-sub:hover>.sub-menu,.nav__menu .has-sub:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1);transition:opacity .22s var(--ease),transform .22s var(--ease)}
.nav__menu .has-sub:hover>a .icon--chevron{transform:rotate(180deg)}
.sub-menu li{position:relative}
.sub-menu a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-radius:10px;font-size:.9rem;font-weight:500;color:#3a322b;white-space:nowrap}
.sub-menu a:hover,.sub-menu a.is-active{background:var(--surface-2);color:var(--primary);padding-left:17px}
.sub-menu a .icon--chevron{transform:rotate(-90deg);opacity:.5}
.sub-menu .has-sub:hover>a .icon--chevron{transform:rotate(-90deg)}
.sub-menu .sub-menu{top:-10px;left:calc(100% + 8px)}
.sub-menu .sub-menu::before{top:18px;left:-7px;border-left:1px solid var(--line);border-top:none;border-bottom:1px solid var(--line);border-right:none}
.sub-toggle{display:none}

/* --- Section heads -------------------------------------------------------- */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:'Poppins';font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:.74rem;color:var(--saffron-d);margin-bottom:16px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--grad-saffron);border-radius:2px}
.section__head{max-width:740px;margin:0 auto 56px}
.section__head.center{text-align:center}
.section__head.center .eyebrow::after{content:"";width:26px;height:2px;background:var(--grad-saffron);border-radius:2px}
.section__title{font-size:clamp(1.7rem,3.8vw,2.6rem);margin:6px 0 14px;letter-spacing:-.02em}
.section__sub{color:var(--muted);font-size:1.06rem}

/* Soft decorative blob helper for sections */
.section--soft::before{content:"";position:absolute;top:-60px;right:-80px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(255,107,0,.10),transparent 70%);pointer-events:none}

/* --- Hero (legacy single) ------------------------------------------------- */
.hero{position:relative;color:#fff;overflow:hidden;min-height:clamp(460px,72vh,640px);display:flex;align-items:center}
.hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(20,8,0,.9) 0%,rgba(40,16,0,.72) 45%,rgba(255,107,0,.25) 100%);z-index:1}
.hero__inner{position:relative;z-index:2;padding:60px 0}
.hero__content{max-width:640px}
.hero__title{font-size:clamp(2.4rem,6vw,4rem);font-weight:800;color:#fff;margin-bottom:16px;text-shadow:0 2px 24px rgba(0,0,0,.4)}
.hero__lead{font-size:clamp(1rem,2.2vw,1.18rem);color:#f0e6db;margin-bottom:30px;max-width:560px}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap}

/* --- Hero slider ---------------------------------------------------------- */
.hero-slider{position:relative;overflow:hidden;min-height:clamp(540px,84vh,720px);background:#160d04}
.hero-slider__track{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity 1s var(--ease)}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:2}
.hero-slide__bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.08);transition:transform 8s ease}
.hero-slide.is-active .hero-slide__bg{transform:scale(1)}
/* Cinematic multi-layer overlay + subtle saffron mesh */
.hero-slide::after{content:"";position:absolute;inset:0;z-index:1;background:
    radial-gradient(120% 90% at 85% 15%,rgba(255,107,0,.28),transparent 55%),
    linear-gradient(105deg,rgba(14,8,2,.94) 0%,rgba(26,14,4,.8) 42%,rgba(26,14,4,.28) 100%),
    linear-gradient(0deg,rgba(10,6,2,.7),transparent 45%)}
.hero-slide__inner{position:relative;z-index:2;padding:64px 0;width:min(1180px,92%);margin-inline:auto}
.hero-slide__inner--split{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:34px}
.hero-slide__inner--reverse{grid-template-columns:.92fr 1.08fr}
.hero-slide__inner--reverse .hero__content{order:2}
.hero-slide__inner--reverse .hero-slide__photo{order:1}
.hero-slide.is-active .hero-slide__inner--reverse .hero-slide__photo img{animation-name:heroPhotoInL}
@keyframes heroPhotoInL{from{opacity:0;transform:translateX(-46px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}
.hero-slide .hero__content{max-width:680px;color:#fff}
/* Hero eyebrow becomes a glass chip on dark bg */
.hero-slide .eyebrow{color:#ffd9b3;background:rgba(255,255,255,.08);border:1px solid rgba(255,159,77,.4);padding:7px 16px;border-radius:var(--r-pill);backdrop-filter:blur(6px)}
.hero-slide .eyebrow::before,.hero-slide .eyebrow::after{display:none}
/* Right-side portrait (transparent cutout) */
/* Pull the portrait flush to the hero's bottom edge (cancels the inner 64px
   padding) so cutout photos never float with a visible gap below them. */
.hero-slide__photo{position:relative;display:flex;justify-content:center;align-items:flex-end;align-self:stretch;min-height:400px;margin-bottom:-64px}
/* Concentric halo behind the portrait — both layers share the SAME size and
   centre so they can never drift apart. The glow breathes; the ring is still. */
.hero-slide__photo::before{content:"";position:absolute;bottom:4%;left:50%;width:min(440px,80%);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,138,43,.55) 0%,rgba(255,107,0,.16) 50%,transparent 72%);z-index:1;filter:blur(8px);animation:halo 5s ease-in-out infinite}
@keyframes halo{0%,100%{opacity:.7}50%{opacity:1}}
.hero-slide__photo::after{content:"";position:absolute;bottom:4%;left:50%;width:min(440px,80%);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;border:1.5px solid rgba(255,190,130,.38);box-shadow:0 0 0 28px rgba(255,180,120,.06),0 0 0 60px rgba(255,180,120,.03),inset 0 0 46px rgba(255,138,43,.22);z-index:1}
.hero-slide__photo img{position:relative;z-index:2;max-height:580px;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 26px 44px rgba(0,0,0,.55));-webkit-mask-image:linear-gradient(to bottom,#000 90%,rgba(0,0,0,.25) 100%);mask-image:linear-gradient(to bottom,#000 90%,rgba(0,0,0,.25) 100%)}
.hero-slide.is-active .hero-slide__photo img{animation:heroPhotoIn 1s var(--ease) both;animation-delay:.15s}
@keyframes heroPhotoIn{from{opacity:0;transform:translateX(46px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}
.hero-slide .hero__title{color:#fff;font-size:clamp(2.4rem,5.6vw,4.1rem);text-shadow:0 4px 30px rgba(0,0,0,.45)}
/* Tricolor signature bar under the headline */
.hero-slide .hero__title::after{content:"";display:block;width:86px;height:4px;margin-top:20px;border-radius:4px;background:linear-gradient(90deg,var(--saffron) 0 44%,#fff 44% 72%,var(--green) 72% 100%);box-shadow:0 2px 12px rgba(0,0,0,.35)}
.hero-slide .hero__lead{color:#ede2d6;font-size:clamp(1.02rem,2.1vw,1.2rem)}
/* Soft ambient orbs for depth (kept away from the text column) */
.hero-slider::before{content:"";position:absolute;top:-90px;left:-70px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(255,138,43,.35),transparent 70%);filter:blur(70px);z-index:3;pointer-events:none}
.hero-slider::after{content:"";position:absolute;bottom:-110px;right:-60px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(19,136,8,.28),transparent 70%);filter:blur(80px);z-index:3;pointer-events:none}
/* Scroll-down cue */
.hero-scroll{position:absolute;left:38px;bottom:30px;z-index:6;width:28px;height:46px;border:2px solid rgba(255,255,255,.45);border-radius:var(--r-pill);transition:border-color .25s}
.hero-scroll:hover{border-color:var(--saffron)}
.hero-scroll::before{content:"";position:absolute;top:8px;left:50%;width:4px;height:9px;margin-left:-2px;border-radius:4px;background:var(--saffron);animation:wheel 1.8s ease-in-out infinite}
@keyframes wheel{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(16px)}}
/* Entrance animation for the active slide's text */
.hero-slide.is-active .eyebrow,
.hero-slide.is-active .hero__title,
.hero-slide.is-active .hero__lead,
.hero-slide.is-active .hero__actions{animation:heroIn .8s var(--ease) both}
.hero-slide.is-active .hero__title{animation-delay:.12s}
.hero-slide.is-active .hero__lead{animation-delay:.24s}
.hero-slide.is-active .hero__actions{animation-delay:.36s}
@keyframes heroIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
/* Arrows */
.hero-slider__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);color:#fff;font-size:2rem;line-height:1;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px);transition:background .25s,transform .25s,border-color .25s}
.hero-slider__arrow:hover{background:var(--grad-saffron);border-color:transparent;transform:translateY(-50%) scale(1.08)}
.hero-slider__prev{left:24px}.hero-slider__next{right:24px}
/* Dots */
.hero-slider__dots{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:6;display:flex;gap:10px}
.hero-slider__dot{width:11px;height:11px;border-radius:50%;border:2px solid rgba(255,255,255,.85);background:transparent;cursor:pointer;padding:0;transition:background .25s,width .25s,border-color .25s}
.hero-slider__dot.is-active{background:var(--grad-saffron);border-color:transparent;width:34px;border-radius:6px}

/* --- Stats ---------------------------------------------------------------- */
.stats{padding:0}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent);border-radius:var(--r-lg);margin-top:-62px;position:relative;z-index:5;box-shadow:var(--sh-lg);overflow:hidden;border:1px solid var(--line)}
.stats__grid::before{content:"";position:absolute;inset:0;background:var(--grad-warm);z-index:0}
/* Tricolor hairline across the floating card */
.stats__grid::after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--saffron) 0 33.3%,#fff 33.3% 66.6%,var(--green) 66.6% 100%);z-index:2}
.stat{position:relative;z-index:1;padding:38px 18px;text-align:center;background:var(--surface);transition:background .3s,transform .3s}
.stat:hover{background:var(--surface-2);transform:translateY(-4px)}
.stat__num{display:block;font-family:'Poppins';font-weight:800;font-size:2.7rem;line-height:1;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;transition:transform .3s var(--ease)}
.stat:hover .stat__num{transform:scale(1.07)}
.stat__label{display:block;margin-top:10px;font-size:.76rem;color:var(--muted-2);font-weight:600;letter-spacing:.1em;text-transform:uppercase}

/* --- Grids ---------------------------------------------------------------- */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.grid-2--sticky{align-items:start}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}

/* --- About teaser --------------------------------------------------------- */
.about-teaser__media{position:relative}
.about-teaser__media::before{content:"";position:absolute;inset:18px -18px -18px 18px;border-radius:var(--r-lg);background:var(--grad-saffron);opacity:.16;z-index:0}
.about-teaser__media::after{content:"";position:absolute;left:-14px;top:-14px;width:90px;height:90px;border-top:4px solid var(--saffron);border-left:4px solid var(--saffron);border-radius:18px 0 0 0;z-index:2}
.about-teaser__media img{position:relative;z-index:1;border-radius:var(--r-lg);box-shadow:var(--sh-lg);width:100%;object-fit:cover}
/* Floating glass badge over the portrait */
.about-float{position:absolute;left:-20px;bottom:30px;z-index:3;display:flex;align-items:center;gap:13px;background:rgba(255,255,255,.93);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:16px;padding:14px 20px 14px 14px;box-shadow:var(--sh-lg);max-width:82%;animation:floatY 5s ease-in-out infinite alternate}
@keyframes floatY{to{transform:translateY(-9px)}}
.about-float__ic{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:13px;background:var(--grad-saffron);color:#fff;box-shadow:var(--sh-saffron)}
.about-float__ic .icon{width:22px;height:22px}
.about-float strong{display:block;font-family:'Poppins';font-size:.92rem;line-height:1.3;color:var(--ink)}
.about-float small{display:block;font-size:.76rem;color:var(--muted);font-weight:500}
.checklist{margin:24px 0 28px;display:flex;flex-direction:column;gap:14px}
.checklist li{display:flex;align-items:center;gap:12px;font-weight:500}
.checklist .icon{color:#fff;width:24px;height:24px;flex:none;padding:5px;border-radius:50%;background:var(--green);box-shadow:0 4px 12px rgba(19,136,8,.3)}
.checklist--col li{align-items:flex-start}

/* --- Cards ---------------------------------------------------------------- */
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 30px;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;height:100%;overflow:hidden}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad-saffron);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.card--lift:hover,.card:hover{transform:translateY(-8px);box-shadow:var(--sh-lg);border-color:transparent}
.card:hover::before{transform:scaleX(1)}
.card[id]{scroll-margin-top:110px}
.card__icon{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,rgba(255,107,0,.14),rgba(255,107,0,.06));color:var(--primary);margin-bottom:20px;transition:transform .35s var(--ease),background .35s}
.card:hover .card__icon{transform:rotate(-6deg) scale(1.06);background:var(--grad-saffron);color:#fff;box-shadow:var(--sh-saffron)}
.card__icon .icon{width:30px;height:30px}
/* Faint outlined index number, sharpens on hover */
.card__no{position:absolute;top:20px;right:24px;font-family:'Poppins';font-weight:800;font-size:2.5rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(255,107,0,.16);pointer-events:none;transition:-webkit-text-stroke-color .3s}
.card:hover .card__no{-webkit-text-stroke-color:rgba(255,107,0,.42)}
.card__title{font-size:1.22rem;margin-bottom:11px}
.card__text{color:var(--muted);font-size:.96rem}

/* --- Steps ---------------------------------------------------------------- */
.steps{counter-reset:step;position:relative}
.step{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 24px 28px;text-align:center;box-shadow:var(--sh-sm);transition:transform .3s var(--ease),box-shadow .3s}
.step:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.step__no{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--grad-saffron);color:#fff;font-family:'Poppins';font-weight:800;font-size:1.15rem;margin-bottom:16px;box-shadow:var(--sh-saffron)}
.step h3{margin-bottom:8px;font-size:1.12rem}
.step p{color:var(--muted);font-size:.93rem}

/* --- Grievance ------------------------------------------------------------ */
.grievance{padding-top:0}
.grievance__card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:34px;flex-wrap:wrap;background:var(--grad-warm);border:1px solid var(--line);border-radius:var(--r-xl);padding:44px 48px;box-shadow:var(--sh);overflow:hidden}
.grievance__card::before{content:"";position:absolute;top:0;left:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--saffron),#25D366)}
.grievance__card::after{content:"";position:absolute;top:-70px;right:-50px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(37,211,102,.12),transparent 70%);pointer-events:none}
.grievance__text{flex:1 1 420px}
.grievance__text .section__title{margin-top:4px}
.grievance__text p{color:var(--muted);max-width:560px;margin-top:6px}
.grievance__action{flex:0 0 auto}
.grievance__action .btn{font-size:1rem;padding:16px 30px}

/* --- Grievance modal ------------------------------------------------------ */
.gmodal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px}
.gmodal.open{display:flex;animation:fadeIn .25s ease}
.gmodal__overlay{position:absolute;inset:0;background:rgba(12,8,4,.62);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.gmodal__panel{position:relative;z-index:1;width:min(540px,100%);max-height:92vh;overflow:auto;background:var(--surface);border-radius:var(--r-lg);padding:36px 36px 30px;box-shadow:var(--sh-lg);animation:gPop .3s var(--ease)}
.gmodal__panel::before{content:"";position:absolute;top:0;left:32px;right:32px;height:4px;background:linear-gradient(90deg,var(--saffron),#25D366);border-radius:0 0 4px 4px}
@keyframes gPop{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
.gmodal__close{position:absolute;top:14px;right:16px;width:40px;height:40px;border:0;border-radius:50%;background:var(--surface-2);color:var(--ink-2);font-size:1.6rem;line-height:1;cursor:pointer;transition:.2s}
.gmodal__close:hover{background:var(--saffron);color:#fff}
.gmodal__title{font-size:1.6rem;margin:6px 0 6px}
.gmodal__sub{color:var(--muted);font-size:.95rem;margin-bottom:22px}
.gfield{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.gfield-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gfield label{font-family:'Poppins';font-weight:600;font-size:.85rem}
.gfield label span{color:#e53935}
.gfield input,.gfield textarea{font-family:inherit;font-size:.95rem;padding:12px 14px;border:1.5px solid var(--line-2);border-radius:12px;background:var(--surface-2);transition:border .2s,box-shadow .2s;width:100%}
.gfield input:focus,.gfield textarea:focus{outline:0;border-color:var(--saffron);background:#fff;box-shadow:0 0 0 4px rgba(255,107,0,.12)}
.gfield input.is-invalid,.gfield textarea.is-invalid{border-color:#e53935;box-shadow:0 0 0 4px rgba(229,57,53,.1)}
.gfield textarea{resize:vertical;min-height:104px}
.gmodal__note{font-size:.8rem;color:var(--muted-2);text-align:center;margin-top:12px}

/* --- Quote band ----------------------------------------------------------- */
.quote-band{position:relative;background:var(--grad-ink);color:#fff;padding:84px 0;text-align:center;overflow:hidden}
.quote-band::before{content:"\201C";position:absolute;top:-10px;left:50%;transform:translateX(-50%);font-family:Georgia,serif;font-size:14rem;line-height:1;color:rgba(255,107,0,.16);pointer-events:none}
.quote-band::after{content:"";position:absolute;inset:0;background:radial-gradient(80% 120% at 50% 0%,rgba(255,107,0,.22),transparent 60%);pointer-events:none}
.quote{position:relative;z-index:1}
/* Slow-turning dashed ring behind the quote for a crafted, editorial feel */
.quote::before{content:"";position:absolute;top:50%;left:50%;width:340px;height:340px;border:1.5px dashed rgba(255,159,77,.16);border-radius:50%;animation:spinC 70s linear infinite;pointer-events:none}
@keyframes spinC{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.quote p{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(1.45rem,3.1vw,2.15rem);font-weight:500;max-width:900px;margin:0 auto 20px;line-height:1.5;letter-spacing:.01em}
.quote cite{font-style:normal;font-family:'Poppins';font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:#ffc89a;display:inline-flex;align-items:center;gap:12px}
.quote cite::before{content:"";width:30px;height:2px;background:var(--saffron)}
.quote cite::after{content:"";width:30px;height:2px;background:var(--saffron)}

/* --- Posts ---------------------------------------------------------------- */
.post-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.post-card:hover{transform:translateY(-8px);box-shadow:var(--sh-lg);border-color:transparent}
.post-card__media{display:block;aspect-ratio:5/3;overflow:hidden;position:relative}
.post-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,12,4,.35),transparent 50%);opacity:0;transition:opacity .3s}
.post-card:hover .post-card__media::after{opacity:1}
.post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.post-card:hover .post-card__media img{transform:scale(1.07)}
/* Date chip floating on the image */
.post-card__chip{position:absolute;left:14px;bottom:14px;z-index:2;background:rgba(255,255,255,.94);backdrop-filter:blur(4px);color:var(--saffron-d);font-family:'Poppins';font-weight:600;font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;padding:6px 13px;border-radius:var(--r-pill);box-shadow:var(--sh-sm)}
.post-card__body{padding:24px 24px 28px;display:flex;flex-direction:column;flex:1}
.post-card__date{display:inline-flex;align-items:center;gap:7px;color:var(--saffron-d);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.post-card__date::before{content:"";width:14px;height:2px;background:var(--saffron)}
.post-card__title{font-size:1.18rem;margin:10px 0 11px;line-height:1.3}
.post-card__title a{transition:color .2s}
.post-card__title a:hover{color:var(--primary)}
.post-card__excerpt{color:var(--muted);font-size:.94rem;flex:1}
.link-arrow{display:inline-flex;align-items:center;gap:7px;color:var(--primary);font-weight:600;font-size:.9rem;margin-top:16px}
.link-arrow .icon{width:16px;transition:transform .25s}
.link-arrow:hover .icon{transform:translateX(5px)}

/* --- Page hero (inner pages) --------------------------------------------- */
.page-hero{position:relative;background-size:cover;background-position:center;color:#fff;padding:120px 0 88px;text-align:center;overflow:hidden}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--saffron) 0 33.3%,#fff 33.3% 66.6%,var(--green) 66.6% 100%)}
.page-hero--sm{padding:104px 0 72px}
.page-hero h1{font-size:clamp(2.1rem,5vw,3.2rem);color:#fff;margin-bottom:10px;text-shadow:0 2px 24px rgba(0,0,0,.4)}
.page-hero p{color:#f0e0d2;font-size:1.08rem}
.breadcrumb{display:inline-flex;gap:10px;justify-content:center;align-items:center;font-size:.84rem;margin-bottom:20px;color:#e8d8c8;flex-wrap:wrap;background:rgba(0,0,0,.22);padding:8px 18px;border-radius:var(--r-pill);backdrop-filter:blur(6px)}
.breadcrumb a{transition:color .2s}
.breadcrumb a:hover{color:var(--saffron)}
.breadcrumb span[aria-current]{color:#fff;font-weight:600}
.post-meta{opacity:.95}

/* --- About page ----------------------------------------------------------- */
.about-media{position:sticky;top:110px}
.about-media>img{border-radius:var(--r-lg);box-shadow:var(--sh-lg);width:100%;object-fit:cover}
.fact-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;margin-top:24px;box-shadow:var(--sh-sm);overflow:hidden}
.fact-card::before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:var(--grad-saffron)}
.fact-card h3{font-size:1.1rem;margin-bottom:16px;color:var(--ink);display:flex;align-items:center;gap:8px}
.fact-card h3::before{content:"";width:20px;height:3px;background:var(--grad-saffron);border-radius:2px}
.facts__row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line-2)}
.facts__row:last-child{border-bottom:0}
.facts dt{font-weight:600;color:var(--muted);font-size:.9rem}
.facts dd{text-align:right;font-size:.9rem;font-weight:600;color:var(--ink)}

/* --- Prose ---------------------------------------------------------------- */
.prose .lead{font-size:1.2rem;color:var(--ink-2);margin-bottom:20px;font-weight:500;line-height:1.6}
.prose p{margin-bottom:18px;color:#4a423a}
.prose h3{margin:30px 0 14px;font-size:1.35rem}
.prose__cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.narrow{width:min(820px,92%)}
.post-hero-img{border-radius:var(--r-lg);margin-bottom:30px;width:100%;object-fit:cover;box-shadow:var(--sh)}
.share{display:flex;align-items:center;gap:12px;margin:34px 0;padding-top:22px;border-top:1px solid var(--line)}
.share>span{font-weight:600;font-family:'Poppins';font-size:.9rem}
.share a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);color:var(--primary);transition:.25s var(--ease)}
.share a:hover{background:var(--grad-saffron);border-color:transparent;color:#fff;transform:translateY(-3px);box-shadow:var(--sh-saffron)}
.post-nav{margin-top:22px}

/* --- Gallery -------------------------------------------------------------- */
.gallery-filter{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:30px}
.gallery-filter__btn{appearance:none;cursor:pointer;border:1.5px solid var(--line-2);background:var(--surface);color:var(--ink-2);font:inherit;font-size:.9rem;font-weight:600;padding:9px 20px;border-radius:var(--r-pill);transition:var(--t)}
.gallery-filter__btn:hover{border-color:var(--saffron);color:var(--saffron-d)}
.gallery-filter__btn.is-active{background:var(--grad-saffron);border-color:transparent;color:#fff;box-shadow:var(--sh-saffron)}
.gallery__item.is-hidden{display:none}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}
.gallery__item{position:relative;border-radius:var(--r);overflow:hidden;cursor:pointer;aspect-ratio:4/3;box-shadow:var(--sh-sm);border:1px solid var(--line)}
.gallery__item::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,12,4,.55),transparent 55%);opacity:0;transition:opacity .35s}
.gallery__item:hover::after{opacity:1}
.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.gallery__item:hover img{transform:scale(1.1)}
.gallery__item figcaption{position:absolute;inset:auto 0 0 0;z-index:2;color:#fff;padding:26px 16px 14px;font-size:.86rem;font-weight:500;transform:translateY(110%);transition:transform .35s var(--ease)}
.gallery__item:hover figcaption{transform:translateY(0)}

/* --- Lightbox ------------------------------------------------------------- */
.lightbox{position:fixed;inset:0;background:rgba(12,8,4,.94);backdrop-filter:blur(8px);z-index:300;display:none;align-items:center;justify-content:center;padding:40px}
.lightbox.open{display:flex;animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.lightbox__inner{max-width:90vw;max-height:85vh;text-align:center}
.lightbox__inner img{max-width:90vw;max-height:78vh;border-radius:var(--r);margin-inline:auto;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lightbox__inner figcaption{color:#fff;margin-top:16px;font-size:.95rem}
.lightbox__close{position:absolute;top:20px;right:28px;background:rgba(255,255,255,.1);border:0;color:#fff;font-size:1.8rem;width:48px;height:48px;border-radius:50%;cursor:pointer;line-height:1;transition:.2s}
.lightbox__close:hover{background:var(--primary)}
.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:0;color:#fff;font-size:2.4rem;width:56px;height:56px;border-radius:50%;cursor:pointer;transition:.2s}
.lightbox__nav:hover{background:var(--primary)}
.lightbox__prev{left:24px}.lightbox__next{right:24px}

/* --- Contact -------------------------------------------------------------- */
.contact-grid{align-items:start}
.contact-list{margin:26px 0;display:flex;flex-direction:column;gap:18px}
.contact-list li{display:flex;gap:16px;align-items:flex-start}
.contact-list__ic{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:14px;background:linear-gradient(135deg,rgba(255,107,0,.14),rgba(255,107,0,.06));color:var(--primary)}
.contact-list strong{display:block;font-family:'Poppins';font-size:.95rem;margin-bottom:2px}
.contact-list span,.contact-list a{color:var(--muted);font-size:.93rem}
.contact-list a:hover{color:var(--primary)}
.contact-social{display:flex;gap:12px;margin-top:24px}
.contact-social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--grad-ink);color:#fff;transition:.25s var(--ease)}
.contact-social a:hover{background:var(--grad-saffron);transform:translateY(-3px);box-shadow:var(--sh-saffron)}

.contact-form-wrap{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:38px;box-shadow:var(--sh)}
.contact-form-wrap::before{content:"";position:absolute;top:0;left:32px;right:32px;height:4px;background:var(--grad-saffron);border-radius:0 0 4px 4px}
.form-title{font-size:1.5rem;margin-bottom:22px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:18px;display:flex;flex-direction:column;gap:7px}
.field label{font-weight:600;font-size:.86rem;font-family:'Poppins'}
.field input,.field textarea{font-family:inherit;font-size:.95rem;padding:13px 15px;border:1.5px solid var(--line-2);border-radius:12px;transition:border .2s,box-shadow .2s;width:100%;background:var(--surface-2)}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px rgba(255,107,0,.13)}
.form__note{font-size:.8rem;color:var(--muted-2);margin-top:12px;text-align:center}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.alert{padding:15px 17px;border-radius:12px;margin-bottom:20px;font-size:.92rem;font-weight:500}
.alert--success{background:#e7f6ea;color:#1a7a33;border:1px solid #b9e3c2}
.alert--error{background:#fdeaea;color:#b42318;border:1px solid #f5c2c0}

.map-section{line-height:0;position:relative}
.map-section iframe{display:block;filter:grayscale(.12) contrast(1.05)}

/* --- CTA band ------------------------------------------------------------- */
.cta-band{position:relative;background:var(--grad-saffron);color:#fff;padding:64px 0;overflow:hidden}
.cta-band::before{content:"";position:absolute;top:-40%;right:-5%;width:380px;height:380px;border-radius:50%;background:rgba(255,255,255,.12);pointer-events:none}
.cta-band::after{content:"";position:absolute;bottom:-50%;left:8%;width:300px;height:300px;border-radius:50%;background:rgba(0,0,0,.08);pointer-events:none}
.cta-band__inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.cta-band h2{color:#fff;font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:8px}
.cta-band p{color:rgba(255,255,255,.92);max-width:520px}
.cta-band__actions{display:flex;gap:14px;flex-wrap:wrap}

/* --- Footer --------------------------------------------------------------- */
.site-footer{position:relative;background:var(--grad-ink);color:#c9c0b6;padding-top:72px;font-size:.93rem}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--saffron) 0 33.3%,#fff 33.3% 66.6%,var(--green) 66.6% 100%)}
.site-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1.3fr;gap:48px;padding-bottom:48px}
.brand--footer .brand__text strong{color:#fff}
.brand--footer .brand__text small{color:#9b9088}
.footer-about{margin:18px 0 20px;color:#a89e93;max-width:340px;line-height:1.7}
.footer-social{display:flex;gap:12px}
.footer-social a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.07);color:#fff;transition:.25s var(--ease)}
.footer-social a:hover{background:var(--grad-saffron);transform:translateY(-3px)}
.footer-col h3{color:#fff;font-size:1.08rem;margin-bottom:20px;position:relative;padding-bottom:12px}
.footer-col h3::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:3px;background:var(--grad-saffron);border-radius:2px}
.footer-links li,.footer-contact li{margin-bottom:13px}
.footer-links a{display:inline-flex;align-items:center;gap:9px;transition:color .2s,gap .2s}
.footer-links a .icon{width:15px;height:15px;flex:none;color:var(--saffron);transition:transform .2s}
.footer-links a:hover{color:#fff;gap:13px}
.footer-links a:hover .icon{transform:translateX(3px)}
.footer-contact li{display:flex;gap:11px;align-items:flex-start}
.footer-contact .icon{color:var(--saffron);flex:none;width:18px;margin-top:3px}
.footer-contact a:hover{color:#fff}
.site-footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding:20px 0}
.site-footer__bottom-inner{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.85rem;color:#8a8077}
.site-footer__bottom a{color:var(--saffron)}
.site-footer__bottom a:hover{color:#ffb877}

/* --- Floating buttons ----------------------------------------------------- */
.whatsapp-float{position:fixed;bottom:26px;right:26px;z-index:90;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 30px rgba(37,211,102,.5);animation:pulse 2.6s infinite;transition:transform .25s}
.whatsapp-float:hover{transform:scale(1.08)}
.whatsapp-float .icon{width:30px;height:30px}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 18px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.to-top{position:fixed;bottom:96px;right:28px;z-index:90;width:48px;height:48px;border-radius:50%;background:var(--grad-saffron);color:#fff;border:0;cursor:pointer;display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(10px) rotate(-90deg);transition:.3s var(--ease);box-shadow:var(--sh-saffron)}
.to-top.show{opacity:1;visibility:visible;transform:translateY(0) rotate(-90deg)}
.to-top:hover{transform:translateY(-3px) rotate(-90deg) scale(1.06)}

/* --- Responsive ----------------------------------------------------------- */
@media (min-width:576px){.hide-sm{display:inline-flex}}

@media (max-width:900px){
    .grid-2{grid-template-columns:1fr;gap:36px}
    .grid-3{grid-template-columns:1fr 1fr}
    .grid-4{grid-template-columns:1fr 1fr}
    .stats__grid{grid-template-columns:1fr 1fr;margin-top:-48px}
    .about-media{position:static}
    .about-teaser__media::before{inset:12px -12px -12px 12px}
    .site-footer__grid{grid-template-columns:1fr 1fr}
    .hero-slide__inner--split{grid-template-columns:1fr}
    .hero-slide__photo{display:none}
    .section{padding:74px 0}
}

@media (max-width:992px){
    /* backdrop-filter on the header would become the containing block for the
       fixed-position drawer below, clipping it to the header box — disable it
       on mobile and use a near-opaque background instead. */
    .site-header,.site-header.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(255,255,255,.98)}
    .nav__toggle{display:flex;position:relative;z-index:120}
    .nav__menu{
        position:fixed;inset:0 0 0 auto;width:min(340px,86%);background:var(--surface);
        flex-direction:column;align-items:stretch;gap:0;padding:90px 18px 40px;
        box-shadow:-12px 0 40px rgba(0,0,0,.18);transform:translateX(100%);
        transition:transform .35s var(--ease);z-index:110;overflow-y:auto;
    }
    .nav__menu.open{transform:translateX(0)}
    .nav__menu>li{border-bottom:1px solid var(--line)}
    .nav__menu>li>a{font-size:1rem;border-radius:10px}
    .nav__menu a{padding:14px 10px}
    .nav__menu>li>a.is-active::after{display:none}
    .nav__cta{border-bottom:0;margin-top:18px}
    .nav__cta a{justify-content:center}
    .nav.open .nav__toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}
    .nav.open .nav__toggle span:nth-child(2){opacity:0}
    .nav.open .nav__toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

    /* Mobile accordion sub-menus */
    .nav__menu .has-sub{display:flex;flex-wrap:wrap;align-items:center}
    .nav__menu .has-sub>a{flex:1 1 auto}
    .nav__menu .has-sub>a .icon--chevron{display:none}
    .sub-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:none;border:0;color:var(--ink);cursor:pointer;flex:none}
    .sub-toggle .icon--chevron{width:18px;height:18px;transition:transform .25s}
    .sub-toggle[aria-expanded="true"] .icon--chevron{transform:rotate(180deg)}
    .sub-menu{
        position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
        border:0;border-radius:0;background:transparent;min-width:0;width:100%;
        padding:0 0 6px 12px;display:none;
    }
    .sub-menu::before{display:none}
    .sub-menu.open{display:block}
    .sub-menu .sub-menu{left:auto;top:auto;padding-left:12px}
    .sub-menu a{justify-content:flex-start;color:#4a423a;font-weight:400}
    .sub-menu a:hover{padding-left:13px}
    .sub-menu a .icon--chevron{display:none}

    .form__row{grid-template-columns:1fr}
    .cta-band__inner{flex-direction:column;text-align:center;align-items:center}
    .hero-slider__arrow{display:none}
    .hero-scroll{display:none}
    .about-float{left:12px;bottom:16px;padding:11px 15px 11px 11px}
    .hero-slider{min-height:clamp(480px,72vh,600px)}
    .page-hero{padding:96px 0 70px}
}

@media (max-width:520px){
    .brand__logo{height:42px}
    .brand__mark{width:44px;height:44px}
    .section{padding:56px 0}
    .grid-3,.grid-4{grid-template-columns:1fr}
    .stats__grid{grid-template-columns:1fr 1fr}
    .stat{padding:28px 14px}
    .stat__num{font-size:2.2rem}
    .topbar__contact{font-size:.78rem}
    .contact-form-wrap{padding:26px}
    .whatsapp-float{width:54px;height:54px;bottom:18px;right:18px}
    .quote-band::before{font-size:9rem}
    .grievance__card{padding:32px 24px}
    .gfield-row{grid-template-columns:1fr}
    .gmodal__panel{padding:30px 22px 26px}
    .site-footer__grid{grid-template-columns:1fr;gap:36px}
}

/* --- Language switch (EN | Odia) ----------------------------------------- */
.topbar__end{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.lang-switch{display:inline-flex;border:1px solid rgba(255,255,255,.22);border-radius:var(--r-pill);overflow:hidden;background:rgba(255,255,255,.04)}
.lang-btn{font-family:'Poppins',sans-serif;font-size:.76rem;font-weight:600;color:#cfc6bc;background:transparent;border:0;padding:5px 13px;cursor:pointer;line-height:1.5;transition:background .2s,color .2s}
.lang-btn:hover{color:#fff}
.lang-btn.is-active{background:var(--grad-saffron);color:#fff}
.lang-btn[lang="or"],.lang-btn[lang="hi"]{font-size:.82rem}

/* Neutralise Google Translate's injected banner / highlight / tooltip */
#google_translate_element{display:none!important}
.goog-te-banner-frame,.goog-te-banner-frame.skiptranslate,.skiptranslate>iframe{display:none!important}
body{top:0!important}
.goog-te-gadget{height:0;overflow:hidden;font-size:0!important}
.goog-text-highlight{background:none!important;box-shadow:none!important}
#goog-gt-tt,.goog-tooltip,.goog-tooltip:hover{display:none!important}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
    *{animation:none!important;scroll-behavior:auto!important;transition:none!important}
    [data-reveal]{opacity:1!important;transform:none!important}
}
