:root{
  --gold:#B8912A;
  --gold-deep:#8A6A17;
  --gold-pale:#E9DCB4;
  --gold-wash:#FBF7EC;
  --ivory:#FDFCF8;
  --ink:#1C170F;
  --ink-soft:#4A4436;
  --rule:#E3D9BE;
  --white:#FFFFFF;
  --display:'Cormorant Garamond',serif;
  --body:'Mulish',sans-serif;
  --gurmukhi:'Noto Serif Gurmukhi',serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--ivory);font-size:16.5px;line-height:1.75;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--gold-deep)}

/* Top quote strip (letterhead echo) */
.quote-strip{background:var(--ink);text-align:center;padding:9px 16px}
.quote-strip .pa{font-family:var(--gurmukhi);color:var(--gold-pale);font-size:.95rem;letter-spacing:.02em}
.quote-strip .en{font-family:var(--display);font-style:italic;color:var(--gold);font-size:.95rem}
@media(max-width:640px){.quote-strip .pa{display:none}}

/* Header */
header{background:var(--white);border-bottom:3px double var(--gold);position:sticky;top:0;z-index:50}
.head-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:12px 24px}
.brandmark{height:58px;flex:none;display:flex;align-items:center}
.brandmark img{height:58px;width:auto;display:block}
.brand-name{line-height:1.25}
.brand-name a{text-decoration:none}
.brand-name .b1{font-family:var(--display);font-weight:700;font-size:1.06rem;letter-spacing:.07em;color:var(--ink);text-transform:uppercase}
.brand-name .b2{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);font-weight:600}
.head-social{margin-left:auto;display:flex;gap:10px;align-items:center}
.head-social a{width:36px;height:36px;border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;transition:.2s;background:var(--white)}
.head-social a:hover{border-color:var(--gold);background:var(--gold-wash)}
.head-social svg{width:17px;height:17px;fill:var(--gold-deep)}
@media(max-width:560px){.brand-name .b1{font-size:.88rem}.brand-name .b2{font-size:.56rem}}

nav.mainnav{background:var(--white);border-bottom:1px solid var(--rule)}
.nav-inner{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;padding:0 16px}
.nav-inner a{font-family:var(--body);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;padding:14px 15px;border-bottom:2.5px solid transparent;transition:.2s}
.nav-inner a:hover{color:var(--gold-deep)}
.nav-inner a.active{color:var(--gold-deep);border-bottom-color:var(--gold)}
@media(max-width:820px){.nav-inner{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.nav-inner a{white-space:nowrap}}

/* Layout */
.wrap{max-width:1040px;margin:0 auto;padding:0 24px}
section.block{padding:64px 0}
section.block.tint{background:var(--gold-wash);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.sec-head{text-align:center;margin-bottom:40px}
.eyebrow{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-deep);font-weight:700;margin-bottom:18px}
.sec-head .eyebrow{margin-bottom:10px}
.sec-head h1,.sec-head h2{font-family:var(--display);font-weight:600;font-size:clamp(1.7rem,3.4vw,2.35rem);line-height:1.2}
.gold-rules{width:120px;margin:18px auto 0;border-top:2.5px solid var(--gold);border-bottom:1px solid var(--gold);height:5px}
.prose{max-width:760px;margin:0 auto}
.prose p{margin-bottom:1.15em;color:var(--ink-soft)}
.prose p strong{color:var(--ink)}
.prose h3{font-family:var(--display);font-size:1.45rem;font-weight:600;margin:1.6em 0 .5em;color:var(--ink)}
.lead{font-size:1.08rem;color:var(--ink)}
.center{text-align:center}
.btn{display:inline-block;background:var(--gold);color:var(--white);font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:13px 30px;border:none;cursor:pointer;transition:.2s;font-family:var(--body)}
.btn:hover{background:var(--gold-deep)}

/* Hero */
.hero{position:relative;background:var(--white);overflow:hidden;border-bottom:1px solid var(--rule)}
.hero-watermark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.hero-watermark img{width:380px;height:auto;opacity:.06}
.hero-inner{position:relative;max-width:860px;margin:0 auto;text-align:center;padding:84px 24px 72px}
.hero h1{font-family:var(--display);font-weight:600;font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.12;letter-spacing:.01em}
.hero h1 .sub{display:block;font-size:.55em;font-weight:500;color:var(--gold-deep);margin-top:10px;font-style:italic}
.hero .tagline{margin:26px auto 0;color:var(--ink-soft);font-size:1.02rem;max-width:640px}
.pillars{margin-top:34px;display:flex;justify-content:center;flex-wrap:wrap}
.pillars span{font-family:var(--display);font-size:1.15rem;font-weight:600;color:var(--ink);padding:0 22px;position:relative}
.pillars span+span::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:5px;background:var(--gold);border-radius:50%}
.official-tag{display:inline-block;margin-top:32px;border:1px solid var(--gold);background:var(--gold-wash);color:var(--gold-deep);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:9px 20px}

/* Video */
.video-frame{max-width:860px;margin:0 auto;background:var(--white);border:1px solid var(--rule);padding:14px}
.video-frame .ratio{position:relative;padding-top:56.25%;background:#000}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-cap{text-align:center;font-size:.82rem;color:var(--ink-soft);padding-top:12px}
.video-cap a{font-weight:700;text-decoration:none}

/* Cards */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:960px;margin:0 auto}
@media(max-width:760px){.cards3{grid-template-columns:1fr}}
.pcard{background:var(--white);border:1px solid var(--rule);border-top:3px solid var(--gold);padding:30px 26px;text-align:center}
.pcard .glyph{font-family:var(--gurmukhi);color:var(--gold);font-size:1.6rem;line-height:1}
.pcard h3{font-family:var(--display);font-size:1.4rem;font-weight:600;margin:12px 0 8px}
.pcard p{font-size:.93rem;color:var(--ink-soft)}

/* Values grid */
.values{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:820px;margin:0 auto}
@media(max-width:640px){.values{grid-template-columns:1fr}}
.values li{list-style:none;background:var(--white);border:1px solid var(--rule);padding:14px 18px;display:flex;gap:12px;align-items:baseline;font-size:.95rem;color:var(--ink-soft)}
.values li::before{content:"\25C6";color:var(--gold);font-size:.6rem;flex:none}
.values li strong{color:var(--ink)}

/* Timeline */
.timeline{max-width:780px;margin:0 auto;position:relative;padding-left:34px}
.timeline::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:1px;background:var(--gold-pale)}
.t-item{position:relative;margin-bottom:36px}
.t-item::before{content:"";position:absolute;left:-30px;top:7px;width:9px;height:9px;background:var(--gold);transform:rotate(45deg)}
.t-item .t-label{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep)}
.t-item h3{font-family:var(--display);font-size:1.35rem;font-weight:600;margin:4px 0 6px}
.t-item p{color:var(--ink-soft);font-size:.96rem}

/* Master profile */
.master{max-width:820px;margin:0 auto 56px;background:var(--white);border:1px solid var(--rule);padding:44px 44px 38px;position:relative}
.master::before{content:"";position:absolute;top:0;left:44px;right:44px;height:3px;background:var(--gold)}
.master .eyebrow{margin-bottom:8px}
.master h2{font-family:var(--display);font-weight:600;font-size:clamp(1.5rem,3vw,2rem);margin-bottom:18px}
.master h3{font-family:var(--display);font-size:1.35rem;font-weight:600;margin:1.4em 0 .4em}
.master p{color:var(--ink-soft);margin-bottom:1.05em}
@media(max-width:640px){.master{padding:32px 22px}}

/* Glance stats */
.glance{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);max-width:960px;margin:0 auto}
@media(max-width:760px){.glance{grid-template-columns:repeat(2,1fr)}}
.glance div{background:var(--white);text-align:center;padding:30px 12px}
.glance .num{font-family:var(--display);font-weight:600;font-size:2.2rem;color:var(--gold-deep);line-height:1}
.glance .lbl{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-top:10px;font-weight:600}

/* Notices */
.notice{max-width:780px;margin:0 auto 18px;background:var(--white);border:1px solid var(--rule);border-left:3px solid var(--gold);padding:22px 26px}
.notice .n-date{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep)}
.notice h3{font-family:var(--display);font-size:1.3rem;font-weight:600;margin:4px 0 6px}
.notice p{color:var(--ink-soft);font-size:.95rem}
.alert{max-width:780px;margin:0 auto;background:var(--gold-wash);border:1px solid var(--gold-pale);padding:26px 30px}
.alert h3{font-family:var(--display);font-size:1.3rem;font-weight:700;color:var(--gold-deep);margin-bottom:8px}
.alert p{font-size:.95rem;color:var(--ink-soft)}

/* Visit */
.visit-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;max-width:960px;margin:0 auto;align-items:start}
@media(max-width:820px){.visit-grid{grid-template-columns:1fr}}
.visit-card{background:var(--white);border:1px solid var(--rule);padding:32px}
.visit-card h3{font-family:var(--display);font-size:1.4rem;font-weight:600;margin-bottom:14px}
.visit-card dl div{display:flex;gap:10px;margin-bottom:14px;font-size:.95rem}
.visit-card dt{font-weight:700;color:var(--ink);flex:none;min-width:92px}
.visit-card dd{color:var(--ink-soft)}
.visit-card a{word-break:break-all}

/* Footer */
footer{background:var(--ink);color:#CFC7B2;margin-top:70px}
.foot-inner{max-width:1040px;margin:0 auto;padding:56px 24px 30px;text-align:center}
.foot-logo{height:74px;width:auto;margin-bottom:18px}
.foot-inner .f-name{font-family:var(--display);font-size:1.45rem;font-weight:600;color:var(--white);letter-spacing:.03em}
.foot-inner .f-name.small{font-size:1.1rem}
.foot-inner .f-sub{font-family:var(--display);font-style:italic;color:var(--gold);margin-top:4px}
.foot-pillars{margin:16px 0;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-pale)}
.foot-inner address{font-style:normal;font-size:.9rem;margin-bottom:18px}
.f-official{display:inline-block;border:1px solid var(--gold-deep);color:var(--gold);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:8px 18px;margin-bottom:22px}
.f-social{display:flex;gap:12px;justify-content:center;margin-bottom:26px}
.f-social a{width:40px;height:40px;border:1px solid #3A3323;display:flex;align-items:center;justify-content:center;transition:.2s}
.f-social a:hover{border-color:var(--gold)}
.f-social svg{width:18px;height:18px;fill:var(--gold)}
.f-legal{border-top:1px solid #33301F;padding-top:22px;font-size:.8rem;color:#8F8770}
.f-disclaimer{max-width:840px;margin:14px auto 0;font-size:.74rem;line-height:1.7;color:#767055}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
a:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}

/* Mobile hamburger menu */
.menu-toggle{display:none;margin-left:6px;flex:none;width:44px;height:44px;background:var(--white);border:1px solid var(--rule);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0}
.menu-toggle span{display:block;width:20px;height:2px;background:var(--gold-deep);transition:.25s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:820px){
  .menu-toggle{display:flex}
  .head-social{display:none}
  nav.mainnav{display:none}
  nav.mainnav.open{display:block}
  .nav-inner{flex-direction:column;overflow:visible;padding:6px 0}
  .nav-inner a{padding:15px 24px;border-bottom:1px solid var(--gold-wash);border-left:3px solid transparent;font-size:.85rem}
  .nav-inner a.active{border-left-color:var(--gold);border-bottom-color:var(--gold-wash);background:var(--gold-wash)}
}

/* Click-to-play video (works even where iframes/JS are blocked) */
.yt-lite{position:relative;display:block;padding-top:56.25%;background:#000;overflow:hidden}
.yt-lite img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
.yt-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:50px;background:#E62117;border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.4)}
.yt-btn::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-38%,-50%);border-style:solid;border-width:11px 0 11px 19px;border-color:transparent transparent transparent #fff}

/* Satsang calendar table */
.cal-wrap{max-width:780px;margin:0 auto 26px;background:var(--white);border:1px solid var(--rule);border-top:3px solid var(--gold);padding:30px}
.cal-title{font-family:var(--display);font-size:1.55rem;font-weight:700;text-align:center;color:var(--ink)}
.cal-sub{text-align:center;font-size:.85rem;color:var(--ink-soft);margin:8px 0 18px;line-height:1.6}
table.cal{width:100%;border-collapse:collapse}
.cal th{background:var(--gold);color:#fff;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding:10px 12px;text-align:left}
.cal td{padding:9px 12px;border-bottom:1px solid var(--gold-pale);font-size:.95rem;color:var(--ink-soft)}
.cal tbody tr:nth-child(even) td{background:var(--gold-wash)}
.cal td:first-child{font-weight:700;color:var(--ink)}
.cal-sign{text-align:right;font-size:.85rem;color:var(--ink-soft);margin-top:14px;font-style:italic}
@media(max-width:560px){.cal-wrap{padding:16px}.cal th{padding:8px 6px;font-size:.62rem}.cal td{padding:8px 6px;font-size:.85rem}}
