/* ===========================================================
   SIKHWAL SAMAJ BEAWAR — Light/Dark Premium Theme
   Light = default, Dark = [data-theme="dark"]
   =========================================================== */

/* ── LIGHT MODE TOKENS ── */
:root{
    --bg:#F5F6FA;
    --bg-card:#FFFFFF;
    --bg-card-hover:#F0F2F8;
    --bg-section:#ECEEF4;
    --saffron:#C8820A;
    --saffron-dark:#A86800;
    --saffron-bright:#F0A500;
    --saffron-glow:rgba(200,130,10,.14);
    --saffron-soft:rgba(200,130,10,.08);
    --gold:#B8860C;
    --text:#111827;
    --text-secondary:#4B5563;
    --text-muted:#9CA3AF;
    --border:#E5E7EB;
    --border-hover:#CBD5E1;
    --ink:var(--text);--paper:var(--bg);--panel:var(--bg-card);--line:var(--border);--muted:var(--text-muted);
    --error:#DC2626;--success:#16A34A;
    --nav-bg:rgba(255,255,255,.92);--nav-text:#4B5563;--nav-text-hover:#111827;--nav-active:#C8820A;
    --nav-btn-bg:#C8820A;--nav-btn-text:#fff;
    --footer-bg:#111827;--footer-text:rgba(255,255,255,.55);--footer-heading:#fff;
    --radius:16px;--radius-sm:10px;--radius-xs:6px;
    --shadow:0 1px 4px rgba(0,0,0,.05),0 6px 18px -8px rgba(0,0,0,.08);
    --shadow-lg:0 4px 16px rgba(0,0,0,.08),0 14px 36px -12px rgba(0,0,0,.1);
    --glow:0 0 0 rgba(0,0,0,0);
    --primary:var(--saffron);--primary-dark:var(--saffron-dark);--primary-soft:var(--saffron-soft);
    --accent:var(--saffron);--gold-color:var(--gold);
    --font-display:'Playfair Display',Georgia,'Noto Serif Devanagari',serif;
    --font-body:'DM Sans','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Noto Sans Devanagari',sans-serif;
    --font-main:var(--font-body);
    --space-page:clamp(1rem,2.5vw,2rem);
    --space-section:clamp(2.5rem,5vw,4.5rem);
    --sidebar-w:clamp(220px,22vw,264px);
    font-size:16px;
}

/* ── DARK MODE TOKENS ── */
[data-theme="dark"]{
    --bg:#060911;--bg-card:#0d1220;--bg-card-hover:#111a2f;--bg-section:#0a0f1a;
    --saffron:#F0A500;--saffron-dark:#D49000;--saffron-bright:#FFD700;
    --saffron-glow:rgba(240,165,0,.12);--saffron-soft:rgba(240,165,0,.08);--gold:#FFD700;
    --text:#f0f0f5;--text-secondary:rgba(240,240,245,.65);--text-muted:rgba(240,240,245,.38);
    --border:rgba(255,255,255,.07);--border-hover:rgba(255,255,255,.14);
    --error:#EF4444;--success:#22C55E;
    --nav-bg:rgba(6,9,17,.75);--nav-text:rgba(255,255,255,.65);--nav-text-hover:#fff;--nav-active:#F0A500;
    --nav-btn-bg:#F0A500;--nav-btn-text:#000;
    --footer-bg:#0a0f1a;--footer-text:rgba(255,255,255,.45);--footer-heading:#fff;
    --shadow:0 4px 20px rgba(0,0,0,.4);--shadow-lg:0 8px 40px rgba(0,0,0,.55);
    --glow:0 0 30px rgba(240,165,0,.06);
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;}
html{overflow-x:hidden;scroll-behavior:smooth;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation-duration:.001s!important;transition-duration:.001s!important;}}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .3s,color .3s;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--saffron);text-decoration:none;transition:color .2s;}
a:hover{color:var(--saffron-dark);}
[data-theme="dark"] a:hover{color:var(--gold);}
::selection{background:var(--saffron);color:#fff;}
:focus-visible{outline:2px solid var(--saffron);outline-offset:2px;border-radius:4px;}
h1,h2,h3,h4{font-family:var(--font-display);margin:0 0 .5rem;color:var(--text);font-weight:700;line-height:1.2;}
h2 em,h1 em{font-style:italic;color:var(--saffron);}
p{margin:0 0 .8rem;}
.icon{display:inline-block;vertical-align:middle;flex-shrink:0;}

/* ── Navbar ── */
.public-site{background:var(--bg);}
.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--nav-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:background .3s,box-shadow .3s;}
.site-nav.scrolled{box-shadow:0 4px 24px rgba(0,0,0,.1);}
[data-theme="dark"] .site-nav.scrolled{box-shadow:0 4px 24px rgba(0,0,0,.5);}
.site-nav-inner{max-width:1320px;margin:0 auto;padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.site-nav .brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;}
.site-nav .brand-text{color:var(--text);font-family:var(--font-display);font-size:1.15rem;font-weight:700;}
.site-nav-logo-only{height:36px;width:auto;max-width:170px;object-fit:contain;}
[data-theme="dark"] .site-nav-logo-only{filter:brightness(0) invert(1);}
.site-nav-links{display:flex;align-items:center;gap:.1rem;}
.site-nav-links a{color:var(--nav-text);font-size:.88rem;font-weight:500;padding:.5rem .75rem;border-radius:var(--radius-xs);transition:color .2s,background .2s;}
.site-nav-links a:hover{color:var(--nav-text-hover);background:rgba(0,0,0,.04);}
[data-theme="dark"] .site-nav-links a:hover{background:rgba(255,255,255,.05);color:var(--nav-text-hover);}
.site-nav-links a.active{color:var(--nav-active);font-weight:600;}
.site-nav-links a.btn{color:var(--nav-btn-text)!important;background:var(--nav-btn-bg);padding:.5rem 1.2rem;font-weight:700;border-radius:var(--radius-sm);margin-left:.5rem;}
.site-nav-links a.btn:hover{opacity:.88;}
.site-nav .nav-toggle{display:none;background:none;border:none;color:var(--text);padding:.4rem;cursor:pointer;}

/* Theme Toggle */
.theme-toggle{background:none;border:1.5px solid var(--border);border-radius:30px;padding:.35rem .7rem;display:flex;align-items:center;gap:.35rem;cursor:pointer;color:var(--text-secondary);font-size:.8rem;font-weight:600;font-family:var(--font-body);transition:all .2s;margin-left:.3rem;white-space:nowrap;}
.theme-toggle:hover{border-color:var(--saffron);color:var(--saffron);}
.icon-sun{display:none;}.icon-moon{display:inline;}
[data-theme="dark"] .icon-sun{display:inline;}[data-theme="dark"] .icon-moon{display:none;}

@media(max-width:1000px){
    .site-nav .nav-toggle{display:flex;}
    .site-nav-links{display:none;flex-direction:column;width:100%;gap:0;background:var(--bg-card);position:absolute;top:100%;left:0;right:0;padding:.5rem 0;border-bottom:2px solid var(--saffron);box-shadow:0 8px 24px rgba(0,0,0,.1);}
    [data-theme="dark"] .site-nav-links{background:rgba(6,9,17,.97);}
    .site-nav-links.open{display:flex;}
    .site-nav-links a{width:100%;padding:.8rem 1.5rem;border-radius:0;}
    .site-nav-links a.btn{margin:.5rem 1.2rem;width:auto;}
    .theme-toggle{margin:.4rem 1.2rem 0;}
    .site-nav-inner{position:relative;}
}

/* ── Layout ── */
main{width:100%;overflow-x:hidden;}
.site-content{max-width:1180px;margin:0 auto;padding:var(--space-section) var(--space-page);}

/* ── Hero ── */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding:7rem var(--space-page) 5rem;width:100%;}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.42) 50%,rgba(0,0,0,.78) 100%);}
.hero-inner{position:relative;z-index:2;max-width:1180px;margin:0 auto;width:100%;}
.hero-content{max-width:640px;}
.hero-badge{display:inline-flex;align-items:center;gap:.45rem;background:rgba(240,165,0,.15);border:1px solid rgba(240,165,0,.3);color:#F0A500;font-size:.78rem;font-weight:700;padding:.4rem 1rem;border-radius:30px;letter-spacing:.04em;margin-bottom:1.5rem;}
.hero h1{color:#fff;font-size:clamp(2rem,1.3rem+3.5vw,3.5rem);font-weight:800;margin-bottom:1.1rem;line-height:1.1;letter-spacing:-.02em;}
.hero h1 em{font-style:italic;color:#F0A500;}
.hero p{color:rgba(255,255,255,.78);max-width:500px;font-size:1.05rem;line-height:1.75;margin:0 0 2rem;}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;}
.btn-hero{background:#F0A500;color:#000;padding:.85rem 1.8rem;border:none;border-radius:var(--radius-sm);font-size:.95rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;transition:all .25s;font-family:var(--font-body);}
.btn-hero:hover{opacity:.9;transform:translateY(-2px);color:#000;}
.btn-outline{background:transparent;color:#fff;padding:.8rem 1.7rem;border:1.5px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;transition:all .25s;font-family:var(--font-body);}
.btn-outline:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5);color:#fff;}
.scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(255,255,255,.4);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;}
.scroll-hint::after{content:"";width:1px;height:28px;background:linear-gradient(to bottom,#F0A500,transparent);animation:scrollPulse 2s ease-in-out infinite;}
@keyframes scrollPulse{0%,100%{opacity:.3;}50%{opacity:1;}}
@media(max-width:760px){.hero{min-height:80vh;padding-top:5.5rem;}.scroll-hint{display:none;}}

/* ── Stats Bar ── */
.stats-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin:0 var(--space-page);position:relative;z-index:10;box-shadow:var(--shadow-lg);overflow:hidden;}
.stats-bar .stat{text-align:center;padding:1.6rem 1rem;border-right:1px solid var(--border);transition:background .2s;}
.stats-bar .stat:last-child{border-right:none;}
.stats-bar .stat:hover{background:var(--saffron-soft);}
.stats-bar .stat .num{font-family:var(--font-display);font-size:clamp(1.8rem,1.4rem+1.5vw,2.6rem);font-weight:800;color:var(--saffron);line-height:1;}
.stats-bar .stat .lbl{color:var(--text-muted);font-size:.76rem;margin-top:.35rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;}
@media(max-width:600px){.stats-bar{grid-template-columns:repeat(2,1fr);}.stats-bar .stat{border-right:none;border-bottom:1px solid var(--border);}.stats-bar .stat:nth-child(odd){border-right:1px solid var(--border);}.stats-bar .stat:nth-last-child(-n+2){border-bottom:none;}}

/* ── Sections ── */
.section-eyebrow{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--saffron);margin-bottom:.6rem;}
.section-head{margin-bottom:1.8rem;}
.section-head h2{font-size:clamp(1.5rem,1.1rem+1.2vw,2rem);margin-bottom:.4rem;}
.section-head p{color:var(--text-secondary);max-width:560px;font-size:.95rem;}
section.site-section{margin-bottom:var(--space-section);}
.icon-badge{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--saffron-soft);color:var(--saffron);}
.icon-badge.gold{background:rgba(200,150,12,.08);color:var(--gold);}
.icon-badge.navy{background:rgba(30,58,138,.07);color:#1e3a8a;}
[data-theme="dark"] .icon-badge.navy{background:rgba(59,130,246,.08);color:#60a5fa;}

/* ── About/History Teaser ── */
.about-teaser{display:flex;align-items:center;gap:clamp(2rem,4vw,3.5rem);flex-wrap:wrap;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.5rem);box-shadow:var(--shadow);margin-bottom:var(--space-section);}
.about-teaser .at-media{flex:1 1 300px;min-width:min(250px,100%);position:relative;}
.about-teaser .at-media img{width:100%;height:clamp(220px,180px+10vw,320px);object-fit:cover;border-radius:var(--radius-sm);}
.about-teaser .at-badge{position:absolute;top:.75rem;left:.75rem;background:var(--bg-card);backdrop-filter:blur(8px);color:var(--saffron);border-radius:var(--radius-xs);padding:.45rem .85rem;font-size:.78rem;font-weight:700;border:1px solid var(--border);}
.about-teaser .at-text{flex:1 1 320px;min-width:min(250px,100%);}
.about-teaser .at-text p{color:var(--text-secondary);line-height:1.8;}

/* ── Feature Grid ── */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:1.2rem;margin-bottom:var(--space-section);}
.feature-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;gap:1rem;align-items:flex-start;transition:all .3s;text-decoration:none;color:var(--text);position:relative;overflow:hidden;}
.feature-box::before{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--saffron),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .35s;}
.feature-box:hover{background:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-4px);box-shadow:var(--shadow-lg);color:var(--text);}
.feature-box:hover::before{transform:scaleX(1);}
.feature-box h3{font-family:var(--font-body);font-size:1rem;font-weight:700;margin-bottom:.3rem;color:var(--text);}
.feature-box p{color:var(--text-secondary);font-size:.85rem;margin:0;line-height:1.55;}

/* ── Content Cards ── */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:1.3rem;}
.content-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:all .35s;display:flex;flex-direction:column;}
.content-card:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.content-card .cc-img-wrap{overflow:hidden;height:200px;position:relative;}
.content-card .cc-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.content-card:hover .cc-img-wrap img{transform:scale(1.06);}
.content-card img:not(.cc-img-wrap img){width:100%;height:200px;object-fit:cover;}
.content-card .cc-body{padding:1.25rem;flex:1;display:flex;flex-direction:column;}
.content-card .cc-tag{display:inline-flex;align-items:center;gap:.3rem;width:fit-content;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--saffron);font-weight:700;margin-bottom:.6rem;}
.content-card .cc-meta{color:var(--text-muted);font-size:.78rem;margin-top:.6rem;display:flex;align-items:center;gap:.4rem;}
.content-card h3{font-family:var(--font-body);font-size:1.05rem;font-weight:700;margin:0 0 .5rem;line-height:1.4;color:var(--text);}
.content-card p{color:var(--text-secondary);font-size:.88rem;flex:1;line-height:1.6;}
.content-card a.cc-link{color:var(--saffron);font-weight:700;font-size:.85rem;margin-top:.8rem;display:inline-flex;align-items:center;gap:.35rem;padding-top:.7rem;border-top:1px solid var(--border);transition:color .2s;}
.content-card a.cc-link:hover{color:var(--saffron-dark);}
[data-theme="dark"] .content-card a.cc-link:hover{color:var(--gold);}
.update-group{margin-bottom:2.5rem;}.update-group:last-child{margin-bottom:0;}
.update-group-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem;gap:1rem;flex-wrap:wrap;}
.update-group-head h3{display:flex;align-items:center;gap:.5rem;margin:0;font-family:var(--font-body);font-size:1.1rem;font-weight:700;color:var(--text);}

/* ── Events ── */
.event-row{display:flex;align-items:center;gap:1.2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.3rem;margin-bottom:.9rem;box-shadow:var(--shadow);transition:all .3s;flex-wrap:wrap;}
.event-row:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.date-badge{width:62px;height:62px;border-radius:14px;background:var(--saffron);color:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;}
.date-badge .dnum{font-family:var(--font-display);font-size:1.4rem;font-weight:800;line-height:1;}
.date-badge .dmon{font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;margin-top:.1rem;font-weight:700;}
.event-row .er-body{flex:1;min-width:min(200px,100%);}
.event-row .er-body h3{margin:0 0 .25rem;font-family:var(--font-body);font-size:1rem;font-weight:700;color:var(--text);}
.event-row .er-meta{display:flex;gap:1rem;flex-wrap:wrap;color:var(--text-muted);font-size:.82rem;}
.event-row .er-meta span{display:inline-flex;align-items:center;gap:.3rem;}

/* ── Page Banner (inner pages) ── */
.page-banner{
    position:relative;overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);
    background:linear-gradient(145deg,#0d1a35 0%,#162952 55%,#1e3a6e 100%);
    color:#fff;
    padding:calc(64px + clamp(2.5rem,4vw,3.5rem)) var(--space-page) clamp(2rem,4vw,3rem);
    margin-bottom:0;
}
.page-banner::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(240,165,0,.07) 0%,transparent 60%);pointer-events:none;}
.page-banner-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;}
.page-banner .section-eyebrow{color:rgba(240,165,0,.85);}
.page-banner h1{color:#fff;font-size:clamp(1.6rem,1.2rem+2.5vw,2.6rem);font-weight:800;margin:.4rem 0 .5rem;}
.page-banner h1 em{color:#F0A500;font-style:italic;}
.page-banner p{color:rgba(255,255,255,.68);max-width:560px;margin:0;font-size:.97rem;}

/* ── CTA Band ── */
.cta-band{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(2.5rem,5vw,3.5rem) 2rem;text-align:center;margin-top:var(--space-section);margin-bottom:0;position:relative;overflow:hidden;box-shadow:var(--shadow);}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,var(--saffron-soft) 0%,transparent 60%);pointer-events:none;}
.cta-band h2{position:relative;z-index:1;margin-bottom:.5rem;}
.cta-band p{color:var(--text-secondary);max-width:480px;margin:0 auto 1.4rem;position:relative;z-index:1;}
.cta-band .btn-hero,.cta-band .btn.on-hero{position:relative;z-index:1;}

/* ── Gallery ── */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:1rem;}
.gallery-grid a{display:block;overflow:hidden;border-radius:var(--radius-sm);border:1px solid var(--border);box-shadow:var(--shadow);}
.gallery-grid img{width:100%;height:190px;object-fit:cover;transition:transform .4s;}
.gallery-grid a:hover img{transform:scale(1.07);}

/* ── Team ── */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:1.2rem;margin-bottom:var(--space-section);}
.team-card-new{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem 1.2rem 1.5rem;text-align:center;transition:all .3s;}
.team-card-new:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.team-card-new .tc-avatar{width:80px;height:80px;border-radius:50%;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.8rem;font-weight:800;background:var(--saffron);color:#000;flex-shrink:0;}
.team-card-new .tc-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.team-card-new h3{font-family:var(--font-body);font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.25rem;}
.team-card-new .tc-designation{color:var(--saffron);font-size:.82rem;font-weight:600;margin-bottom:.7rem;}
.team-card-new .tc-mobile{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-muted);font-size:.82rem;background:var(--bg-section);border:1px solid var(--border);padding:.3rem .75rem;border-radius:20px;margin-top:.3rem;}
.team-card-new .tc-mobile a{color:var(--text-secondary);}.team-card-new .tc-mobile a:hover{color:var(--saffron);}

/* ── FAQ ── */
.faqs-wrap{max-width:820px;margin:0 auto;}
.faqs-wrap .faq-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.6rem;padding:1rem 1.3rem;}
.faq-item summary{cursor:pointer;font-weight:600;font-size:.97rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:.8rem;color:var(--text);transition:color .2s;padding:.25rem 0;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary:hover,.faq-item[open] summary{color:var(--saffron);}
.faq-item summary .icon{transition:transform .3s;flex-shrink:0;color:var(--saffron);}
.faq-item[open] summary .icon{transform:rotate(180deg);}
.faq-item .faq-answer{margin-top:.7rem;color:var(--text-secondary);line-height:1.8;animation:faqSlide .3s ease;padding-top:.7rem;border-top:1px solid var(--border);}
@keyframes faqSlide{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
.faqs-wrap .faq-cta{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem 2rem;text-align:center;margin-top:1rem;}
.faqs-wrap .faq-cta .section-eyebrow{display:block;margin-bottom:.7rem;}
.faqs-wrap .faq-cta h2{font-size:1.5rem;margin-bottom:.5rem;}
.faqs-wrap .faq-cta p{color:var(--text-secondary);margin-bottom:1.2rem;font-size:.95rem;}

/* ── Contact ── */
.contact-wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:1.5rem;align-items:start;max-width:900px;margin:0 auto;}
@media(max-width:760px){.contact-wrap{grid-template-columns:1fr;}}
.contact-panel,.get-in-touch-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;}
.contact-panel h2,.get-in-touch-panel h2{font-family:var(--font-body);font-size:1.15rem;font-weight:700;color:var(--text);margin-bottom:1.4rem;padding-bottom:.9rem;border-bottom:1px solid var(--border);}
.contact-panel .field label{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;}
.contact-panel input,.contact-panel textarea{background:var(--bg-section);border:1.5px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.93rem;width:100%;font-family:var(--font-body);transition:border-color .2s,box-shadow .2s;}
.contact-panel input:focus,.contact-panel textarea:focus{border-color:var(--saffron);box-shadow:0 0 0 3px var(--saffron-glow);outline:none;}
.contact-panel textarea{min-height:130px;resize:vertical;}
.contact-panel .field{margin-bottom:.9rem;}
.contact-panel .btn{margin-top:.4rem;width:100%;justify-content:center;font-size:.95rem;padding:.8rem 1.4rem;}
.contact-info-row{display:flex;align-items:flex-start;gap:.85rem;padding:.9rem 0;border-bottom:1px solid var(--border);}
.contact-info-row:last-child{border-bottom:none;padding-bottom:0;}
.contact-info-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0;background:var(--saffron-soft);color:var(--saffron);display:flex;align-items:center;justify-content:center;}
.contact-info-label{font-size:.75rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;}
.contact-info-value{font-size:.95rem;color:var(--text);font-weight:500;line-height:1.5;}
.contact-info-value a{color:var(--text);transition:color .2s;}
.contact-info-value a:hover{color:var(--saffron);}

/* ── Footer ── */
.public-footer{background:var(--footer-bg);margin-top:0;padding:0;}
.footer-grid{max-width:1180px;margin:0 auto;padding:3rem 1.5rem 2rem;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2.5rem;}
.footer-grid h4{color:var(--footer-heading);font-size:.9rem;margin-bottom:1rem;font-family:var(--font-body);font-weight:700;}
.footer-grid p{font-size:.88rem;line-height:1.8;color:var(--footer-text);}
.footer-grid a{color:var(--footer-text);font-size:.88rem;transition:color .2s;}
.footer-grid a:hover{color:var(--saffron);}
.footer-links{display:flex;flex-direction:column;gap:.55rem;}
.footer-links a{display:flex;align-items:center;gap:.4rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);text-align:center;padding:1.1rem;font-size:.78rem;color:rgba(255,255,255,.35);}
@media(max-width:800px){.footer-grid{grid-template-columns:1fr;gap:2rem;}}

/* ── Back to Top ── */
.back-to-top{position:fixed;right:1.2rem;bottom:1.2rem;z-index:80;width:44px;height:44px;border-radius:50%;background:var(--saffron);color:#000;border:none;cursor:pointer;box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(12px);pointer-events:none;transition:all .25s;}
.back-to-top.show{opacity:1;transform:none;pointer-events:auto;}
.back-to-top:hover{opacity:.88;}

/* ── Reveal ── */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease;}
.reveal.in-view{opacity:1;transform:none;}
.reveal:nth-child(2){transition-delay:.08s;}.reveal:nth-child(3){transition-delay:.16s;}.reveal:nth-child(4){transition-delay:.22s;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;}}

/* ===========================================================
   ADMIN + SHARED
   =========================================================== */
.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1rem,.8rem+.8vw,1.6rem);box-shadow:var(--shadow);margin-bottom:1.3rem;}
.panel h2{border-bottom:none;padding-bottom:0;margin-bottom:1rem;font-family:var(--font-body);font-size:1.1rem;}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:1rem;}
label{display:block;font-size:.82rem;color:var(--text-muted);margin-bottom:.35rem;font-weight:600;}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=password],input[type=number],input[type=file],select,textarea{width:100%;padding:.7rem .85rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-section);font-size:.93rem;color:var(--text);font-family:var(--font-body);transition:border-color .2s,box-shadow .2s;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--saffron);box-shadow:0 0 0 3px var(--saffron-glow);}
textarea{resize:vertical;min-height:80px;}
.field{margin-bottom:1rem;}
.pw-wrap{position:relative;}.pw-wrap input{padding-right:2.8rem;}
.pw-eye{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.4rem;display:flex;align-items:center;border-radius:var(--radius-xs);}
.pw-eye:hover{color:var(--saffron);background:var(--saffron-soft);}
.btn{display:inline-flex;align-items:center;gap:.45rem;background:var(--saffron);color:#fff;border:none;padding:.7rem 1.4rem;border-radius:var(--radius-sm);font-size:.9rem;cursor:pointer;text-decoration:none;font-weight:700;font-family:var(--font-body);transition:all .2s;}
.btn:hover{opacity:.88;transform:translateY(-1px);color:#fff;}
.btn:active{transform:translateY(1px);}
.btn.secondary{background:var(--bg-card);color:var(--text);border:1.5px solid var(--border);}
.btn.secondary:hover{background:var(--saffron-soft);border-color:var(--saffron);color:var(--saffron);transform:translateY(-1px);}
.btn.danger{background:var(--error);color:#fff;}.btn.danger:hover{opacity:.9;}
.btn.small{padding:.42rem .85rem;font-size:.8rem;}
.btn.on-hero{background:var(--saffron);color:#000;font-weight:700;}.btn.on-hero:hover{opacity:.9;color:#000;}
.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:var(--radius-sm);background:var(--bg-card);border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;text-decoration:none;transition:all .15s;}
.btn-icon:hover{background:var(--saffron-soft);border-color:var(--saffron);color:var(--saffron);}
.btn-icon.danger{color:var(--error);}.btn-icon.danger:hover{background:rgba(220,38,38,.08);border-color:var(--error);}
.alert{padding:.85rem 1.1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.9rem;font-weight:500;}
.alert.success{background:rgba(22,163,74,.1);color:#15803d;border:1px solid rgba(22,163,74,.2);}
[data-theme="dark"] .alert.success{color:#4ade80;}
.alert.error{background:rgba(220,38,38,.08);color:#b91c1c;border:1px solid rgba(220,38,38,.15);}
[data-theme="dark"] .alert.error{color:#fca5a5;}
table{width:100%;border-collapse:collapse;font-size:.9rem;}
table th,table td{padding:.65rem .7rem;border-bottom:1px solid var(--border);text-align:left;}
table th{color:var(--text-muted);text-transform:uppercase;font-size:.72rem;letter-spacing:.04em;font-weight:700;}
table tr:hover{background:var(--saffron-soft);}
.table-scroll{overflow-x:auto;}
.lookup-edit-form{align-items:center;gap:.4rem;}.lookup-edit-form input[type=text]{padding:.4rem .55rem;}
.login-wrap{max-width:min(400px,100%);margin:clamp(2rem,4vw,5rem) auto;padding:0 1rem;}
.login-wrap .panel{padding:2rem;border-top:2px solid var(--saffron);}
.login-wrap h1{font-family:var(--font-display);text-align:center;margin-bottom:1.2rem;font-size:1.5rem;}
/* Admin sidebar always dark */
.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);background:linear-gradient(180deg,#080d1a 0%,#04060c 100%);color:rgba(255,255,255,.6);display:flex;flex-direction:column;z-index:60;transform:translateX(0);transition:transform .25s;border-right:1px solid rgba(255,255,255,.06);box-shadow:4px 0 24px rgba(0,0,0,.4);}
.sidebar-brand{display:flex;align-items:center;gap:.6rem;padding:1.3rem 1.2rem;font-size:1.05rem;font-weight:800;color:#fff;}
.sidebar-logo-only{max-height:34px;max-width:170px;object-fit:contain;filter:brightness(0) invert(1);}
.sidebar-nav{flex:1;padding:.5rem .8rem;display:flex;flex-direction:column;gap:.2rem;overflow-y:auto;}
.sidebar-nav a{color:rgba(255,255,255,.55);text-decoration:none;padding:.6rem .75rem;border-radius:var(--radius-sm);font-size:.88rem;font-weight:500;display:flex;align-items:center;gap:.7rem;transition:all .15s;}
.sidebar-nav a .icon{opacity:.5;}.sidebar-nav a:hover{background:rgba(255,255,255,.05);color:#fff;}
.sidebar-nav a.active{background:rgba(240,165,0,.1);color:#F0A500;font-weight:600;}.sidebar-nav a.active .icon{opacity:1;color:#F0A500;}
.sidebar-section-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.25);padding:.9rem .75rem .3rem;font-weight:700;}
.nav-badge{margin-left:auto;background:var(--saffron);color:#000;font-size:.68rem;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 .3rem;}
.sidebar-footer{padding:1rem 1.1rem;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between;gap:.5rem;}
.sidebar-footer .nav-user{color:rgba(255,255,255,.8);font-size:.83rem;display:flex;align-items:center;gap:.5rem;font-weight:600;}
.sidebar-footer .nav-user .avatar-dot{width:28px;height:28px;border-radius:8px;background:var(--saffron);color:#000;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;flex-shrink:0;}
.sidebar-footer .btn-link{display:inline-flex;align-items:center;padding:.4rem;border-radius:var(--radius-sm);background:transparent;color:rgba(255,255,255,.4)!important;}
.sidebar-footer .btn-link:hover{background:rgba(255,255,255,.06);color:#fff!important;}
.page-wrap{max-width:1180px;margin:0 auto;padding:var(--space-page) var(--space-page) calc(var(--space-page)*2);}
.page-wrap.with-sidebar{max-width:none;margin:0 0 0 var(--sidebar-w);padding:var(--space-page);}
.sidebar-overlay{display:none;}
.topbar.mobile-only{display:none;}
@media(max-width:900px){.sidebar{transform:translateX(-100%);}.sidebar.open{transform:translateX(0);}.page-wrap.with-sidebar{margin-left:0;}.topbar.mobile-only{display:block;background:#080d1a;position:sticky;top:0;z-index:50;box-shadow:var(--shadow);}.topbar.mobile-only .topbar-inner{display:flex;align-items:center;gap:.9rem;padding:.8rem 1rem;}.topbar.mobile-only .brand{color:#fff;font-size:1.05rem;text-decoration:none;font-weight:800;}.nav-toggle{background:none;border:none;color:#fff;padding:.3rem;cursor:pointer;display:flex;}.sidebar-overlay.open{display:block;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:55;}}
.dash-topbar{display:flex;justify-content:flex-end;margin-bottom:1.2rem;}
.dash-topbar-right{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap;}
.dash-topbar-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-muted);font-size:.84rem;font-weight:600;text-decoration:none;}.dash-topbar-link:hover{color:var(--saffron);}
.dash-topbar-avatar{display:flex;align-items:center;gap:.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:30px;padding:.35rem .9rem .35rem .35rem;box-shadow:var(--shadow);}
.dash-topbar-avatar .avatar-dot{width:28px;height:28px;border-radius:50%;background:var(--saffron);color:#000;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;}
.dash-topbar-avatar span:last-child{font-size:.85rem;font-weight:600;color:var(--text);}
.topbar{background:#080d1a;position:sticky;top:0;z-index:50;box-shadow:var(--shadow);}
.topbar-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.2rem;}
.brand{color:#fff;font-size:1.15rem;text-decoration:none;font-weight:800;}
.nav-user{color:rgba(255,255,255,.6);font-size:.85rem;}
.btn-link{background:var(--saffron);color:#000!important;padding:.45rem .85rem!important;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;font-size:.85rem;}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:1rem;margin-bottom:1.5rem;}
.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.3rem;box-shadow:var(--shadow);transition:all .2s;position:relative;overflow:hidden;}
.stat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--saffron),var(--gold));}
.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.stat-card .num{font-family:var(--font-display);font-size:2rem;font-weight:800;color:var(--saffron);line-height:1.1;}
.stat-card .lbl{color:var(--text-muted);font-size:.8rem;margin-top:.3rem;font-weight:500;}
/* Family Tree */
.tree-node{margin-bottom:.9rem;}
.member-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(.9rem,.7rem+.7vw,1.1rem);position:relative;box-shadow:var(--shadow);transition:box-shadow .2s;}
.member-card:hover{box-shadow:var(--shadow-lg);}
.member-card.self{border-left:3px solid var(--saffron);}.member-card.spouse{border-left:3px solid var(--gold);}.member-card.child{border-left:3px solid var(--text-secondary);}.member-card.grandchild{border-left:3px solid var(--text-muted);}
.member-top{display:flex;gap:clamp(.6rem,.5rem+.5vw,.85rem);align-items:flex-start;}
.member-avatar{width:clamp(38px,30px+1.5vw,48px);height:clamp(38px,30px+1.5vw,48px);border-radius:12px;flex-shrink:0;object-fit:cover;border:2px solid var(--border);background:var(--bg-section);}
.member-avatar-fallback{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--saffron-dark),var(--saffron));color:#000;font-weight:800;font-size:1.05rem;}
.member-info{flex:1;min-width:0;}.member-name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.4rem;}
.member-name-row strong{font-size:.98rem;color:var(--text);font-weight:700;}
.rel-tag{background:var(--saffron-soft);color:var(--saffron);font-size:.66rem;padding:.22rem .55rem;border-radius:6px;text-transform:uppercase;letter-spacing:.03em;font-weight:700;}
.member-chips{display:flex;flex-wrap:wrap;gap:.4rem;}
.chip{display:inline-flex;align-items:center;gap:.3rem;background:var(--bg-section);border:1px solid var(--border);color:var(--text-muted);font-size:.76rem;padding:.22rem .55rem;border-radius:6px;}
.member-note{margin:.5rem 0 0;font-size:.8rem;color:var(--text-muted);}.member-note-warn{color:var(--error);}
.member-actions{margin-top:.75rem;display:flex;gap:.4rem;flex-wrap:wrap;}.member-actions .btn,.member-actions .btn-icon,form .btn{width:auto;}
.children-toggle{margin-top:.7rem;}
.children-toggle>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--saffron);font-weight:600;padding:.3rem 0;user-select:none;}
.children-toggle>summary::-webkit-details-marker{display:none;}
.children-toggle>summary .icon{transition:transform .15s;}
.children-toggle[open]>summary .icon{transform:rotate(0deg);}.children-toggle:not([open])>summary .icon{transform:rotate(-90deg);}
.children-wrap{margin-top:.7rem;padding-left:clamp(.6rem,.4rem+1vw,1.1rem);border-left:2px dashed var(--border);}
.education-row{background:var(--bg-section);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.9rem;margin-bottom:.7rem;display:flex;gap:.7rem;align-items:flex-start;}
.education-row .form-grid{flex:1;margin-bottom:0;}
.mobile-mask{display:inline-flex;align-items:center;gap:.6rem;}.mobile-mask .mobile-hidden{letter-spacing:.15em;color:var(--text-muted);}
.site-footer{text-align:center;color:var(--text-muted);font-size:.8rem;padding:1.5rem 0;}
.site-footer.with-sidebar{margin-left:var(--sidebar-w);}@media(max-width:900px){.site-footer.with-sidebar{margin-left:0;}}
/* Rich text + editor */
.prose{line-height:1.85;color:var(--text);font-size:.96rem;overflow-wrap:break-word;}
.prose p{margin:0 0 1em;}.prose p:last-child{margin-bottom:0;}
.prose h2,.prose h3,.prose h4{margin:1.4em 0 .5em;line-height:1.3;font-family:var(--font-display);}
.prose h2{font-size:1.35rem;}.prose h3{font-size:1.15rem;}.prose h4{font-size:1rem;}
.prose ul,.prose ol{margin:0 0 1em;padding-left:1.5em;}.prose li{margin-bottom:.35em;}
.prose a{color:var(--saffron);font-weight:600;text-decoration:underline;}
.prose blockquote{margin:1.2em 0;padding:.9em 1.2em;border-left:3px solid var(--saffron);background:var(--saffron-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;}
.prose blockquote p{margin:0;}
.prose img{max-width:100%;height:auto;border-radius:var(--radius-sm);margin:.6em 0;}
.prose hr{border:none;border-top:1px solid var(--border);margin:1.6em 0;}
.prose pre{background:var(--bg-section);border:1px solid var(--border);color:var(--text);padding:1em;border-radius:var(--radius-sm);overflow-x:auto;font-size:.85rem;}
.prose code{background:var(--bg-section);border:1px solid var(--border);border-radius:4px;padding:.1em .35em;font-size:.85em;}
.rte-wrap{border:1.5px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-card);}
.rte-wrap .ql-toolbar.ql-snow{border:none;border-bottom:1px solid var(--border);background:var(--bg-section);}
.rte-wrap .ql-container.ql-snow{border:none;font-family:var(--font-body);font-size:.95rem;color:var(--text);}
.rte-wrap .ql-editor{min-height:inherit;line-height:1.7;}
.rte-wrap:focus-within{border-color:var(--saffron);box-shadow:0 0 0 3px var(--saffron-glow);}
