/* ═══════════════════════════════════════════════════════════
   Murlidhar Mohol — Official Website v10 "तिरंगा"
   Original design & code · Xonware Technologies
   Display: Yatra One (Devanagari poster voice) · UI: Jost · Body: Inter
   Signature: the tricolor thread — progress bar, title rules, slide dots
   ═══════════════════════════════════════════════════════════ */
:root{
  --saffron:#F68A0A;--saffron-hot:#FF6900;--sindoor:#B34700;
  --leaf:#1E7A46;--ink:#0E121D;--ink-2:#1a2a3a;
  --paper:#ffffff;--khadi:#FCF7EF;--line:#eee6d9;--line-cool:#e9ecef;
  --body:#46505e;--head:#141a26;
  --grad-btn:linear-gradient(90deg,#FF6900 0%,#FE9A00 50%,#F54900 100%);
  --tiranga:linear-gradient(90deg,var(--saffron) 0 42%,#fff 42% 58%,var(--leaf) 58% 100%);
  --shadow-1:0 6px 18px rgba(14,18,29,.07);
  --shadow-2:0 18px 44px rgba(14,18,29,.13);
  --r-card:14px;--r-pill:50rem;
  --ff-display:"Jost","Mukta","Segoe UI",system-ui,sans-serif;
  --ff-ui:"Jost","Mukta","Segoe UI",system-ui,sans-serif;
  --ff-body:"Inter","Mukta","Segoe UI",system-ui,-apple-system,sans-serif;
  --ease-out:cubic-bezier(.22,1,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--ff-body);color:var(--body);background:var(--paper);font-size:1rem;line-height:1.75}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit;transition:color .2s}
ul{list-style:none}
h1,h2,h3{font-family:var(--ff-display);font-weight:800;color:var(--head);line-height:1.22;letter-spacing:-.01em}
h4,h5{font-family:var(--ff-ui);font-weight:700;color:var(--head);line-height:1.3}
::selection{background:var(--saffron);color:#fff}
html::-webkit-scrollbar{width:11px}
html::-webkit-scrollbar-track{background:var(--khadi)}
html::-webkit-scrollbar-thumb{background:linear-gradient(var(--saffron),var(--sindoor));border-radius:8px}

.container{width:min(1220px,92%);margin-inline:auto}
.section{padding:60px 0}
.section.soft{background:var(--khadi);position:relative}
.section.soft::before{content:"";position:absolute;top:-1px;left:0;right:0;height:26px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 26' preserveAspectRatio='none'%3E%3Cpath d='M0 26 C 200 0 400 26 600 12 C 800 0 1000 24 1200 6 L1200 0 L0 0 Z' fill='%23ffffff'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.center{text-align:center}
.lead{max-width:700px;margin:0 auto 1.8rem;text-align:center}

/* Eyebrow + तिरंगा title rule */
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--ff-ui);color:var(--sindoor);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.82rem;margin-bottom:.7rem}
.eyebrow::before{content:"";width:26px;height:3px;border-radius:2px;background:var(--tiranga)}
.h-display{font-size:clamp(1.9rem,3.6vw,2.7rem);margin-bottom:14px;position:relative}
.center .h-display::after{content:"";display:block;width:74px;height:4px;border-radius:3px;background:var(--tiranga);margin:.85rem auto 0;transform:scaleX(0);transform-origin:center;transition:transform .8s var(--ease-out) .15s}
.center .reveal.in .h-display::after,.center.in .h-display::after{transform:scaleX(1)}

/* ── Buttons ─────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.74rem 1.7rem;border-radius:var(--r-pill);font-family:var(--ff-ui);font-weight:600;font-size:1.02rem;border:2px solid transparent;cursor:pointer;transition:transform .22s var(--ease-out),box-shadow .22s,filter .22s;position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%);transform:translateX(-120%);transition:transform .55s}
.btn:hover::after{transform:translateX(120%)}
.btn:active{transform:translateY(0) scale(.97)}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid rgba(246,138,10,.55);outline-offset:2px}
.btn-primary{background:var(--grad-btn);color:#fff;box-shadow:0 8px 20px rgba(245,73,0,.28)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(245,73,0,.34)}
.btn-light{background:#fff;color:var(--sindoor)}
.btn-light:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
.btn-outline-light{border-color:rgba(255,255,255,.85);color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(4px)}
.btn-outline-light:hover{background:#fff;color:var(--sindoor)}
.btn-outline{border-color:var(--saffron);color:var(--sindoor)}
.btn-outline:hover{background:var(--saffron);color:#fff}

/* ── Preloader + scroll thread ───────────── */
#loader{position:fixed;inset:0;background:var(--ink);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.2rem;z-index:200;transition:opacity .5s,visibility .5s}
#loader.gone{opacity:0;visibility:hidden}
#loader img{height:84px}
#loader .thread{width:150px;height:4px;border-radius:3px;background:rgba(255,255,255,.14);overflow:hidden}
#loader .thread::after{content:"";display:block;height:100%;width:40%;background:var(--tiranga);animation:threadRun 1s var(--ease-out) infinite}
@keyframes threadRun{0%{transform:translateX(-110%)}100%{transform:translateX(280%)}}
#progress{position:fixed;top:0;left:0;height:4px;width:100%;transform-origin:left;transform:scaleX(0);background:var(--tiranga);z-index:130}

/* ── Topbar ──────────────────────────────── */
.topbar{background:var(--ink);color:#c7d0dd;font-size:.88rem;padding:.5rem 0}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.topbar a{color:#c7d0dd}.topbar a:hover{color:#fff}
.topbar .socials{display:flex;gap:.95rem;font-size:1rem}
.topbar .socials a{transition:transform .2s,color .2s}
.topbar .socials a:hover{transform:translateY(-2px);color:var(--saffron)}

/* ── Glass pill navigation ───────────────── */
.header{position:sticky;top:0;z-index:90;padding:.7rem 0;transition:padding .3s var(--ease-out)}
.header .shell{width:min(1280px,95%);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;background:rgba(255,255,255,.9);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(14,18,29,.08);border-radius:18px;padding:.55rem 1.35rem;box-shadow:var(--shadow-1);transition:box-shadow .3s,border-radius .3s}
.header.shrink{padding:.35rem 0}
.header.shrink .shell{box-shadow:var(--shadow-2);border-radius:18px}
.brand{display:flex;align-items:center;gap:.7rem}
.brand .lockup{line-height:1.12}
.brand .lockup b{display:block;font-family:var(--ff-display);font-weight:800;color:var(--head);font-size:1.06rem}
.brand .lockup small{font-family:var(--ff-ui);color:var(--sindoor);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.brand img{height:52px;width:auto;transition:height .3s}
.header.shrink .brand img{height:42px}
.brand .brand-fallback{display:none;font-family:var(--ff-display);color:var(--sindoor);font-size:1.2rem;line-height:1.1}
.nav{display:flex;align-items:center;gap:.35rem;font-family:var(--ff-ui);font-weight:500;font-size:.98rem;letter-spacing:.01em;color:var(--head)}
.nav>a,.nav .dropdown>a{position:relative;padding:.45rem .8rem;border-radius:10px;transition:background .2s,color .2s}
.nav>a:hover,.nav .dropdown>a:hover{background:var(--khadi)}
.nav>a::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:2px;height:3px;border-radius:2px;background:var(--tiranga);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}
.nav>a:hover::after,.nav>a.active::after{transform:scaleX(1)}
.nav a:hover,.nav a.active,.nav .dropdown>a.active{color:var(--sindoor)}
.nav .dropdown{position:relative}
.nav .dropdown .car{font-size:.68em;opacity:.65}
.nav .menu{position:absolute;top:calc(100% + .85rem);left:50%;translate:-50% 6px;min-width:240px;background:#fff;border:1px solid var(--line-cool);border-radius:14px;box-shadow:var(--shadow-2);padding:.45rem;opacity:0;visibility:hidden;transition:all .25s var(--ease-out)}
.nav .dropdown:hover .menu,.nav .dropdown:focus-within .menu{opacity:1;visibility:visible;translate:-50% 0}
.nav .menu a{display:block;padding:.55rem .9rem;border-radius:9px}
.nav .menu a:hover{background:var(--khadi);color:var(--sindoor);padding-left:1.15rem}
.lang{display:flex;font-size:.8rem;font-family:var(--ff-ui);font-weight:600;border:1px solid var(--line-cool);border-radius:10px;overflow:hidden;background:var(--khadi)}
.lang a{padding:.32rem .7rem;border-right:1px solid var(--line-cool)}
.lang a:last-child{border-right:0}
.lang a.active{background:var(--saffron);color:#fff}
.lang a:not(.active):hover{background:#fff;color:var(--sindoor)}
.nav-toggle{display:none;background:none;border:0;font-size:1.55rem;color:var(--head);cursor:pointer;z-index:120}

/* ── HERO SLIDER ─────────────────────────── */
.hero-slider{position:relative;min-height:min(calc(100vh - 118px),780px);overflow:hidden;background:var(--ink);color:#fff;display:grid}
.slide{grid-area:1/1;position:relative;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity 1.1s ease,visibility 1.1s}
.slide.on{opacity:1;visibility:visible;z-index:2}
.slide .bg{position:absolute;inset:0;background-position:center 22%;background-size:cover;transform:scale(1.02)}
.slide.on .bg{animation:kenburns 7.5s ease-out forwards}
@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.13)}}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(14,18,29,.92) 8%,rgba(14,18,29,.66) 46%,rgba(179,71,0,.28) 100%)}
.slide .container{position:relative;z-index:3;padding:5.5rem 0 6.5rem}
.slide .kicker{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--ff-ui);letter-spacing:.14em;text-transform:uppercase;font-size:.85rem;color:#ffd9ae;margin-bottom:1rem}
.slide .kicker::before{content:"";width:30px;height:3px;border-radius:2px;background:var(--tiranga)}
.slide h1{color:#fff;font-size:clamp(2.3rem,5.4vw,4.1rem);max-width:14ch;margin-bottom:1.1rem;text-shadow:0 3px 24px rgba(0,0,0,.35)}
.slide p{max-width:56ch;color:#f4e9dd;font-size:1.06rem;margin-bottom:2rem}
.slide .cta{display:flex;gap:.9rem;flex-wrap:wrap}
.slide.on .kicker,.slide.on h1,.slide.on p,.slide.on .cta{animation:riseIn .85s var(--ease-out) both}
.slide.on h1{animation-delay:.12s}.slide.on p{animation-delay:.24s}.slide.on .cta{animation-delay:.36s}
@keyframes riseIn{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
/* slide figure (cutout) */
.slide.has-figure .container{padding-right:42%}
.slide .figure{position:absolute;right:4%;bottom:0;height:100%;max-height:none;width:auto;max-width:46vw;object-fit:contain;object-position:bottom;z-index:4;filter:drop-shadow(-18px 18px 40px rgba(0,0,0,.5));opacity:0;transform:translateY(60px)}
.slide .glow{position:absolute;right:1%;bottom:-14%;width:min(52vw,760px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(246,138,10,.5) 0%,rgba(246,138,10,.18) 42%,transparent 68%);z-index:3;pointer-events:none}
.slide .rays{position:absolute;right:-6%;bottom:-46%;width:min(64vw,920px);aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.09) 0deg 7deg,transparent 7deg 18deg);-webkit-mask:radial-gradient(circle,#000 30%,transparent 72%);mask:radial-gradient(circle,#000 30%,transparent 72%);animation:raysSpin 46s linear infinite;z-index:3;pointer-events:none}
@keyframes raysSpin{to{transform:rotate(1turn)}}
.slide.on .figure{animation:figureIn 1s var(--ease-out) .25s forwards,figureFloat 6s ease-in-out 1.3s infinite}
@keyframes figureIn{to{opacity:1;transform:none}}
@keyframes figureFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.slide.has-figure::after{background:linear-gradient(100deg,rgba(14,18,29,.94) 10%,rgba(14,18,29,.72) 44%,rgba(14,18,29,.28) 78%,rgba(179,71,0,.22) 100%)}
/* word-stagger headline */
.slide h1 .w{display:inline-block;opacity:0;transform:translateY(.6em) rotate(2deg)}
.slide.on h1 .w{animation:wordIn .7s var(--ease-out) forwards;animation-delay:calc(.15s + var(--wi)*90ms)}
@keyframes wordIn{to{opacity:1;transform:none}}
.slide.on h1[data-stagger]{animation:none;opacity:1;transform:none}
/* controls */
.hero-ui{position:absolute;left:0;right:0;bottom:1.6rem;z-index:5}
.hero-ui .container{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.dots{display:flex;gap:.6rem}
.dot{width:44px;height:5px;border-radius:3px;background:rgba(255,255,255,.28);border:0;cursor:pointer;position:relative;overflow:hidden}
.dot .fill{position:absolute;inset:0;background:var(--tiranga);transform:scaleX(0);transform-origin:left}
.dot.on .fill{animation:dotFill var(--slide-ms,6500ms) linear forwards}
@keyframes dotFill{to{transform:scaleX(1)}}
.arrows{display:flex;gap:.55rem}
.arrow{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);backdrop-filter:blur(4px);color:#fff;font-size:1.15rem;cursor:pointer;transition:all .25s}
.arrow:hover{background:#fff;color:var(--sindoor);transform:scale(1.06)}

/* ── Motto marquee ribbon ────────────────── */
.marquee{background:var(--saffron);color:#fff;overflow:hidden;padding:.85rem 0;border-block:3px solid var(--ink)}
.marquee .track{display:flex;gap:3.2rem;width:max-content;animation:marq 26s linear infinite;font-family:var(--ff-display);font-size:1.35rem;white-space:nowrap}
.marquee:hover .track{animation-play-state:paused}
.marquee .track span{display:flex;align-items:center;gap:3.2rem}
.marquee .track em{font-style:normal;opacity:.75;font-size:1rem}
@keyframes marq{to{transform:translateX(-50%)}}

/* ── Stats ───────────────────────────────── */
.stats{background:#fff;box-shadow:var(--shadow-2);border-radius:var(--r-card);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;transform:translateY(-52px);margin-bottom:-24px;position:relative;z-index:6;border-top:4px solid transparent;border-image:var(--tiranga) 1}
.stats .stat{padding:1.7rem 1rem;text-align:center;border-right:1px solid var(--line-cool);transition:background .25s}
.stats .stat:hover{background:var(--khadi)}
.stats .stat:last-child{border-right:0}
.stats .num{font-family:var(--ff-display);font-size:2.3rem;color:var(--sindoor)}
.stats small{font-family:var(--ff-ui);color:var(--body);font-weight:500}

/* ── About ───────────────────────────────── */
.about{display:grid;grid-template-columns:.95fr 1.05fr;gap:3.4rem;align-items:center}
.about .vector{position:relative}
.about .vector::before{content:"";position:absolute;inset:auto -46px -46px auto;width:64%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 7px,rgba(246,138,10,.35) 7px 9px);opacity:.7;z-index:0;animation:raysSpin 60s linear infinite}
.about .vector img{position:relative;border-radius:var(--r-card);z-index:1;max-height:540px;margin-inline:auto}
.checks{margin:1.5rem 0 2rem;display:grid;gap:.75rem}
.checks li{display:flex;gap:.75rem;align-items:flex-start;font-family:var(--ff-ui);font-weight:600;color:var(--head)}
.checks li::before{content:"✔";flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--khadi);color:var(--sindoor);font-size:.72rem;display:grid;place-items:center;border:1px solid var(--line)}

/* ── Cards ───────────────────────────────── */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.7rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.7rem}
.card{background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-card);overflow:hidden;transition:transform .3s var(--ease-out),box-shadow .3s;transform-style:preserve-3d;will-change:transform}
.card:hover{transform:translateY(-7px);box-shadow:var(--shadow-2)}
.card .thumb-wrap{overflow:hidden;position:relative}
.card .thumb-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(14,18,29,.32),transparent 45%);opacity:0;transition:opacity .3s}
.card:hover .thumb-wrap::after{opacity:1}
.card .thumb{height:250px;object-fit:cover;width:100%;transition:transform .6s var(--ease-out)}
.card:hover .thumb{transform:scale(1.07)}
.card .pad{padding:1.3rem 1.4rem 1.55rem}
.card .tag{display:inline-block;font-family:var(--ff-ui);background:var(--khadi);color:var(--sindoor);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r-pill);padding:.18rem .85rem;margin-bottom:.6rem;border:1px solid var(--line)}
.card h4{font-size:1.16rem;margin-bottom:.55rem}
.card .meta{font-size:.87rem;color:var(--sindoor);font-family:var(--ff-ui);margin-bottom:.5rem}
.card .more{color:var(--sindoor);font-family:var(--ff-ui);font-weight:600}
.card .more:hover{letter-spacing:.02em}

/* ── Roles / timeline ────────────────────── */
.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.role{background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-card);padding:1.5rem 1.4rem;position:relative;overflow:hidden;transition:transform .25s var(--ease-out),box-shadow .25s}
.role::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tiranga)}
.role:hover{transform:translateY(-5px);box-shadow:var(--shadow-2)}
.role h4{font-size:1.08rem;margin-bottom:.4rem}
.timeline{position:relative;max-width:840px;margin:0 auto;padding-left:2.2rem}
.timeline::before{content:"";position:absolute;left:.55rem;top:.3rem;bottom:.3rem;width:3px;border-radius:3px;background:linear-gradient(var(--saffron),#fff 50%,var(--leaf));background-size:100% 200%;background-position:0 0}
.tl{position:relative;margin-bottom:2.1rem}
.tl::before{content:"";position:absolute;left:-2.13rem;top:.4rem;width:15px;height:15px;border-radius:50%;background:#fff;border:3px solid var(--saffron);transition:transform .3s}
.tl:hover::before{transform:scale(1.25);border-color:var(--leaf)}
.tl .yr{font-family:var(--ff-display);color:var(--sindoor);font-size:1.15rem}
.tl h4{margin:.15rem 0 .3rem}

/* ── Gallery ─────────────────────────────── */
.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.gallery a{display:block;border-radius:var(--r-card);overflow:hidden;height:380px;cursor:zoom-in;position:relative}
.gallery a::after{content:"⊕";position:absolute;inset:0;display:grid;place-items:center;font-size:2rem;color:#fff;background:rgba(14,18,29,.35);opacity:0;transition:opacity .3s}
.gallery a:hover::after{opacity:1}
.gallery.grid{grid-template-columns:repeat(3,1fr)}
.gallery.grid a{height:300px}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out)}
.gallery a:hover img{transform:scale(1.07)}
.lightbox{position:fixed;inset:0;background:rgba(10,14,20,.93);display:none;align-items:center;justify-content:center;z-index:150;padding:2rem}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:88vh;border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,.5);animation:riseIn .35s var(--ease-out)}
.lightbox .x{position:absolute;top:1rem;right:1.4rem;color:#fff;font-size:2rem;background:none;border:0;cursor:pointer}

/* ── Philosophy ──────────────────────────── */
.philosophy{background:radial-gradient(circle at center,var(--ink-2) 0%,#0d131a 100%);color:#dbe3ee;text-align:center;position:relative;overflow:hidden;padding:110px 0}
.philosophy::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='1.5' cy='1.5' r='1.2' fill='%23ffffff' fill-opacity='.05'/%3E%3C/svg%3E")}
.philosophy .container{position:relative}
.philosophy .eyebrow{color:#ffd9ae}
.philosophy .motto{font-family:var(--ff-display);color:#fff;font-size:clamp(2rem,4.6vw,3.3rem);display:flex;gap:1.3rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.3rem}
.philosophy .motto span:not(:last-child)::after{content:"·";color:var(--saffron);margin-left:1.3rem}
.philosophy p{max-width:740px;margin:0 auto 2rem}

/* ── Philosophy × Testimonials (merged dark) ── */
.phil-tes{background:radial-gradient(120% 140% at 18% 0%,#232f42 0%,var(--ink) 55%,#0b1017 100%);color:#c7d0dd;padding:72px 0;overflow:hidden}
.phil-tes .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:3.4rem;align-items:center}
.phil-tes .eyebrow{color:var(--saffron)}
.phil-tes .eyebrow::before{background:var(--saffron)}
.motto-lines{font-family:var(--ff-display);font-weight:800;color:#fff;font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1.14;letter-spacing:.01em;margin:.4rem 0 1.4rem;text-transform:uppercase}
.motto-lines span{display:block;opacity:0;transform:translateY(24px)}
.reveal.in .motto-lines span{animation:riseIn .7s var(--ease-out) forwards}
.reveal.in .motto-lines span:nth-child(2){animation-delay:.12s}
.reveal.in .motto-lines span:nth-child(3){animation-delay:.24s}
.phil-tes p{max-width:46ch;margin-bottom:1.8rem}
/* quote carousel */
.q-carousel{position:relative}
.q-viewport{overflow:hidden}
.q-track{display:flex;gap:1.4rem;transition:transform .6s var(--ease-out)}
.q-card{flex:0 0 calc(50% - .7rem);min-width:0;position:relative;padding-top:1.1rem}
.q-card .q-badge{position:absolute;top:0;right:1.1rem;width:46px;height:46px;background:var(--saffron);color:#fff;font-family:var(--ff-display);font-size:1.7rem;display:grid;place-items:center;z-index:2}
.q-card .q-head{background:#fff;color:var(--head);display:flex;gap:1rem;align-items:center;padding:1.05rem 1.15rem}
.q-card .q-head img{width:74px;height:74px;object-fit:cover;border:2px solid var(--saffron)}
.q-card .q-head h5{font-size:1.1rem;margin-bottom:.15rem}
.q-card .q-head small{color:var(--body)}
.q-card .q-body{border:1px solid rgba(246,138,10,.65);border-top:0;padding:1.15rem 1.2rem 1.35rem;color:#cfd7e2;min-height:180px}
.q-pagers{display:flex;gap:.7rem;justify-content:center;margin-top:1.6rem}
.q-pg{width:16px;height:16px;border:0;background:#fff;cursor:pointer;position:relative;transition:transform .2s}
.q-pg::after{content:"";position:absolute;inset:4px;background:var(--ink)}
.q-pg.on{background:var(--saffron)}
.q-pg.on::after{background:#fff;inset:5px}
.q-pg:hover{transform:scale(1.12)}

/* ── Testimonials ────────────────────────── */
.quote-card{background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-card);padding:1.9rem 1.7rem;transition:box-shadow .25s,transform .25s;position:relative}
.quote-card::before{content:"";position:absolute;top:0;left:1.7rem;width:56px;height:4px;border-radius:0 0 4px 4px;background:var(--tiranga)}
.quote-card:hover{box-shadow:var(--shadow-2);transform:translateY(-5px)}
.quote-card .mark{color:var(--saffron);font-family:var(--ff-display);font-size:2.3rem;line-height:1}
.quote-card blockquote{margin:.7rem 0 1.2rem;min-height:120px}
.quote-card .who{display:flex;align-items:center;gap:.9rem;border-top:1px solid var(--line-cool);padding-top:1.05rem}
.quote-card .who img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:2px solid var(--khadi);box-shadow:0 0 0 2px var(--saffron)}
.quote-card .who h5{font-size:1.02rem}
.verify-slot{background:var(--khadi);border:1px dashed var(--saffron);border-radius:9px;padding:.85rem .95rem;font-size:.9rem;color:var(--sindoor)}

/* ── Feed ────────────────────────────────── */
.feed-wrap{max-width:920px;margin-inline:auto;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow-2);aspect-ratio:16/9;border:1px solid var(--line-cool)}
.feed-wrap iframe{width:100%;height:100%;border:0;display:block}

/* ── Gallery: collage intro + masonry ──────── */
.g-intro{position:relative;padding:56px 0 26px;overflow:hidden}
.g-intro .row{display:grid;grid-template-columns:repeat(4,1fr) 1.35fr;gap:1.1rem;align-items:center}
.g-intro .tile{border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow-2);opacity:0;transform:translateY(40px)}
.g-intro.in .tile{animation:riseIn .8s var(--ease-out) forwards}
.g-intro .tile:nth-child(1){height:300px;animation-delay:.05s}
.g-intro .tile:nth-child(2){height:420px;animation-delay:.15s;margin-top:-40px}
.g-intro .tile:nth-child(3){height:360px;animation-delay:.25s;margin-top:30px}
.g-intro .tile:nth-child(4){height:440px;animation-delay:.35s;margin-top:-20px}
.g-intro .tile img{width:100%;height:100%;object-fit:cover}
.g-word{font-family:var(--ff-display);font-weight:800;color:var(--saffron);font-size:clamp(3rem,7vw,6rem);line-height:.95;letter-spacing:-.01em;text-transform:uppercase}
.g-sub{font-family:var(--ff-ui);letter-spacing:.5em;text-transform:uppercase;color:var(--head);margin:.6rem 0 1rem}
.masonry{columns:3;column-gap:1.1rem}
.masonry a{display:block;break-inside:avoid;margin-bottom:1.1rem;border-radius:var(--r-card);overflow:hidden;position:relative;cursor:zoom-in}
.masonry img{width:100%;display:block;transition:transform .5s var(--ease-out)}
.masonry a::after{content:"⊕";position:absolute;inset:0;display:grid;place-items:center;font-size:2rem;color:#fff;background:linear-gradient(to top,rgba(14,18,29,.55),rgba(14,18,29,.1));opacity:0;transition:opacity .3s}
.masonry a:hover::after{opacity:1}
.masonry a:hover img{transform:scale(1.06)}

/* ── Bio: portrait feature + programs ──────── */
.bio-feature{display:grid;grid-template-columns:.85fr 1.15fr;gap:3.2rem;align-items:center}
.bio-feature .portrait{position:relative;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow-2)}
.bio-feature .portrait::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--tiranga)}
.bio-feature .portrait img{width:100%;max-height:640px;object-fit:cover;object-position:top;filter:grayscale(1) contrast(1.04)}
.bio-feature .portrait:hover img{filter:grayscale(0);transition:filter .6s}
.bio-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.6rem 0}
.bio-kpis .k{border:1px solid var(--line-cool);border-radius:12px;padding:.9rem;text-align:center}
.bio-kpis .k b{display:block;font-family:var(--ff-display);font-weight:800;font-size:1.5rem;color:var(--sindoor)}
.prog{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.prog .p{background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-card);padding:1.4rem 1.3rem;transition:transform .25s var(--ease-out),box-shadow .25s;position:relative;overflow:hidden}
.prog .p::after{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--tiranga);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
.prog .p:hover{transform:translateY(-5px);box-shadow:var(--shadow-2)}
.prog .p:hover::after{transform:none}
.prog .ic{font-size:1.6rem;margin-bottom:.5rem}
.tl .range{display:inline-block;font-family:var(--ff-ui);font-weight:700;background:var(--khadi);color:var(--sindoor);border:1px solid var(--line);border-radius:var(--r-pill);padding:.1rem .8rem;font-size:.85rem;margin-bottom:.3rem}

/* ── Page hero (inner) ───────────────────── */
.page-hero{background-color:var(--ink);background-position:center 26%;background-size:cover;color:#fff;padding:4.2rem 0 3rem;text-align:center;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--tiranga)}
.page-hero h1{color:#fff;font-size:clamp(2rem,4vw,3rem);animation:riseIn .7s var(--ease-out) both}
.page-hero .crumb{font-family:var(--ff-ui);color:#ffd9ae;margin-top:.5rem;animation:riseIn .7s var(--ease-out) .12s both}
.page-hero .crumb a{color:#fff}

/* ── Forms ───────────────────────────────── */
.form-card{background:#fff;border:1px solid var(--line-cool);border-radius:var(--r-card);padding:2.1rem;box-shadow:var(--shadow-1);border-top:4px solid transparent;border-image:var(--tiranga) 1}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}
.field{display:grid;gap:.35rem}
.field.full{grid-column:1/-1}
.field label{font-family:var(--ff-ui);font-weight:600;color:var(--head);font-size:.93rem}
.field input,.field select,.field textarea{border:1px solid var(--line-cool);border-radius:11px;padding:.7rem .95rem;font-family:var(--ff-body);font-size:1rem;background:#fff;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--saffron);box-shadow:0 0 0 3px rgba(246,138,10,.16)}
.alert{border-radius:11px;padding:.95rem 1.15rem;margin-bottom:1.25rem;font-weight:600}
.alert.ok{background:#eefaf0;color:var(--leaf);border:1px solid #bfe8ca}
.alert.err{background:#fdeeee;color:#a33;border:1px solid #f2c6c6}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem}

/* ── Dark band ───────────────────────────── */
.dark-band{background-color:var(--ink);background-size:cover;background-position:center;color:#dbe3ee;text-align:center;position:relative}
.dark-band h2{color:#fff}

/* ── Footer ──────────────────────────────── */
.footer{background:var(--ink);color:#bfc9d8;margin-top:0;position:relative}
.footer::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--tiranga)}
.footer a:hover{color:#fff}
.footer .top{display:grid;grid-template-columns:1.1fr .8fr 1.1fr;gap:2.6rem;padding:4rem 0 2.6rem}
.footer .logo img{height:120px;width:auto;margin-bottom:1rem}
.footer h4{color:#fff;font-size:1.06rem;margin-bottom:1.05rem}
.footer .links{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem;font-family:var(--ff-ui)}
.footer .links a{transition:padding-left .2s,color .2s}
.footer .links a:hover{padding-left:.35rem;color:var(--saffron)}
.footer .office{display:grid;gap:1.15rem}
.footer .office p{font-size:.92rem}
.footer .office strong{color:#fff;display:block;margin-bottom:.2rem;font-family:var(--ff-ui)}
.subscribe{display:flex;margin-top:.85rem;max-width:340px}
.subscribe input{flex:1;border:0;border-radius:var(--r-pill) 0 0 var(--r-pill);padding:.65rem 1.05rem;font-family:var(--ff-body)}
.subscribe button{border:0;background:var(--grad-btn);color:#fff;font-family:var(--ff-ui);font-weight:600;padding:.65rem 1.25rem;border-radius:0 var(--r-pill) var(--r-pill) 0;cursor:pointer}
.footer .bottom{border-top:1px solid rgba(255,255,255,.12);padding:1.15rem 0;font-size:.88rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.footer .bottom a{color:#fff}

/* ── Back-to-top with progress ring ──────── */
#toTop{position:fixed;right:1.25rem;bottom:1.25rem;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--sindoor);border:0;font-size:1.15rem;cursor:pointer;opacity:0;visibility:hidden;transition:all .3s var(--ease-out);z-index:110;box-shadow:var(--shadow-2);display:grid;place-items:center}
#toTop.show{opacity:1;visibility:visible}
#toTop svg{position:absolute;inset:0;transform:rotate(-90deg)}
#toTop circle{fill:none;stroke:var(--saffron);stroke-width:3;stroke-dasharray:151;stroke-dashoffset:151}

/* ── Reveal system ───────────────────────── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.reveal.in{opacity:1;transform:none}
.grid-3>.reveal:nth-child(2),.role-grid>.reveal:nth-child(2){transition-delay:.1s}
.grid-3>.reveal:nth-child(3),.role-grid>.reveal:nth-child(3){transition-delay:.2s}
.grid-3>.reveal:nth-child(4),.role-grid>.reveal:nth-child(4){transition-delay:.1s}
.grid-3>.reveal:nth-child(5),.role-grid>.reveal:nth-child(5){transition-delay:.2s}
.grid-3>.reveal:nth-child(6),.role-grid>.reveal:nth-child(6){transition-delay:.3s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ── Responsive ──────────────────────────── */
@media (max-width:992px){
  .hero-slider{min-height:78vh}
  .phil-tes .wrap{grid-template-columns:1fr}
  .q-card{flex-basis:100%}
  .g-intro .row{grid-template-columns:1fr 1fr}
  .g-intro .tile{margin-top:0!important;height:240px!important}
  .masonry{columns:2}
  .bio-feature{grid-template-columns:1fr}
  .prog{grid-template-columns:1fr 1fr}
  .about,.grid-2{grid-template-columns:1fr}
  .grid-3,.role-grid{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr}
  .stats .stat:nth-child(2){border-right:0}
  .gallery{grid-template-columns:repeat(3,1fr)}
  .gallery a{height:260px}
  .footer .top{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .section{padding:72px 0}
  .nav{position:fixed;inset:0;background:var(--ink);color:#fff;flex-direction:column;align-items:flex-start;justify-content:center;padding:4rem 2.2rem;gap:1.15rem;transform:translateY(-102%);transition:transform .45s var(--ease-out);z-index:115;overflow-y:auto}
  .nav.open{transform:none}
  .nav>a,.nav .dropdown>a{font-family:var(--ff-display);font-size:1.7rem;color:#fff;opacity:0;transform:translateY(16px)}
  .nav.open>a,.nav.open .dropdown>a{opacity:1;transform:none;transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
  .nav.open>*:nth-child(1){transition-delay:.08s}.nav.open>*:nth-child(2){transition-delay:.14s}
  .nav.open>*:nth-child(3){transition-delay:.2s}.nav.open>*:nth-child(4){transition-delay:.26s}
  .nav.open>*:nth-child(5){transition-delay:.32s}.nav.open>*:nth-child(6){transition-delay:.38s}
  .nav.open>*:nth-child(7){transition-delay:.44s}.nav.open>*:nth-child(8){transition-delay:.5s}
  .nav.open>*:nth-child(9){transition-delay:.56s}.nav.open>*:nth-child(10){transition-delay:.62s}
  .nav .menu{position:static;opacity:1;visibility:visible;translate:0 0;box-shadow:none;border:0;background:transparent;padding-left:1rem;display:none;color:#e6d9c8}
  .nav .dropdown.open .menu{display:block}
  .nav .menu a:hover{background:transparent;color:var(--saffron)}
  .nav .btn{margin-top:.6rem}
  .lang a{border-color:rgba(255,255,255,.3);color:#fff}
  .nav-toggle{display:block}
  body.nav-lock{overflow:hidden}
  .header .shell{border-radius:16px}
  .slide h1{font-size:clamp(2rem,9vw,2.6rem)}
  .hero-ui .arrows{display:none}
  .grid-3,.role-grid,.form-grid{grid-template-columns:1fr}
  .masonry{columns:1}
  .prog{grid-template-columns:1fr}
  .bio-kpis{grid-template-columns:1fr 1fr}
  .g-intro .row{grid-template-columns:1fr}
  .slide.has-figure .container{padding-right:0}
  .slide .figure{opacity:.3!important;right:-14%;max-width:80vw}
  .slide .glow,.slide .rays{display:none}
  .brand .lockup{display:none}
  .gallery,.gallery.grid{grid-template-columns:1fr 1fr}
  .footer .top{grid-template-columns:1fr}
  .card .thumb{height:220px}
  .stats{transform:translateY(-34px)}
  .marquee .track{font-size:1.1rem}
}

/* ═══════════════ v14 PREMIUM SYSTEM ═══════════════ */
/* Background elements */
.has-bg{position:relative;overflow:hidden}
.has-bg>.container{position:relative;z-index:2}
.bg-dots{position:absolute;width:340px;height:340px;background:radial-gradient(circle,rgba(246,138,10,.35) 1.6px,transparent 1.6px);background-size:18px 18px;-webkit-mask:radial-gradient(circle,#000 30%,transparent 72%);mask:radial-gradient(circle,#000 30%,transparent 72%);opacity:.5;pointer-events:none}
.bg-dots.tl{top:-70px;left:-70px}.bg-dots.br{bottom:-70px;right:-70px}
.bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(14,18,29,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(14,18,29,.045) 1px,transparent 1px);background-size:44px 44px;-webkit-mask:linear-gradient(#000 30%,transparent);mask:linear-gradient(#000 30%,transparent);pointer-events:none}
.orb{position:absolute;border-radius:50%;filter:blur(64px);opacity:.5;pointer-events:none;animation:orbDrift 14s ease-in-out infinite alternate}
.orb.saffron{background:rgba(246,138,10,.4)}
.orb.leaf{background:rgba(30,122,70,.3)}
@keyframes orbDrift{from{transform:translate(0,0)}to{transform:translate(34px,-28px)}}
.watermark{position:absolute;top:6px;left:50%;transform:translateX(-50%);font-family:var(--ff-display);font-weight:800;font-size:clamp(4rem,11vw,9rem);line-height:1;color:var(--head);opacity:.045;letter-spacing:.02em;white-space:nowrap;pointer-events:none;user-select:none}
.phil-tes .watermark,.dark-band .watermark{color:#fff;opacity:.05}

/* Infographics */
.donut-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem}
.donut{--p:0;text-align:center}
.donut .ring{width:132px;height:132px;border-radius:50%;margin:0 auto .8rem;display:grid;place-items:center;background:conic-gradient(var(--saffron) calc(var(--p)*1%),rgba(246,138,10,.14) 0);position:relative;transition:--p 1s}
.donut .ring::before{content:"";position:absolute;inset:11px;border-radius:50%;background:#fff}
.section.soft .donut .ring::before{background:var(--khadi)}
.donut .ring b{position:relative;z-index:1;font-family:var(--ff-display);font-weight:800;font-size:1.55rem;color:var(--sindoor)}
.donut small{font-family:var(--ff-ui);font-weight:600;color:var(--body)}
.info-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.info-row .i{display:flex;gap:.9rem;align-items:center;background:#fff;border:1px solid var(--line-cool);border-radius:12px;padding:1rem 1.1rem;transition:transform .22s var(--ease-out),box-shadow .22s}
.info-row .i:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}
.info-row .ic{width:46px;height:46px;border-radius:12px;background:var(--khadi);display:grid;place-items:center;font-size:1.3rem;flex:0 0 auto;border:1px solid var(--line)}
.info-row .i b{font-family:var(--ff-ui);color:var(--head);display:block;line-height:1.3}
.info-row .i small{color:var(--body)}

/* Process flow (numbered — true sequence) */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;counter-reset:fl;position:relative}
.flow::before{content:"";position:absolute;top:33px;left:12%;right:12%;height:3px;background:var(--tiranga);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease-out) .2s}
.flow.in::before{transform:scaleX(1)}
.flow .f{text-align:center;counter-increment:fl;position:relative}
.flow .n{width:66px;height:66px;border-radius:50%;margin:0 auto .8rem;background:#fff;border:3px solid var(--saffron);display:grid;place-items:center;font-family:var(--ff-display);font-weight:800;font-size:1.35rem;color:var(--sindoor);position:relative;z-index:2;transition:transform .3s var(--ease-out),background .3s,color .3s;box-shadow:0 6px 16px rgba(246,138,10,.22)}
.flow .n::before{content:counter(fl,decimal)}
.flow .f:hover .n{transform:scale(1.1);background:var(--saffron);color:#fff}
.flow h4{font-size:1.02rem;margin-bottom:.3rem}
.flow p{font-size:.92rem}

/* Certificate frame (ISO) */
.cert{border:3px solid var(--saffron);border-radius:var(--r-card);padding:2rem;position:relative;background:linear-gradient(135deg,#fff 0%,var(--khadi) 100%);box-shadow:var(--shadow-2)}
.cert::before{content:"";position:absolute;inset:9px;border:1px dashed rgba(179,71,0,.5);border-radius:9px;pointer-events:none}
.cert .seal{width:72px;height:72px;border-radius:50%;background:conic-gradient(var(--saffron),#fff,var(--leaf),var(--saffron));display:grid;place-items:center;font-size:1.5rem;margin-bottom:1rem;animation:raysSpin 22s linear infinite;box-shadow:0 6px 16px rgba(246,138,10,.35)}
.cert .seal span{width:56px;height:56px;border-radius:50%;background:#fff;display:grid;place-items:center;animation:raysSpin 22s linear infinite reverse}

/* Photo mosaic band */
.mosaic{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:130px;gap:.7rem}
.mosaic a{border-radius:10px;overflow:hidden;position:relative}
.mosaic a:nth-child(6n+1){grid-row:span 2}
.mosaic a:nth-child(6n+4){grid-column:span 2}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out)}
.mosaic a:hover img{transform:scale(1.08)}

/* Timeline scroll-draw */
.timeline::before{background:linear-gradient(var(--saffron) calc(var(--tlp,0)*1%),var(--line-cool) 0)}
.tl::before{transition:border-color .3s,background .3s}
.tl.lit::before{background:var(--saffron)}

/* Video frame */
.feed-wrap{position:relative}
.feed-wrap::before{content:"";position:absolute;inset:-22px;border-radius:22px;background:radial-gradient(60% 60% at 50% 50%,rgba(246,138,10,.25),transparent 70%);z-index:-1;filter:blur(18px)}

/* 404 illustration */
.err-ill{font-family:var(--ff-display);font-weight:800;font-size:clamp(5rem,16vw,11rem);line-height:1;background:var(--tiranga);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative;display:inline-block}

@media (max-width:992px){
  .donut-row,.info-row,.flow{grid-template-columns:1fr 1fr}
  .flow::before{display:none}
  .mosaic{grid-template-columns:repeat(3,1fr)}
  .watermark{font-size:4rem}
}
@media (max-width:760px){
  .donut-row,.info-row,.flow{grid-template-columns:1fr}
  .mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:120px}
}
