:root{
  --accent-fire:#D84020;
  --accent-warm:#F29B6E;
  --accent-cool:#2A4A5E;
  --accent-gold:#C9A876;
  --bg:#FAFAF8;
  --surface:#ffffff;
  --text:#3D3D3D;
  --muted:#6b7280;
  --gutter:16px;
}

html.ios{--gutter:20px}
html.android{--gutter:18px}
*{box-sizing:border-box}
body{font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;line-height:1.7;color:var(--text);margin:0;
  background:
    radial-gradient(circle at 12% 18%, rgba(242,155,110,.10) 0%, transparent 38%),
    radial-gradient(circle at 88% 32%, rgba(42,74,94,.07) 0%, transparent 40%),
    radial-gradient(circle at 50% 92%, rgba(201,168,118,.10) 0%, transparent 45%),
    linear-gradient(180deg, #FAFAF8 0%, #f6efde 100%);
  background-attachment:fixed;
  position:relative}
/* Subtle paper grain — SVG noise, fixed to viewport, very faint */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.40 0 0 0 0 0.32 0 0 0 0.06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
body > *{position:relative;z-index:1}
a{color:var(--accent-fire)}

.container{max-width:1040px;margin:0 auto;padding-left:clamp(1rem, 3vw, 2rem);padding-right:clamp(1rem, 3vw, 2rem);padding-top:1rem;padding-bottom:1rem}
.container{padding-left:calc(clamp(1rem, 3vw, 2rem) + env(safe-area-inset-left,0px));padding-right:calc(clamp(1rem, 3vw, 2rem) + env(safe-area-inset-right,0px))}

/* Header */
.site-header{background:#fff;border-bottom:1px solid #ece7df}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:inherit}
.logo{width:44px;height:44px;image-rendering:optimizeQuality}
.brand-name{font-family:'Poppins', Inter, system-ui, sans-serif;font-weight:700;letter-spacing:.4px;font-size:1.05rem;color:var(--accent-cool);line-height:1.1}
.brand-name .brand-short{display:none}
.brand-name .brand-full{display:inline}
@media (max-width:780px){
  .brand-name .brand-full{display:none}
  .brand-name .brand-short{display:inline;font-size:1.25rem;letter-spacing:1px}
}
.main-nav{display:flex;gap:.15rem;align-items:center;flex-wrap:nowrap}
.main-nav a{text-decoration:none;color:var(--text);padding:.4rem .55rem;border-radius:6px;font-weight:600;font-size:.92rem;white-space:nowrap;transition:color .15s ease, background .15s ease}
.main-nav a:hover{color:var(--accent-fire);background:#fbf3ee}

/* Hamburger menu (mobile) */
.nav-toggle{display:none;background:transparent;border:0;width:42px;height:42px;cursor:pointer;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px;border-radius:6px}
.nav-toggle:hover{background:#fbf3ee}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--accent-cool);border-radius:2px;transition:transform .25s ease, opacity .2s ease}
.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:1024px){
  .header-inner{position:relative}
  .nav-toggle{display:flex}
  .main-nav{position:absolute;top:calc(100% + 1px);right:0;left:0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 0;box-shadow:0 8px 22px rgba(15,23,42,.08);max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease, opacity .25s ease, padding .3s ease;border-top:1px solid #ece7df;z-index:50}
  .main-nav.is-open{max-height:480px;opacity:1;padding:.6rem 0}
  .main-nav a{padding:.85rem 1.4rem;border-radius:0;font-size:1rem;border-bottom:1px solid #f4ecdf}
  .main-nav a:last-child{border-bottom:0}
  .main-nav a:hover{background:#fbf3ee}
  .main-nav a::after{display:none}
}

/* Motto banner — large, bold, prominent */
.motto-banner{background:#fff;border-top:2px solid var(--accent-gold);border-bottom:2px solid var(--accent-gold);padding:.5rem 0;text-align:center;box-shadow:inset 0 0 0 1px rgba(201,168,118,.18)}
.motto-banner .motto-inner{font-family: Winky Rough, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;color:var(--accent-fire);font-style:normal;letter-spacing:.4px;font-size:clamp(1.05rem, 1.8vw, 1.4rem);font-weight:500;line-height:1.4}
.motto-banner .motto-sanskrit{color:var(--accent-cool);font-weight:700;font-style:normal;margin-right:.1rem;font-size:1.05em}
.motto-banner .motto-sep{color:var(--accent-gold);margin:0 .6rem;font-weight:700}

/* Hero carousel — 6 slides, auto-advance, slide-from-right with depth */
.hero-carousel{position:relative;width:100%;height:clamp(540px, 84vh, 760px);overflow:hidden;background:#1a1a1a;color:#fff}
#ember-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}
.slide{position:absolute;inset:0;opacity:0;transform:translateX(100%) scale(.96);transition:opacity .85s ease, transform .85s cubic-bezier(.22,1,.36,1);display:flex;align-items:center;justify-content:flex-start;overflow:hidden}
.slide.is-active{opacity:1;transform:translateX(0) scale(1);z-index:2}
.slide.is-leaving{opacity:0;transform:translateX(-100%) scale(.94);z-index:1}
.slide-bg{position:absolute;inset:0;z-index:0}
.slide-motif{position:absolute;inset:0;z-index:1;pointer-events:none;display:flex;align-items:center;justify-content:flex-end;padding-right:6%}
.slide-content{position:relative;z-index:3;width:100%;text-align:center;padding:0 1.25rem}
.slide-content .eyebrow{display:inline-block;padding:.35rem .9rem;border:1px solid rgba(255,255,255,.45);border-radius:30px;font-size:.78rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#fff;margin-bottom:1.2rem;backdrop-filter:blur(2px)}
.slide-content h2{font-family:'Playfair Display', serif;font-size:clamp(2rem, 5vw, 3.6rem);font-weight:700;line-height:1.1;margin:0 0 .8rem;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.18)}
.slide-content .subhead{font-size:clamp(1rem, 1.7vw, 1.3rem);font-weight:300;margin:0 auto .6rem;max-width:720px;color:rgba(255,255,255,.92);font-style:italic}
.slide-content .body{font-size:.95rem;margin:0 auto 1.4rem;max-width:620px;color:rgba(255,255,255,.85);line-height:1.6}
.slide-content .cta{margin-top:.4rem}

/* Stagger animation for slide content */
.slide-content > *{opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), 
              transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  will-change: transform, opacity;}
.slide.is-active .slide-content > *{opacity:1;transform:translateY(0)}
.slide.is-active .slide-content > *:nth-child(1){transition-delay:.25s}
.slide.is-active .slide-content > *:nth-child(2){transition-delay:.42s}
.slide.is-active .slide-content > *:nth-child(3){transition-delay:.58s}
.slide.is-active .slide-content > *:nth-child(4){transition-delay:.72s}
.slide.is-active .slide-content > *:nth-child(5){transition-delay:.44s}

/* Backgrounds per slide */
.slide[data-bg="fire"] .slide-bg{background:radial-gradient(ellipse at 35% 30%, #d8a48f 0%, #a05a44 38%, #5e2818 95%)}
.slide[data-bg="calm"] .slide-bg{background:linear-gradient(135deg, #2A4A5E 0%, #1A3140 100%)}
.slide[data-bg="warm"] .slide-bg{background:linear-gradient(135deg, #C9A876 0%, #FAFAF8 100%)}
.slide[data-bg="ember"] .slide-bg{background:radial-gradient(ellipse at 50% 100%, #F29B6E 0%, #D84020 32%, #2A1810 75%, #1A0A06 100%)}
.slide[data-bg="ember"] .motif-flame{filter:drop-shadow(0 0 50px rgba(255,179,71,.6)) drop-shadow(0 0 90px rgba(216,64,32,.5));animation:emberFlicker 1.6s ease-in-out infinite}
@keyframes emberFlicker{0%,100%{filter:drop-shadow(0 0 50px rgba(255,179,71,.5)) drop-shadow(0 0 90px rgba(216,64,32,.4));transform:scale(1)}50%{filter:drop-shadow(0 0 70px rgba(255,179,71,.75)) drop-shadow(0 0 120px rgba(216,64,32,.6));transform:scale(1.03)}}
.slide[data-bg="rooted"] .slide-bg{background:#FAFAF8}
.slide[data-bg="rooted"] .slide-content h2,.slide[data-bg="rooted"] .slide-content .subhead,.slide[data-bg="rooted"] .slide-content .body{color:var(--accent-cool)}
.slide[data-bg="rooted"] .slide-content h2{text-shadow:none}
.slide[data-bg="rooted"] .slide-content .eyebrow{color:var(--accent-fire);border-color:var(--accent-gold)}
.slide[data-bg="rooted"] .slide-content .body{color:var(--text)}
.slide[data-bg="sacred"] .slide-bg{background:linear-gradient(180deg, #1A2B3A 0%, #2A4A5E 100%)}
.slide[data-bg="warm"] .slide-content h2,.slide[data-bg="warm"] .slide-content .subhead,.slide[data-bg="warm"] .slide-content .body{color:var(--accent-cool)}
.slide[data-bg="warm"] .slide-content h2{text-shadow:none}
.slide[data-bg="warm"] .slide-content .eyebrow{color:var(--accent-fire);border-color:var(--accent-fire)}
.slide[data-bg="warm"] .slide-content .body{color:var(--text)}
.slide[data-bg="warm"] .cta{background:var(--accent-fire);color:#fff}

/* Slide motifs */
/* Static TS seal at native aspect ratio — no rotation, no layered split */
.motif-seal{width:380px;height:auto;aspect-ratio:585/660;opacity:.10;display:block}
.slide[data-bg="sacred"] .motif-seal{opacity:.18}
.slide[data-bg="rooted"] .motif-numerals{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--accent-cool);opacity:.08;font-family:'Playfair Display', serif;font-size:clamp(8rem, 18vw, 16rem);font-weight:700;letter-spacing:.5em;animation:numeralsBreathe 4s ease-in-out infinite}
@keyframes slowSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes numeralsBreathe{0%,100%{opacity:.06}50%{opacity:.11}}
.motif-cover{height:72%;max-height:480px;max-width:36%;width:auto;border-radius:8px;box-shadow:0 18px 50px rgba(0,0,0,.45);object-fit:contain}
/* Real-photo motifs — sit on the right edge of the slide, never crash into centered text */
.motif-photo{max-height:min(70%, 460px);max-width:min(34%, 380px);height:auto;width:auto;object-fit:contain;border-radius:10px;box-shadow:0 22px 60px rgba(0,0,0,.5);display:block}
.motif-photo-warm{box-shadow:0 22px 60px rgba(60,40,20,.45), 0 0 0 1px rgba(201,168,118,.18)}
/* Pull the motif a touch further right and constrain centered text so they share the slide */
.slide-content{max-width:780px;margin:0 auto}

/* Intermediate widths (between 840 and 1024 — tablet portrait/landscape) — shrink + soften the motif so it can't crash into centered text */
@media (max-width:1023px) and (min-width:841px){
  .motif-photo,.motif-cover{max-width:30%;max-height:55%;opacity:.78}
  .slide-motif{padding-right:3%}
  .slide-content{max-width:560px}
}

/* Desktop ≥ 1024px: real two-column layout — text on the LEFT half, full-size
   motif on the RIGHT half. Applies to every slide except the final "sacred"
   slide (Universal Invocation), which stays centred around the TS seal.

   Both columns are absolutely positioned, so they share the same inner edge
   (50% of the slide) regardless of viewport. The OUTER edge of each column
   uses a clamp so on very wide screens the columns stop hugging the screen
   edge and centre inside a ~1180px region — the gap between text and image
   feels uniform from 1024px up to 2560px+. */
@media (min-width:1024px){
  .slide:not([data-bg="sacred"]){justify-content:flex-start}

  .slide:not([data-bg="sacred"]) .slide-content{
    position:absolute;
    inset:0 50% 0 max(6%, calc(50vw - 590px));
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    text-align:left;
    max-width:none;
    margin:0;
    padding:0 2rem 0 0;
    width:auto;
  }
  .slide:not([data-bg="sacred"]) .slide-content > *{
    max-width:520px;
    margin-left:0;
    margin-right:0;
  }
  .slide:not([data-bg="sacred"]) .slide-content .subhead,
  .slide:not([data-bg="sacred"]) .slide-content .body{
    max-width:520px;
  }
  .slide:not([data-bg="sacred"]) .slide-content .cta{
    margin-left:0;
    margin-right:.5rem;
  }

  .slide:not([data-bg="sacred"]) .slide-motif{
    inset:0 max(4%, calc(50vw - 590px)) 0 50%;
    padding:0 0 0 1rem;
    justify-content:flex-start;
    align-items:center;
  }
  .slide:not([data-bg="sacred"]) .motif-photo,
  .slide:not([data-bg="sacred"]) .motif-cover{
    max-width:96%;
    max-height:82%;
    opacity:1;
  }
  /* Landscape photos read smaller than portrait covers at the same max-width
     because of aspect ratio. Bump the landscape ones (Varanasi HQ, garden
     path) by capping height higher, so they feel comparable to portrait
     covers in visual weight. */
  .slide[data-bg="rooted"] .motif-photo,
  .slide[data-bg="warm"] .motif-photo{
    max-height:78%;
    max-width:96%;
  }
}
.motif-discs{position:relative;width:380px;height:380px}
.motif-discs .disc{position:absolute;border-radius:50%;background:linear-gradient(135deg, rgba(216,64,32,.4), rgba(42,74,94,.4));border:2px solid rgba(255,255,255,.5);box-shadow:0 12px 32px rgba(0,0,0,.18)}
.motif-discs .disc-1{width:200px;height:200px;left:0;top:60px;background:linear-gradient(135deg, #D84020, #F29B6E);animation:discFloat 8s ease-in-out infinite}
.motif-discs .disc-2{width:160px;height:160px;left:130px;top:180px;background:linear-gradient(135deg, #2A4A5E, #5d7e90);animation:discFloat 8s ease-in-out infinite -2.5s}
.motif-discs .disc-3{width:130px;height:130px;left:220px;top:0;background:linear-gradient(135deg, #C9A876, #fff);animation:discFloat 8s ease-in-out infinite -5s}
@keyframes discFloat{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-8px)}}
.motif-flame{width:280px;height:380px;color:#FFCB8E;opacity:.55;filter:drop-shadow(0 0 30px rgba(242,155,110,.6))}
.motif-stars{position:absolute;inset:0}
.motif-stars span{position:absolute;width:2px;height:2px;background:#C9A876;border-radius:50%;box-shadow:0 0 6px #C9A876;animation:starTwinkle 3s ease-in-out infinite}

@keyframes starTwinkle{0%,100%{opacity:.3}50%{opacity:.9}}

/* Dot indicators with progress ring */
.dots{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;gap:14px;z-index:6}
.dot{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.45);border:1px solid rgba(201,168,118,.7);cursor:pointer;padding:0;transition:transform .25s ease, width .35s ease, background .25s ease;flex-shrink:0;position:relative;overflow:hidden}
.dot:hover{transform:scale(1.3);background:rgba(201,168,118,.6)}
.dot.active{width:36px;border-radius:6px;background:rgba(255,255,255,.25);border-color:var(--accent-gold)}
.dot.active::after{content:'';position:absolute;left:0;top:0;bottom:0;width:100%;background:var(--accent-gold);transform-origin:left center;transform:scaleX(0);animation:dotProgress var(--slide-duration, 5500ms) linear forwards}
.hero-carousel.is-paused .dot.active::after{animation-play-state:paused}
@keyframes dotProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Carousel CTA — variant for slides */
.cta{display:inline-block;margin:.4rem .5rem;padding:.75rem 1.4rem;border-radius:6px;background:#fff;color:var(--accent-fire);text-decoration:none;font-weight:700;letter-spacing:.3px;box-shadow:0 4px 14px rgba(0,0,0,.12);transition:transform .15s ease, box-shadow .15s ease, background .15s ease}
.cta:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.22)}
.cta.outline{background:transparent;color:#fff;border:1.5px solid #fff;box-shadow:none}
.cta.outline:hover{background:rgba(255,255,255,.12)}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .slide,.slide-content > *,.motif-discs .disc,.motif-stars span,.slide[data-bg="rooted"] .motif-numerals{transition:opacity .3s ease!important;animation:none!important;transform:none!important}
  .slide.is-active{transform:none}
  .slide.is-leaving{transform:none}
  .dot.active::after{animation:none;transform:scaleX(1)}
  #ember-canvas{display:none}
}

/* Mobile carousel */
@media (max-width:840px){
  .hero-carousel{height:clamp(440px, 70vh, 600px)}
  .slide-content h2{font-size:clamp(1.6rem, 6vw, 2.2rem)}
  .slide-content .subhead{font-size:.95rem}
  .slide-motif{padding-right:2%;justify-content:center}
  .motif-cover{height:55%}
  .motif-discs{width:240px;height:240px;transform:scale(.7)}
  .motif-flame{width:180px;height:240px}
  .motif-photo{max-height:60vh;max-width:70%}
  .motif-cover{max-width:70%;max-height:60vh}
  .motif-seal{width:240px;height:auto}
  .dots{bottom:18px}
}

/* Content sections */
.content{padding:2.5rem 0}
.content h3{font-family:'Noto Serif', serif;font-size:clamp(1.4rem,2.4vw,1.8rem);color:var(--accent-cool);margin:0 0 1rem}
.content h4{font-family:'Noto Serif', serif;color:var(--accent-cool);margin:1.5rem 0 .5rem}
.section-heading{text-align:center;margin-top:2rem;color:var(--accent-fire)!important}
.section-heading::after{content:"";display:block;width:60px;height:2px;background:var(--accent-gold);margin:.5rem auto 0}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-top:1.5rem}
.card{background:var(--surface);padding:1.5rem 1.25rem;border-radius:10px;box-shadow:0 2px 12px rgba(15,23,42,.05);border-top:3px solid var(--accent-gold);outline:2px solid transparent;outline-offset:0;transition:transform .22s ease, box-shadow .22s ease, outline-offset .22s ease, outline-color .22s ease}
.card:hover{transform:translateY(-6px) scale(1.015);box-shadow:0 12px 28px rgba(216,64,32,.18);outline-color:var(--accent-gold);outline-offset:4px}
.card h4{font-family:'Playfair Display', serif;color:var(--accent-fire);margin:0 0 .5rem;font-size:1.5rem}

/* Reveal-on-scroll */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease-out, transform .65s ease-out}
.reveal.revealed{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none}
}

/* Gradient transition strips between sections */
.strip{height:60px;width:100%;pointer-events:none}
.strip-gold{background:linear-gradient(180deg, transparent, rgba(201,168,118,.10), transparent)}
.strip-cool{background:linear-gradient(180deg, transparent, rgba(42,74,94,.07), transparent)}
.strip-fire{background:linear-gradient(180deg, transparent, rgba(216,64,32,.08), transparent)}

/* Footer rotating quote */
.footer-quote-wrap{padding:.6rem 1rem 0;text-align:center;min-height:2.4rem}
.footer-quote{display:inline-block;font-family:'Playfair Display', serif;font-style:italic;font-size:.95rem;color:var(--accent-cool);opacity:1;transition:opacity .55s ease}
.footer-quote.fading{opacity:0}

/* Pillars section (Study / Meditation / Service) */
.pillars{padding:3rem 0 2rem}
.pillars h3.section-heading{margin-top:.5rem}
.pillars-intro{text-align:center;color:var(--muted);max-width:620px;margin:.5rem auto 2rem;font-style:italic}
.pillars-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-top:1rem}
.pillar{background:rgba(255,255,255,.7);backdrop-filter:blur(4px);padding:1.75rem 1.5rem;border-radius:14px;text-align:center;border:1px solid rgba(201,168,118,.25);box-shadow:0 4px 18px rgba(15,23,42,.05);transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.pillar:hover{transform:translateY(-6px);box-shadow:0 14px 32px rgba(216,64,32,.12);border-color:var(--accent-gold)}
.pillar .pillar-icon{width:64px;height:64px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg, rgba(201,168,118,.18), rgba(216,64,32,.12));border-radius:50%;color:var(--accent-fire)}
.pillar .pillar-icon svg{width:32px;height:32px}
.pillar h4{font-family:'Playfair Display', serif;color:var(--accent-cool);margin:0 0 .35rem;font-size:1.35rem}
.pillar .pillar-sanskrit{display:block;font-family:'Playfair Display', serif;font-style:italic;color:var(--accent-fire);font-size:.9rem;margin-bottom:.6rem;letter-spacing:.5px}
.pillar p{margin:0;color:var(--text);line-height:1.65;font-size:.95rem}

/* Get Involved CTA strip */
.cta-strip{position:relative;margin:2.5rem 0 0;padding:3rem 1.25rem;text-align:center;background:linear-gradient(135deg,#a05a44 0%,#d8a48f 100%);color:#fff;overflow:hidden}
.cta-strip::before{content:"";position:absolute;inset:0;background-image:url("ts-seal-light.png");background-repeat:no-repeat;background-position:right -60px center;background-size:340px 384px;opacity:.10;pointer-events:none}
.cta-strip > *{position:relative;z-index:1}
.cta-strip h3{font-family:'Noto Serif', serif;color:#fff;font-size:clamp(1.5rem, 3vw, 2.2rem);margin:0 0 .5rem}
.cta-strip p{margin:0 auto 1.4rem;max-width:580px;color:rgba(255,255,255,.92);font-style:italic;font-size:1.05rem}
.cta-strip .cta{background:#fff;color:var(--accent-fire)}
.cta-strip .cta.outline{background:transparent;color:#fff;border:1.5px solid #fff}
.cta-strip .cta.outline:hover{background:rgba(255,255,255,.12)}

/* Events page — gathering cards */
.gathering{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:2rem;background:rgba(255,255,255,.78);border-radius:14px;padding:1.5rem;margin:1.5rem 0;box-shadow:0 6px 22px rgba(15,23,42,.06);border:1px solid rgba(201,168,118,.25);align-items:start}
.gathering-visual{aspect-ratio:4/5;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center}
.gathering.past .gathering-visual{background:transparent}
.gathering-visual img{width:100%;height:100%;object-fit:cover;display:block}
.gathering-body h2{font-family:'Noto Serif', serif;color:var(--accent-cool);font-size:clamp(1.4rem,2.6vw,1.9rem);margin:0 0 .25rem}
.gathering-body .when{color:var(--accent-fire);font-weight:700;letter-spacing:.5px;font-size:.92rem;margin:0 0 .8rem}
.gathering-body .gathering-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:1rem 0 1.25rem;padding:1rem;background:rgba(201,168,118,.08);border-radius:8px}
.gathering-body .gathering-meta div{font-size:.9rem}
.gathering-body .gathering-meta strong{display:block;color:var(--accent-cool);font-size:.78rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:.2rem;font-weight:700}
.gathering-body .gathering-cta{margin-top:1rem}
.gathering-tag{display:inline-block;background:var(--accent-gold);color:#fff;padding:.2rem .65rem;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem}
.gathering.past .gathering-tag{background:var(--accent-cool)}

@media (max-width:720px){
  .gathering{grid-template-columns:1fr;padding:1rem}
  .gathering-visual{max-width:280px;margin:0 auto;aspect-ratio:4/3}
}

/* Section background overrides for warmth */
.content{background:transparent;position:relative}
.site-header,.motto-banner,.site-footer{background:rgba(255,255,255,.85);backdrop-filter:blur(6px)}
.site-footer{background:rgba(255,255,255,.78)}

/* Theosophy page — ordered list of Three Objects */
.theos-list{counter-reset:item;list-style:none;padding:0;margin:1.4rem 0 2rem}
.theos-list li{position:relative;counter-increment:item;padding:1rem 0 1rem 3.4rem;border-bottom:1px solid rgba(201,168,118,.25);font-family:'Playfair Display', Georgia, serif;font-size:1.05rem;line-height:1.85;color:var(--text)}
.theos-list li:last-child{border-bottom:0}
.theos-list li::before{content:counter(item, upper-roman);position:absolute;left:0;top:1rem;width:2.6rem;text-align:right;font-family:'Playfair Display', serif;font-style:italic;font-weight:700;font-size:1.4rem;color:var(--accent-fire);letter-spacing:1px}
.theos-list li strong{color:var(--accent-cool);font-weight:700}

/* Skip link + focus styles for keyboard / screen-reader users */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:fixed;left:1rem;top:1rem;width:auto;height:auto;z-index:99999;background:var(--accent-fire);color:#fff;padding:.7rem 1.2rem;border-radius:6px;font-weight:700;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.2)}
:focus-visible{outline:2px solid var(--accent-warm);outline-offset:3px;border-radius:3px}

/* ============ Marginalia / Atlas / Voices / Attention shared typography ============ */
.page-head{margin:1rem auto 2.5rem;max-width:780px}
.page-head h1{font-family:'Noto Serif', serif;color:var(--accent-cool);font-size:clamp(2rem,4.2vw,3.2rem);margin:.4rem 0 1.2rem;line-height:1.1;font-weight:700}
.page-head .eyebrow-tag{display:inline-block;font-family:Inter,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:2.8px;text-transform:uppercase;color:var(--accent-fire);margin:0;padding:.3rem .9rem;border:1px solid rgba(216,64,32,.4);border-radius:30px}
.page-head .page-lede{font-family:'Playfair Display', serif;font-style:italic;font-size:clamp(1.05rem,1rem + 0.7vw,1.3rem);line-height:1.65;color:var(--text);margin:.8rem 0}
.page-head .page-meta{font-size:.92rem;color:var(--muted);font-style:italic;margin-top:1rem}
.breadcrumb{margin:0 0 .5rem;font-size:.85rem;font-weight:600}
.breadcrumb a{color:var(--accent-cool);text-decoration:none;letter-spacing:.5px}
.breadcrumb a:hover{color:var(--accent-fire)}

/* ============ The Workshop hub — warm, hands-on, lamplit ============ */
.workshop-hero{position:relative;width:100%;min-height:380px;height:clamp(380px, 56vh, 540px);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:radial-gradient(ellipse at 30% 70%, #c9a050 0%, #5d4628 38%, #2a1f10 78%, #160d05 100%)}
#workshop-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.workshop-hero-content{position:relative;z-index:2;padding:0 1.25rem;max-width:880px}
.workshop-eyebrow{font-family:Inter, sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:#e6c78a;margin:0 0 1rem}
.workshop-wordmark{font-family:'Playfair Display', serif;font-weight:800;font-size:clamp(2.6rem, 8vw, 5.8rem);letter-spacing:-.01em;line-height:.95;margin:0;color:#FAFAF8;text-shadow:0 0 28px rgba(201,168,118,.55), 0 0 56px rgba(184,132,45,.32)}
.workshop-sub{font-family:'Playfair Display', serif;font-style:italic;font-size:clamp(1rem, 1.7vw, 1.3rem);color:#e6c78a;margin:1rem auto 0;max-width:560px;letter-spacing:.3px}

.workshop-body{padding-top:2.5rem}
.workshop-intro{max-width:780px;margin:0 auto 2.5rem;text-align:center;font-family:'Playfair Display', serif;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.8;color:var(--text)}
.workshop-intro p{margin:0 0 1.1rem}
.workshop-intro em{color:var(--accent-cool);font-style:italic}

.workshop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.5rem;max-width:1100px;margin:0 auto}
.ws-card{position:relative;display:block;text-decoration:none;color:inherit;background:linear-gradient(135deg, rgba(255,253,247,.92) 0%, rgba(248,238,219,.88) 100%);border:1px solid rgba(184,132,45,.22);border-radius:14px;padding:2rem 1.85rem 1.6rem;box-shadow:0 6px 22px rgba(58,40,24,.07);transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;overflow:hidden}
.ws-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(184,132,45,.18);border-color:var(--accent-gold)}
.ws-glow{position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle, rgba(255,217,148,.40) 0%, rgba(201,168,118,.20) 40%, transparent 70%);right:-100px;top:-100px;filter:blur(28px);opacity:0;transition:opacity .35s ease;pointer-events:none}
.ws-card:hover .ws-glow{opacity:1}
.ws-card-inner{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:start}
.ws-num{font-family:'Playfair Display', serif;font-style:italic;font: size 1.8em;rem;line-height:1;font-weight:800;padding-top:.05rem}
.ws-card-1 .ws-num{color:var(--accent-fire);text-shadow:0 0 16px rgba(216,64,32,.25)}
.ws-card-2 .ws-num{color:var(--accent-cool);text-shadow:0 0 16px rgba(42,74,94,.20)}
.ws-card-3 .ws-num{color:var(--accent-gold);text-shadow:0 0 16px rgba(201,168,118,.32)}
.ws-card-4 .ws-num{color:#8c6f3d;text-shadow:0 0 16px rgba(140,111,61,.30)}
.ws-tag{font-style:italic;font-size:.88rem;margin:0 0 .35rem;font-weight:600;letter-spacing:.3px}
.ws-card-1 .ws-tag{color:var(--accent-fire)}
.ws-card-2 .ws-tag{color:var(--accent-cool)}
.ws-card-3 .ws-tag{color:var(--accent-gold)}
.ws-card-4 .ws-tag{color:#8c6f3d}
.ws-card h2{font-family:'Noto Serif', serif;color:var(--accent-cool);font-size:clamp(1.4rem,2.4vw,1.85rem);margin:0 0 .65rem;font-weight:700;line-height:1.15}
.ws-card p{margin:0 0 1rem;line-height:1.7;color:var(--text);font-size:.95rem}
.ws-cue{display:inline-block;color:var(--accent-fire);font-weight:700;letter-spacing:.5px;font-size:.9rem;border-bottom:1.5px solid var(--accent-gold);padding-bottom:.18rem;transition:color .2s ease, border-color .2s ease}
.ws-card:hover .ws-cue{color:var(--accent-cool);border-color:var(--accent-fire)}

.workshop-coda{margin:3rem auto 1rem;max-width:720px;text-align:center;color:var(--muted);font-style:italic;line-height:1.75;font-family:'Inter, sans-serif', serif;font-size:1.05rem}
.margin-coda{margin:3rem auto 1rem;max-width:720px;text-align:center;color:var(--muted);font-style:italic;line-height:1.7}

/* Old Lamps — bench IV */
.lamps-list{max-width:760px;margin:1.5rem auto}
.lamp-item{padding:1.5rem 0 1.75rem;border-bottom:1px dashed rgba(201,168,118,.4);position:relative}
.lamp-item:last-child{border-bottom:0}
.lamp-num{font-family:Inter, sans-serif;font-size:.78rem;color:var(--accent-gold);letter-spacing:3px;font-weight:700;margin:0 0 .35rem;font-variant-numeric:tabular-nums}
.lamp-item h2{font-family:Inter, sans-serif;color:var(--accent-cool);font-size:1.4rem;margin:0 0 .7rem;font-weight:700;line-height:1.25}
.lamp-item p{margin:0;line-height:1.8;font-size:1rem;font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial}

@media (max-width:600px){
  .workshop-hero{min-height:320px}
  .ws-card{padding:1.5rem 1.25rem 1.25rem}
  .ws-card-inner{grid-template-columns:1fr;gap:.4rem}
  .ws-num{font-size:2.6rem}
  .workshop-body{padding-top:1.5rem}
  .workshop-grid{grid-template-columns:1fr}
}

/* Atlas — book cards by group */
.atlas-group{margin:3rem 0}
.atlas-group-head{margin:0 0 1.5rem}
.atlas-group-head .group-num{display:inline-block;font-family:'Playfair Display', serif;color:var(--accent-gold);font-style:italic;font-weight:700;font-size:1.4rem;margin-right:.6rem;letter-spacing:1px}
.atlas-group-head h2{display:inline;font-family:'Noto Serif', serif;color:var(--accent-cool);font-size:clamp(1.4rem,2.4vw,1.9rem);margin:0;font-weight:700}
.atlas-group-head p{margin:.5rem 0 0;color:var(--muted);font-style:italic;max-width:680px}
.atlas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-top:1rem}
.atlas-book{background:rgba(255,255,255,.72);border:1px solid rgba(201,168,118,.22);border-radius:10px;padding:1.4rem 1.4rem 1.2rem;box-shadow:0 3px 14px rgba(15,23,42,.04);transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease}
.atlas-book:hover{transform:translateY(-2px);border-color:var(--accent-gold);box-shadow:0 8px 22px rgba(15,23,42,.08)}
.atlas-book .book-difficulty{margin:0 0 .2rem;font-size:.78rem;font-weight:600;color:var(--accent-fire);letter-spacing:1.5px;text-transform:uppercase}
.atlas-book .book-title{font-family:'Noto Serif', serif;color:var(--accent-cool);font-size:1.3rem;font-weight:700;margin:.1rem 0 .15rem;line-height:1.2}
.atlas-book .book-author{margin:0 0 .85rem;color:var(--muted);font-style:italic;font-size:.9rem}
.atlas-book p{line-height:1.65;font-size:.95rem;margin:0 0 .8rem}
.atlas-book .book-meta{font-size:.85rem;color:var(--accent-cool);font-style:italic;margin-top:.7rem;padding-top:.7rem;border-top:1px dashed rgba(201,168,118,.4)}
.atlas-coda{margin:3rem auto;max-width:680px;text-align:center;font-family:'Noto Serif', serif;font-style:italic;color:var(--text);line-height:1.7}

/* Voices — long-form essay typography */
.prose-essay{max-width:680px;margin:2rem auto 3rem;background:rgba(255,255,255,.65);border:1px solid rgba(201,168,118,.28);border-radius:14px;padding:2.5rem 2.25rem 2rem;box-shadow:0 6px 22px rgba(15,23,42,.05)}
.prose-essay .essay-meta{font-size:.78rem;color:var(--accent-fire);letter-spacing:2.5px;text-transform:uppercase;font-weight:700;margin:0 0 .6rem}
.prose-essay .essay-title{font-family:'Noto Serif', serif;color:var(--accent-cool);font-size:clamp(1.5rem,2.8vw,2.1rem);margin:0 0 1.4rem;font-weight:700;line-height:1.2}
.prose-essay h3{font-family:'Noto Serif', serif;color:var(--accent-cool);font-size:1.25rem;margin:2rem 0 .8rem;font-weight:700}
.prose-essay p{font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;font-size:1.08rem;line-height:1.85;color:var(--text);margin:0 0 1.2rem}
.prose-essay .essay-signoff{margin-top:2rem;font-style:italic;color:var(--accent-fire);font-weight:700;text-align:right;font-family:'Noto Serif', serif}
.upcoming-essays{max-width:680px;margin:3rem auto;padding:1.5rem 1.75rem;background:rgba(201,168,118,.06);border-left:3px solid var(--accent-gold);border-radius:8px}
.section-eyebrow-h{font-family:Inter,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent-fire);margin:0 0 1rem}
.forthcoming-list{list-style:none;padding:0;margin:0}
.forthcoming-list li{padding:.55rem 0;border-bottom:1px dashed rgba(201,168,118,.4);font-family:'Playfair Display', serif;font-style:italic;font-size:1rem;color:var(--text)}
.forthcoming-list li:last-child{border-bottom:0}
.forthcoming-list .when{display:inline-block;min-width:110px;color:var(--accent-fire);font-weight:700;font-style:normal;font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase;font-family:Inter,sans-serif;margin-right:.5rem}

/* Attention — list items */
.attention-list{max-width:760px;margin:1rem auto}
.attention-item{padding:1.5rem 0;border-bottom:1px dashed rgba(201,168,118,.4)}
.attention-item:last-child{border-bottom:0}
.attention-item .att-tag{margin:0 0 .35rem;font-size:.78rem;color:var(--accent-fire);letter-spacing:2px;text-transform:uppercase;font-weight:700}
.attention-item h2{font-family:'Noto Serif', serif;color:var(--accent-cool);font-size:1.4rem;margin:0 0 .6rem;font-weight:700;line-height:1.3}
.attention-item p{margin:0;line-height:1.75;font-size:1rem}

/* ============ Featured Voice (rotating quote spotlight) ============ */
/* Consolidated version for your file */
.featured-voice {
    position: relative;
    padding: clamp(2.5rem, 5vw, 4rem) clamp(1rem, 3vw, 2rem);
    text-align: center;
    overflow: hidden;
    background: linear-gradient(135deg, #2A4A5E 0%, #1A3140 100%);
    color: #fff;
    margin: 0;
    
    /* Layout Fixes */
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 400px;
    box-sizing: border-box;
}

.featured-voice::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("ts-seal-light.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 520px 587px;
    opacity: .07;
    pointer-events: none;
}

.featured-voice .container {
    position: relative;
    z-index: 1;
    max-width: 820px;
}

.featured-voice .voice-eyebrow {
    display: inline-block;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--accent-gold);
    margin-bottom: 1.2rem;
    padding: .3rem .9rem;
    border: 1px solid rgba(201, 168, 118, .5);
    border-radius: 30px;
}.voice-stage{position:relative;min-height:200px}
.voice{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;display:flex;flex-direction:column;justify-content:center;align-items:center}
.voice.is-active{opacity:1;position:relative}
.voice-quote{font-family:'Noto Serif', serif;font-style:italic;font-size:clamp(1.3rem, 2.6vw, 2rem);line-height:1.55;color:#fff;margin:0 auto 1.2rem;max-width:760px}
.voice-quote::before{content:"“";font-size:3rem;color:var(--accent-gold);opacity:.55;line-height:.5;display:block;margin-bottom:.5rem;font-family:Georgia, serif}
.voice-attr{font-size:.95rem;color:var(--accent-gold);letter-spacing:1px;font-weight:600}
.voice-attr .voice-context{display:block;color:rgba(255,255,255,.6);font-weight:300;font-style:italic;margin-top:.2rem;letter-spacing:.5px}
.voice-dots{display:flex;gap:8px;justify-content:center;margin-top:1.5rem}
.voice-dots button{width:8px;height:8px;border-radius:50%;background:rgba(201,168,118,.4);border:0;cursor:pointer;padding:0;transition:transform .2s, background .2s}
.voice-dots button:hover{transform:scale(1.4);background:var(--accent-gold)}
.voice-dots button.active{background:var(--accent-gold);transform:scale(1.3)}

/* ============ Timeline — 150 Years of Inquiry ============ */
.timeline-section{padding:3.5rem 0 2.5rem;position:relative}
.timeline-section .section-eyebrow{display:block;text-align:center;font-size:.78rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent-fire);margin-bottom:.6rem}
.timeline-section h3{text-align:center;color:var(--accent-cool);font-family:'Noto Serif', serif;margin:0 0 2rem;font-size:clamp(1.6rem, 3vw, 2.2rem)}
.timeline{position:relative;max-width:920px;margin:0 auto;padding:1rem 0;overflow-x:auto;scrollbar-width:thin}
.timeline-track{display:flex;gap:1.5rem;padding:0 1rem 1.5rem;min-width:max-content;position:relative}
.timeline-track::before{content:"";position:absolute;left:0;right:0;top:48px;height:2px;background:linear-gradient(90deg, transparent, var(--accent-gold), transparent);z-index:0}
.timeline-item{position:relative;width:200px;flex-shrink:0;padding-top:1rem;text-align:center;z-index:1}
.timeline-dot{width:18px;height:18px;border-radius:50%;background:var(--accent-fire);border:3px solid #fff;box-shadow:0 0 0 2px var(--accent-gold);margin:1.5rem auto;position:relative;z-index:2}
.timeline-item.major .timeline-dot{background:var(--accent-cool);width:22px;height:22px;margin-top:1.3rem}
.timeline-year{font-family:'Noto Serif', serif;font-size:1.3rem;color:var(--accent-fire);font-weight:700;margin:0}
.timeline-item.major .timeline-year{color:var(--accent-cool)}
.timeline-title{font-weight:700;color:var(--text);margin:.4rem 0 .2rem;font-size:.95rem}
.timeline-desc{color:var(--muted);font-size:.82rem;line-height:1.5;margin:0}

/* ============ Burn Bright (magazine-2026.html) ============ */
.burn-bright-page{background:#0B0707;color:#FAFAF8}
.burn-bright-page::before{display:none}
.burn-bright-page .site-header,.burn-bright-page .motto-banner{background:rgba(11,7,7,.78);backdrop-filter:blur(10px);border-color:rgba(201,168,118,.18)}
.burn-bright-page .site-header .brand-name,.burn-bright-page .nav-toggle span{color:#FAFAF8}
.burn-bright-page .nav-toggle span{background:#FAFAF8}
.burn-bright-page .main-nav a{color:#FAFAF8}
.burn-bright-page .main-nav a:hover{background:rgba(216,64,32,.18);color:var(--accent-warm)}
.burn-bright-page .motto-banner{border-top-color:rgba(201,168,118,.3);border-bottom-color:rgba(201,168,118,.3)}
.burn-bright-page .motto-banner .motto-inner{color:var(--accent-warm)}
.burn-bright-page .motto-banner .motto-sanskrit{color:var(--accent-gold)}
.burn-bright-page .motto-banner .motto-sep{color:var(--accent-gold)}
.burn-bright-page .site-footer{background:rgba(11,7,7,.78);border-top-color:rgba(201,168,118,.18)}
.burn-bright-page .site-footer p,.burn-bright-page .links a{color:rgba(250,250,248,.7)}
@media (max-width:1024px){
  .burn-bright-page .main-nav{background:rgba(11,7,7,.96);border-top-color:rgba(201,168,118,.18)}
  .burn-bright-page .main-nav a{border-bottom-color:rgba(201,168,118,.12)}
}

/* Burn Bright color tokens — scoped to the page only */
.burn-bright-page{--bb-void:#060404;--bb-fire1:#ff2400;--bb-fire2:#ff6b00;--bb-fire3:#ffaa00;--bb-gold:#ffd000;--bb-cream:#fff5e6;--bb-smoke:rgba(255,245,230,.55)}
.burn-bright-page{background:var(--bb-void);color:var(--bb-cream)}
/* Subtle film-grain overlay */
.burn-bright-page::after{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");opacity:.035;pointer-events:none;z-index:9000}

/* Hero */
.bb-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:0 6vw 7vh;overflow:hidden;color:var(--bb-cream)}
.bb-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 110%,rgba(255,80,0,.55) 0%,rgba(255,36,0,.20) 40%,transparent 70%);animation:bbBreathe 4s ease-in-out infinite alternate;z-index:0}
.bb-hero-bg2{position:absolute;inset:0;background:radial-gradient(ellipse 40% 30% at 75% 90%,rgba(255,170,0,.25) 0%,transparent 60%);animation:bbBreathe2 5s ease-in-out infinite alternate;z-index:0}
@keyframes bbBreathe{from{transform:scale(1);opacity:.85}to{transform:scale(1.08);opacity:1}}
@keyframes bbBreathe2{from{transform:scale(1.05) translateX(0)}to{transform:scale(.95) translateX(30px)}}
#bb-fire-canvas{position:absolute;bottom:0;left:0;right:0;width:100%;height:55%;pointer-events:none;opacity:.55;z-index:1}

.bb-pill{position:absolute;top:1.5rem;right:1.5rem;display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,107,0,.12);border:1px solid rgba(255,170,0,.4);color:var(--bb-fire3);padding:.4rem .9rem;border-radius:30px;font-family:'Syne Mono',monospace;font-size:.7rem;letter-spacing:1.8px;text-transform:uppercase;backdrop-filter:blur(4px);z-index:10}
.bb-pill-dot{width:7px;height:7px;border-radius:50%;background:var(--bb-fire2);box-shadow:0 0 8px var(--bb-fire2);animation:bbPulse 1.6s ease-in-out infinite}
@keyframes bbPulse{0%,100%{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}

.bb-hero-content{position:relative;z-index:5;width:100%}
.bb-eyebrow{font-family:'Syne Mono',monospace;font-size:clamp(10px,1.2vw,13px);letter-spacing:7px;text-transform:uppercase;color:var(--bb-fire2);margin:0 0 28px;opacity:0;animation:bbSlideUp .8s ease .3s forwards}
.bb-hero-title{line-height:.82;margin-bottom:30px}
.bb-hero-title .bb-burn{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(96px,22vw,240px);letter-spacing:-3px;background:linear-gradient(170deg,var(--bb-gold) 0%,var(--bb-fire3) 35%,var(--bb-fire2) 65%,var(--bb-fire1) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;filter:drop-shadow(0 0 40px rgba(255,100,0,.5));opacity:0;animation:bbSlideUp .9s cubic-bezier(.16,1,.3,1) .5s forwards}
.bb-hero-title .bb-bright{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(96px,22vw,240px);letter-spacing:-3px;-webkit-text-fill-color:transparent;-webkit-text-stroke:2px rgba(255,210,0,.6);color:transparent;display:block;opacity:0;animation:bbSlideUp .9s cubic-bezier(.16,1,.3,1) .7s forwards}
.bb-hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}
.bb-hero-mag{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(38px,8vw,90px);letter-spacing:10px;color:var(--bb-cream);line-height:1;position:relative;opacity:0;animation:bbSlideUp .9s ease .9s forwards}
.bb-hero-mag::before{content:"";position:absolute;bottom:-6px;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--bb-fire1),var(--bb-gold),transparent)}
.bb-hero-tagline{max-width:340px;font-size:clamp(14px,1.5vw,18px);line-height:1.7;color:var(--bb-smoke);font-style:italic;font-family:'Playfair Display',serif;text-align:right;opacity:0;animation:bbSlideUp .9s ease 1.1s forwards;margin:0}
.bb-hero-tagline strong{color:var(--bb-fire3);font-style:normal}

@keyframes bbSlideUp{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}

.bb-scroll-hint{position:absolute;bottom:40px;right:6vw;font-family:'Syne Mono',monospace;font-size:10px;letter-spacing:4px;color:rgba(255,245,230,.25);writing-mode:vertical-rl;display:flex;align-items:center;gap:14px;z-index:10;opacity:0;animation:bbFadeIn 1s ease 2s forwards}
.bb-scroll-hint::before{content:"";width:1px;height:60px;background:linear-gradient(var(--bb-fire2),transparent);animation:bbDrip 2s ease-in-out infinite}
@keyframes bbDrip{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.4) translateY(10px)}}
@keyframes bbFadeIn{from{opacity:0}to{opacity:1}}

/* Marquee */
.bb-marquee{overflow:hidden;background:var(--bb-fire1);padding:14px 0;position:relative;z-index:20}
.bb-marquee-track{display:flex;gap:0;animation:bbMarquee 28s linear infinite;width:max-content}
.bb-marquee-track span{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(18px,3vw,28px);letter-spacing:6px;color:var(--bb-void);padding:0 40px;white-space:nowrap}
.bb-marquee-track span.dot{color:rgba(0,0,0,.35);padding:0;font-size:10px}
@keyframes bbMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Manifesto */
.bb-manifesto-2{padding:clamp(60px,10vw,140px) 6vw}
.bb-manifesto-grid{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start;max-width:1300px;margin:0 auto}
.bb-manifesto-label{font-family:'Syne Mono',monospace;font-size:10px;letter-spacing:6px;color:var(--bb-fire2);text-transform:uppercase;position:sticky;top:40px;padding-top:8px;border-top:1px solid rgba(255,107,0,.3)}
.bb-manifesto-hook{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(50px,8vw,110px);line-height:.88;color:var(--bb-cream);margin-bottom:50px}
.bb-manifesto-hook em{background:linear-gradient(135deg,var(--bb-gold),var(--bb-fire2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-style:normal;display:block}
.bb-manifesto-body{display:flex;flex-direction:column;gap:32px}
.bb-manifesto-para{font-size:clamp(16px,1.6vw,20px);line-height:1.85;color:rgba(255,245,230,.7);font-family:'Playfair Display',serif;padding-left:24px;border-left:2px solid rgba(255,107,0,.2);transition:border-color .3s, opacity .7s ease, transform .7s ease;margin:0}
.bb-manifesto-para:hover{border-color:var(--bb-fire2)}
.bb-manifesto-para strong{color:var(--bb-cream);font-weight:600}
.bb-manifesto-para .fire{color:var(--bb-fire3)}

/* Featured quote break */
.bb-quote-break{padding:clamp(60px,10vw,140px) 6vw;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden}
.bb-quote-break::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 50%,rgba(255,60,0,.10) 0%,transparent 70%)}
.bb-qb-line{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(44px,9vw,120px);line-height:.88;position:relative;z-index:1;margin:0;letter-spacing:-1px}
.bb-qb-line.outline{-webkit-text-stroke:1.5px rgba(255,200,0,.4);color:transparent}
.bb-qb-line.filled{background:linear-gradient(170deg,var(--bb-gold),var(--bb-fire2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 30px rgba(255,120,0,.4))}
.bb-quote-full{margin-top:48px;font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(15px,1.7vw,20px);line-height:1.7;color:rgba(255,245,230,.65);max-width:760px;position:relative;z-index:1}
.bb-quote-source{margin-top:14px;font-family:'Syne Mono',monospace;font-style:normal;font-size:11px;letter-spacing:2.5px;color:var(--bb-fire3);text-transform:uppercase;position:relative;z-index:1}

/* Six Flames cards */
.bb-flames{padding:clamp(40px,8vw,100px) 6vw}
.bb-flames-head{margin-bottom:60px}
.bb-section-tag{font-family:'Syne Mono',monospace;font-size:10px;letter-spacing:6px;color:var(--bb-fire2);text-transform:uppercase;margin-bottom:16px;display:block}
.bb-flames-title{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(40px,7vw,90px);line-height:.9;color:var(--bb-cream);margin:0}
.bb-flames-title span{-webkit-text-stroke:1.5px rgba(255,200,0,.5);color:transparent}
.bb-flames-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.bb-flame{background:rgba(255,255,255,.025);padding:44px 32px;position:relative;overflow:hidden;transition:background .4s, opacity .7s ease, transform .7s ease}
.bb-flame::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,80,0,.12),transparent);opacity:0;transition:opacity .4s}
.bb-flame:hover::before{opacity:1}
.bb-flame:hover{background:rgba(255,255,255,.045)}
.bb-flame-num{font-family:'Bebas Neue',Impact,sans-serif;font-size:80px;line-height:1;color:rgba(255,255,255,.04);position:absolute;top:10px;right:20px;transition:color .4s}
.bb-flame:hover .bb-flame-num{color:rgba(255,107,0,.12)}
.bb-flame-name{font-family:'Bebas Neue',Impact,sans-serif;font-size:26px;letter-spacing:3px;color:var(--bb-fire3);margin:0 0 12px}
.bb-flame-txt{font-family:'Playfair Display',serif;font-size:14.5px;line-height:1.8;color:rgba(255,245,230,.6);margin:0}
.bb-flame-bottom{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06);font-family:'Syne Mono',monospace;font-size:10px;letter-spacing:3px;color:rgba(255,107,0,.5);text-transform:uppercase;transition:color .3s}
.bb-flame:hover .bb-flame-bottom{color:var(--bb-fire2)}

/* In this issue (existing teaser content) — restyled for the dark theme */
.bb-teasers{padding:clamp(60px,8vw,120px) 6vw;background:transparent;color:var(--bb-cream)}
.bb-teasers .bb-section-eyebrow{display:block;text-align:center;font-family:'Syne Mono',monospace;font-size:10px;letter-spacing:6px;text-transform:uppercase;color:var(--bb-fire2);margin:0 0 12px;font-weight:400}
.bb-section-head{font-family:'Bebas Neue',Impact,sans-serif;text-align:center;color:var(--bb-cream);font-size:clamp(36px,6vw,72px);margin:0 auto 50px;max-width:760px;line-height:.95;letter-spacing:-1px}
.bb-teaser-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:1100px;margin:0 auto}
.bb-teaser{padding:32px 32px;border-left:2px solid rgba(255,107,0,.3);background:rgba(255,255,255,.025);transition:background .3s, border-color .3s, opacity .7s ease, transform .7s ease}
.bb-teaser:hover{border-left-color:var(--bb-fire2);background:rgba(255,107,0,.04)}
.bb-teaser h3{font-family:'Bebas Neue',Impact,sans-serif;color:var(--bb-fire3);font-size:1.6rem;letter-spacing:2px;margin:0 0 14px}
.bb-teaser p{font-family:'Playfair Display',serif;color:rgba(255,245,230,.7);margin:0 0 .8rem;line-height:1.75;font-size:.98rem}
.bb-teaser-cue{color:var(--bb-fire2)!important;font-family:'Syne Mono',monospace!important;font-style:normal!important;font-size:10px!important;letter-spacing:3px;text-transform:uppercase;margin-top:1.2rem!important}

/* Submissions strip — dark version */
.bb-cta-strip{padding:clamp(60px,9vw,140px) 6vw;background:transparent;text-align:center;color:var(--bb-cream);position:relative;overflow:hidden}
.bb-cta-strip::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 50%,rgba(255,60,0,.12) 0%,transparent 70%);animation:bbBreathe 5s ease-in-out infinite alternate}
.bb-cta-strip > .container{position:relative;z-index:1}
.bb-cta-strip h2{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(40px,7vw,80px);margin:0 0 18px;color:var(--bb-cream);letter-spacing:-1px;line-height:1}
.bb-cta-strip > .container > p:not(.bb-cta-buttons){font-family:'Playfair Display',serif;font-size:clamp(15px,1.7vw,20px);color:rgba(255,245,230,.55);max-width:560px;margin:0 auto 1.8rem;font-style:italic}
.bb-cta-strip .cta{background:var(--bb-fire2);color:var(--bb-void);font-family:'Syne Mono',monospace;font-size:11px;letter-spacing:3px;padding:1rem 2rem;border-radius:0;font-weight:700;text-transform:uppercase;border:1.5px solid var(--bb-fire2)}
.bb-cta-strip .cta:hover{background:var(--bb-fire3);border-color:var(--bb-fire3);transform:translateY(-2px)}
.bb-cta-strip .cta.outline{background:transparent;color:var(--bb-cream);border:1.5px solid rgba(255,245,230,.3);box-shadow:none}
.bb-cta-strip .cta.outline:hover{background:rgba(255,255,255,.05);border-color:var(--bb-cream);color:var(--bb-cream)}

/* Final CTA */
.bb-final-cta{padding:clamp(80px,12vw,180px) 6vw;text-align:center;position:relative;overflow:hidden}
.bb-final-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 60%,rgba(255,60,0,.18) 0%,transparent 70%);animation:bbBreathe 5s ease-in-out infinite alternate}
.bb-fcta-small{font-family:'Syne Mono',monospace;font-size:10px;letter-spacing:7px;color:var(--bb-fire2);text-transform:uppercase;margin:0 0 30px;position:relative;z-index:1}
.bb-fcta-title{font-family:'Bebas Neue',Impact,sans-serif;font-size:clamp(56px,14vw,160px);line-height:.85;position:relative;z-index:1}
.bb-fcta-title .t1{background:linear-gradient(170deg,var(--bb-gold) 0%,var(--bb-fire2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 50px rgba(255,120,0,.4));display:block;letter-spacing:-2px}
.bb-fcta-title .t2{-webkit-text-stroke:1.5px rgba(255,245,230,.2);color:transparent;display:block;letter-spacing:-2px}
.bb-fcta-sub{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(16px,2vw,24px);color:rgba(255,245,230,.4);margin-top:40px;position:relative;z-index:1}
.bb-fcta-sub span{color:var(--bb-fire3);font-style:normal}

/* Reveal-on-scroll animation */
.burn-bright-page .to-reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease, transform .7s ease}
.burn-bright-page .is-revealed{opacity:1;transform:translateY(0)}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .bb-hero-bg,.bb-hero-bg2,.bb-marquee-track,.bb-cta-strip::before,.bb-final-cta::before,.bb-pill-dot,.bb-scroll-hint::before,.bb-scroll-hint{animation:none!important}
  .bb-hero-eyebrow,.bb-burn,.bb-bright,.bb-hero-mag,.bb-hero-tagline{opacity:1!important;animation:none!important}
  .burn-bright-page .to-reveal{opacity:1;transform:none}
}

/* Mobile */
@media (max-width:900px){
  .bb-manifesto-grid{grid-template-columns:1fr;gap:40px}
  .bb-manifesto-label{position:static}
  .bb-flames-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .bb-hero{padding:0 5vw 6vh;min-height:90vh}
  .bb-pill{top:1rem;right:1rem;font-size:.62rem;padding:.3rem .7rem}
  .bb-hero-bottom{flex-direction:column;align-items:flex-start;gap:24px}
  .bb-hero-tagline{text-align:left;max-width:100%}
  .bb-hero-mag{font-size:clamp(36px,12vw,60px);letter-spacing:6px}
  .bb-scroll-hint{display:none}
  .bb-flame{padding:32px 24px}
  .bb-cta-strip .cta{display:block;margin:.6rem auto;max-width:280px}
}

/* Animated nav underline */
.main-nav a{position:relative}
.main-nav a::after{content:'';position:absolute;left:.7rem;right:.7rem;bottom:.15rem;height:2px;background:var(--accent-gold);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.main-nav a:hover::after{transform:scaleX(1)}

/* Three Objects (about) */
.objects{list-style:none;padding:0;margin:1rem 0;display:grid;gap:1rem}
.objects li{position:relative;padding:.75rem 0 .75rem 2.5rem;border-bottom:1px solid #eee2d4}
.objects li::before{content:"☥";position:absolute;left:.5rem;top:.7rem;color:var(--accent-gold);font-size:1.4rem;line-height:1}
.objects li:last-child{border-bottom:0}

/* Universal Invocation — bold, prominent, contemplative callout */
.invocation{max-width:760px;margin:3rem auto;padding:2.75rem 2rem 2.5rem;text-align:center;font-family:'Playfair Display', serif;font-style:italic;font-weight:700;font-size:clamp(1.35rem, 2.4vw, 1.85rem);line-height:1.7;color:var(--accent-cool);position:relative;background:linear-gradient(135deg, rgba(201,168,118,.08) 0%, rgba(216,64,32,.05) 100%);border-radius:14px;border:1px solid rgba(201,168,118,.32);box-shadow:0 8px 28px rgba(15,23,42,.05), inset 0 0 0 4px rgba(255,255,255,.4)}
.invocation::before,.invocation::after{content:"";display:block;width:120px;height:2px;background:linear-gradient(90deg, transparent, var(--accent-gold), transparent);margin:0 auto}
.invocation::before{margin-bottom:1.8rem}
.invocation::after{margin-top:1.8rem}
.invocation p{margin:0}
.invocation .source{display:block;margin-top:1.4rem;font-size:.9rem;font-weight:600;font-style:normal;color:var(--accent-fire);letter-spacing:1px;text-transform:uppercase}

@media (max-width:640px){
  .invocation{padding:2rem 1.25rem;margin:2rem auto;line-height:1.6}
  .invocation::before,.invocation::after{width:80px}
}

/* About page imagery */
.about-imagery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:2rem 0}
.about-imagery figure{margin:0;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px rgba(15,23,42,.06)}
.about-imagery img,.about-imagery svg{width:100%;height:200px;object-fit:cover;display:block}
.about-imagery figcaption{padding:.6rem .8rem;font-size:.85rem;color:var(--muted);text-align:center}

/* =====================================================================
   Gallery — 3-section editorial layout (Adyar / Gathering / Community)
   Hero anchor per section + CSS-columns masonry grid + PhotoSwipe lightbox
   ===================================================================== */
.gallery-page{padding:1rem 0 3rem}
.gallery-page .page-head{text-align:center;max-width:640px;margin:0 auto 1.5rem}
.gallery-page .page-head .eyebrow-tag{display:inline-block;font-family:'Syne Mono',monospace;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-fire);margin-bottom:.6rem}
.gallery-page .page-head h1{font-family:'Noto Serif',serif;color:var(--accent-cool);font-size:clamp(2rem,4vw,3rem);margin:0 0 .8rem;font-weight:500;letter-spacing:-.01em}
.gallery-page .page-head .page-lede{font-family:'Noto Serif',serif;font-style:italic;color:var(--text);font-size:1.08rem;line-height:1.7;margin:0}

/* Sub-nav (anchor links to each section) */
.gallery-subnav{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:1.8rem auto 3rem;padding:.55rem .8rem;background:rgba(255,255,255,.7);border-top:1px solid rgba(201,168,118,.45);border-bottom:1px solid rgba(201,168,118,.45);max-width:920px;backdrop-filter:blur(4px)}
.gallery-subnav a{display:inline-flex;align-items:baseline;gap:.55rem;padding:.5rem 1.1rem;text-decoration:none;font-family:'Noto Serif',serif;font-style:italic;font-size:1rem;color:var(--accent-cool);border-radius:2px;transition:background .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent}
.gallery-subnav a:hover{background:rgba(216,64,32,.08);color:var(--accent-fire)}
.gallery-subnav a:focus-visible{outline:2px solid var(--accent-fire);outline-offset:2px}
.gallery-subnav .sn-count{font-family:'Syne Mono',monospace;font-style:normal;font-size:.7rem;color:var(--accent-gold);letter-spacing:.1em}

/* Per-section block */
.gallery-section{margin:3.5rem 0 4.5rem;scroll-margin-top:90px}
.gallery-section-head{text-align:center;max-width:680px;margin:0 auto 1.8rem;padding:0 1rem}
.gallery-section-head .rule-ornament{display:block;width:64px;height:1px;background:var(--accent-gold);margin:0 auto 1.3rem;opacity:.7}
.gallery-section-head .eyebrow-tag{display:inline-block;font-family:'Syne Mono',monospace;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-fire);margin-bottom:.85rem;padding:.3rem .65rem;border:1px solid rgba(216,64,32,.22);border-radius:2px}
.gallery-section-head h2{font-family:'Noto Serif',serif;font-size:clamp(1.7rem,3vw,2.4rem);color:var(--accent-cool);margin:0 0 .9rem;font-weight:500;letter-spacing:-.005em}
.gallery-section-intro{font-family:'Noto Serif',serif;font-style:italic;font-size:1.05rem;line-height:1.7;color:var(--text);margin:0}
.gallery-section-intro em{font-style:normal;font-weight:600;color:var(--accent-cool)}

/* Hero anchor — full-width framed photo with caption below */
.gallery-hero{margin:0 0 18px;padding:0}
.gallery-hero .gallery-tile{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:3px;box-shadow:0 8px 36px rgba(60,40,20,.22),0 1px 2px rgba(60,40,20,.06);transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;cursor:zoom-in;position:relative}
.gallery-hero .gallery-tile::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(201,168,118,.35);border-radius:3px;pointer-events:none}
.gallery-hero .gallery-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.gallery-hero .gallery-tile:hover{transform:translateY(-3px);box-shadow:0 14px 44px rgba(60,40,20,.28),0 2px 4px rgba(60,40,20,.08)}
.gallery-hero .gallery-tile:hover img{transform:scale(1.02)}
.gallery-hero figcaption{font-family:'Syne Mono',monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:.8rem 0 0;text-align:center}

/* Masonry grid (CSS columns) */
.gallery-grid{column-count:3;column-gap:12px;margin-top:12px}
@media (max-width:980px){.gallery-grid{column-count:2}}

.gallery-grid .gallery-tile{display:block;break-inside:avoid;width:100%;margin:0 0 12px;border-radius:2px;overflow:hidden;box-shadow:0 1px 2px rgba(60,40,20,.06),0 4px 14px rgba(60,40,20,.08);transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s;cursor:zoom-in;-webkit-tap-highlight-color:transparent;position:relative}
.gallery-grid .gallery-tile::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(201,168,118,.22);pointer-events:none;border-radius:2px}
.gallery-grid .gallery-tile img{width:100%;height:auto;display:block}
.gallery-grid .gallery-tile:hover{transform:translateY(-3px);box-shadow:0 2px 6px rgba(60,40,20,.1),0 10px 26px rgba(60,40,20,.16)}
.gallery-grid .gallery-tile:focus-visible{outline:2px solid var(--accent-fire);outline-offset:3px}

/* 'Show more' cap — hide tiles past the 9th until user expands the section */
.gallery-grid > .gallery-tile:nth-child(n+10){display:none}
.gallery-grid.is-expanded > .gallery-tile:nth-child(n+10){display:block}

.gallery-show-more{display:flex;align-items:center;justify-content:center;gap:.6rem;margin:1.4rem auto 0;padding:.7rem 1.6rem;background:transparent;border:1px solid var(--accent-gold);border-radius:2px;color:var(--accent-cool);font-family:'Noto Serif',serif;font-style:italic;font-size:1rem;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .15s ease;-webkit-tap-highlight-color:transparent}
.gallery-show-more:hover{background:rgba(216,64,32,.05);border-color:var(--accent-fire);color:var(--accent-fire)}
.gallery-show-more:active{transform:translateY(1px)}
.gallery-show-more .gsm-label{letter-spacing:.01em}
.gallery-show-more .gsm-arrow{font-family:'Syne Mono',monospace;font-style:normal;font-size:.85rem;color:var(--accent-gold);transition:transform .2s ease}
.gallery-show-more:hover .gsm-arrow{transform:translateY(2px);color:var(--accent-fire)}
.gallery-show-more.is-hidden{display:none}

/* Coda — closing note */
.gallery-coda{text-align:center;margin:4.5rem auto 1rem;max-width:540px;color:var(--muted);font-family:'Noto Serif',serif;font-style:italic;font-size:.98rem;line-height:1.65;padding:0 1rem}
.gallery-coda .rule-ornament{display:block;width:64px;height:1px;background:var(--accent-gold);margin:0 auto 1.4rem;opacity:.6}
.gallery-coda p{margin:.45rem 0}
.gallery-coda a{color:var(--accent-fire);text-decoration:underline;text-decoration-color:rgba(216,64,32,.4);text-underline-offset:3px}
.gallery-coda a:hover{text-decoration-color:var(--accent-fire)}

/* PhotoSwipe lightbox theming */
.pswp{--pswp-bg:#1a1410}
.pswp__counter{font-family:'Syne Mono',monospace !important;letter-spacing:.08em !important;font-size:13px !important;color:rgba(255,255,255,.7) !important}
.pswp__icn-shadow{display:none}

/* Caption strip — small italic note pinned to the bottom of the lightbox.
   Only renders when the photo has a data-caption attribute. */
.pswp__caption{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);max-width:min(92%,720px);background:rgba(20,16,12,.78);backdrop-filter:blur(8px);color:rgba(250,250,248,.95);padding:.55rem 1.1rem;border-radius:2px;font-family:'Noto Serif',serif;font-style:italic;font-size:.95rem;line-height:1.4;text-align:center;border:1px solid rgba(201,168,118,.22);z-index:1010;pointer-events:none}
@media (max-width:600px){
  .pswp__caption{bottom:64px;font-size:.88rem;padding:.45rem .9rem}
}

@media (prefers-reduced-motion:reduce){
  .gallery-hero .gallery-tile,.gallery-grid .gallery-tile,.gallery-section.reveal{transition:none}
  .gallery-hero .gallery-tile:hover{transform:none}
  .gallery-hero .gallery-tile:hover img{transform:none}
  .gallery-grid .gallery-tile:hover{transform:none}
}

/* =====================================================================
   Gallery COVER page — bento-style category cards with "youth spark"
   ===================================================================== */
.gallery-cover-page{padding:1.5rem 0 3rem}
.gallery-cover-head{text-align:center;max-width:760px;margin:0 auto 3rem}
.gallery-cover-head .eyebrow-tag.with-rules{display:inline-flex;align-items:center;gap:.8rem;padding:0;border:0;color:var(--accent-gold);font-family:'Syne Mono',monospace;font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;margin-bottom:1.4rem}
.gallery-cover-head .eyebrow-tag .rule-tip{display:inline-block;width:32px;height:1px;background:var(--accent-gold);opacity:.85}
.gallery-cover-head h1{font-family:'Noto Serif',serif;font-size:clamp(2.2rem,4.6vw,3.4rem);color:var(--accent-cool);margin:0 0 1rem;font-weight:600;letter-spacing:-.015em;line-height:1.1}
.gallery-cover-head h1 .amp{font-style:italic;font-weight:400;color:var(--accent-fire);font-family:'Noto Serif',serif}
.gallery-cover-head .page-lede{font-family:'Noto Serif',serif;font-style:italic;font-size:1.1rem;line-height:1.7;color:var(--text);margin:0;max-width:620px;margin-left:auto;margin-right:auto}

/* Equal 3-column grid (no featured-2x2 anymore) */
.cover-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:380px;gap:1.4rem;margin:2rem 0 4rem}
.cover-card{position:relative;display:block;overflow:hidden;border-radius:6px;text-decoration:none;color:inherit;background:#1a1410;box-shadow:0 4px 18px rgba(60,40,20,.1),0 1px 2px rgba(60,40,20,.05);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s;-webkit-tap-highlight-color:transparent;isolation:isolate}
.cover-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(60,40,20,.24),0 2px 4px rgba(60,40,20,.08)}
.cover-card:focus-visible{outline:2px solid var(--accent-fire);outline-offset:3px}

/* Photo cycle — multiple images stacked, JS swaps .is-active to cross-fade */
.cover-card .cc-image{position:absolute;inset:0;overflow:hidden;z-index:1}
.cover-card .cc-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity 1.2s ease, transform .8s cubic-bezier(.22,1,.36,1), filter .5s ease;filter:saturate(1.05);will-change:opacity}
.cover-card .cc-image img.is-active{opacity:1}
.cover-card:hover .cc-image img.is-active{transform:scale(1.06);filter:saturate(1.15) brightness(1.04)}

.cover-card .cc-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(26,20,16,0) 30%,rgba(26,20,16,.55) 70%,rgba(26,20,16,.92) 100%);transition:background .35s ease}
.cover-card:hover .cc-overlay{background:linear-gradient(180deg,rgba(26,20,16,.1) 20%,rgba(26,20,16,.55) 60%,rgba(26,20,16,.95) 100%)}

.cover-card .cc-content{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;padding:1.6rem 1.6rem 1.5rem;color:#FAFAF8}
.cover-card .cc-kicker{font-family:'Syne Mono',monospace;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-gold);margin-bottom:.6rem;opacity:.92}
.cover-card .cc-title{font-family:'Noto Serif',serif;font-size:1.7rem;font-weight:600;margin:0 0 .4rem;color:#FAFAF8;letter-spacing:-.005em;line-height:1.15;transform:translateY(4px);transition:transform .4s cubic-bezier(.22,1,.36,1)}
.cover-card:hover .cc-title{transform:translateY(0)}
.cover-card .cc-subtitle{font-family:'Noto Serif',serif;font-style:italic;font-size:1rem;color:rgba(250,250,248,.82);margin:0 0 1rem;line-height:1.5;max-width:38ch;opacity:0;transform:translateY(8px);transition:opacity .35s ease .05s,transform .4s cubic-bezier(.22,1,.36,1) .05s}
.cover-card:hover .cc-subtitle{opacity:1;transform:translateY(0)}
.cover-card .cc-cta{display:inline-flex;align-items:center;gap:.5rem;font-family:'Syne Mono',monospace;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-gold);padding:.5rem .9rem;background:rgba(26,20,16,.5);backdrop-filter:blur(6px);border:1px solid rgba(201,168,118,.4);border-radius:2px;width:fit-content;opacity:0;transform:translateY(8px);transition:opacity .3s ease .12s,transform .3s ease .12s,background .25s ease,border-color .25s ease}
.cover-card:hover .cc-cta{opacity:1;transform:translateY(0)}
.cover-card:hover .cc-cta{background:rgba(216,64,32,.85);border-color:var(--accent-fire);color:#fff}
.cover-card .cc-arrow{font-family:'Syne Mono',monospace;font-style:normal;transition:transform .25s ease}
.cover-card:hover .cc-arrow{transform:translateX(3px)}

/* Sparks — three small dots that pulse in on hover (the 'youth spark') */
.cover-card .cc-spark{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--accent-gold);box-shadow:0 0 12px rgba(201,168,118,.6),0 0 4px rgba(255,200,120,.9);opacity:0;z-index:4;pointer-events:none;transition:opacity .3s ease}
.cover-card .cc-spark-1{top:18%;right:14%;animation:none}
.cover-card .cc-spark-2{top:38%;right:28%;width:4px;height:4px}
.cover-card .cc-spark-3{top:62%;right:12%;width:5px;height:5px}
.cover-card:hover .cc-spark{opacity:1}
.cover-card:hover .cc-spark-1{animation:ccSparkFloat 2.4s ease-in-out infinite}
.cover-card:hover .cc-spark-2{animation:ccSparkFloat 2.8s ease-in-out infinite .4s}
.cover-card:hover .cc-spark-3{animation:ccSparkFloat 2.6s ease-in-out infinite .8s}
@keyframes ccSparkFloat{
  0%,100%{transform:translateY(0) scale(1);opacity:.95}
  50%{transform:translateY(-6px) scale(1.2);opacity:.5}
}

/* Cover coda — call to share */
.cover-coda{margin:4rem auto 1rem;text-align:center;max-width:540px}
.cover-coda-card{background:#fff;border:1px solid rgba(201,168,118,.35);border-radius:6px;padding:2rem 1.8rem;box-shadow:0 4px 18px rgba(60,40,20,.06)}
.cover-coda-card .cc-icon{display:block;font-size:1.6rem;color:var(--accent-gold);margin-bottom:.6rem;line-height:1}
.cover-coda-card h3{font-family:'Noto Serif',serif;font-size:1.4rem;color:var(--accent-cool);margin:0 0 .8rem;font-weight:600}
.cover-coda-card p{font-family:'Noto Serif',serif;font-style:italic;font-size:.98rem;color:var(--muted);margin:0 0 1.4rem;line-height:1.6}

.cta-outline{display:inline-flex;align-items:center;gap:.5rem;font-family:'Syne Mono',monospace;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-cool);padding:.65rem 1.4rem;background:transparent;border:1.5px solid var(--accent-cool);border-radius:2px;text-decoration:none;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .15s ease}
.cta-outline:hover{background:var(--accent-cool);color:#fff;border-color:var(--accent-cool)}
.cta-outline:active{transform:translateY(1px)}

/* =====================================================================
   Gallery DETAIL pages — breadcrumb + detail header + footer
   ===================================================================== */
.gallery-detail-page{padding:1rem 0 3rem}

.gallery-breadcrumb{margin:0 0 1.5rem}
.gallery-breadcrumb a{display:inline-flex;align-items:center;gap:.4rem;font-family:'Syne Mono',monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-cool);text-decoration:none;padding:.4rem .7rem .4rem .55rem;background:rgba(255,255,255,.6);border:1px solid rgba(201,168,118,.35);border-radius:2px;transition:background .2s ease,color .2s ease,border-color .2s ease}
.gallery-breadcrumb a:hover{background:#fff;color:var(--accent-fire);border-color:var(--accent-fire)}
.gallery-breadcrumb .gb-arrow{font-family:'Syne Mono',monospace;transition:transform .2s ease}
.gallery-breadcrumb a:hover .gb-arrow{transform:translateX(-3px)}

.gallery-detail-head{text-align:center;max-width:720px;margin:0 auto 2.4rem;padding:0 .5rem}
.gallery-detail-head .eyebrow-tag{display:inline-block;font-family:'Syne Mono',monospace;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-fire);margin-bottom:.85rem;padding:.32rem .7rem;border:1px solid rgba(216,64,32,.22);border-radius:2px}
.gallery-detail-head h1{font-family:'Noto Serif',serif;font-size:clamp(2rem,4vw,3rem);color:var(--accent-cool);margin:0 0 .4rem;font-weight:600;letter-spacing:-.01em;line-height:1.1}
.gallery-detail-head .page-head-subtitle{font-family:'Noto Serif',serif;font-style:italic;font-size:1.15rem;color:var(--accent-fire);margin:0 0 1.2rem;font-weight:400;letter-spacing:.005em}
.gallery-detail-head .gallery-detail-intro{font-family:'Noto Serif',serif;font-style:italic;font-size:1.05rem;line-height:1.7;color:var(--text);margin:0;max-width:620px;margin-left:auto;margin-right:auto}
.gallery-detail-head .gallery-detail-intro em{font-style:normal;font-weight:600;color:var(--accent-cool)}

.gallery-detail-footer{text-align:center;margin:3.5rem auto 1rem;max-width:540px;padding:0 1rem}
.gallery-detail-footer .rule-ornament{display:block;width:64px;height:1px;background:var(--accent-gold);margin:0 auto 1.4rem;opacity:.6}

@media (prefers-reduced-motion:reduce){
  .cover-card,.cover-card .cc-image img,.cover-card .cc-overlay,.cover-card .cc-title,.cover-card .cc-subtitle,.cover-card .cc-cta{transition:none}
  .cover-card:hover{transform:none}
  .cover-card:hover .cc-image img{transform:none}
  .cover-card:hover .cc-spark{animation:none}
}

/* Magazine landing */
.magazine-landing{padding:2.5rem 0}
.magazine-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}
.magazine-card{position:relative;display:block;text-decoration:none;color:inherit;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 20px rgba(15,23,42,.08);transition:transform .2s ease, box-shadow .2s ease;border:1px solid #ece7df}
.magazine-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(15,23,42,.14)}
.magazine-card .cover-wrap{aspect-ratio:3/4;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.magazine-card .cover-wrap img,.magazine-card .cover-wrap svg{width:100%;height:100%;object-fit:cover;display:block}
.magazine-card .cover-wrap-2026{background:#0F0507;position:relative}
.magazine-card .cover-wrap-2026 img{filter:brightness(.42) saturate(.7);transition:filter .35s ease}
.magazine-card:hover .cover-wrap-2026 img{filter:brightness(.55) saturate(.88)}
.cs-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.40) 100%);padding:1.5rem;pointer-events:none;color:#fff}
.cs-badge{font-family:'Noto Serif',serif;font-size:clamp(1.85rem,4vw,3rem);font-weight:800;letter-spacing:3.5px;color:#ffffff;text-shadow:0 0 32px rgba(255,170,0,.6), 0 0 80px rgba(255,140,0,.35), 0 2px 14px rgba(0,0,0,.75);text-transform:uppercase;line-height:1.05;border-top:2px solid rgba(255,255,255,.85);border-bottom:2px solid rgba(255,255,255,.85);padding:.7rem 1.8rem}
.cs-date{font-family:'Noto Serif', serif;font-size:.85rem;letter-spacing:3.5px;text-transform:uppercase;color:rgba(255,255,255,.92);margin-top:1.3rem;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.magazine-card .cover-svg-2026{transition:filter .35s ease}
.magazine-card:hover .cover-svg-2026{filter:drop-shadow(0 0 18px rgba(242,155,110,.5))}
.magazine-card .meta{padding:1rem 1.2rem}
.magazine-card .year{color:var(--accent-fire);font-weight:700;letter-spacing:1px;font-size:.85rem;text-transform:uppercase}
.magazine-card .theme{font-family:'Noto Serif', serif;font-size:1.4rem;color:var(--accent-cool);margin:.2rem 0 0}
.magazine-card .ribbon{position:absolute;top:14px;right:-32px;transform:rotate(35deg);background:var(--accent-gold);color:#fff;padding:.3rem 2.5rem;font-size:.75rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.flame-svg{width:120px;height:120px;color:#fff;opacity:.95}

/* Magazine theme page — wide layout so the flipbook can dominate */
body.magazine-theme .container{max-width:1500px}
.magazine-page{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:2rem;padding:1.5rem 0;align-items:start}
.magazine-rail{position:sticky;top:1rem}
.magazine-rail .rail-cover{width:100%;aspect-ratio:3/4;border-radius:10px;overflow:hidden;box-shadow:0 8px 28px rgba(15,23,42,.18)}
.magazine-rail .rail-cover img{width:100%;height:100%;object-fit:cover;display:block}
.magazine-rail h1{font-family:'Noto Serif', serif;color:var(--accent-cool);font-size:1.6rem;margin:1rem 0 .25rem;line-height:1.2}
.magazine-rail .rail-year{color:var(--accent-fire);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:.78rem}
.magazine-rail .rail-blurb{margin-top:.7rem;line-height:1.7;font-size:.92rem}

.flipbook-wrap{display:flex;flex-direction:column;align-items:stretch;gap:1rem;width:100%}
.flipbook-stage{width:100%;overflow:auto;max-height:calc(100vh - 160px);display:flex;justify-content:center;align-items:flex-start;padding:.5rem 0}
.flipbook-zoom-target{width:100%;max-width:1180px;flex-shrink:0;transform-origin:top center;transition:zoom .18s ease}
.flipbook{width:100%;aspect-ratio:3/2;background:#1a1a1a;border-radius:6px;box-shadow:0 12px 40px rgba(0,0,0,.25);position:relative;overflow:hidden}
.flipbook .placeholder-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff;background:linear-gradient(135deg,rgba(216,64,32,.85),rgba(42,74,94,.95));text-align:center;padding:2rem}
.flipbook .placeholder-overlay h2{font-family:'Noto Serif', serif;font-size:2.2rem;margin:0 0 .5rem}
.flipbook .placeholder-overlay p{margin:0;opacity:.9}

.flipbook-controls{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;align-items:center}
.flipbook-controls .group{display:flex;gap:.4rem;align-items:center;background:#fff;padding:.3rem;border-radius:8px;box-shadow:0 1px 4px rgba(15,23,42,.08)}
.flipbook-controls button{background:var(--accent-cool);color:#fff;border:0;padding:.55rem 1rem;border-radius:6px;font-weight:600;cursor:pointer;font-family:Inter,sans-serif;font-size:.9rem;transition:background .15s ease;line-height:1}
.flipbook-controls .group button{background:transparent;color:var(--accent-cool);padding:.4rem .65rem;font-size:1.05rem}
.flipbook-controls .group button:hover{background:#fbf3ee;color:var(--accent-fire)}
.flipbook-controls .zoom-display{min-width:44px;text-align:center;font-weight:600;color:var(--accent-cool);font-size:.85rem}
.flipbook-controls button:hover{background:var(--accent-fire)}
.flipbook-controls button:disabled{opacity:.45;cursor:not-allowed}
.flipbook-status{font-size:.85rem;color:var(--muted)}

@media (max-width:1024px){
  .magazine-page{grid-template-columns:1fr;gap:1rem}
  .magazine-rail{position:static}
  .magazine-rail .rail-cover{max-width:220px;margin:0 auto}
  .magazine-rail h1{text-align:center}
  .magazine-rail .rail-year{display:block;text-align:center}
  .magazine-rail .rail-blurb{text-align:center;max-width:560px;margin-left:auto;margin-right:auto}
  .flipbook{aspect-ratio:3/4;max-width:640px}
  .flipbook-stage{max-height:none}
}

/* Flyer (legacy on home) */
.flyer img{width:100%;max-width:720px;display:block;margin:.5rem auto .75rem auto;border-radius:8px;box-shadow:0 6px 20px rgba(15,23,42,.08)}
.flyer-wrap{position:relative;max-width:720px;margin:0 auto}

/* Forms */
.contact-form{max-width:640px}
.contact-form label{display:block;margin:.75rem 0;font-weight:600;color:var(--accent-cool)}
.contact-form input,.contact-form textarea{width:100%;padding:.7rem;border:1px solid #ddd;border-radius:6px;font-family:inherit;background:#fff;margin-top:.25rem;font-weight:400;color:var(--text)}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--accent-warm);border-color:transparent}
.button{background:var(--accent-fire);color:#fff;padding:.7rem 1.2rem;border-radius:6px;border:0;cursor:pointer;font-weight:600;font-family:inherit}
.button:hover{background:#b9351a}

/* Footer */
.site-footer{border-top:1px solid #ece7df;padding:1.5rem 0;margin-top:3rem;background:#fff}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-inner p{margin:0;color:var(--muted);font-size:.9rem}
.links a{margin-left:1rem;color:var(--accent-cool);text-decoration:none;font-weight:600}
.links a:hover{color:var(--accent-fire)}

/* Section content fade-in (no JS dependency) */
section, .content{scroll-margin-top:80px}

/* Mobile */
@media (max-width:640px){
  .container{padding-left:calc(var(--gutter) + env(safe-area-inset-left,0px));padding-right:calc(var(--gutter) + env(safe-area-inset-right,0px))}
  .hero{padding:2.5rem 0 2rem}
  .hero::before{background-size:200px 200px;background-position:right -20px top -10px}
  .content{padding:1.5rem 0}
  .cards{gap:.75rem}
  .main-nav{gap:.2rem}
  .main-nav a{padding:.4rem .55rem;font-size:.88rem}
  .motto-banner .motto-inner{font-size:1.05rem;padding:0 .5rem;line-height:1.45}
  .brand-name{font-size:1.1rem}
}

@media (max-width:420px){
  .hero{padding:1.8rem 0 1.4rem}
  .hero h2{font-size:1.4rem}
  .main-nav a{padding:.35rem .45rem;font-size:.82rem}
  .motto-banner .motto-inner{font-size:.92rem;line-height:1.4}
}
