/* SOURCE: style-97329.css */

:root{--gold2:#efd58a}
.opening{position:relative;min-height:100svh;z-index:2;display:grid;place-items:center;color:#fff;overflow:hidden;background:#130807}
.opening.off{}
.opening-bg{position:absolute;inset:-4%;background-image:linear-gradient(180deg,rgba(11,4,4,.40),rgba(11,4,4,.84)),url('../images/landing-v3.jpg');background-size:cover;background-position:center;transform:scale(1.02);animation:v3breath 18s ease-in-out infinite alternate}
.vignette{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,transparent 0 22%,rgba(12,4,4,.16) 48%,rgba(10,3,3,.74) 100%)}
.opening-inner{position:relative;z-index:3;text-align:center;width:min(820px,88vw);padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(28px,env(safe-area-inset-bottom))}
.dharma{width:116px;height:116px;margin:0 auto 25px;position:relative;filter:drop-shadow(0 0 28px rgba(227,196,118,.18))}
.dharma svg{width:100%;height:100%;animation:spin 30s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes v3breath{to{transform:scale(1.08) translateY(-1%)}}
.eyebrow{font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:#e8cf8d;font-weight:700}
.opening h1{font:500 clamp(50px,9vw,92px)/.88 Georgia,serif;letter-spacing:-.04em;margin:18px 0 12px;text-shadow:0 4px 28px rgba(0,0,0,.4)}
.opening .tri{font:600 clamp(23px,4vw,36px)/1.2 Georgia,serif;color:var(--gold2);margin-bottom:24px}
.opening .tag{font:400 clamp(15px,2vw,19px)/1.65 Georgia,serif;color:#f2e8db;max-width:600px;margin:0 auto 30px}
.enter{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.enter .enterlink{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(244,223,155,.52);padding:15px 24px;border-radius:999px;background:rgba(15,6,6,.30);backdrop-filter:blur(12px);color:#fff;letter-spacing:.08em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.enter .primary{background:linear-gradient(135deg,#f0d890,#cba35a);color:#24150c;border:none;box-shadow:0 10px 30px rgba(183,132,45,.25)}
.petal{position:absolute;z-index:2;width:8px;height:14px;border-radius:80% 20% 70% 30%;background:rgba(241,212,139,.42);animation:fall linear infinite;pointer-events:none}
@keyframes fall{0%{transform:translateY(-15vh) rotate(0);opacity:0}10%{opacity:.7}100%{transform:translateY(115vh) rotate(560deg);opacity:0}}

:root{--cream:#fff9ef;--paper:#f4e7d5;--ink:#382a21;--muted:#746356;--gold:#bd8d3f;--deep:#170b09;--line:rgba(118,79,34,.16);--shadow:0 25px 75px rgba(73,44,23,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;overflow-x:hidden}a{text-decoration:none;color:inherit}button{font:inherit}img{max-width:100%}.wrap{width:min(1180px,calc(100% - 32px));margin:auto}
h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;font-weight:500;margin-top:0}h2{font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.035em;margin-bottom:18px}h3{font-size:clamp(28px,3.2vw,43px);line-height:1.05}p{line-height:1.82;color:var(--muted)}.kicker{font-size:9px;letter-spacing:.27em;text-transform:uppercase;font-weight:700;color:#987039;margin-bottom:12px}
.section{padding:94px 0;position:relative;overflow:hidden}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{padding:28px;border-radius:26px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow)}.photo{display:block;width:100%;border-radius:26px;box-shadow:var(--shadow);object-fit:cover}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border:1px solid var(--line);border-radius:999px;background:#fff9;font-size:9px;letter-spacing:.11em;text-transform:uppercase}.btn.primary{background:linear-gradient(135deg,#efd990,#c89a45);color:#342418;border:0}.btn.dark{background:#1d100d;color:#efd58a;border-color:#a97a39}
.site-header{position:fixed;left:0;right:0;top:0;z-index:150;background:rgba(18,8,7,.94);backdrop-filter:blur(17px);color:#fff;border-bottom:1px solid rgba(234,204,126,.13);transition:transform .4s ease}.site-header.header-hidden{transform:translateY(-110%)}.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{display:flex;align-items:center;gap:9px}.brandwheel{width:38px;height:38px;border:1px solid #d9b96780;border-radius:50%;display:grid;place-items:center}.brandwheel svg{width:27px;height:27px}.brandtext{font:600 17px Georgia,serif}.brandtext small{display:block;font:8px Arial;letter-spacing:.14em;color:#d7bd7d;margin-top:3px}.desktop-nav{display:flex;gap:18px;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.header-tools{display:flex;gap:6px;align-items:center}.langs button{border:0;background:transparent;color:#cfc1b5;font-size:9px;padding:6px}.langs button.active{color:#efd58a}.menu-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(235,205,127,.25);background:rgba(255,255,255,.05);color:#fff;position:relative}.menu-btn:before,.menu-btn:after,.menu-btn span{content:"";position:absolute;left:13px;right:13px;border-top:1px solid currentColor}.menu-btn:before{top:14px}.menu-btn span{top:21px}.menu-btn:after{top:28px}
.drawer{position:fixed;inset:0;z-index:250;pointer-events:none}.drawer.open{pointer-events:auto}.drawer-shade{position:absolute;inset:0;background:#0d0606aa;opacity:0;transition:.35s}.drawer.open .drawer-shade{opacity:1}.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(450px,90vw);background:#fff9ef;padding:28px;transform:translateX(105%);transition:.45s cubic-bezier(.2,.7,.2,1);overflow:auto}.drawer.open .drawer-panel{transform:none}.drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.drawer-close{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:white;font-size:23px}.drawer-links a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font:500 24px Georgia,serif}.drawer-links small{display:block;font:8px Arial;letter-spacing:.12em;color:#9a7544;text-transform:uppercase;margin-top:4px}
.page-hero{min-height:70svh;position:relative;display:flex;align-items:flex-end;color:#fff;background:#160b09;overflow:hidden}.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#160907d6,#16090740),linear-gradient(0deg,#160907c9,transparent 62%)}.page-hero .wrap{position:relative;z-index:2;padding-bottom:64px}.page-hero h1{font:500 clamp(55px,8vw,100px)/.88 Georgia,serif;letter-spacing:-.045em;margin:13px 0}.page-hero p{max-width:720px;color:#eee1d7;font:400 18px/1.7 Georgia,serif}
.home-intro{background:linear-gradient(180deg,#fff9ef,#f3e4cf)}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick{padding:22px;border-radius:22px;background:#fff9;border:1px solid white;box-shadow:0 15px 45px rgba(70,43,22,.07)}.quick strong{font:500 22px Georgia,serif;display:block;margin-bottom:5px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature{position:relative;min-height:400px;border-radius:27px;overflow:hidden;box-shadow:var(--shadow)}.feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.feature:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(20,9,7,.82))}.feature-copy{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:#fff}.feature-copy h3{font-size:31px;margin:0 0 7px}.feature-copy p{color:#eee1d6;margin:0;font-size:13px}.wisdom{background:#21120f;color:#fff}.wisdom h2{color:#fff}.wisdom p{color:#d8c9bc}.wisdom-box{text-align:center;max-width:900px;margin:auto}.wisdom-mark{font:500 88px/1 Georgia,serif;color:#e2c375;margin-bottom:-20px}.wisdom-copy{font:500 clamp(27px,4vw,47px)/1.25 Georgia,serif}
.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:22px 0}.countdown div{text-align:center;padding:13px 5px;border:1px solid var(--line);border-radius:14px;background:#fff9}.countdown strong{display:block;font:500 28px Georgia,serif;color:#a57330}.countdown span{font-size:8px;letter-spacing:.12em;text-transform:uppercase}.rich-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.rich-card{border-radius:26px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.rich-card img{width:100%;height:350px;object-fit:cover}.rich-card .copy{padding:24px}.activity-grid,.library-grid,.festival-grid,.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.small-card{padding:25px;border-radius:24px;background:#fff;border:1px solid white;box-shadow:0 17px 48px rgba(70,44,24,.07)}.small-card h3{font-size:27px;margin:12px 0 8px}.icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#f1dda5,#d8b35c);color:#76511f;font:500 18px Georgia,serif}.gallery{columns:3 250px;column-gap:12px}.gallery img{display:block;width:100%;margin:0 0 12px;border-radius:17px;break-inside:avoid;cursor:pointer}.map-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.map{min-height:430px;border-radius:25px;overflow:hidden;position:relative;box-shadow:var(--shadow)}.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.qr{width:140px;border-radius:14px;background:white;padding:7px;border:1px solid var(--line)}.notice{padding:18px 20px;border-radius:18px;background:#f1e2c5;border:1px solid #dbc28c;color:#654a2c}.sangha-band{background:#1c0f0c;color:#fff}.sangha-band h2{color:#fff}.sangha-band p{color:#d8c9bc}.offering-band{background:#f1e4d0}.pillrow{display:flex;gap:8px;flex-wrap:wrap}.pill{padding:9px 12px;border-radius:999px;background:#fff9;border:1px solid var(--line);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.to-top,.sound-btn{position:fixed;right:16px;z-index:145;width:49px;height:49px;border-radius:50%;border:1px solid var(--line);background:#fff9f2ee;box-shadow:0 12px 30px rgba(58,36,18,.14);display:grid;place-items:center;color:#93692f}.to-top{bottom:78px;opacity:0;pointer-events:none;transition:.3s}.to-top.show{opacity:1;pointer-events:auto}.sound-btn{bottom:18px}.sound-btn:before{content:"♪";font-size:19px}.sound-btn.off{opacity:.55}.footer{background:#100706;color:#a99a90;padding:46px 0}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,.8fr);gap:30px}.footer h4{font-size:20px;color:#fff;margin-bottom:12px}.footer a{display:block;padding:4px 0;font-size:12px}.footer p{color:#b6a79d}.footer-bottom{margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.08em}.lightbox{position:fixed;inset:0;z-index:300;background:#0c0605e8;display:none;align-items:center;justify-content:center;padding:20px}.lightbox.show{display:flex}.lightbox img{max-width:95vw;max-height:88vh;border-radius:18px}.lightbox button{position:absolute;right:18px;top:18px;width:46px;height:46px;border-radius:50%;border:0;background:#fff;font-size:22px}.motion-card{transform-style:preserve-3d;transition:transform .8s ease}.motion-image{will-change:transform}
@media(max-width:960px){.desktop-nav{display:none}.grid2,.map-layout,.footer-grid{grid-template-columns:1fr}.quick-grid,.activity-grid,.library-grid,.festival-grid,.news-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.section{padding:72px 0}.opening h1{font-size:55px}.feature-grid,.quick-grid,.activity-grid,.library-grid,.festival-grid,.news-grid,.rich-grid{grid-template-columns:1fr}.countdown strong{font-size:22px}.gallery{columns:2 130px}.page-hero{min-height:62svh}.page-hero h1{font-size:54px}.footer-bottom{display:block;line-height:2}.langs{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}.motion-card,.motion-image{transform:none!important}}

/* V9.2 preview-safe approved V3 opening */
.opening-photo{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;
  z-index:0;animation:v3photo 18s ease-in-out infinite alternate;transform:scale(1.01)
}
.opening-bg{background-image:none!important;z-index:1;
  background:linear-gradient(180deg,rgba(11,4,4,.38),rgba(11,4,4,.80))!important}
.vignette{z-index:2}.opening-inner{z-index:3}
@keyframes v3photo{to{transform:scale(1.075) translateY(-1%)}}

/* Visible language selection on mobile and landing */
.landing-lang{display:flex;justify-content:center;gap:8px;margin:0 auto 18px}
.landing-lang button,.mobile-lang button{
 border:1px solid rgba(239,213,138,.4);background:rgba(18,7,7,.3);color:#f4eadf;
 padding:8px 11px;border-radius:999px;font-size:9px;letter-spacing:.08em;cursor:pointer
}
.landing-lang button.active{background:#efd58a;color:#2b1a10;border-color:#efd58a}
.mobile-lang{display:flex;gap:6px;margin:18px 0 24px}
.mobile-lang button{background:#fff;color:#725326;border-color:rgba(118,79,34,.2)}
.mobile-lang button.active{background:#d9b45e;color:#27170e}
@media(max-width:640px){.langs{display:flex!important}.langs button{font-size:8px;padding:5px 4px}.brandtext{font-size:14px}.brandwheel{width:34px;height:34px}}

/* CSS-only side menu fallback. Works even if JS is restricted. */
.drawer:target{pointer-events:auto}.drawer:target .drawer-shade{opacity:1}.drawer:target .drawer-panel{transform:none}
.menu-anchor{display:block}
.menu-btn-link{display:grid;place-items:center}

/* more robust homepage editorial architecture */
.home-index{background:#f5ead9}
.section-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.section-nav a{background:#fff;border:1px solid #fff;padding:17px;border-radius:18px;box-shadow:0 12px 35px rgba(66,40,20,.06)}
.section-nav strong{font:500 18px Georgia,serif;display:block;margin-bottom:4px}
.section-nav span{font-size:10px;color:#77675a}
.bio-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}
.bio-facts div{padding:14px;border-radius:16px;background:#fff9;border:1px solid var(--line)}
.bio-facts b{display:block;font:500 17px Georgia,serif;margin-bottom:4px}
.quote-note{font-size:11px;color:#96836f;margin-top:12px}
@media(max-width:760px){.section-nav{grid-template-columns:1fr 1fr}.bio-facts{grid-template-columns:1fr}}

/* V9.3: robust auto-hide/reveal header */
.site-header{
  will-change:transform;
  transform:translate3d(0,0,0);
  transition:transform .34s cubic-bezier(.2,.7,.2,1), background .3s ease, box-shadow .3s ease;
}
.site-header.header-hidden{
  transform:translate3d(0,-112%,0)!important;
}
.site-header.header-visible{
  transform:translate3d(0,0,0)!important;
}
.site-header.scrolled{
  box-shadow:0 9px 32px rgba(10,4,3,.22);
}

/* Audio UI */
.sound-btn{
  overflow:hidden;
}
.sound-btn:before{content:"♫"!important}
.sound-btn.off:before{content:"♪"!important}
.sound-btn.playing{
  opacity:1;
  box-shadow:0 0 0 6px rgba(205,164,77,.12),0 12px 30px rgba(58,36,18,.14);
}
.sound-btn.playing:after{
  content:"";
  position:absolute;inset:5px;border-radius:50%;
  border:1px solid rgba(184,137,57,.35);
  animation:soundPulse 2.8s ease-out infinite;
}
@keyframes soundPulse{0%{transform:scale(.75);opacity:.8}100%{transform:scale(1.25);opacity:0}}
.sound-toast{
  position:fixed;right:72px;bottom:23px;z-index:144;
  background:rgba(26,13,10,.92);color:#f5e9d8;border:1px solid rgba(226,194,113,.22);
  border-radius:999px;padding:9px 13px;font-size:9px;letter-spacing:.06em;
  opacity:0;transform:translateY(7px);pointer-events:none;transition:.3s;
  backdrop-filter:blur(12px);white-space:nowrap
}
.sound-toast.show{opacity:1;transform:none}
.audio-credit{font-size:9px!important;line-height:1.55!important;color:#8f8178!important;margin-top:13px!important}

/* V9.4 embedded map */
.map-shell{margin-top:28px;border-radius:24px;overflow:hidden;border:1px solid rgba(117,79,41,.15);box-shadow:0 22px 55px rgba(56,34,19,.10);background:#fff}
.map-shell iframe{display:block;width:100%;height:430px;border:0}
.map-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;background:#fff}
.map-bar strong{display:block;font:500 18px Georgia,serif;color:#3d291c}
.map-bar span{font-size:10px;color:#857365}
@media(max-width:640px){.map-shell iframe{height:360px}.map-bar{align-items:flex-start;flex-direction:column}.map-bar .btn{width:100%;text-align:center}}

/* =========================================================
   V9.5 — iPhone Safari layout hardening
   ========================================================= */
html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  min-width:0;
}
main,section,header,footer,nav,aside,div{
  min-width:0;
}
img,video,iframe,svg{
  max-width:100%;
}
a,button{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.wrap{
  max-width:calc(100% - 32px);
  min-width:0;
}
.site-header{
  -webkit-backdrop-filter:blur(17px);
  backdrop-filter:blur(17px);
  padding-top:env(safe-area-inset-top,0px);
}
.header-inner{
  min-width:0;
}
.opening{
  min-height:100vh;
  min-height:100svh;
}
.opening-photo{
  -webkit-user-select:none;
  user-select:none;
}
.opening-inner{
  max-width:88vw;
}
.drawer-panel{
  max-width:90vw;
  -webkit-overflow-scrolling:touch;
}
.map-shell,.map,.rich-card,.card,.small-card,.quick,.feature{
  max-width:100%;
}
p,.feature-copy p,.map-bar span,.quick span{
  overflow-wrap:anywhere;
  word-break:normal;
}
@supports (-webkit-touch-callout:none){
  /* Avoid Safari's aggressive text autosizing / transformed-layer quirks */
  .motion-card{transform:none!important}
  .motion-image{transform:none!important}
  .page-hero>img,.opening-photo{transform:scale(1.001)}
  .opening-bg{transform:none!important}
}
@media(max-width:640px){
  .wrap{width:calc(100% - 28px);max-width:calc(100% - 28px)}
  .opening-inner{width:92vw;max-width:92vw;padding-left:10px;padding-right:10px}
  .opening h1{font-size:clamp(48px,14vw,60px);line-height:.9}
  .opening .tri{font-size:clamp(21px,6vw,28px)}
  .opening .tag{font-size:15px;line-height:1.5}
  .eyebrow{font-size:9px;letter-spacing:.25em}
  .enter .enterlink{font-size:14px;min-height:48px;padding:14px 20px}
  .btn{font-size:11px;min-height:44px}
  .langs button,.landing-lang button,.mobile-lang button{font-size:11px;min-height:34px}
  .brandtext small,.drawer-links small,.kicker{font-size:9px}
  .section-nav span,.map-bar span{font-size:11px;line-height:1.45}
  .footer a,.footer p{font-size:12px}
}

/* Refined visit information */
.visit-info-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:28px;
}
.visit-info{
  background:#fff;
  border:1px solid rgba(118,79,34,.12);
  border-radius:22px;
  padding:22px;
  box-shadow:0 14px 42px rgba(65,40,22,.06);
}
.visit-info .visit-icon{
  width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#f0d99a,#d4ab52);
  color:#68471e;font-size:18px;margin-bottom:14px
}
.visit-info h3{font-size:23px;margin:0 0 8px}
.visit-info p{font-size:13px;line-height:1.65;margin:0}
.visit-note{
  margin-top:18px;padding:17px 19px;border-radius:18px;
  background:#fff8e9;border:1px solid #dfc995;color:#6b5133;
  font-size:12px;line-height:1.6
}
.transport-band{
  padding:26px;border-radius:26px;
  background:linear-gradient(135deg,#24130f,#422018);
  color:#fff;margin-top:22px
}
.transport-band h3{color:#fff;margin-bottom:8px}
.transport-band p{color:#dacbc0;margin-bottom:15px}
@media(max-width:900px){.visit-info-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.visit-info-grid{grid-template-columns:1fr}.map-shell iframe{height:330px}}

/* V9.6 full-page multilingual controls */
.langs a,.landing-lang a,.mobile-lang a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.langs a{color:#cfc1b5;font-size:9px;padding:6px}
.landing-lang a{border:1px solid rgba(239,213,138,.4);background:rgba(18,7,7,.3);color:#f4eadf;padding:8px 11px;border-radius:999px;font-size:9px;letter-spacing:.08em}
.mobile-lang a{background:#fff;color:#725326;border:1px solid rgba(118,79,34,.2);padding:8px 11px;border-radius:999px;font-size:9px;letter-spacing:.08em}
html[lang="en"] [data-lang-link="en"],html[lang="zh-Hans"] [data-lang-link="zh"],html[lang="th"] [data-lang-link="th"]{color:#efd58a}
html[lang="en"] .landing-lang [data-lang-link="en"],html[lang="zh-Hans"] .landing-lang [data-lang-link="zh"],html[lang="th"] .landing-lang [data-lang-link="th"]{background:#efd58a;color:#2b1a10;border-color:#efd58a}
html[lang="zh-Hans"] body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif}
html[lang="th"] body{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans Thai","Tahoma",Arial,sans-serif}
html[lang="zh-Hans"] h1,html[lang="zh-Hans"] h2,html[lang="zh-Hans"] h3,html[lang="zh-Hans"] h4,
html[lang="th"] h1,html[lang="th"] h2,html[lang="th"] h3,html[lang="th"] h4{font-family:inherit;letter-spacing:0}
@media(max-width:640px){.langs a,.landing-lang a,.mobile-lang a{font-size:11px;min-height:34px}}

/* V9.7 Search + Conversion Intelligence — preserves approved hero */
.seo-facts{padding:72px 20px;background:linear-gradient(180deg,#fffaf0,#fff);position:relative;z-index:2}
.seo-facts-inner{max-width:1120px;margin:auto}
.seo-facts h2{font-size:clamp(32px,5vw,58px);margin:.2em 0 .65em}
.fact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fact-grid>div{background:#fff;border:1px solid rgba(139,101,43,.18);border-radius:18px;padding:20px;box-shadow:0 12px 35px rgba(89,60,20,.06)}
.fact-grid span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;opacity:.62;margin-bottom:8px}
.fact-grid strong{font-size:15px;line-height:1.45}
.conversion-paths{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.conversion-paths a{padding:13px 18px;border-radius:999px;background:#7c5522;color:#fff;text-decoration:none;font-weight:650}
.conversion-paths a:nth-child(2){background:#a97725}.conversion-paths a:nth-child(3){background:#fff;color:#6d4c1d;border:1px solid rgba(109,76,29,.25)}
@media(max-width:800px){.seo-facts{padding:48px 18px}.fact-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.fact-grid{grid-template-columns:1fr}.conversion-paths a{width:100%;text-align:center}}

/* V9.7.2 Weekly Meditation */
.meditation-feature{
  background:
    radial-gradient(circle at 85% 18%,rgba(236,213,165,.34),transparent 28%),
    linear-gradient(180deg,#fbf7ef,#efe5d5);
}
.meditation-copy{max-width:620px}
.meditation-lead{font:500 clamp(21px,2.2vw,29px)/1.5 Georgia,serif;color:#4a3729}
.meditation-meta{display:grid;gap:10px;margin:24px 0}
.meditation-meta>div{display:flex;gap:11px;align-items:center;padding:13px 16px;border-radius:16px;background:rgba(255,255,255,.68);border:1px solid rgba(118,79,34,.11)}
.meditation-meta span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e8cf98;color:#6b4a20}
.meditation-meta strong{font:500 15px Georgia,serif}
.meditation-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}
.meditation-visual{position:relative;min-height:480px;border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}
.meditation-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.meditation-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(18,9,7,.48))}
.meditation-time-badge{position:absolute;z-index:2;right:18px;bottom:18px;background:rgba(255,250,239,.92);backdrop-filter:blur(12px);padding:14px 16px;border-radius:18px;min-width:120px;text-align:center}
.meditation-time-badge strong{display:block;font:500 24px Georgia,serif;color:#6c4b20}
.meditation-time-badge span{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#8a796b}
.meditation-event{background:#f7efe3}
.meditation-event-card{background:linear-gradient(145deg,#fffaf0,#efe1cc)}
.meditation-card{border:1px solid rgba(188,142,66,.2)!important}
@media(max-width:700px){
  .meditation-actions .btn{width:100%}
  .meditation-visual{min-height:420px}
}

/* V9.7.3.1 — richer meditation content within existing section */
.meditation-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:22px 0;
}
.meditation-detail-grid article{
  padding:18px;
  border-radius:18px;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(118,79,34,.11);
}
.meditation-detail-grid h3{
  font-size:19px;
  margin:0 0 7px;
}
.meditation-detail-grid p{
  font-size:12px;
  line-height:1.65;
  margin:0;
}
.meditation-confirmed-box{
  padding:17px 19px;
  border-radius:18px;
  background:linear-gradient(135deg,#fffaf0,#ead7b5);
  border:1px solid rgba(159,114,49,.18);
}
.meditation-confirmed-box strong{
  font:500 19px Georgia,serif;
}
.meditation-confirmed-box p{
  margin:7px 0 0;
}
.meditation-note{
  margin-top:13px!important;
  font-size:11px!important;
  line-height:1.6!important;
  color:#8a7564!important;
}
@media(max-width:900px){
  .meditation-detail-grid{grid-template-columns:1fr}
}

/* V9.7.3.2 bundled serene background ambience */
.sound-btn.playing{
  animation:templeSoundPulse 3.2s ease-in-out infinite;
}
@keyframes templeSoundPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(194,150,74,.18)}
  50%{box-shadow:0 0 0 9px rgba(194,150,74,0)}
}
@media(prefers-reduced-motion:reduce){.sound-btn.playing{animation:none}}

/* V9.7.3.3 — Venerable Seck Kong Hian social links */
.abbot-social-section{background:linear-gradient(180deg,#f7efe3,#fffaf2)}
.abbot-social-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border-radius:24px;background:rgba(255,255,255,.72);border:1px solid rgba(126,88,37,.13);box-shadow:0 14px 42px rgba(78,49,16,.06)}
.abbot-social-card h2{margin:.2em 0 0}.abbot-social-actions{display:flex;gap:9px;flex-wrap:wrap}
.konghian-social-footer{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 20px 24px;font-size:11px;letter-spacing:.04em;opacity:.82}
.konghian-social-footer span{font-family:Georgia,serif}.konghian-social-footer a{text-decoration:none;border-bottom:1px solid currentColor}
@media(max-width:700px){.abbot-social-card{align-items:flex-start;flex-direction:column}.abbot-social-actions,.abbot-social-actions .btn{width:100%}}

/* V9.7.3.4 — visible social media logos */
.social-btn,.social-icon-link{display:inline-flex!important;align-items:center;gap:9px}
.social-btn svg{width:20px;height:20px;flex:0 0 20px}
.social-icon-link svg{width:17px;height:17px;flex:0 0 17px}
.social-arrow{margin-left:2px;opacity:.7}
.konghian-social-footer a{padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)!important}
.konghian-social-footer a:hover{background:rgba(255,255,255,.06)}
.abbot-social-actions .social-btn{min-width:140px;justify-content:center}
@media(max-width:700px){.abbot-social-actions .social-btn{width:100%}}

/* V9.7.3.5 — professional branded social media presentation */
.abbot-social-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(210px,1fr));
  gap:12px!important;
  width:min(620px,100%);
}
.social-brand-button{
  display:flex!important;
  align-items:center;
  gap:13px;
  min-height:72px;
  padding:12px 14px!important;
  border-radius:18px!important;
  text-decoration:none!important;
  border:1px solid rgba(255,255,255,.55)!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(52,32,14,.09)!important;
  color:#2f251d!important;
  transition:transform .25s ease,box-shadow .25s ease!important;
}
.social-brand-button:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(52,32,14,.13)!important}
.brand-social-svg{width:46px!important;height:46px!important;flex:0 0 46px}
.social-brand-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.social-brand-copy strong{font:600 15px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.social-brand-copy small{font:11px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#7a6b61;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.social-brand-arrow{margin-left:auto;font-size:17px;color:#8c7a6d}
.instagram-brand{border-color:rgba(214,36,159,.14)!important}
.facebook-brand{border-color:rgba(24,119,242,.16)!important}
.instagram-brand:hover{box-shadow:0 18px 42px rgba(214,36,159,.12)!important}
.facebook-brand:hover{box-shadow:0 18px 42px rgba(24,119,242,.12)!important}

.professional-social-footer{
  gap:10px!important;
  padding-top:16px!important;
}
.professional-social-footer>span{
  margin-right:4px;
  font-weight:600;
}
.footer-social-brand{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  padding:6px 10px 6px 7px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#fff!important;
  text-decoration:none!important;
  line-height:1!important;
}
.footer-social-brand .brand-social-svg{width:24px!important;height:24px!important;flex:0 0 24px}
.footer-social-brand span{font-size:11px}
.footer-social-brand:hover{background:rgba(255,255,255,.11)!important}

@media(max-width:720px){
  .abbot-social-actions{grid-template-columns:1fr!important;width:100%}
  .social-brand-button{width:100%!important}
}

/* =========================================================
   V9.7.3.6 — production optimization + social icon hardening
   ========================================================= */

/* Prevent generic SVG/image rules from affecting brand icons */
.social-brand-button svg,
.footer-social-brand svg,
.konghian-social-footer svg,
.abbot-social-actions svg{
  display:block!important;
  max-width:none!important;
  max-height:none!important;
  width:auto;
  height:auto;
  flex-shrink:0;
}

/* Chief Abbot branded cards */
.abbot-social-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:min(620px,100%)!important;
}
.social-brand-button{
  min-height:68px!important;
  padding:11px 14px!important;
  gap:12px!important;
  overflow:hidden;
}
.social-brand-button .brand-social-svg{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  max-width:34px!important;
  max-height:34px!important;
  flex:0 0 34px!important;
}
.social-brand-copy{
  min-width:0!important;
  flex:1 1 auto;
}
.social-brand-copy strong{
  font-size:14px!important;
  line-height:1.15!important;
}
.social-brand-copy small{
  font-size:10px!important;
  line-height:1.25!important;
}
.social-brand-arrow{
  flex:0 0 auto;
  font-size:15px!important;
}

/* Footer social icons */
.professional-social-footer{
  max-width:100%;
  overflow:hidden;
}
.footer-social-brand{
  min-height:34px!important;
  padding:5px 9px 5px 6px!important;
  gap:6px!important;
}
.footer-social-brand .brand-social-svg{
  width:21px!important;
  height:21px!important;
  min-width:21px!important;
  min-height:21px!important;
  max-width:21px!important;
  max-height:21px!important;
  flex:0 0 21px!important;
}
.footer-social-brand span{
  font-size:10px!important;
  line-height:1!important;
}

/* Global responsive hardening */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
img,video,iframe,svg{
  max-width:100%;
}
.wrap{
  min-width:0;
}
.grid2,.grid3,.feature-grid,.rich-grid,.activity-grid,.library-grid,.festival-grid,.news-grid,.quick-grid{
  min-width:0;
}
.grid2>*,
.grid3>*,
.feature-grid>*,
.rich-grid>*,
.activity-grid>*,
.library-grid>*,
.festival-grid>*,
.news-grid>*,
.quick-grid>*{
  min-width:0;
}
iframe{
  width:100%;
}
.btn,a,button{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}

/* Header + drawer iPhone/Safari safeguards */
.site-header{
  width:100%;
  max-width:100%;
  left:0;
  right:0;
  -webkit-backdrop-filter:blur(17px);
  backdrop-filter:blur(17px);
}
.drawer-panel{
  width:min(440px,92vw)!important;
  max-width:92vw!important;
}
.drawer-links a{
  overflow-wrap:anywhere;
}

/* Meditation section responsive safety */
.meditation-detail-grid,
.meditation-meta,
.meditation-actions,
.meditation-confirmed-box{
  min-width:0;
}
.meditation-visual{
  min-width:0;
}
.meditation-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Google Maps / visit section safety */
.map-shell,
.map-layout,
.map{
  min-width:0;
}
.map-shell iframe,
.map iframe{
  display:block;
  width:100%!important;
}

/* Prevent long social/profile strings from widening mobile viewport */
.social-brand-copy small,
.konghian-social-footer,
.footer a,
.drawer-links small{
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Desktop refinement */
@media (min-width: 1000px){
  .abbot-social-card{
    padding:26px!important;
  }
}

/* Tablet */
@media (max-width: 900px){
  .abbot-social-actions{
    grid-template-columns:1fr 1fr!important;
  }
}

/* Mobile */
@media (max-width: 700px){
  .abbot-social-card{
    padding:20px!important;
  }
  .abbot-social-actions{
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  .social-brand-button{
    width:100%!important;
    min-height:62px!important;
  }
  .social-brand-button .brand-social-svg{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    max-width:30px!important;
    max-height:30px!important;
    flex-basis:30px!important;
  }
  .professional-social-footer{
    gap:8px!important;
    justify-content:center!important;
  }
  .footer-social-brand .brand-social-svg{
    width:19px!important;
    height:19px!important;
    min-width:19px!important;
    min-height:19px!important;
    max-width:19px!important;
    max-height:19px!important;
    flex-basis:19px!important;
  }
}

/* Very small iPhones */
@media (max-width: 390px){
  .wrap{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
  }
  .social-brand-copy strong{
    font-size:13px!important;
  }
  .social-brand-copy small{
    font-size:9px!important;
  }
  .footer-social-brand{
    padding:5px 7px 5px 5px!important;
  }
}

/* V9.7.3.8 — Modern Gallery Archive */
.gallery-page{background:#f7f0e3}.archive-section{padding-top:86px}.archive-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end;margin-bottom:30px}.archive-heading h2{max-width:760px;margin:8px 0 12px}.archive-heading p{max-width:720px}.archive-stat{width:112px;height:112px;border:1px solid var(--line);border-radius:50%;display:grid;place-content:center;text-align:center;background:#fff8;box-shadow:0 15px 40px rgba(70,44,24,.06)}.archive-stat strong{font:500 34px Georgia,serif;color:#8d642d}.archive-stat span{font-size:9px;text-transform:uppercase;letter-spacing:.12em}.archive-toolbar{position:sticky;top:82px;z-index:50;display:flex;gap:8px;overflow-x:auto;padding:10px;margin:0 -10px 22px;scrollbar-width:none;background:linear-gradient(#f7f0e3 72%,transparent)}.archive-toolbar::-webkit-scrollbar{display:none}.archive-filter{flex:0 0 auto;border:1px solid #e7dac5;background:#fffaf1;color:#66584b;padding:10px 15px;border-radius:999px;font:600 10px Arial,sans-serif;letter-spacing:.02em}.archive-filter.active{background:#8d642d;color:white;border-color:#8d642d;box-shadow:0 7px 18px rgba(117,77,31,.2)}.archive-grid{columns:3 250px;column-gap:14px}.archive-card{position:relative;width:100%;padding:0;margin:0 0 14px;border:0;border-radius:20px;overflow:hidden;background:#e8ddca;break-inside:avoid;cursor:zoom-in;box-shadow:0 9px 26px rgba(65,42,24,.07);transition:transform .3s ease,box-shadow .3s ease}.archive-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(65,42,24,.13)}.archive-card[hidden]{display:none}.archive-card img{display:block;width:100%;height:auto;margin:0;border-radius:0;transition:transform .5s ease}.archive-card:hover img{transform:scale(1.025)}.archive-card-index{position:absolute;right:10px;bottom:10px;min-width:30px;height:30px;padding:0 8px;border-radius:999px;display:grid;place-items:center;background:#160d09b8;color:#fff;font-size:9px;letter-spacing:.08em;backdrop-filter:blur(8px)}
.gallery-viewer{position:fixed;inset:0;z-index:500;display:none}.gallery-viewer.show{display:block}.viewer-backdrop{position:absolute;inset:0;background:rgba(12,7,5,.88);backdrop-filter:blur(13px)}.viewer-shell{position:absolute;inset:3.5vh 4vw;max-width:1180px;margin:auto;border-radius:28px;background:#17100d;color:#fff;box-shadow:0 30px 90px #0008;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.viewer-top{display:flex;justify-content:space-between;align-items:center;padding:14px 17px;z-index:2}.viewer-counter{font-size:11px;letter-spacing:.08em;color:#d7c8bb}.viewer-actions{display:flex;gap:8px}.viewer-actions button{width:40px;height:40px;border-radius:50%;border:1px solid #ffffff26;background:#ffffff0d;color:#fff;font-size:20px}.viewer-stage{position:relative;min-height:0;display:grid;place-items:center;padding:0 62px}.viewer-image{max-width:100%;max-height:calc(100vh - 245px);width:auto;height:auto;object-fit:contain;border-radius:18px;box-shadow:0 18px 50px #0007;user-select:none;-webkit-user-drag:none}.viewer-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;border-radius:50%;border:1px solid #ffffff50;background:#1b120dbb;color:#fff;font-size:34px;line-height:1;backdrop-filter:blur(8px)}.viewer-prev{left:13px}.viewer-next{right:13px}.viewer-bottom{padding:14px 17px 17px}.viewer-caption{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-bottom:12px}.viewer-caption strong{font:500 18px Georgia,serif}.viewer-caption span{font-size:10px;color:#b8a89b}.viewer-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.viewer-thumbs::-webkit-scrollbar{display:none}.viewer-thumb{flex:0 0 62px;width:62px;height:48px;border:2px solid transparent;border-radius:9px;overflow:hidden;padding:0;background:#34251f;opacity:.55}.viewer-thumb.active{border-color:#d7b267;opacity:1}.viewer-thumb img{width:100%;height:100%;object-fit:cover;display:block}.gallery-viewer button{cursor:pointer}
@media(max-width:700px){.archive-section{padding-top:58px}.archive-heading{grid-template-columns:1fr;gap:10px}.archive-heading h2{font-size:48px;line-height:.98}.archive-stat{display:none}.archive-toolbar{top:70px;margin-left:-4px;margin-right:-4px}.archive-grid{columns:2 140px;column-gap:10px}.archive-card{margin-bottom:10px;border-radius:17px}.viewer-shell{inset:0;border-radius:0}.viewer-top{padding:max(13px,env(safe-area-inset-top)) 13px 10px}.viewer-stage{padding:0 9px}.viewer-image{max-height:calc(100svh - 205px);border-radius:15px}.viewer-nav{width:42px;height:42px;background:#130b08c9}.viewer-prev{left:14px}.viewer-next{right:14px}.viewer-bottom{padding:10px 12px max(12px,env(safe-area-inset-bottom))}.viewer-caption strong{font-size:16px}.viewer-caption span{display:none}.viewer-thumb{flex-basis:54px;width:54px;height:43px}.sound-btn{z-index:145}}
@media(max-width:390px){.archive-heading h2{font-size:43px}.archive-filter{padding:9px 12px}.archive-grid{column-gap:8px}.archive-card{margin-bottom:8px}.viewer-nav{top:48%}}

/* V9.7.3.8.2 Gallery click/touch hardening */
.archive-card{
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:rgba(141,100,45,.12);
  user-select:none;
  -webkit-user-select:none;
}
.archive-card img,
.archive-card-index{
  pointer-events:none!important;
}
.gallery-viewer.show{
  display:block!important;
  pointer-events:auto!important;
}
.gallery-open{
  overscroll-behavior:none;
}

/* V9.7.3.8.3 — Gallery mockup alignment */
.gallery-bottom-categories{
  width:min(760px,calc(100% - 40px));
  margin:26px auto 34px;
  padding:12px 14px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(149,108,53,.12);
  border-radius:20px;
  box-shadow:0 16px 40px rgba(66,47,28,.08);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.gallery-bottom-filter{
  appearance:none;
  border:0;
  background:transparent;
  color:#55483d;
  min-width:0;
  min-height:64px;
  border-radius:16px;
  padding:8px 6px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  font:inherit;
  font-size:11px;
  line-height:1.15;
  cursor:pointer;
  touch-action:manipulation;
}
.gallery-bottom-filter.active{
  background:linear-gradient(180deg,#a8762e,#8d5d20);
  color:#fff;
  box-shadow:0 8px 20px rgba(141,93,32,.18);
}
.gallery-bottom-icon{
  font-size:20px;
  line-height:1;
}
.gallery-bottom-filter:not(.active) .gallery-bottom-icon{
  color:#8f672f;
}
.gallery-bottom-filter.active .gallery-bottom-icon{
  color:#fff;
}

/* Keep viewer visually close to approved mockup */
.gallery-viewer-panel{
  border-radius:22px!important;
}
.viewer-thumbs{
  padding-bottom:2px;
}
.viewer-share{
  min-height:44px;
}

/* Mobile: category rail stays reachable near viewport footer */
@media (max-width:700px){
  .gallery-bottom-categories{
    position:sticky;
    bottom:max(10px,env(safe-area-inset-bottom));
    z-index:35;
    width:calc(100% - 22px);
    margin:20px auto 16px;
    padding:8px;
    border-radius:18px;
    grid-template-columns:repeat(5,minmax(0,1fr));
    box-shadow:0 18px 48px rgba(46,31,18,.18);
  }
  .gallery-bottom-filter{
    min-height:56px;
    padding:7px 3px;
    font-size:9px;
    gap:4px;
  }
  .gallery-bottom-icon{
    font-size:17px;
  }
}

/* Very small iPhones */
@media (max-width:390px){
  .gallery-bottom-categories{
    width:calc(100% - 14px);
    gap:3px;
    padding:6px;
  }
  .gallery-bottom-filter{
    font-size:8px;
    min-height:52px;
  }
}

/* =========================================================
   V9.7.3.9 — Full responsive audit & stabilization
   ========================================================= */

:root{
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
}

html{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
}
*,*::before,*::after{box-sizing:inherit}
body{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
}
img,svg,video,canvas,iframe{
  max-width:100%;
}
img{height:auto}
button,input,select,textarea{font:inherit}
a,button{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.wrap,.section,.page-hero,.footer,.site-header{
  min-width:0;
}

/* Fluid display typography to prevent iPhone/tablet clipping */
.opening h1,
.page-hero h1,
.archive-heading h2{
  overflow-wrap:normal;
  word-break:normal;
}
@media(max-width:900px){
  .opening h1{font-size:clamp(48px,9vw,78px)!important}
  .page-hero h1{font-size:clamp(44px,8vw,66px)!important}
  .archive-heading h2{font-size:clamp(42px,7.5vw,58px)!important}
}
@media(max-width:430px){
  .opening h1{font-size:clamp(44px,13vw,58px)!important}
  .page-hero h1{font-size:clamp(40px,12vw,54px)!important}
  .archive-heading h2{font-size:clamp(40px,11.5vw,50px)!important}
}

/* Header: prevent language/menu collision on smaller devices */
.site-header .wrap{
  min-width:0;
}
.brand{
  min-width:0;
  flex:1 1 auto;
}
.brandtext{
  min-width:0;
}
.langs{
  flex:0 0 auto;
  white-space:nowrap;
}
.menu-btn{
  flex:0 0 auto;
}
@media(max-width:430px){
  .site-header .wrap{
    gap:8px!important;
    padding-left:max(12px,var(--safe-left))!important;
    padding-right:max(12px,var(--safe-right))!important;
  }
  .brandwheel{
    width:31px!important;
    height:31px!important;
    flex-basis:31px!important;
  }
  .brandtext{
    font-size:13px!important;
    line-height:1.05!important;
  }
  .brandtext small{
    font-size:8px!important;
  }
  .langs{
    gap:2px!important;
  }
  .langs a,.langs button{
    font-size:9px!important;
    padding:5px 3px!important;
    min-height:30px!important;
  }
  .menu-btn{
    width:43px!important;
    height:43px!important;
  }
}

/* All multi-column areas must be allowed to shrink */
.grid2>*,
.grid3>*,
.feature-grid>*,
.quick-grid>*,
.activity-grid>*,
.library-grid>*,
.festival-grid>*,
.news-grid>*,
.rich-grid>*,
.map-layout>*,
.footer-grid>*{
  min-width:0;
}

/* Responsive embeds */
iframe{
  display:block;
  width:100%!important;
  border:0;
}
.map-shell,.map-layout,.map{
  min-width:0;
  max-width:100%;
}

/* Gallery cards */
.archive-grid{
  width:100%;
  max-width:100%;
}
.archive-card{
  max-width:100%;
  -webkit-touch-callout:none;
}
.archive-card img,
.archive-card-index{
  pointer-events:none!important;
}

/* Remove the incorrect standalone footer category component */
.gallery-page > .gallery-bottom-categories{
  display:none!important;
}

/* Viewer-aligned category navigation, matching approved mockup */
.viewer-category-bar{
  margin-top:12px;
  padding:9px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:17px;
  background:rgba(255,255,255,.06);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.viewer-category-filter{
  border:0;
  background:transparent;
  color:#c9b9aa;
  min-width:0;
  min-height:52px;
  border-radius:13px;
  padding:6px 3px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  font-size:9px;
  line-height:1.1;
  cursor:pointer;
  touch-action:manipulation;
}
.viewer-category-filter.active{
  background:linear-gradient(180deg,#aa7932,#86581d);
  color:#fff;
  box-shadow:0 7px 18px rgba(0,0,0,.18);
}
.viewer-category-filter .gallery-bottom-icon{
  font-size:16px;
  line-height:1;
  color:#d3b579;
}
.viewer-category-filter.active .gallery-bottom-icon{color:#fff}

/* Lightbox safe area and tablet refinement */
.viewer-shell{
  max-width:min(1180px,calc(100vw - 32px));
  max-height:calc(100svh - 28px);
}
.viewer-top{
  padding-top:max(14px,var(--safe-top));
}
.viewer-bottom{
  min-width:0;
}
.viewer-thumbs{
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.viewer-actions button,
.viewer-nav{
  touch-action:manipulation;
}
@media(max-width:900px){
  .viewer-shell{
    inset:18px;
    max-width:calc(100vw - 36px);
    max-height:calc(100svh - 36px);
  }
  .viewer-stage{padding:0 48px}
  .viewer-image{max-height:calc(100svh - 285px)}
}
@media(max-width:700px){
  .archive-toolbar{
    top:68px!important;
    padding-left:4px!important;
    padding-right:4px!important;
    -webkit-overflow-scrolling:touch;
  }
  .viewer-shell{
    inset:0!important;
    width:100%;
    height:100svh;
    max-width:none;
    max-height:none;
    border-radius:0!important;
  }
  .viewer-top{
    padding:
      max(12px,var(--safe-top))
      max(12px,var(--safe-right))
      8px
      max(12px,var(--safe-left));
  }
  .viewer-stage{
    padding:0 8px!important;
  }
  .viewer-image{
    max-width:100%!important;
    max-height:calc(100svh - 280px)!important;
    border-radius:14px!important;
  }
  .viewer-nav{
    width:38px!important;
    height:38px!important;
    font-size:28px!important;
  }
  .viewer-prev{left:10px!important}
  .viewer-next{right:10px!important}
  .viewer-bottom{
    padding:
      8px
      max(10px,var(--safe-right))
      max(10px,var(--safe-bottom))
      max(10px,var(--safe-left))!important;
  }
  .viewer-caption{
    margin-bottom:8px!important;
  }
  .viewer-category-bar{
    margin-top:8px;
    padding:6px;
    gap:3px;
    border-radius:15px;
  }
  .viewer-category-filter{
    min-height:46px;
    font-size:8px;
    gap:3px;
    padding:5px 2px;
  }
  .viewer-category-filter .gallery-bottom-icon{
    font-size:14px;
  }
}

/* Gallery-page footer compacting on mobile only */
@media(max-width:700px){
  .gallery-page .footer{
    padding:30px 0 max(28px,var(--safe-bottom))!important;
  }
  .gallery-page .footer-grid{
    gap:20px!important;
  }
  .gallery-page .footer h4{
    font-size:17px!important;
    margin-bottom:8px!important;
  }
  .gallery-page .footer a{
    padding:3px 0!important;
    font-size:11px!important;
  }
  .gallery-page .footer p{
    margin:3px 0!important;
    font-size:11px!important;
    line-height:1.55!important;
  }
  .gallery-page .footer-bottom{
    margin-top:20px!important;
    padding-top:14px!important;
    font-size:8px!important;
    line-height:1.6!important;
  }
}

/* Tablet footer uses two columns instead of a long single column */
@media(min-width:701px) and (max-width:960px){
  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Floating controls respect safe areas */
.sound-btn{
  right:max(16px,var(--safe-right))!important;
  bottom:max(18px,var(--safe-bottom))!important;
}
.to-top{
  right:max(16px,var(--safe-right))!important;
}

/* Avoid motion/layout work offscreen where supported */
@supports(content-visibility:auto){
  .section:not(.opening):not(.page-hero){
    content-visibility:auto;
    contain-intrinsic-size:1px 700px;
  }
}

/* Strong accessibility focus */
a:focus-visible,
button:focus-visible{
  outline:2px solid #c79a4b;
  outline-offset:3px;
}

/* V9.7.3.10 — Safari Gallery image reliability */
.archive-card{
  min-height:1px;
  background:#eadfcd;
}
.archive-card img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:1px;
  object-fit:cover;
  content-visibility:visible!important;
  contain:none!important;
}
/* Avoid Safari multicolumn/lazy-paint artifacts inside the Gallery itself */
.gallery-page .archive-section,
.gallery-page .archive-grid,
.gallery-page .archive-card{
  content-visibility:visible!important;
  contain:none!important;
}

/* V9.7.3.11 — baseline JPEG + Safari paint stabilization */
.gallery-page .archive-grid{
  -webkit-column-fill:balance;
  column-fill:balance;
}
.gallery-page .archive-card{
  -webkit-column-break-inside:avoid;
  page-break-inside:avoid;
  break-inside:avoid;
  transform:none!important;
  contain:none!important;
  content-visibility:visible!important;
  isolation:isolate;
}
.gallery-page .archive-card img{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  filter:none!important;
  backface-visibility:visible!important;
  -webkit-backface-visibility:visible!important;
  contain:none!important;
  content-visibility:visible!important;
}
@media(max-width:700px){
  .gallery-page .archive-grid{
    columns:2!important;
    -webkit-columns:2!important;
    column-gap:10px!important;
    -webkit-column-gap:10px!important;
  }
}

/* =========================================================
   V9.7.3.14 — locked approved Gallery structure
   Technical Safari image-paint fallback only.
   No layout/structure redesign.
   ========================================================= */

.gallery-page .archive-grid{
  /* Preserve the existing approved masonry/column layout */
  display:block!important;
}

.gallery-page .archive-card{
  /* Preserve natural card height from the existing image */
  background-size:100% 100%!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:#eadfcd!important;
  contain:none!important;
  content-visibility:visible!important;
}

.gallery-page .archive-card img{
  /* Keep the actual image as the primary layer */
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
  position:relative!important;
  z-index:1!important;
  transform:none!important;
  filter:none!important;
  contain:none!important;
  content-visibility:visible!important;
  -webkit-backface-visibility:visible!important;
  backface-visibility:visible!important;
}

/* Badge remains above image and fallback */
.gallery-page .archive-card-index{
  z-index:3!important;
}

/* Safari: preserve original multicolumn flow; only harden paint */
@supports(-webkit-touch-callout:none){
  .gallery-page .archive-card{
    -webkit-column-break-inside:avoid!important;
    break-inside:avoid!important;
  }
}

/* V9.7.3.15 — photo 11 decode fallback only; layout remains locked */
.gallery-page [data-photo11-png="true"]{
  background-size:100% 100%!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.gallery-page [data-photo11-png="true"] img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  opacity:1!important;
  visibility:visible!important;
}

/* V9.7.3.16 WebP gallery stability — layout unchanged */
.archive-card img{display:block;width:100%;height:auto;max-width:100%;object-fit:cover;background:#efe7d8}
.archive-card{overflow:hidden;contain:layout paint;background-size:cover;background-position:center}
@media(max-width:767px){.archive-grid{align-items:start}.archive-card img{min-height:1px}}
\n/* V9.7.3.17 — locked Gallery layout, corrected image pipeline */
.gallery-page .archive-grid{display:block!important;columns:3 250px!important;-webkit-columns:3 250px!important;column-gap:14px!important;-webkit-column-gap:14px!important}
.gallery-page .archive-card{width:100%!important;height:auto!important;aspect-ratio:auto!important;margin:0 0 14px!important;background-image:none!important;background:#e8ddca!important;break-inside:avoid!important;-webkit-column-break-inside:avoid!important;contain:none!important;content-visibility:visible!important}
.gallery-page .archive-card img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;opacity:1!important;visibility:visible!important;background:#e8ddca!important;contain:none!important;content-visibility:visible!important}
@media(max-width:700px){.gallery-page .archive-grid{columns:2 140px!important;-webkit-columns:2 140px!important;column-gap:10px!important;-webkit-column-gap:10px!important}.gallery-page .archive-card{margin-bottom:10px!important}}
@media(max-width:390px){.gallery-page .archive-grid{column-gap:8px!important;-webkit-column-gap:8px!important}.gallery-page .archive-card{margin-bottom:8px!important}}

/* V9.7.3.18 — Safari CSS-column image loading hardening.
   Layout remains locked; no structural redesign. */
.gallery-page .archive-card img{
  content-visibility:visible!important;
  contain:none!important;
  opacity:1!important;
  visibility:visible!important;
}

/* =========================================================
   V9.7.3.19 — Safari column-boundary fix
   Same approved visual Gallery. CSS multicolumn engine removed.
   ========================================================= */
.gallery-page .archive-grid[data-safe-columns="true"]{
  display:flex!important;
  columns:auto!important;
  -webkit-columns:auto!important;
  gap:14px!important;
  align-items:flex-start!important;
  width:100%!important;
}
.gallery-page .archive-safe-col{
  flex:1 1 0!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
}
.gallery-page .archive-safe-col .archive-card{
  display:block!important;
  width:100%!important;
  margin:0!important;
  break-inside:auto!important;
  -webkit-column-break-inside:auto!important;
}
.gallery-page .archive-safe-col .archive-card img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  visibility:visible!important;
  opacity:1!important;
}

@media(max-width:700px){
  .gallery-page .archive-grid[data-safe-columns="true"]{
    gap:10px!important;
  }
  .gallery-page .archive-safe-col{
    gap:10px!important;
  }
  .gallery-page .archive-safe-col:nth-child(3){
    display:none!important;
  }
}
@media(max-width:390px){
  .gallery-page .archive-grid[data-safe-columns="true"],
  .gallery-page .archive-safe-col{
    gap:8px!important;
  }
}

/* V9.7.3.20 — balanced safe masonry sizing only */
.gallery-page .archive-grid[data-safe-columns="true"] .archive-safe-col{
  flex:1 1 0!important;
}
@media(max-width:999px){
  .gallery-page .archive-grid[data-safe-columns="true"] .archive-safe-col:nth-child(3){
    display:none!important;
  }
}
@media(min-width:1000px){
  .gallery-page .archive-grid[data-safe-columns="true"] .archive-safe-col:nth-child(3){
    display:flex!important;
  }
}

/* V9.7.3.21 — no visual layout changes; card ordering fix only. */

/* =========================================================
   V9.7.3.22 — static mobile/tablet balance
   No JavaScript is required for the safe two-column layout.
   ========================================================= */
.gallery-page .archive-grid[data-static-mobile="true"]{
  display:flex!important;
  columns:auto!important;
  -webkit-columns:auto!important;
  gap:10px!important;
  align-items:flex-start!important;
}
.gallery-page .archive-grid[data-static-mobile="true"] .archive-safe-col{
  flex:1 1 0!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
.gallery-page .archive-grid[data-static-mobile="true"] .archive-safe-col:nth-child(3){
  display:none!important;
}
.gallery-page .archive-grid[data-static-mobile="true"] .archive-card{
  width:100%!important;
  margin:0!important;
}
@media(min-width:1000px){
  .gallery-page .archive-grid[data-static-mobile="true"]{
    gap:14px!important;
  }
  .gallery-page .archive-grid[data-static-mobile="true"] .archive-safe-col{
    gap:14px!important;
  }
  /* Desktop stays a safe full-width 2-column fallback if JS is unavailable. */
  .gallery-page .archive-grid[data-static-mobile="true"].desktop-three-cols .archive-safe-col:nth-child(3){
    display:flex!important;
  }
}
@media(max-width:390px){
  .gallery-page .archive-grid[data-static-mobile="true"],
  .gallery-page .archive-grid[data-static-mobile="true"] .archive-safe-col{
    gap:8px!important;
  }
}

/* =========================================================
   V9.7.3.24 — Gallery category filter fix
   Critical: hidden cards must override Safari safe-column display rules.
   ========================================================= */
.gallery-page .archive-card[hidden]{
  display:none!important;
}

/* =========================================================
   V9.7.3.25 — Chief Abbot editorial profile
   Scoped to .abbot-profile-v25 only. No other page layout changed.
   ========================================================= */
.abbot-profile-v25{overflow:hidden}
.abbot-profile-v25 .abbot-identity{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  gap:34px;align-items:stretch
}
.abbot-profile-v25 .identity-copy{
  padding:34px;border-radius:30px;background:linear-gradient(145deg,#fff,#f8efe2);
  border:1px solid rgba(126,88,37,.14);box-shadow:0 18px 48px rgba(78,49,16,.07)
}
.abbot-profile-v25 .identity-name{font-size:clamp(2.35rem,5vw,5rem);line-height:.95;margin:.18em 0 .28em}
.abbot-profile-v25 .identity-sub{font-size:1.1rem;line-height:1.75;color:#75695f;max-width:760px}
.abbot-profile-v25 .identity-meta{
  display:grid;gap:12px;margin-top:28px
}
.abbot-profile-v25 .identity-row{
  display:grid;grid-template-columns:140px 1fr;gap:18px;padding:14px 0;
  border-top:1px solid rgba(88,62,31,.12)
}
.abbot-profile-v25 .identity-row:first-child{border-top:0}
.abbot-profile-v25 .identity-label{
  font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#9a7133;font-weight:700
}
.abbot-profile-v25 .identity-value{font-size:1.02rem;line-height:1.55;color:#3d3028}
.abbot-profile-v25 .identity-photo{
  position:relative;overflow:hidden;border-radius:30px;min-height:560px;background:#2a1712
}
.abbot-profile-v25 .identity-photo img{width:100%;height:100%;object-fit:cover;display:block}
.abbot-profile-v25 .identity-photo:after{
  content:"";position:absolute;inset:auto 0 0;height:42%;
  background:linear-gradient(transparent,rgba(20,10,7,.78))
}
.abbot-profile-v25 .identity-photo-note{
  position:absolute;left:24px;right:24px;bottom:22px;z-index:2;color:#fff
}
.abbot-profile-v25 .identity-photo-note strong{display:block;font-family:Georgia,serif;font-size:1.35rem;margin-bottom:4px}
.abbot-profile-v25 .identity-photo-note span{font-size:.9rem;color:#e5d5c7}

.abbot-profile-v25 .abbot-story-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px
}
.abbot-profile-v25 .abbot-story-card{
  position:relative;padding:28px;border-radius:26px;background:#fff;
  border:1px solid rgba(126,88,37,.13);min-height:240px;
  box-shadow:0 14px 38px rgba(78,49,16,.055)
}
.abbot-profile-v25 .abbot-story-card .story-no{
  display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:50%;background:#f3e2c4;color:#916321;font-weight:800;font-size:.8rem;margin-bottom:18px
}
.abbot-profile-v25 .abbot-story-card h3{font-size:clamp(1.55rem,2.8vw,2.25rem);margin:0 0 12px}
.abbot-profile-v25 .abbot-story-card p{margin:0;color:#766b62;line-height:1.72}

.abbot-profile-v25 .legacy-panel{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:0;border-radius:32px;overflow:hidden;background:#1f100d;color:#fff
}
.abbot-profile-v25 .legacy-panel .legacy-image{min-height:500px}
.abbot-profile-v25 .legacy-panel .legacy-image img{width:100%;height:100%;object-fit:cover;display:block}
.abbot-profile-v25 .legacy-panel .legacy-copy{padding:clamp(32px,5vw,64px)}
.abbot-profile-v25 .legacy-panel h2{color:#fff;margin:.15em 0 .45em}
.abbot-profile-v25 .legacy-panel p{color:#d8c8bc;line-height:1.82}
.abbot-profile-v25 .legacy-badge{
  display:inline-flex;padding:8px 12px;border:1px solid rgba(231,198,124,.35);
  border-radius:999px;color:#e6c77a;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase
}

.abbot-profile-v25 .engagement-panel{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:30px;align-items:center
}
.abbot-profile-v25 .engagement-image{
  overflow:hidden;border-radius:28px;background:#2a1712;box-shadow:0 18px 46px rgba(60,38,18,.11)
}
.abbot-profile-v25 .engagement-image img{width:100%;height:auto;display:block}
.abbot-profile-v25 .engagement-copy p{line-height:1.8;color:#73685f}
.abbot-profile-v25 .fact-strip{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px
}
.abbot-profile-v25 .fact-chip{
  padding:16px;border-radius:18px;background:#f8efe2;border:1px solid rgba(126,88,37,.12)
}
.abbot-profile-v25 .fact-chip strong{display:block;font-size:1rem;margin-bottom:4px;color:#3d3028}
.abbot-profile-v25 .fact-chip span{font-size:.84rem;line-height:1.45;color:#82756b}

.abbot-profile-v25 .practice-callout{
  display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;
  padding:30px;border-radius:28px;background:linear-gradient(120deg,#f5e5ca,#fffaf2);
  border:1px solid rgba(126,88,37,.14)
}
.abbot-profile-v25 .practice-callout h3{font-size:clamp(1.65rem,3vw,2.6rem);margin:.15em 0 .25em}
.abbot-profile-v25 .practice-callout p{margin:0;max-width:760px;color:#74685f;line-height:1.72}
.abbot-profile-v25 .practice-time{
  min-width:170px;padding:18px 20px;border-radius:22px;background:#28140f;color:#fff;text-align:center
}
.abbot-profile-v25 .practice-time strong{display:block;font-size:1.25rem;color:#edce82}
.abbot-profile-v25 .practice-time span{font-size:.85rem;color:#d9c9bc}

@media(max-width:850px){
  .abbot-profile-v25 .abbot-identity,
  .abbot-profile-v25 .legacy-panel,
  .abbot-profile-v25 .engagement-panel{grid-template-columns:1fr}
  .abbot-profile-v25 .identity-photo{min-height:430px}
  .abbot-profile-v25 .legacy-panel .legacy-image{min-height:390px;order:2}
  .abbot-profile-v25 .legacy-panel .legacy-copy{order:1}
  .abbot-profile-v25 .fact-strip{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .abbot-profile-v25 .identity-copy{padding:24px;border-radius:24px}
  .abbot-profile-v25 .identity-name{font-size:clamp(2.5rem,13vw,4rem)}
  .abbot-profile-v25 .identity-photo{min-height:390px;border-radius:24px}
  .abbot-profile-v25 .identity-row{grid-template-columns:1fr;gap:5px}
  .abbot-profile-v25 .abbot-story-grid{grid-template-columns:1fr;gap:12px}
  .abbot-profile-v25 .abbot-story-card{padding:23px;min-height:0;border-radius:22px}
  .abbot-profile-v25 .legacy-panel{border-radius:24px}
  .abbot-profile-v25 .legacy-panel .legacy-copy{padding:28px 24px}
  .abbot-profile-v25 .legacy-panel .legacy-image{min-height:330px}
  .abbot-profile-v25 .engagement-panel{gap:20px}
  .abbot-profile-v25 .engagement-image{border-radius:22px}
  .abbot-profile-v25 .fact-strip{grid-template-columns:1fr}
  .abbot-profile-v25 .practice-callout{grid-template-columns:1fr;padding:24px;border-radius:22px}
  .abbot-profile-v25 .practice-time{width:100%;min-width:0;text-align:left}
}

/* V9.7.3.26 — definitive Chief Abbot biography */
.abbot-profile-v26 .biography-lead{
  max-width:940px;font-size:clamp(1.15rem,2.3vw,1.55rem);line-height:1.75;color:#665a51
}
.abbot-profile-v26 .milestone{
  display:grid;grid-template-columns:160px minmax(0,1fr);gap:30px;padding:26px 0;
  border-top:1px solid rgba(105,72,33,.16)
}
.abbot-profile-v26 .milestone:first-child{border-top:0}
.abbot-profile-v26 .milestone-date{
  font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:#966b2d;font-weight:800
}
.abbot-profile-v26 .milestone h3{margin:0 0 9px;font-size:clamp(1.4rem,2.8vw,2.1rem)}
.abbot-profile-v26 .milestone p{margin:0;color:#73685f;line-height:1.76}
.abbot-profile-v26 .royal-service{
  padding:clamp(28px,5vw,58px);border-radius:30px;background:#21110e;color:#fff;
  box-shadow:0 20px 54px rgba(50,26,16,.12)
}
.abbot-profile-v26 .royal-service .kicker{color:#e3bf6f}
.abbot-profile-v26 .royal-service h2{color:#fff;max-width:900px}
.abbot-profile-v26 .royal-service p{color:#d9c9bd;line-height:1.82;max-width:920px}
.abbot-profile-v26 .royal-service .royal-meta{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px
}
.abbot-profile-v26 .royal-meta div{
  padding:17px;border-radius:18px;background:rgba(255,255,255,.06);
  border:1px solid rgba(230,199,122,.18)
}
.abbot-profile-v26 .royal-meta strong{display:block;color:#e6c77a;margin-bottom:5px}
.abbot-profile-v26 .royal-meta span{font-size:.86rem;line-height:1.5;color:#d6c8bf}
@media(max-width:700px){
 .abbot-profile-v26 .milestone{grid-template-columns:1fr;gap:8px;padding:22px 0}
 .abbot-profile-v26 .royal-service{border-radius:24px;padding:26px 23px}
 .abbot-profile-v26 .royal-service .royal-meta{grid-template-columns:1fr}
}

/* =========================================================
   V9.7.3.27 — Meditation & Attendance
   Scoped to meditation module only.
   ========================================================= */
.meditation-v27{overflow:hidden}
.meditation-v27 .meditation-hero-grid{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:30px;align-items:stretch
}
.meditation-v27 .meditation-copy{
  padding:34px;border-radius:30px;background:linear-gradient(145deg,#fff,#f8efe2);
  border:1px solid rgba(126,88,37,.14);box-shadow:0 18px 48px rgba(78,49,16,.07)
}
.meditation-v27 .meditation-copy h2{font-size:clamp(2.3rem,5vw,4.7rem);line-height:.98;margin:.15em 0 .3em}
.meditation-v27 .meditation-copy p{color:#70645a;line-height:1.78;font-size:1.04rem}
.meditation-v27 .meditation-image{
  min-height:520px;border-radius:30px;overflow:hidden;background:#1f110d;position:relative
}
.meditation-v27 .meditation-image img{width:100%;height:100%;object-fit:cover;display:block}
.meditation-v27 .meditation-image:after{
  content:"";position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(transparent,rgba(24,12,8,.78))
}
.meditation-v27 .meditation-image-note{
  position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff
}
.meditation-v27 .meditation-image-note strong{display:block;font-family:Georgia,serif;font-size:1.35rem}
.meditation-v27 .meditation-image-note span{color:#dfd0c3;font-size:.9rem}
.meditation-v27 .benefit-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px
}
.meditation-v27 .benefit-card{
  padding:24px;border-radius:24px;background:#fff;border:1px solid rgba(126,88,37,.12);
  box-shadow:0 12px 32px rgba(78,49,16,.045)
}
.meditation-v27 .benefit-icon{
  width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:#f2e1c4;color:#906421;font-weight:800;margin-bottom:16px
}
.meditation-v27 .benefit-card h3{font-size:1.35rem;margin:0 0 9px}
.meditation-v27 .benefit-card p{margin:0;color:#766b62;line-height:1.68}
.meditation-v27 .practice-steps{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px
}
.meditation-v27 .practice-step{
  padding:22px;border-radius:22px;background:#28140f;color:#fff;min-height:210px
}
.meditation-v27 .practice-step span{
  display:inline-flex;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;
  background:#e7c77c;color:#28140f;font-weight:800;margin-bottom:14px
}
.meditation-v27 .practice-step h3{color:#fff;font-size:1.2rem;margin:0 0 8px}
.meditation-v27 .practice-step p{color:#d9c9bc;font-size:.94rem;line-height:1.65;margin:0}
.meditation-v27 .attendance-shell{
  display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:26px;align-items:start
}
.meditation-v27 .attendance-summary{
  padding:30px;border-radius:28px;background:#21110e;color:#fff;position:sticky;top:96px
}
.meditation-v27 .attendance-summary .kicker{color:#e2bf70}
.meditation-v27 .attendance-summary h2{color:#fff;margin:.2em 0 .35em}
.meditation-v27 .attendance-summary p{color:#d5c6bb;line-height:1.72}
.meditation-v27 .capacity-card{
  margin-top:22px;padding:18px;border-radius:20px;background:rgba(255,255,255,.06);
  border:1px solid rgba(229,197,118,.18)
}
.meditation-v27 .capacity-top{display:flex;justify-content:space-between;gap:18px;align-items:end}
.meditation-v27 .capacity-top strong{font-size:1.15rem;color:#e7c77b}
.meditation-v27 .capacity-top span{font-size:.84rem;color:#d5c6bb}
.meditation-v27 .capacity-bar{
  height:10px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;margin-top:13px
}
.meditation-v27 .capacity-bar i{
  display:block;height:100%;width:0%;background:currentColor;color:#e7c77b;border-radius:999px;
  transition:width .3s ease
}
.meditation-v27 .session-facts{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px
}
.meditation-v27 .session-fact{
  padding:14px;border-radius:16px;background:rgba(255,255,255,.045)
}
.meditation-v27 .session-fact strong{display:block;color:#fff;margin-bottom:3px}
.meditation-v27 .session-fact span{font-size:.83rem;color:#cdbfb5}
.meditation-v27 .attendance-form{
  padding:30px;border-radius:28px;background:#fff;border:1px solid rgba(126,88,37,.13);
  box-shadow:0 16px 40px rgba(75,48,19,.06)
}
.meditation-v27 .attendance-form h3{font-size:clamp(1.65rem,3vw,2.4rem);margin:0 0 6px}
.meditation-v27 .attendance-form>p{color:#766b62;margin:0 0 20px;line-height:1.65}
.meditation-v27 .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.meditation-v27 .field{display:grid;gap:7px}
.meditation-v27 .field.full{grid-column:1/-1}
.meditation-v27 label{font-weight:700;font-size:.9rem;color:#44372e}
.meditation-v27 input,.meditation-v27 select,.meditation-v27 textarea{
  width:100%;padding:14px 15px;border-radius:14px;border:1px solid rgba(94,67,37,.2);
  background:#fffdf9;color:#33271f;font:inherit;outline:none
}
.meditation-v27 input:focus,.meditation-v27 select:focus,.meditation-v27 textarea:focus{
  border-color:#9c7132;box-shadow:0 0 0 3px rgba(156,113,50,.1)
}
.meditation-v27 .privacy-note{
  margin-top:13px;font-size:.82rem;color:#8a7d72;line-height:1.55
}
.meditation-v27 .attendance-btn{
  margin-top:18px;width:100%;padding:15px 20px;border:0;border-radius:999px;
  background:#2a1510;color:#fff;font-weight:800;font-size:1rem;cursor:pointer
}
.meditation-v27 .attendance-btn[disabled]{opacity:.5;cursor:not-allowed}
.meditation-v27 .attendance-message{
  display:none;margin-top:14px;padding:14px 16px;border-radius:14px;background:#f7eedf;color:#544539;line-height:1.5
}
.meditation-v27 .attendance-message.show{display:block}
.meditation-v27 .attendance-demo-note{
  margin-top:14px;padding:13px 14px;border-radius:14px;background:#fff8e9;border:1px solid #ead8b3;
  font-size:.82rem;line-height:1.55;color:#756245
}
.meditation-v27 .attendance-admin{
  margin-top:22px;padding:20px;border-radius:20px;background:#f7f1e7;border:1px dashed rgba(118,82,39,.28)
}
.meditation-v27 .attendance-admin h4{margin:0 0 10px;font-size:1rem}
.meditation-v27 .attendance-admin p{margin:0;color:#756b62;font-size:.88rem;line-height:1.6}
.meditation-v27 .practice-disclaimer{
  margin-top:22px;font-size:.83rem;line-height:1.55;color:#897c71
}
@media(max-width:900px){
  .meditation-v27 .meditation-hero-grid,
  .meditation-v27 .attendance-shell{grid-template-columns:1fr}
  .meditation-v27 .benefit-grid{grid-template-columns:1fr 1fr}
  .meditation-v27 .practice-steps{grid-template-columns:1fr 1fr}
  .meditation-v27 .attendance-summary{position:static}
}
@media(max-width:650px){
  .meditation-v27 .meditation-copy{padding:24px;border-radius:24px}
  .meditation-v27 .meditation-image{min-height:370px;border-radius:24px}
  .meditation-v27 .benefit-grid,.meditation-v27 .practice-steps,.meditation-v27 .form-grid{grid-template-columns:1fr}
  .meditation-v27 .attendance-form,.meditation-v27 .attendance-summary{padding:24px;border-radius:22px}
  .meditation-v27 .session-facts{grid-template-columns:1fr}
}

/* V9.7.3.29 — explicit Meditation navigation + live registration states */
.drawer-links > a.menu-meditation-v29,
.desktop-nav > a.menu-meditation-v29{
  display:block!important;visibility:visible!important;opacity:1!important
}
.meditation-v27 .capacity-status{margin-top:12px;font-size:.88rem;color:#e7c77b;font-weight:700}
.meditation-v27 .attendance-message.success{background:#eef6ec;color:#36512f;border:1px solid #cfe1cb}
.meditation-v27 .attendance-message.waitlist{background:#fff3da;color:#6c5423;border:1px solid #ecd59e}
.meditation-v27 .attendance-message.error{background:#fbe9e6;color:#71382f;border:1px solid #efc7c0}
.attendance-admin-page .admin-shell{max-width:1100px;margin:0 auto;padding:120px 24px 70px}
.attendance-admin-page .admin-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}
.attendance-admin-page .admin-head h1{margin:0;font-size:clamp(2.1rem,5vw,4rem)}
.attendance-admin-page .admin-card{background:#fff;border:1px solid rgba(126,88,37,.14);border-radius:24px;padding:24px;box-shadow:0 14px 38px rgba(60,40,20,.06);margin-bottom:18px}
.attendance-admin-page .admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.attendance-admin-page .admin-stat{padding:18px;border-radius:18px;background:#f8efe2}
.attendance-admin-page .admin-stat strong{display:block;font-size:1.7rem;color:#33231b}
.attendance-admin-page .admin-stat span{font-size:.82rem;color:#817267}
.attendance-admin-page table{width:100%;border-collapse:collapse}
.attendance-admin-page th,.attendance-admin-page td{padding:12px 10px;text-align:left;border-bottom:1px solid rgba(92,67,38,.12);font-size:.92rem}
.attendance-admin-page th{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#8d6a38}
.attendance-admin-page .admin-actions{display:flex;gap:6px;flex-wrap:wrap}
.attendance-admin-page .admin-actions button{border:1px solid rgba(80,55,30,.2);background:#fff;border-radius:999px;padding:7px 10px;font:inherit;font-size:.8rem}
.attendance-admin-page .admin-login{max-width:460px;margin:80px auto}
.attendance-admin-page .admin-login input{width:100%;padding:14px 15px;border-radius:14px;border:1px solid rgba(90,60,30,.2);margin-top:9px}
.attendance-admin-page .admin-login button{width:100%;margin-top:14px;padding:14px;border-radius:999px;border:0;background:#27130f;color:#fff;font-weight:800}
@media(max-width:800px){.attendance-admin-page .admin-head{display:block}.attendance-admin-page .admin-stats{grid-template-columns:1fr 1fr}.attendance-admin-page .admin-card{overflow:auto}}
@media(max-width:520px){.attendance-admin-page .admin-stats{grid-template-columns:1fr}}


/* SOURCE: cinematic-direct-v107.css */
/* Wat Buddhaguna V10.7 — direct enhancement layer
   IMPORTANT: The production opening/hero, Dharma Wheel, language selector and header are intentionally not restyled here. */

:root{--cine-gold:#e4c574;--cine-ink:#17100c;--cine-cream:#f6efe5}
html{scroll-behavior:smooth}
body.cinematic-ready{overflow-x:clip}

/* Entrance transition only AFTER visitor chooses sound/silence. */
body.cinema-entering .opening{transition:filter .85s ease,opacity .85s ease,transform .85s cubic-bezier(.22,.7,.18,1);filter:brightness(.9);transform:scale(1.012)}
body.cinema-entered .opening{pointer-events:none}

/* Cinematic reveal primitives — never target .opening or .dharma. */
.cine-reveal{will-change:transform,opacity}
.cine-depth{position:relative;overflow:hidden;isolation:isolate}
.cine-depth>img,.cine-depth .photo,.cine-depth .motion-card{will-change:transform}
.cine-scene{position:relative;isolation:isolate}
.cine-scene:before{content:"";position:absolute;left:0;right:0;top:-1px;height:78px;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(25,14,9,.06),transparent)}
.cine-scene:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:88px;z-index:0;pointer-events:none;background:linear-gradient(0deg,rgba(25,14,9,.05),transparent)}
.cine-scene>.wrap{position:relative;z-index:1}

/* Floating foreground ornaments live in content scenes only. */
.cine-ornament{position:absolute;z-index:3;pointer-events:none;opacity:.15;width:clamp(72px,9vw,138px);aspect-ratio:1;color:#b88c3e;filter:drop-shadow(0 10px 25px rgba(77,49,18,.08));will-change:transform}
.cine-ornament svg{width:100%;height:100%;display:block}
.cine-ornament--right{right:-28px;top:16%}.cine-ornament--left{left:-34px;bottom:13%}

/* Pinned / horizontal Temple · Abbot · Dhamma story on desktop. */
#temple-overview.cine-story{overflow:hidden;padding-top:92px;padding-bottom:92px;background:linear-gradient(180deg,#f8f2e8,#efe3d3)}
#temple-overview.cine-story .wrap{max-width:none;width:100%;padding-left:max(5vw,28px);padding-right:0}
#temple-overview.cine-story .feature-grid{display:flex!important;grid-template-columns:none!important;gap:22px;width:max-content;align-items:stretch;margin-top:28px;will-change:transform}
#temple-overview.cine-story .feature{flex:0 0 min(68vw,820px);height:min(66vh,660px);border-radius:30px;overflow:hidden;position:relative;background:#130b08;box-shadow:0 28px 70px rgba(54,32,18,.13)}
#temple-overview.cine-story .feature img{width:100%;height:100%;object-fit:cover;transition:none!important;will-change:transform}
#temple-overview.cine-story .feature:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(12,7,5,.85));pointer-events:none}
#temple-overview.cine-story .feature-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:34px;color:#fff;background:none}
#temple-overview.cine-story .feature-copy h3{font-size:clamp(32px,4.5vw,62px);color:#fff;margin-bottom:9px}
#temple-overview.cine-story .feature-copy p{color:#eee3d8;max-width:520px}

/* Abbot cinematic portrait: keep genuine image, add depth framing. */
#abbot-overview.cine-abbot .grid2{align-items:center;gap:clamp(30px,6vw,90px)}
#abbot-overview.cine-abbot .photo{border-radius:48% 48% 22px 22px;box-shadow:0 26px 70px rgba(62,40,25,.14);transform-origin:center center}

/* Wisdom and meditation scene polish. */
#dhamma-overview.cine-wisdom .wisdom-box{transform-origin:center center}
#weekly-meditation.cine-meditation{background:linear-gradient(180deg,#fbf7f1,#f3e8d9)}
#weekly-meditation.cine-meditation .meditation-visual{overflow:hidden;border-radius:30px;box-shadow:0 26px 70px rgba(69,43,24,.1)}
#weekly-meditation.cine-meditation .meditation-visual img{width:100%;height:100%;object-fit:cover;will-change:transform}

/* Ceremony / temple-life film movement. */
.cine-film .rich-card,.cine-film .photo{overflow:hidden}
.cine-film img{will-change:transform}

/* Gallery motion enhancement without changing the proven masonry structure. */
.gallery-page .archive-card.cine-gallery-card{transform-origin:center center;will-change:transform,opacity}
.gallery-page .archive-card.cine-gallery-card img{will-change:transform;transition:transform .65s cubic-bezier(.2,.7,.2,1)!important}
.gallery-page .archive-card.cine-gallery-card:hover img{transform:scale(1.045)!important}
.gallery-page .gallery-viewer.show .viewer-image{animation:cineViewerIn .48s cubic-bezier(.2,.7,.2,1) both}
@keyframes cineViewerIn{from{opacity:0;transform:scale(.965) translateY(8px)}to{opacity:1;transform:none}}

/* Small, discreet developer credit. */
.maclife-credit{font-size:10px;line-height:1.4;text-align:center;color:#9c8978;opacity:.62;padding:13px 16px 2px;letter-spacing:.01em}
.maclife-credit strong{font-weight:600;color:#b5965e}

/* Mobile: natural scroll + swipe / scroll-snap, no scroll-jacking. */
@media(max-width:780px){
  #temple-overview.cine-story{overflow:visible;padding-top:72px;padding-bottom:72px}
  #temple-overview.cine-story .wrap{padding-left:20px;padding-right:0}
  #temple-overview.cine-story .feature-grid{display:flex!important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-left:20px;gap:13px;width:auto;padding:0 20px 12px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  #temple-overview.cine-story .feature-grid::-webkit-scrollbar{display:none}
  #temple-overview.cine-story .feature{flex:0 0 84vw;height:58svh;min-height:460px;scroll-snap-align:center;border-radius:23px}
  #temple-overview.cine-story .feature-copy{padding:22px}
  #temple-overview.cine-story .feature-copy h3{font-size:34px}
  .cine-ornament{opacity:.1;width:78px}
  .rich-grid.cine-mobile-snap{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .rich-grid.cine-mobile-snap::-webkit-scrollbar{display:none}
  .rich-grid.cine-mobile-snap>.rich-card{flex:0 0 84vw;scroll-snap-align:center}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .cine-reveal,.cine-depth img,.cine-ornament,#temple-overview.cine-story .feature-grid,#temple-overview.cine-story .feature img{transform:none!important;opacity:1!important;animation:none!important;transition:none!important}
}


/* SOURCE: cinematic-v108-brighter-abbot.css */
/* Wat Buddhaguna V10.8 — brighter sanctuary + V10.2 full-view Abbot lock
   Built on the V9.7.3.29/V10.7 direct-enhancement master. */

/* Keep the current live entrance composition, only lift the veil slightly. */
.opening-bg{
  background:linear-gradient(180deg,rgba(11,4,4,.30),rgba(11,4,4,.71))!important;
}
.opening-photo{
  filter:brightness(1.045) saturate(1.015) contrast(.985);
}

/* Brighter, warmer site-wide light treatment without flattening the premium contrast. */
body{background:#fbf7f0}
.home-intro{background:linear-gradient(180deg,#fffdf8,#f7ead8)!important}
#abbot-overview{background:linear-gradient(135deg,#fffefb 0%,#f7eddd 100%)}
#temple-overview.cine-story{background:linear-gradient(180deg,#fcf8f1,#f4e8d8)!important}
#weekly-meditation.cine-meditation{background:linear-gradient(180deg,#fffdf9,#f7ecde)!important}
.card,.quick,.small-card{background:rgba(255,255,255,.84)}
.photo,.motion-card{filter:brightness(1.025) saturate(1.015)}
.wisdom{background:#291713!important}
.sangha-band{filter:brightness(1.035)}
.footer{background:#140907!important}

/* V10.2 Abbot presentation — locked full-view arched portrait. */
#abbot-overview.cine-abbot{
  padding-top:clamp(90px,12vw,150px)!important;
  padding-bottom:clamp(90px,12vw,150px)!important;
  overflow:hidden;
}
#abbot-overview.cine-abbot:before{
  content:"";position:absolute;width:520px;height:520px;
  border:1px solid rgba(201,162,77,.16);border-radius:50%;right:-180px;top:-180px;
  box-shadow:0 0 0 42px rgba(201,162,77,.028),0 0 0 90px rgba(201,162,77,.018);
  pointer-events:none;
}
#abbot-overview.cine-abbot .grid2{
  min-height:82vh;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
  gap:clamp(34px,6vw,92px)!important;
  align-items:center;
}
#abbot-overview.cine-abbot .photo{
  width:100%;height:min(72vh,720px);object-fit:cover;object-position:center 32%;
  border-radius:220px 220px 30px 30px!important;
  box-shadow:0 48px 90px rgba(67,42,16,.18)!important;
  clip-path:inset(0 0 0 0 round 220px 220px 30px 30px);
  filter:brightness(1.035) saturate(1.02);
}
#abbot-overview.cine-abbot h2{font-size:clamp(3rem,6vw,6.4rem);line-height:.93;max-width:12ch}
#abbot-overview.cine-abbot p{font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.9;max-width:58ch}

/* Slightly softer cinematic transitions in the brighter build. */
.cine-scene:before{background:linear-gradient(180deg,rgba(25,14,9,.035),transparent)!important}
.cine-scene:after{background:linear-gradient(0deg,rgba(25,14,9,.035),transparent)!important}
.cine-ornament{opacity:.12!important}

@media(max-width:780px){
  #abbot-overview.cine-abbot{padding-top:76px!important;padding-bottom:84px!important}
  #abbot-overview.cine-abbot .grid2{grid-template-columns:1fr!important;min-height:auto;gap:34px!important}
  #abbot-overview.cine-abbot .photo{
    height:68vh;max-height:620px;min-height:500px;
    object-position:center 32%;border-radius:150px 150px 24px 24px!important;
    clip-path:inset(0 0 0 0 round 150px 150px 24px 24px);
  }
  #abbot-overview.cine-abbot h2{font-size:clamp(3rem,13vw,5.1rem)}
}

@media(prefers-reduced-motion:reduce){
  .opening-photo,.photo,.motion-card{filter:none}
}


/* V10.8.1 — GUARANTEED V10.2 ABBOT PORTRAIT LOCK
   Do not depend on JS/runtime classes. */
#abbot-overview{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#fffefb 0%,#f7eddd 100%)!important;
}
#abbot-overview .grid2{
  min-height:82vh;
  align-items:center;
}
#abbot-overview .photo{
  display:block!important;
  width:100%!important;
  height:min(72vh,720px)!important;
  object-fit:cover!important;
  object-position:center 32%!important;
  border-radius:220px 220px 30px 30px!important;
  clip-path:inset(0 0 0 0 round 220px 220px 30px 30px)!important;
  box-shadow:0 48px 90px rgba(67,42,16,.18)!important;
  filter:brightness(1.035) saturate(1.02)!important;
}
@media(max-width:780px){
  #abbot-overview{
    padding-top:76px!important;
    padding-bottom:84px!important;
  }
  #abbot-overview .grid2{
    grid-template-columns:1fr!important;
    min-height:auto!important;
    gap:34px!important;
  }
  #abbot-overview .photo{
    width:100%!important;
    height:68vh!important;
    max-height:620px!important;
    min-height:500px!important;
    object-fit:cover!important;
    object-position:center 32%!important;
    border-radius:150px 150px 24px 24px!important;
    clip-path:inset(0 0 0 0 round 150px 150px 24px 24px)!important;
  }
  #abbot-overview h2{
    font-size:clamp(3rem,13vw,5.1rem)!important;
    line-height:.93!important;
  }
}


/* SOURCE: cinematic-v109.css */
/* Wat Buddhaguna V10.9 cinematic overlay.
   LOCKED: V10.8.1 entrance, Dharma Wheel, V10.2-style Abbot portrait. */

body.v109-cinematic{overflow-x:clip}
.v109-scene{position:relative;isolation:isolate}
.v109-scene>.wrap{position:relative;z-index:2}

/* Soft scene transitions instead of hard bands. */
.v109-scene::before,.v109-scene::after{
  content:"";position:absolute;left:0;right:0;pointer-events:none;z-index:1
}
.v109-scene::before{top:-1px;height:82px;background:linear-gradient(180deg,rgba(80,54,30,.055),transparent)}
.v109-scene::after{bottom:-1px;height:96px;background:linear-gradient(0deg,rgba(80,54,30,.045),transparent)}

/* Entrance transition only. Do not touch .dharma or .opening-photo geometry. */
body.v109-entering .opening{
  transition:filter .9s ease,opacity .9s ease,transform .9s cubic-bezier(.22,.7,.18,1);
  filter:brightness(.94);transform:scale(1.008)
}
body.v109-entered .opening{pointer-events:none}

/* Floating foreground ornaments. */
.v109-ornament{
  position:absolute;z-index:3;pointer-events:none;
  width:clamp(72px,8.5vw,132px);aspect-ratio:1;
  color:#b58a43;opacity:.13;
  filter:drop-shadow(0 14px 28px rgba(90,57,20,.08));
  will-change:transform
}
.v109-ornament svg{width:100%;height:100%;display:block}
.v109-ornament--right{right:-25px;top:16%}
.v109-ornament--left{left:-30px;bottom:14%}

/* Pinned horizontal story on desktop. */
#temple-overview.v109-story{
  overflow:hidden;padding-top:92px;padding-bottom:92px;
  background:linear-gradient(180deg,#faf5ed,#f0e5d6)
}
#temple-overview.v109-story .wrap{
  max-width:none;width:100%;
  padding-left:max(5vw,28px);padding-right:0
}
#temple-overview.v109-story .feature-grid{
  display:flex!important;grid-template-columns:none!important;
  gap:22px;width:max-content;align-items:stretch;margin-top:28px;
  will-change:transform
}
#temple-overview.v109-story .feature{
  flex:0 0 min(68vw,820px);height:min(66vh,660px);
  border-radius:30px;overflow:hidden;position:relative;
  background:#130b08;box-shadow:0 28px 70px rgba(54,32,18,.12)
}
#temple-overview.v109-story .feature img{
  width:100%;height:100%;object-fit:cover;will-change:transform
}
#temple-overview.v109-story .feature::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 34%,rgba(12,7,5,.82));
  pointer-events:none
}
#temple-overview.v109-story .feature-copy{
  position:absolute;z-index:2;left:0;right:0;bottom:0;
  padding:34px;color:#fff;background:none
}
#temple-overview.v109-story .feature-copy h3{
  font-size:clamp(32px,4.5vw,62px);color:#fff;margin-bottom:9px
}
#temple-overview.v109-story .feature-copy p{color:#eee3d8;max-width:520px}

/* Preserve V10.8.1 portrait geometry; only allow depth animation. */
#abbot-overview .photo{
  transform-origin:center center;will-change:transform;
}

/* Meditation is intentionally calmer and brighter. */
#weekly-meditation.v109-meditation{
  background:linear-gradient(180deg,#fcf9f4,#f5eadc)
}
#weekly-meditation.v109-meditation .meditation-visual{
  overflow:hidden;border-radius:30px;
  box-shadow:0 26px 70px rgba(69,43,24,.09)
}
#weekly-meditation.v109-meditation .meditation-visual img{will-change:transform}

/* Gallery. */
.gallery-page .archive-card.v109-gallery-card{
  transform-origin:center center;will-change:transform,opacity
}
.gallery-page .archive-card.v109-gallery-card img{
  will-change:transform;
  transition:transform .65s cubic-bezier(.2,.7,.2,1)!important
}
.gallery-page .archive-card.v109-gallery-card:hover img{transform:scale(1.045)!important}

/* Quick Look/no-GSAP fallback. */
.v109-fallback-reveal{
  opacity:0;transform:translateY(24px);
  transition:opacity .82s ease,transform .82s ease
}
.v109-fallback-reveal.v109-visible{opacity:1;transform:none}

/* Mobile: natural vertical scroll; horizontal cards become swipe/scroll-snap. */
@media(max-width:780px){
  #temple-overview.v109-story{overflow:visible;padding-top:72px;padding-bottom:72px}
  #temple-overview.v109-story .wrap{padding-left:20px;padding-right:0}
  #temple-overview.v109-story .feature-grid{
    display:flex!important;overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;scroll-padding-left:20px;
    gap:13px;width:auto;padding:0 20px 12px 0;
    -webkit-overflow-scrolling:touch;scrollbar-width:none
  }
  #temple-overview.v109-story .feature-grid::-webkit-scrollbar{display:none}
  #temple-overview.v109-story .feature{
    flex:0 0 84vw;height:58svh;min-height:460px;
    scroll-snap-align:center;border-radius:23px
  }
  #temple-overview.v109-story .feature-copy{padding:22px}
  #temple-overview.v109-story .feature-copy h3{font-size:34px}
  .v109-ornament{opacity:.09;width:76px}
  .rich-grid{
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch
  }
}

@media(prefers-reduced-motion:reduce){
  .v109-fallback-reveal,.v109-ornament,
  #temple-overview.v109-story .feature-grid,
  #temple-overview.v109-story .feature img{
    transform:none!important;opacity:1!important;animation:none!important;transition:none!important
  }
}

/* V10.9.1 — Premium Visit redesign: no emoji, practical route information */
.visit-premium{
  background:linear-gradient(180deg,#f8f2e9 0%,#efe4d5 100%);
  color:#302017;
  padding:92px 0;
}
.visit-premium .wrap{max-width:1180px;margin:auto;padding:0 22px}
.visit-head{max-width:760px;margin:0 auto 38px;text-align:center}
.visit-head h2{font-size:clamp(42px,6vw,72px);line-height:.96;margin:10px 0 15px}
.visit-head p{color:#756455;font-size:18px;line-height:1.65;margin:0 auto}
.visit-route-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.visit-route{
  display:grid;grid-template-columns:72px 1fr;gap:18px;
  align-items:start;
  background:rgba(255,253,249,.82);
  border:1px solid rgba(112,80,42,.12);
  border-radius:24px;
  padding:26px;
  box-shadow:0 16px 44px rgba(61,39,20,.06);
}
.visit-icon{
  width:58px;height:58px;border-radius:18px;
  display:grid;place-items:center;
  background:linear-gradient(145deg,#f1d783,#d8b158);
  color:#5f431f;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
.visit-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.visit-label{
  color:#a1732f;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;
  margin:2px 0 7px;
}
.visit-route h3{font-size:26px;margin:0 0 9px;line-height:1.08}
.visit-route p{margin:0;color:#6c5b4e;font-size:16px;line-height:1.6}
.visit-route strong{color:#342219}
@media(max-width:780px){
  .visit-premium{padding:70px 0}
  .visit-head{text-align:left;margin-bottom:28px}
  .visit-head h2{font-size:46px}
  .visit-head p{font-size:16px}
  .visit-route-grid{grid-template-columns:1fr;gap:12px}
  .visit-route{
    grid-template-columns:54px 1fr;
    padding:20px 18px;gap:14px;border-radius:20px
  }
  .visit-icon{width:48px;height:48px;border-radius:15px}
  .visit-icon svg{width:25px;height:25px}
  .visit-route h3{font-size:22px}
  .visit-route p{font-size:15px}
}

/* V10.9.2 — surgical Google Map restoration only */
.visit-premium .v1092-map-restored{
  margin:0 0 28px;
}
@media(max-width:780px){
  .visit-premium .v1092-map-restored{
    margin-bottom:22px;
  }
}


/* SOURCE: cinematic-v112.css */

/* Wat Buddhaguna V11.2 — Global cinematic subpage motion system.
   Surgical overlay: preserves production layout/content and locked entrance/Abbot/Dharma wheel. */
html{scroll-behavior:auto}
body.v112-subpage{overflow-x:clip}
body.v112-subpage .page-hero{position:relative;overflow:hidden;isolation:isolate;min-height:min(74svh,760px)}
body.v112-subpage .page-hero>img{will-change:transform,filter;transform-origin:center center}
body.v112-subpage .page-hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,rgba(16,8,5,.06),rgba(16,8,5,.18) 50%,rgba(16,8,5,.62))}
body.v112-subpage .page-hero>.wrap{position:relative;z-index:2}
body.v112-subpage section.section{position:relative;isolation:isolate;overflow:clip}
body.v112-subpage section.section>.wrap{position:relative;z-index:2}
body.v112-subpage section.section::before{content:"";position:absolute;left:0;right:0;top:-1px;height:88px;background:linear-gradient(180deg,rgba(98,67,37,.045),transparent);pointer-events:none;z-index:1}
.v112-ornament{position:absolute;z-index:1;pointer-events:none;width:clamp(64px,8vw,118px);aspect-ratio:1;color:#b78b43;opacity:.095;filter:drop-shadow(0 16px 28px rgba(65,40,15,.08));will-change:transform}
.v112-ornament svg{display:block;width:100%;height:100%}.v112-ornament.right{right:-24px;top:14%}.v112-ornament.left{left:-28px;bottom:12%}
body.v112-subpage .v112-depth{will-change:transform;transform-origin:center center}
body.v112-subpage .v112-card{will-change:transform,opacity}
body.v112-subpage .v112-image-shell{overflow:hidden;transform:translateZ(0)}
body.v112-subpage .v112-image-shell img{will-change:transform,clip-path}
/* Dhamma cinematic story: desktop pin, mobile swipe. */
body.v112-subpage.v112-dhamma .library-grid{display:flex!important;grid-template-columns:none!important;gap:18px;align-items:stretch}
body.v112-subpage.v112-dhamma .library-grid .small-card{position:relative;flex:0 0 min(64vw,650px);min-height:360px;border-radius:28px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:34px;background:linear-gradient(150deg,#fffdf8,#f3e6d2);box-shadow:0 26px 64px rgba(68,44,24,.09)}
body.v112-subpage.v112-dhamma .library-grid .small-card .icon{font-size:46px;margin-bottom:auto;color:#aa7a32}
/* Gallery motion stays tactile. */
body.v112-subpage .archive-card img{transition:transform .65s cubic-bezier(.2,.7,.2,1)!important}
body.v112-subpage .archive-card:hover img{transform:scale(1.045)!important}
/* Meditation top target is the top hero, not the internal benefits anchor. */
#meditation-top{scroll-margin-top:0}
@media(max-width:780px){
  body.v112-subpage .page-hero{min-height:68svh}
  .v112-ornament{width:72px;opacity:.07}
  body.v112-subpage.v112-dhamma .library-grid{overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 20px 16px 0}
  body.v112-subpage.v112-dhamma .library-grid::-webkit-scrollbar{display:none}
  body.v112-subpage.v112-dhamma .library-grid .small-card{flex:0 0 82vw;min-height:330px;scroll-snap-align:center;border-radius:23px;padding:26px}
}
@media(prefers-reduced-motion:reduce){
  body.v112-subpage *{scroll-behavior:auto!important}
  .v112-ornament,.v112-depth,.v112-card,.v112-image-shell img{transform:none!important;animation:none!important;transition:none!important;opacity:1!important;clip-path:none!important}
}

/* V11.3 Temple story */
.v113-temple-story{background:#f7f0e4}.v113-temple-story .v113-dark{background:#1b0d09;color:#fff}.v113-temple-story .v113-dark h2,.v113-temple-story .v113-dark h3{color:#fff}.v113-temple-story .v113-intro{max-width:820px}.v113-temple-story .v113-intro p{font-size:clamp(18px,2.1vw,25px);line-height:1.75}.v113-journey{display:grid;gap:28px}.v113-feature{position:relative;border-radius:34px;overflow:hidden;background:#fff;color:#382820;box-shadow:0 24px 60px rgba(62,35,20,.12)}.v113-feature img{display:block;width:100%;height:min(72vh,760px);object-fit:cover}.v113-feature .copy{padding:34px 36px 40px}.v113-feature .copy h3{font-size:clamp(30px,4vw,52px);margin:0 0 12px}.v113-feature .copy p{font-size:18px;line-height:1.7;margin:0}.v113-feature.hero-card img{height:min(78vh,820px)}.v113-sacred-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.v113-sacred-grid .v113-feature img{height:520px}.v113-final{padding-top:90px;padding-bottom:100px}.v113-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}@media(max-width:780px){.v113-sacred-grid{grid-template-columns:1fr}.v113-feature{border-radius:28px}.v113-feature img,.v113-feature.hero-card img,.v113-sacred-grid .v113-feature img{height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;background:#160b08}.v113-feature .copy{padding:28px 26px 32px}.v113-feature .copy p{font-size:17px}.v113-final{padding-top:70px;padding-bottom:80px}}


/* SOURCE: theme-v11313-official-blue-cream.css */
/* Buddhaguna V11.3.13 — official blue / cream branding skin.
   V11.3.11 structure, content, images, motion and routing remain unchanged. */
:root{
  --brand-blue:#123a78;
  --brand-blue-deep:#0b2b60;
  --brand-gold:#c9962f;
  --brand-gold-soft:#e1bd67;
  --brand-cream:#f7efdf;
  --brand-cream-2:#fbf6ec;
  --brand-white:#fff;
  --brand-ink:#2f2a25;
  --brand-muted:#71685f;
}
body{background:var(--brand-cream-2);color:var(--brand-ink)}
main h1,main h2,main h3,main h4{color:var(--brand-blue-deep)}
main p{color:var(--brand-muted)}
.kicker{color:#9a6a16}

/* Locked opening remains cinematic and structurally unchanged. */
.opening h1,.opening h2,.opening h3{color:#fff}
.opening p,.opening .tag{color:#f2e8db}
.opening .tri{color:#efd58a}
.opening .dharma{width:116px;height:116px;margin:0 auto 25px}

/* Official identity on a clean white masthead. */
.site-header{background:rgba(255,255,255,.96);color:var(--brand-blue-deep);border-bottom:1px solid rgba(18,58,120,.10);box-shadow:0 8px 28px rgba(35,31,25,.055)}
.site-header.scrolled{background:rgba(255,255,255,.985);box-shadow:0 10px 30px rgba(28,31,38,.10)}
.brand{gap:9px}
.brandwheel{width:46px;height:46px;border:0;border-radius:0;display:grid;place-items:center;overflow:visible}
.brandwheel svg{display:none!important}
.brandwheel::before{content:"";display:block;width:46px;height:46px;background:url('../images/buddhaguna-official-emblem-v11326.webp') center/contain no-repeat;filter:drop-shadow(0 2px 3px rgba(75,53,16,.10))}
.brandtext{color:var(--brand-blue-deep)}
.brandtext small{color:#a46f16}
.desktop-nav{color:var(--brand-blue-deep)}
.langs button{color:#5a6070}
.langs button.active{color:var(--brand-blue);font-weight:700}
.menu-btn{border-color:rgba(201,150,47,.55);background:#fff;color:var(--brand-blue-deep)}

/* Cream → white → cream rhythm across ordinary content sections. */
main > section.section:not(.wisdom):not(.sangha-band):not(.v113-dark){background:var(--brand-white)}
main > section.section:not(.wisdom):not(.sangha-band):not(.v113-dark):nth-of-type(odd){background:var(--brand-cream)}
main > section.section:not(.wisdom):not(.sangha-band):not(.v113-dark):nth-of-type(even){background:var(--brand-white)}
.home-intro,.offering-band{background:var(--brand-cream)!important}

/* Cards remain warm, not blue-heavy. */
.card,.small-card,.quick,.rich-card,.bio-facts div,.countdown div,.visit-info{background:rgba(255,255,255,.92);border-color:rgba(201,150,47,.18)}
.card,.small-card,.quick,.rich-card,.visit-info{box-shadow:0 16px 44px rgba(56,46,31,.07)}
.quick strong,.small-card h3,.rich-card h3,.bio-facts b{color:var(--brand-blue-deep)}

/* Blue is reserved for hierarchy and actions; gold remains the sacred accent. */
.btn{border-color:rgba(18,58,120,.18);background:#fff;color:var(--brand-blue-deep)}
.btn.primary{background:linear-gradient(135deg,#dfb84e,#c58e24);color:#20190f}
.btn.dark{background:var(--brand-blue-deep);color:#fff;border-color:var(--brand-blue-deep)}
.icon{background:linear-gradient(135deg,#f4dd9a,#d5a83b);color:var(--brand-blue-deep)}
.notice{background:#fbf2dc;border-color:#e4c77a;color:#66502c}
.pill{background:#fff;border-color:rgba(201,150,47,.22);color:#69552e}

/* Keep cinematic dark/photo sections; tune them toward logo blue only where appropriate. */
.wisdom,.sangha-band{background:linear-gradient(145deg,#071d43 0%,#0d2e68 58%,#123a78 100%)}
.wisdom h2,.wisdom h3,.sangha-band h2,.sangha-band h3{color:#fff}
.wisdom p,.sangha-band p{color:#e6edf8}

/* Page heroes stay photographic. */
.page-hero h1,.page-hero h2,.page-hero h3{color:#fff}
.page-hero p{color:#eee1d7}

/* Footer becomes light and institutionally consistent with the official logo. */
.footer{background:#f7efdf!important;color:var(--brand-ink)!important;border-top:1px solid rgba(201,150,47,.22)}
.footer h4{color:var(--brand-blue-deep)!important}
.footer a,.footer p,.footer span{color:#625b54!important}
.footer-bottom{border-top-color:rgba(18,58,120,.12)!important}
.audio-credit{color:#847a70!important}

/* Drawer follows the same white/cream identity. */
.drawer-panel{background:#fffdf9}
.drawer-links a{color:var(--brand-blue-deep);border-bottom-color:rgba(18,58,120,.10)}
.drawer-links small{color:#9c711e}
.drawer-close{background:#fff;color:var(--brand-blue-deep);border-color:rgba(201,150,47,.30)}

/* V11.3 Temple story: keep photos/content, lighten ordinary cards and preserve dark story beats. */
.v113-temple-story{background:var(--brand-cream)}
.v113-temple-story .v113-feature{background:#fff;color:var(--brand-ink)}
.v113-temple-story .v113-feature .copy h3{color:var(--brand-blue-deep)}
.v113-temple-story .v113-dark{background:linear-gradient(145deg,#071d43 0%,#0d2e68 60%,#123a78 100%);color:#fff}
.v113-temple-story .v113-dark h2,.v113-temple-story .v113-dark h3{color:#fff}

/* Subtle ornaments pull from the official gold. */
.v112-ornament{color:var(--brand-gold);opacity:.085}

@media(max-width:760px){
  .header-inner{height:72px;gap:8px}
  .brand{gap:7px;min-width:0}
  .brandwheel{width:44px;height:44px;flex:0 0 44px}
  .brandwheel::before{width:44px;height:44px}
  .brandtext{font-size:16px;white-space:nowrap}
  .brandtext small{font-size:8px}
  .header-tools{gap:3px;flex:0 0 auto}
  .langs button{padding:5px 4px;font-size:10px}
  .menu-btn{width:44px;height:44px}
}
@media(max-width:390px){
  .brandwheel{width:40px;height:40px;flex-basis:40px}
  .brandwheel::before{width:40px;height:40px}
  .brandtext{font-size:14.5px}
  .brandtext small{font-size:7.5px;letter-spacing:.10em}
  .langs button{font-size:9.5px;padding:5px 3px}
}


/* V11.3.13 approved official-logo colour direction: white/cream rhythm with selective royal-blue cinematic surfaces. */
.sangha-band,.wisdom,.v113-dark{border-top:1px solid rgba(225,189,103,.22);border-bottom:1px solid rgba(225,189,103,.18)}
.sangha-band .kicker,.wisdom .kicker,.v113-dark .kicker{color:#e8c765!important}
.sangha-band .btn.dark,.wisdom .btn.dark,.v113-dark .btn.dark{background:#f0c65b;color:#092554;border-color:#f0c65b}
.sangha-band .btn.dark:hover,.wisdom .btn.dark:hover,.v113-dark .btn.dark:hover{background:#f5d477}
/* Warm dark cards become logo-blue instead of brown, while photography and structure stay unchanged. */
.meditation-card,.attendance-card,.v112-dark-card,.v113-story-card.dark{background:#0b2b60!important}
/* Official English masthead name is intentionally two-line on mobile to protect language controls. */
.brandtext .brand-name-main{display:block;line-height:1.02}
.brandtext .brand-name-main span{display:block}
@media(min-width:761px){.brandtext .brand-name-main span{display:inline}.brandtext .brand-name-main span+span:before{content:" "}}
@media(max-width:760px){
  .brandtext.official-en{font-size:13.5px!important;line-height:1.02;max-width:148px}
  .brandtext.official-en small{margin-top:3px}
}
@media(max-width:390px){
  .brandtext.official-en{font-size:12.5px!important;max-width:132px}
  .header-inner{padding-left:12px;padding-right:12px}
  .brandwheel{width:38px;height:38px;flex-basis:38px}
  .brandwheel::before{width:38px;height:38px}
}


/* SOURCE: theme-v11314-lovable-rhythm.css */
/* V11.3.14 — approved Lovable-inspired cream/white rhythm + official Buddhaguna blue.
   Presentation skin only. V11.3.11 content, genuine media, routing, Dharma Wheel,
   language controls, audio, gallery and cinematic motion remain untouched. */
:root{
  --bt-blue:#0b2b60;
  --bt-blue-2:#123a78;
  --bt-gold:#c9962f;
  --bt-gold-soft:#e3c26d;
  --bt-cream:#fbf6ea;
  --bt-white:#ffffff;
  --bt-ink:#2f2a25;
  --bt-muted:#706960;
}
html,body{background:var(--bt-white)!important;color:var(--bt-ink)}

/* Clean official white masthead. */
.site-header,.site-header.scrolled{background:rgba(255,255,255,.985)!important;color:var(--bt-blue)!important;border-bottom:1px solid rgba(11,43,96,.10)!important}
.brandtext,.desktop-nav{color:var(--bt-blue)!important}
.brandtext small{color:#9d711d!important}
.langs button{color:#8c867f!important}.langs button.active{color:var(--bt-gold)!important}
.menu-btn{background:#fff!important;color:var(--bt-blue)!important;border-color:rgba(201,150,47,.58)!important}

/* Lovable direction: ordinary page breaks alternate cream / pure white. */
main > section:not(.opening):not(.page-hero):not(.wisdom):not(.sangha-band):not(.v113-dark):nth-of-type(odd),
body > section.section:not(.wisdom):not(.sangha-band):nth-of-type(odd){background:var(--bt-cream)!important}
main > section:not(.opening):not(.page-hero):not(.wisdom):not(.sangha-band):not(.v113-dark):nth-of-type(even),
body > section.section:not(.wisdom):not(.sangha-band):nth-of-type(even){background:var(--bt-white)!important}
.home-index,.home-intro,.offering-band,.seo-facts,.meditation-event,.meditation-feature{background:var(--bt-cream)!important}
.home-intro + .section,.meditation-feature + .section{background:var(--bt-white)!important}

/* Remove the old beige gradients from content surfaces. */
.meditation-event-card,.visit-premium,.archive-shell,.archive-toolbar,.v113-temple-story{background:var(--bt-white)!important}
.card,.small-card,.quick,.rich-card,.bio-facts div,.countdown div,.visit-info,.meditation-meta>div,.fact-grid>div,.map-shell,.map-bar{
  background:var(--bt-white)!important;border-color:rgba(201,150,47,.18)!important;
}

/* Every former brown/dark editorial surface becomes official logo blue. */
.wisdom,.sangha-band,.v113-dark,.v112-dark-card,.v113-story-card.dark,.meditation-card,.attendance-card{
  background:linear-gradient(145deg,var(--bt-blue) 0%,var(--bt-blue-2) 100%)!important;
  color:#fff!important;
}
.wisdom h1,.wisdom h2,.wisdom h3,.wisdom p,
.sangha-band h1,.sangha-band h2,.sangha-band h3,.sangha-band p,
.v113-dark h1,.v113-dark h2,.v113-dark h3,.v113-dark p,
.v112-dark-card h1,.v112-dark-card h2,.v112-dark-card h3,.v112-dark-card p,
.meditation-card h1,.meditation-card h2,.meditation-card h3,.meditation-card p,
.attendance-card h1,.attendance-card h2,.attendance-card h3,.attendance-card p{color:#fff!important}
.wisdom .kicker,.sangha-band .kicker,.v113-dark .kicker{color:var(--bt-gold-soft)!important}

/* Blue hierarchy, gold accents. */
main h1,main h2,main h3,main h4{color:var(--bt-blue)!important}
.page-hero h1,.page-hero h2,.page-hero h3,.opening h1,.opening h2,.opening h3,
.wisdom h1,.wisdom h2,.wisdom h3,.sangha-band h1,.sangha-band h2,.sangha-band h3,.v113-dark h1,.v113-dark h2,.v113-dark h3{color:#fff!important}
.kicker{color:#9d711d!important}
.btn.dark{background:var(--bt-blue)!important;color:#fff!important;border-color:var(--bt-blue)!important}
.wisdom .btn.dark,.sangha-band .btn.dark,.v113-dark .btn.dark{background:linear-gradient(135deg,#efd477,#c9962f)!important;color:var(--bt-blue)!important;border-color:transparent!important}

/* Replace legacy brown utility surfaces with official blue without touching imagery. */
.conversion-paths a{background:var(--bt-blue)!important;color:#fff!important}
.conversion-paths a:nth-child(2){background:var(--bt-blue-2)!important}
.conversion-paths a:nth-child(3){background:#fff!important;color:var(--bt-blue)!important;border-color:rgba(11,43,96,.20)!important}
.notice{background:#fff9e9!important;color:#62502f!important}
.to-top,.sound-btn{background:rgba(255,255,255,.94)!important;color:var(--bt-blue)!important;border-color:rgba(201,150,47,.28)!important}

/* Footer follows the same cream/white institutional identity. */
.footer{background:var(--bt-cream)!important;color:var(--bt-ink)!important;border-top:1px solid rgba(201,150,47,.20)!important}
.footer h4{color:var(--bt-blue)!important}.footer p,.footer a,.footer span{color:#655f58!important}
.footer-bottom{border-top-color:rgba(11,43,96,.12)!important}

/* Preserve the locked cinematic entrance and original Dharma Wheel geometry. */
.opening{background:#071d43!important}
.opening .dharma{width:116px!important;height:116px!important;margin:0 auto 25px!important}
.opening .enter .primary{background:linear-gradient(135deg,#efd477,#c9962f)!important;color:#17213a!important}

@media(max-width:760px){
  /* Keep the white header uncluttered and language controls readable. */
  .site-header{background:#fff!important}
}

/* V11.3.17 — official English hero name only. */
.opening .official-hero-name{
  display:flex;flex-direction:column;align-items:center;gap:.02em;
  font-size:clamp(42px,8vw,76px)!important;line-height:.88!important;
  letter-spacing:-.035em!important;max-width:920px;margin-left:auto!important;margin-right:auto!important;
}
.opening .official-hero-name span{display:block;white-space:nowrap}
@media(max-width:640px){
  .opening .official-hero-name{font-size:clamp(39px,10.8vw,52px)!important;line-height:.91!important;max-width:94vw}
}


/* SOURCE: theme-v11315-header-balance.css */
/* V11.3.15 — header balance amendment only.
   Keeps V11.3.14 colour rhythm, content, imagery, motion and routing unchanged. */
@media(max-width:760px){
  .site-header .header-inner{height:78px;padding-left:14px;padding-right:14px;gap:7px}
  .site-header .brand{gap:14px;min-width:0;flex:1 1 auto}
  .site-header .brandwheel{width:42px;height:42px;flex:0 0 42px}
  .site-header .brandwheel::before{width:42px;height:42px}
  .site-header .brandtext.official-en{font-size:13px!important;line-height:1.03;max-width:138px;letter-spacing:-.01em}
  .site-header .brandtext.official-en .brand-name-main{line-height:1.02}
  .site-header .brandtext.official-en small{font-size:7.5px;margin-top:5px;letter-spacing:.11em;white-space:nowrap}
  .site-header .header-tools{gap:4px;flex:0 0 auto;margin-left:auto}
  .site-header .langs{gap:0}
  .site-header .langs button{font-size:9px;padding:5px 3px}
  .site-header .menu-btn{width:42px;height:42px;flex:0 0 42px}
}
@media(max-width:390px){
  .site-header .header-inner{padding-left:12px;padding-right:12px;gap:5px}
  .site-header .brand{gap:12px}
  .site-header .brandwheel{width:40px;height:40px;flex-basis:40px}
  .site-header .brandwheel::before{width:40px;height:40px}
  .site-header .brandtext.official-en{font-size:12.2px!important;max-width:128px}
  .site-header .brandtext.official-en small{font-size:7px;letter-spacing:.08em}
  .site-header .langs button{font-size:8.5px;padding:5px 2px}
  .site-header .menu-btn{width:40px;height:40px;flex-basis:40px}
}
@media(max-width:360px){
  .site-header .brand{gap:10px}
  .site-header .brandtext.official-en{font-size:11.5px!important;max-width:119px}
  .site-header .brandtext.official-en small{font-size:6.7px}
  .site-header .langs button{font-size:8px;padding:4px 1.5px}
}


/* SOURCE: theme-v11316-header-reference.css */
/* V11.3.16 — header reference-balance amendment only.
   Matches the approved mobile reference while preserving V11.3.15 content,
   imagery, routing, motion, official colour theme and all other layouts. */

/* Desktop / tablet: retain clean white official masthead, with more breathing room. */
.site-header .header-inner{
  width:100%;
}
.site-header .brand{
  gap:16px;
}
.site-header .brandwheel{
  width:48px;
  height:48px;
  flex:0 0 48px;
}
.site-header .brandwheel::before{
  width:48px;
  height:48px;
}
.site-header .brandtext.official-en{
  color:#0b2b60;
}

@media(max-width:760px){
  /* Approved target: compact single-row masthead, not an oversized centered lock-up. */
  .site-header .wrap.header-inner{
    max-width:none!important;
    width:100%!important;
    height:82px!important;
    margin:0!important;
    padding-left:max(14px,env(safe-area-inset-left,0px))!important;
    padding-right:max(14px,env(safe-area-inset-right,0px))!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
  }
  .site-header .brand{
    display:flex!important;
    align-items:center!important;
    gap:15px!important;
    min-width:0!important;
    flex:1 1 auto!important;
    margin:0!important;
  }
  .site-header .brandwheel{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
    margin:0!important;
  }
  .site-header .brandwheel::before{
    width:44px!important;
    height:44px!important;
  }
  .site-header .brandtext.official-en{
    min-width:0!important;
    max-width:150px!important;
    font-size:13.8px!important;
    line-height:1.02!important;
    letter-spacing:-.012em!important;
    color:#0b2b60!important;
    white-space:normal!important;
    flex:0 1 auto!important;
  }
  .site-header .brandtext.official-en .brand-name-main{
    display:block!important;
    line-height:1.01!important;
  }
  .site-header .brandtext.official-en .brand-name-main span{
    display:block!important;
  }
  .site-header .brandtext.official-en small{
    display:block!important;
    margin-top:5px!important;
    color:#a46f16!important;
    font-size:7.7px!important;
    line-height:1!important;
    letter-spacing:.105em!important;
    white-space:nowrap!important;
  }
  .site-header .header-tools{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    flex:0 0 auto!important;
    margin-left:auto!important;
    min-width:0!important;
  }
  .site-header .langs{
    display:flex!important;
    align-items:center!important;
    gap:1px!important;
    white-space:nowrap!important;
    flex:0 0 auto!important;
  }
  .site-header .langs a,
  .site-header .langs button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    min-height:28px!important;
    padding:4px 3px!important;
    font-size:9.4px!important;
    line-height:1!important;
    color:#525762!important;
    text-decoration:none!important;
  }
  .site-header .langs a:first-child,
  .site-header .langs button.active{
    color:#b77b15!important;
  }
  .site-header .menu-btn{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
    margin:0!important;
  }
}

@media(max-width:400px){
  .site-header .wrap.header-inner{
    padding-left:max(12px,env(safe-area-inset-left,0px))!important;
    padding-right:max(12px,env(safe-area-inset-right,0px))!important;
    gap:6px!important;
  }
  .site-header .brand{gap:12px!important;}
  .site-header .brandwheel{
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
  }
  .site-header .brandwheel::before{width:40px!important;height:40px!important;}
  .site-header .brandtext.official-en{
    max-width:133px!important;
    font-size:12.6px!important;
  }
  .site-header .brandtext.official-en small{
    font-size:7px!important;
    letter-spacing:.075em!important;
  }
  .site-header .header-tools{gap:4px!important;}
  .site-header .langs a,
  .site-header .langs button{
    padding:4px 2px!important;
    font-size:8.6px!important;
  }
  .site-header .menu-btn{
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
  }
}

@media(max-width:365px){
  .site-header .brand{gap:9px!important;}
  .site-header .brandwheel{width:37px!important;height:37px!important;flex-basis:37px!important;}
  .site-header .brandwheel::before{width:37px!important;height:37px!important;}
  .site-header .brandtext.official-en{max-width:112px!important;font-size:11.4px!important;}
  .site-header .brandtext.official-en small{font-size:6.5px!important;letter-spacing:.045em!important;}
  .site-header .langs a,.site-header .langs button{font-size:8px!important;padding:3px 1px!important;}
  .site-header .menu-btn{width:40px!important;height:40px!important;flex-basis:40px!important;}
}


/* SOURCE: theme-v11319-header-proportion.css */
/* V11.3.19 — header proportion correction only.
   Restores the approved official emblem + wordmark balance while preserving
   the V11.3.18 content, hero, routing, motion, colours and page structure. */

@media (max-width:760px){
  .site-header .wrap.header-inner{
    height:92px!important;
    padding-left:max(14px,env(safe-area-inset-left,0px))!important;
    padding-right:max(14px,env(safe-area-inset-right,0px))!important;
    gap:8px!important;
  }
  .site-header .brand{
    gap:14px!important;
    flex:1 1 auto!important;
    min-width:0!important;
  }
  .site-header .brandwheel{
    width:54px!important;
    height:54px!important;
    flex:0 0 54px!important;
  }
  .site-header .brandwheel::before{
    width:54px!important;
    height:54px!important;
  }
  .site-header .brandtext.official-en{
    max-width:176px!important;
    font-size:16.2px!important;
    line-height:1.00!important;
    letter-spacing:-.014em!important;
    color:#0b2b60!important;
  }
  .site-header .brandtext.official-en .brand-name-main{
    line-height:1.00!important;
  }
  .site-header .brandtext.official-en small{
    margin-top:6px!important;
    font-size:8.4px!important;
    line-height:1!important;
    letter-spacing:.10em!important;
    color:#a46f16!important;
    white-space:nowrap!important;
  }
  .site-header .header-tools{
    gap:6px!important;
    flex:0 0 auto!important;
    margin-left:auto!important;
  }
  .site-header .langs{
    display:flex!important;
    gap:2px!important;
    white-space:nowrap!important;
  }
  .site-header .langs a,
  .site-header .langs button{
    padding:4px 3px!important;
    font-size:9.5px!important;
    min-height:28px!important;
  }
  .site-header .menu-btn{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
  }
}

@media (max-width:400px){
  .site-header .wrap.header-inner{
    height:88px!important;
    padding-left:max(12px,env(safe-area-inset-left,0px))!important;
    padding-right:max(12px,env(safe-area-inset-right,0px))!important;
    gap:6px!important;
  }
  .site-header .brand{gap:12px!important;}
  .site-header .brandwheel{
    width:50px!important;
    height:50px!important;
    flex-basis:50px!important;
  }
  .site-header .brandwheel::before{width:50px!important;height:50px!important;}
  .site-header .brandtext.official-en{
    max-width:158px!important;
    font-size:14.7px!important;
  }
  .site-header .brandtext.official-en small{
    font-size:7.7px!important;
    letter-spacing:.08em!important;
  }
  .site-header .langs a,
  .site-header .langs button{font-size:8.8px!important;padding:4px 2px!important;}
  .site-header .menu-btn{width:42px!important;height:42px!important;flex-basis:42px!important;}
}

@media (max-width:365px){
  .site-header .brand{gap:10px!important;}
  .site-header .brandwheel{width:46px!important;height:46px!important;flex-basis:46px!important;}
  .site-header .brandwheel::before{width:46px!important;height:46px!important;}
  .site-header .brandtext.official-en{max-width:142px!important;font-size:13.4px!important;}
  .site-header .brandtext.official-en small{font-size:7.1px!important;letter-spacing:.055em!important;}
  .site-header .langs a,.site-header .langs button{font-size:8.2px!important;padding:3px 1px!important;}
  .site-header .menu-btn{width:40px!important;height:40px!important;flex-basis:40px!important;}
}


/* SOURCE: theme-v11320-overlay-heading-contrast.css */
/* V11.3.20 — contrast correction only.
   Keeps V11.3.19 layout, branding, images, routing and motion unchanged. */
#temple-overview .feature-copy h3,
#temple-overview .feature-copy p{color:#fff!important;}


/* SOURCE: theme-v11322-subpage-blueprint.css */

/* V11.3.22 — Subpage blueprint consistency
   Base: V11.3.21
   Goal: all subpages follow the approved homepage identity:
   cream / white / official navy / gold, with no legacy brown editorial surfaces.
   Content, genuine imagery, routing, interactions and motion remain unchanged. */

:root{
  --v11322-blue:#0b2b60;
  --v11322-blue2:#123a78;
  --v11322-gold:#c9962f;
  --v11322-gold-soft:#e3c26d;
  --v11322-cream:#fbf6ea;
  --v11322-white:#ffffff;
  --v11322-ink:#2f2a25;
  --v11322-muted:#706960;
  --v11322-line:rgba(11,43,96,.10);
}

/* Universal subpage rhythm */
body{background:var(--v11322-white)!important;color:var(--v11322-ink)!important}
main > section.section:nth-of-type(odd),
body > section.section:nth-of-type(odd){background:var(--v11322-cream)!important}
main > section.section:nth-of-type(even),
body > section.section:nth-of-type(even){background:var(--v11322-white)!important}

/* Photographic heroes: preserve photography, remove the old brown cast. */
.page-hero{background:var(--v11322-blue)!important}
.page-hero:after{
  background:
    linear-gradient(90deg,rgba(4,18,43,.62),rgba(4,18,43,.12)),
    linear-gradient(0deg,rgba(4,13,31,.78),transparent 62%)!important;
}
.page-hero h1,.page-hero h2,.page-hero h3,.page-hero p{color:#fff!important}
.page-hero .kicker{color:var(--v11322-gold-soft)!important}

/* Official blue replaces legacy brown/dark editorial bands. */
.wisdom,.sangha-band,.v113-dark,.v112-dark-card,.v113-story-card.dark,
.meditation-card,.attendance-card,.conversion-band,.dark-band{
  background:linear-gradient(145deg,var(--v11322-blue) 0%,var(--v11322-blue2) 100%)!important;
  color:#fff!important;
}
.wisdom h1,.wisdom h2,.wisdom h3,.wisdom p,
.sangha-band h1,.sangha-band h2,.sangha-band h3,.sangha-band p,
.v113-dark h1,.v113-dark h2,.v113-dark h3,.v113-dark p,
.v112-dark-card h1,.v112-dark-card h2,.v112-dark-card h3,.v112-dark-card p,
.v113-story-card.dark h1,.v113-story-card.dark h2,.v113-story-card.dark h3,.v113-story-card.dark p,
.meditation-card h1,.meditation-card h2,.meditation-card h3,.meditation-card p,
.attendance-card h1,.attendance-card h2,.attendance-card h3,.attendance-card p{
  color:#fff!important;
}

/* Ordinary cards stay white/cream; blue is hierarchy, gold is accent. */
.card,.small-card,.quick,.rich-card,.bio-facts div,.countdown div,.visit-info,
.meditation-meta>div,.fact-grid>div,.map-shell,.map-bar,.benefit-card,
.capacity-card,.session-fact,.attendance-form,.attendance-summary{
  background:var(--v11322-white)!important;
  border-color:rgba(201,150,47,.18)!important;
  color:var(--v11322-ink)!important;
}
main h1,main h2,main h3,main h4{color:var(--v11322-blue)!important}
.kicker{color:#9d711d!important}

/* Meditation page — explicitly follow the approved blueprint. */
.meditation-v27{background:var(--v11322-white)!important}
.meditation-v27:nth-of-type(even){background:var(--v11322-cream)!important}
.meditation-v27 .attendance-shell{background:transparent!important}
.meditation-v27 .attendance-summary,
.meditation-v27 .attendance-form{
  background:var(--v11322-white)!important;
  border:1px solid rgba(201,150,47,.18)!important;
  box-shadow:0 16px 42px rgba(11,43,96,.055)!important;
}
.meditation-v27 .attendance-summary h2,
.meditation-v27 .attendance-form h3,
.meditation-v27 .practice-step h3,
.meditation-v27 .benefit-card h3{color:var(--v11322-blue)!important}
.meditation-v27 .attendance-summary p,
.meditation-v27 .attendance-form p,
.meditation-v27 .practice-step p,
.meditation-v27 .benefit-card p,
.meditation-v27 .session-fact span{color:var(--v11322-muted)!important}
.meditation-v27 .capacity-card{background:var(--v11322-cream)!important}
.meditation-v27 .capacity-top strong,
.meditation-v27 .capacity-status{color:var(--v11322-blue)!important}
.meditation-v27 .capacity-bar{background:rgba(11,43,96,.10)!important}
.meditation-v27 .capacity-bar i{background:linear-gradient(90deg,var(--v11322-gold-soft),var(--v11322-gold))!important}
.meditation-v27 .session-fact{
  background:var(--v11322-white)!important;
  border:1px solid rgba(11,43,96,.08)!important;
}
.meditation-v27 .session-fact strong{color:var(--v11322-blue)!important}

/* Remove brown practice cards entirely. */
.meditation-v27 .practice-step{
  background:var(--v11322-white)!important;
  color:var(--v11322-ink)!important;
  border:1px solid rgba(201,150,47,.18)!important;
  box-shadow:0 14px 36px rgba(11,43,96,.05)!important;
}
.meditation-v27 .practice-step span,
.meditation-v27 .benefit-icon{
  background:linear-gradient(135deg,#f4dd9a,#d5a83b)!important;
  color:var(--v11322-blue)!important;
}

/* Registration actions use official blue/gold, not brown. */
.meditation-v27 .attendance-btn,
.meditation-v27 button[type="submit"]{
  background:linear-gradient(135deg,#dfb84e,#c58e24)!important;
  color:var(--v11322-blue)!important;
  border-color:transparent!important;
}
.meditation-v27 input,.meditation-v27 textarea,.meditation-v27 select{
  background:#fff!important;color:var(--v11322-ink)!important;
  border-color:rgba(11,43,96,.14)!important;
}

/* Genuine meditation-room card; keep photo natural. */
.meditation-v27 .meditation-image{background:var(--v11322-blue)!important}
.meditation-v27 .meditation-image:after{
  background:linear-gradient(transparent,rgba(4,18,43,.72))!important;
}
.meditation-v27 .meditation-image-note strong,
.meditation-v27 .meditation-image-note span{color:#fff!important}

/* Buttons and utilities. */
.btn.dark{background:var(--v11322-blue)!important;color:#fff!important;border-color:var(--v11322-blue)!important}
.btn.primary{background:linear-gradient(135deg,#dfb84e,#c58e24)!important;color:var(--v11322-blue)!important}
.notice,.attendance-demo-note{background:#fffaf0!important;color:#655638!important;border-color:rgba(201,150,47,.25)!important}
.to-top,.sound-btn{background:rgba(255,255,255,.96)!important;color:var(--v11322-blue)!important;border-color:rgba(201,150,47,.30)!important}

/* Footer remains light and consistent. */
.footer{background:var(--v11322-cream)!important;color:var(--v11322-ink)!important}
.footer h4{color:var(--v11322-blue)!important}

/* Meditation hero: retain the original altar image, but give it the prominence
   of the approved first screenshot. */
#meditation-top{min-height:82svh!important}
#meditation-top>img{object-position:center center!important}
#meditation-top .wrap{padding-bottom:54px!important}

@media(max-width:760px){
  #meditation-top{min-height:86svh!important}
  #meditation-top>img{object-position:center 46%!important}
  #meditation-top .wrap{padding:0 24px 58px!important}
  #meditation-top h1{font-size:clamp(52px,12vw,72px)!important;line-height:.92!important}
  #meditation-top p{font-size:17px!important;line-height:1.68!important}
  .meditation-v27 .practice-steps{grid-template-columns:1fr!important}
  .meditation-v27 .practice-step{min-height:0!important}
}


/* SOURCE: theme-v11323-lively-heroes.css */
/* V11.3.23 — LIVELY HERO IMAGE TREATMENT
   Approved direction: keep genuine photographs bright, vivid and natural.
   Applies to every photographic subpage hero. No brown/pale/gloomy cast. */
.page-hero>img{
  filter:brightness(1.08) saturate(1.14) contrast(1.035)!important;
}
.page-hero:after{
  background:
    linear-gradient(90deg,rgba(4,18,43,.28),rgba(4,18,43,.035) 62%),
    linear-gradient(0deg,rgba(4,13,31,.46),rgba(4,13,31,.04) 58%,transparent 78%)!important;
}
/* Meditation altar hero: closest to the brighter approved reference. */
#meditation-top>img{
  filter:brightness(1.12) saturate(1.17) contrast(1.035)!important;
}
#meditation-top:after{
  background:
    linear-gradient(90deg,rgba(4,18,43,.20),rgba(4,18,43,.02) 66%),
    linear-gradient(0deg,rgba(4,13,31,.34),rgba(4,13,31,.02) 60%,transparent 80%)!important;
}
/* Image-led cards should also retain lively photography. */
.feature img,.rich-card img,.meditation-image img,.motion-image{
  filter:brightness(1.035) saturate(1.07) contrast(1.02)!important;
}
/* Keep text legible without globally dimming photography. */
.page-hero .wrap{filter:drop-shadow(0 2px 10px rgba(0,0,0,.26))}


/* SOURCE: theme-v11326-ipad-stability.css */

/* V11.3.26 — iPad / tablet stability & performance correction
   Keeps V11.3.25 visual identity and content unchanged. */

@media (min-width: 700px) and (max-width: 1199px) {
  /* Clean tablet header: one brand, languages, hamburger. */
  .site-header .desktop-nav{display:none!important}
  .site-header .header-inner{
    height:88px!important;
    padding-left:24px!important;
    padding-right:24px!important;
    gap:18px!important;
  }
  .site-header .brand{min-width:0!important;flex:0 1 auto!important}
  .site-header .header-tools{margin-left:auto!important;flex:0 0 auto!important}
  .site-header .langs{display:flex!important;gap:8px!important}
  .site-header .langs a,.site-header .langs button{
    font-size:12px!important;
    line-height:1!important;
    letter-spacing:.01em!important;
    padding:8px 3px!important;
    font-family:Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    text-transform:none!important;
  }

  /* Do not crop the Buddha's head in iPad landscape. */
  .opening-photo{
    object-position:center 20%!important;
    transform:none!important;
    filter:none!important;
  }
  .opening{min-height:calc(100svh - 88px)!important}

  /* Disable the pinned horizontal story on tablet.
     It was responsible for narrow cards + huge blank space. */
  #temple-overview.cine-story .feature-grid,
  #temple-overview .feature-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
    gap:18px!important;
    transform:none!important;
    overflow:visible!important;
    padding:0!important;
  }
  #temple-overview .feature{
    min-width:0!important;
    width:auto!important;
    min-height:390px!important;
    scroll-snap-align:none!important;
  }

  /* Dhamma/library: normal responsive grid on iPad, no pinned track. */
  .library-grid{
    transform:none!important;
    width:100%!important;
    overflow:visible!important;
  }

  /* Tablet rendering stability: content must never wait invisibly for GSAP. */
  .v112-card,.v112-depth,.cine-reveal,.v109-fallback-reveal,
  .photo,.motion-card,.rich-card,.archive-card,.archive-card img{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    filter:none!important;
  }
  .v112-ornament,.v109-ornament{display:none!important}
  .v112-image-shell{overflow:hidden!important}

  /* Keep photographed content aligned naturally. */
  .page-hero>img{object-position:center 34%!important}
  .feature img,.rich-card img,.photo,.motion-card{
    object-position:center center!important;
  }

  /* Reduce expensive effects on Safari/iPad. */
  .site-header,.drawer,.sound-btn,.to-top{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  *{scroll-behavior:auto}
}

@media (min-width: 1200px) {
  /* Desktop menu remains a single, readable navigation row. */
  .desktop-nav{
    display:flex!important;
    gap:14px!important;
    font-size:10.5px!important;
    letter-spacing:.055em!important;
    line-height:1.2!important;
    font-family:Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }
}

@media (max-width: 900px) and (orientation: portrait) {
  .opening-photo{object-position:center 24%!important}
}

@media (min-width: 901px) and (max-width: 1199px) and (orientation: landscape) {
  .opening-photo{object-position:center 16%!important}
  .opening-inner{padding-top:18px!important}
}

/* Abbot/Kathina photos: load/display immediately without soft placeholders. */
.abbot-kathina-embassy .kathina-photos figure img{
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  transform:none!important;
  object-fit:cover!important;
  object-position:center center!important;
}


/* SOURCE: theme-v11334-ipad-desktop-optimized.css */

/* V11.3.34 — iPad + desktop optimization
   Base: V11.3.33.
   Preserves approved mobile hero and genuine real photograph.
   Only responsive/tablet/desktop refinement. */

:root{
  --v11334-navy:#0b2b60;
  --v11334-gold:#c9962f;
  --v11334-white:#fff;
}

/* ---------- TABLET / iPAD ---------- */
@media (min-width:700px) and (max-width:1199px){

  .site-header{
    position:relative!important;
    z-index:60!important;
    background:#fff!important;
  }

  .site-header .wrap.header-inner{
    height:90px!important;
    padding:0 26px!important;
    gap:18px!important;
    max-width:none!important;
  }

  .site-header .brand{
    min-width:0!important;
    flex:1 1 auto!important;
  }

  .site-header .desktop-nav{
    display:none!important;
  }

  .site-header .header-tools{
    margin-left:auto!important;
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
  }

  .site-header .langs{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    white-space:nowrap!important;
  }

  .site-header .langs a,
  .site-header .langs button{
    font-family:Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:12px!important;
    line-height:1!important;
    letter-spacing:.01em!important;
    padding:7px 2px!important;
  }

  .site-header .menu-btn{
    flex:0 0 auto!important;
  }

  /* Hero: preserve full crown and balanced statue scale. */
  .opening{
    margin-top:0!important;
    min-height:calc(100svh - 90px)!important;
    overflow:hidden!important;
  }

  .opening > img.opening-photo{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:50% 0%!important;
    transform:none!important;
    filter:none!important;
  }

  .opening > .opening-inner{
    min-height:calc(100svh - 90px)!important;
    width:min(760px,88vw)!important;
    padding:104px 0 34px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }

  /* Prevent heavy pinned desktop interactions on iPad. */
  .cine-story .feature-grid,
  #temple-overview .feature-grid,
  .library-grid{
    transform:none!important;
    overflow:visible!important;
  }

  .v112-card,.v112-depth,.cine-reveal,.v109-fallback-reveal,
  .archive-card,.archive-card img,.photo,.motion-card,.rich-card{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }

  /* Photos align cleanly. */
  .feature img,.rich-card img,.archive-card img,.page-hero>img{
    object-position:center center!important;
  }
}

@media (min-width:700px) and (max-width:1199px) and (orientation:landscape){
  .opening{
    min-height:calc(100svh - 90px)!important;
    background:#120a08!important;
  }
  .opening > img.opening-photo{
    object-fit:contain!important;
    object-position:center top!important;
    background:#120a08!important;
  }
  .opening > .opening-inner{
    min-height:calc(100svh - 90px)!important;
    padding-top:72px!important;
    padding-bottom:24px!important;
  }
}

/* ---------- DESKTOP ---------- */
@media (min-width:1200px){

  .site-header{
    position:relative!important;
    z-index:60!important;
    background:#fff!important;
    border-bottom:1px solid rgba(201,150,47,.16)!important;
  }

  .site-header .wrap.header-inner{
    height:96px!important;
    max-width:1440px!important;
    padding:0 34px!important;
    margin:0 auto!important;
    display:flex!important;
    align-items:center!important;
    gap:24px!important;
  }

  .site-header .brand{
    flex:0 1 auto!important;
    min-width:260px!important;
  }

  .site-header .desktop-nav{
    display:flex!important;
    flex:1 1 auto!important;
    justify-content:center!important;
    align-items:center!important;
    gap:18px!important;
    white-space:nowrap!important;
    min-width:0!important;
  }

  .site-header .desktop-nav a{
    font-family:Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    font-size:11px!important;
    line-height:1.15!important;
    letter-spacing:.045em!important;
    text-transform:uppercase!important;
    color:var(--v11334-navy)!important;
  }

  .site-header .header-tools{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    gap:16px!important;
  }

  /* Desktop hero fills viewport without hiding crown. */
  .opening{
    min-height:calc(100svh - 96px)!important;
    margin-top:0!important;
    overflow:hidden!important;
  }

  .opening > img.opening-photo{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:50% 0%!important;
    transform:none!important;
    filter:none!important;
  }

  .opening > .opening-inner{
    min-height:calc(100svh - 96px)!important;
    width:min(880px,76vw)!important;
    padding-top:82px!important;
    padding-bottom:34px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }

  /* Keep readable typography at 1200–1600 widths. */
  .opening h1{
    max-width:900px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Smooth image rendering / alignment throughout desktop subpages. */
  .feature img,.rich-card img,.archive-card img,.page-hero>img{
    object-position:center center!important;
  }
}

@media (min-width:1500px){
  .site-header .desktop-nav{gap:24px!important}
  .site-header .desktop-nav a{font-size:11.5px!important}
  .opening > .opening-inner{width:min(940px,70vw)!important}
}

/* Performance hints without changing visuals. */
img{
  content-visibility:auto;
}


/* SOURCE: theme-v11336-official-logo.css */

/* V11.3.36 — Official emblem restoration only.
   Preserve V11.3.35 crown-safe hero and all approved layouts. */

.site-header .brand{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}

.site-header .brandwheel{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:72px!important;
  height:72px!important;
}

.site-header .brandwheel img.official-emblem{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}

@media (max-width:699px){
  .site-header .brand{
    gap:10px!important;
  }
  .site-header .brandwheel{
    width:64px!important;
    height:64px!important;
  }
}

@media (min-width:700px) and (max-width:1199px){
  .site-header .brandwheel{
    width:72px!important;
    height:72px!important;
  }
}

@media (min-width:1200px){
  .site-header .brandwheel{
    width:76px!important;
    height:76px!important;
  }
}


/* SOURCE: theme-v11337-footer-proportion.css */

/* V11.3.37 — Footer proportion refinement only
   Base: V11.3.36.
   No redesign. No content changes. */

@media (max-width:699px){

  /* Compress overall footer height without changing its visual language. */
  footer,
  .site-footer,
  .footer{
    padding-top:34px!important;
    padding-bottom:26px!important;
  }

  /* Tighten the multi-column / stacked footer groups. */
  footer .footer-grid,
  .site-footer .footer-grid,
  footer .footer-columns,
  .site-footer .footer-columns{
    row-gap:28px!important;
    column-gap:22px!important;
  }

  /* Reduce spacing between section headings and their links. */
  footer h2,
  footer h3,
  footer h4,
  .site-footer h2,
  .site-footer h3,
  .site-footer h4{
    margin-bottom:16px!important;
  }

  footer ul,
  .site-footer ul{
    gap:10px!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }

  footer li,
  .site-footer li{
    margin-bottom:7px!important;
  }

  /* Address block: keep readable but compact. */
  footer .footer-address,
  .site-footer .footer-address,
  footer address,
  .site-footer address{
    margin-bottom:24px!important;
    line-height:1.6!important;
  }

  /* Chant attribution / source note. */
  footer .audio-credit,
  footer .audio-source,
  footer .source-note,
  .site-footer .audio-credit,
  .site-footer .audio-source,
  .site-footer .source-note{
    margin-top:24px!important;
    margin-bottom:22px!important;
    line-height:1.45!important;
  }

  /* Divider spacing. */
  footer hr,
  .site-footer hr,
  footer .footer-divider,
  .site-footer .footer-divider{
    margin-top:22px!important;
    margin-bottom:22px!important;
  }

  /* Brand strapline area. */
  footer .footer-tagline,
  footer .footer-brandline,
  .site-footer .footer-tagline,
  .site-footer .footer-brandline{
    margin-top:0!important;
    margin-bottom:22px!important;
    line-height:1.5!important;
  }

  /* Social / monk name row. */
  footer .socials,
  footer .footer-social,
  footer .footer-socials,
  .site-footer .socials,
  .site-footer .footer-social,
  .site-footer .footer-socials{
    margin-top:18px!important;
    margin-bottom:22px!important;
    gap:14px!important;
    flex-wrap:wrap!important;
  }

  /* MacLife credit closer to content and bottom edge. */
  footer .credit,
  footer .site-credit,
  footer .footer-credit,
  .site-footer .credit,
  .site-footer .site-credit,
  .site-footer .footer-credit{
    margin-top:20px!important;
    margin-bottom:0!important;
    padding-bottom:0!important;
  }

  /* Avoid accidental large empty spacer elements inside footer. */
  footer .spacer,
  footer .footer-spacer,
  .site-footer .spacer,
  .site-footer .footer-spacer{
    height:12px!important;
    min-height:0!important;
    margin:0!important;
  }
}

@media (min-width:700px) and (max-width:1199px){
  /* Slight tightening for iPad while preserving more breathing room than mobile. */
  footer,
  .site-footer,
  .footer{
    padding-top:48px!important;
    padding-bottom:36px!important;
  }

  footer .footer-grid,
  .site-footer .footer-grid,
  footer .footer-columns,
  .site-footer .footer-columns{
    row-gap:34px!important;
  }

  footer .socials,
  footer .footer-social,
  footer .footer-socials,
  .site-footer .socials,
  .site-footer .footer-social,
  .site-footer .footer-socials{
    margin-top:22px!important;
    margin-bottom:24px!important;
  }

  footer .credit,
  footer .site-credit,
  footer .footer-credit,
  .site-footer .credit,
  .site-footer .site-credit,
  .site-footer .footer-credit{
    margin-top:22px!important;
    margin-bottom:0!important;
  }
}


/* SOURCE: theme-v11338-footer-compact.css */

/* V11.3.38 — Actual footer compacting
   Uses the REAL footer DOM classes from the production HTML.
   No redesign / no wording changes. */

@media (max-width:699px){

  .footer{
    padding:22px 0 18px!important;
  }

  .footer > .wrap{
    padding-left:22px!important;
    padding-right:22px!important;
  }

  .footer .footer-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
    row-gap:16px!important;
  }

  .footer .footer-grid > div{
    margin:0!important;
    padding:0!important;
  }

  .footer .footer-grid h4{
    margin:0 0 7px!important;
    padding:0!important;
    font-size:18px!important;
    line-height:1.15!important;
  }

  .footer .footer-grid p{
    margin:0!important;
    padding:0!important;
    font-size:11px!important;
    line-height:1.5!important;
  }

  .footer .footer-grid a{
    display:block!important;
    margin:0!important;
    padding:2px 0!important;
    font-size:11px!important;
    line-height:1.35!important;
  }

  .footer .audio-credit{
    margin:16px 0 0!important;
    padding:0!important;
    font-size:9px!important;
    line-height:1.45!important;
  }

  .footer .footer-bottom{
    margin:16px 0 0!important;
    padding:12px 0 0!important;
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    gap:3px 7px!important;
    font-size:8px!important;
    line-height:1.45!important;
    letter-spacing:.075em!important;
  }

  .footer .footer-bottom span{
    margin:0!important;
    padding:0!important;
  }

  .footer .professional-social-footer{
    margin:12px 0 0!important;
    padding:0 20px!important;
    gap:8px!important;
    min-height:0!important;
  }

  .footer .professional-social-footer > span{
    margin:0 3px 0 0!important;
    font-size:11px!important;
  }

  .footer .footer-social-brand{
    min-height:30px!important;
    padding:4px 8px 4px 5px!important;
  }

  .footer .footer-social-brand .brand-social-svg{
    width:19px!important;
    height:19px!important;
    min-width:19px!important;
    min-height:19px!important;
    max-width:19px!important;
    max-height:19px!important;
    flex:0 0 19px!important;
  }

  .footer .maclife-credit{
    margin:12px 0 0!important;
    padding:8px 16px 2px!important;
    font-size:9px!important;
    line-height:1.3!important;
  }
}

@media (min-width:700px) and (max-width:1199px){
  .footer{
    padding:34px 0 26px!important;
  }

  .footer .footer-grid{
    gap:24px!important;
    row-gap:24px!important;
  }

  .footer .audio-credit{
    margin:20px 0 0!important;
  }

  .footer .footer-bottom{
    margin-top:20px!important;
    padding-top:14px!important;
  }

  .footer .professional-social-footer{
    margin-top:16px!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }

  .footer .maclife-credit{
    margin-top:14px!important;
    padding-top:8px!important;
    padding-bottom:0!important;
  }
}


/* SOURCE: theme-v11346-final-stability.css */
/* V11.3.46 final audit fixes: typography, responsive hero framing, tablet stability */
:root{--v11346-serif:Georgia,"Times New Roman",serif;--v11346-sans:Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--v11346-sans);line-height:1.6;text-rendering:optimizeLegibility}
.site-header,.menu-panel,.btn,.kicker,.eyebrow,.langs,.footer{font-family:var(--v11346-sans)}
h1,h2,.wisdom-copy,.feature-copy h3,.page-hero h1{font-family:var(--v11346-serif)}
.kicker,.eyebrow,.site-header .langs a,.menu-panel a,.footer a{font-size:max(11px,.7rem)!important}
body p,body li{font-size:clamp(15px,1.15vw,18px)}
.page-hero h1{font-size:clamp(42px,6vw,82px)!important;line-height:.98!important;letter-spacing:-.035em!important}
.page-hero p{font-size:clamp(16px,1.45vw,19px)!important;line-height:1.6!important}

/* Consistent subpage hero dimensions. */
body.v112-subpage .page-hero{min-height:clamp(500px,62svh,680px)!important;max-height:720px;background:#102b59}
body.v112-subpage .page-hero>img{transform:none!important;scale:1!important;translate:none!important;filter:none!important}
body.v112-subpage .page-hero.hero-portrait>img{object-fit:contain!important;object-position:center center!important;background:#102b59}
body.v112-subpage .page-hero.hero-portrait::after{background:linear-gradient(90deg,rgba(9,26,58,.78),rgba(9,26,58,.15) 58%,rgba(9,26,58,.22)),linear-gradient(0deg,rgba(9,26,58,.78),transparent 58%)!important}

/* Touch tablets: always use stable vertical flow and contained media. */
@media (min-width:700px) and (max-width:1199px), (hover:none) and (pointer:coarse) and (min-width:700px){
  body.v112-subpage .page-hero{min-height:clamp(480px,60svh,620px)!important;max-height:640px!important}
  body.v112-subpage .page-hero .wrap{padding-bottom:42px!important}
  #temple-overview,#temple-overview.cine-story{position:relative!important;height:auto!important;min-height:0!important;overflow:visible!important;transform:none!important}
  #temple-overview .feature-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;width:100%!important;transform:none!important;overflow:visible!important}
  #temple-overview .feature{width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;aspect-ratio:4/3!important;transform:none!important}
  #temple-overview .feature img,#abbot-overview img,.home-intro img,.rich-card img,.photo,.motion-card,.v112-depth{transform:none!important;scale:1!important;translate:none!important;filter:none!important}
  .rich-grid,.activity-grid,.news-grid{gap:18px!important}
}
@media (min-width:700px) and (max-width:900px) and (orientation:portrait){
  #temple-overview .feature-grid{grid-template-columns:1fr!important}
  #temple-overview .feature{aspect-ratio:16/9!important}
}
@media (min-width:1200px){
  .site-header .nav a{font-size:11.5px!important;letter-spacing:.055em!important}
  body.v112-subpage .page-hero .wrap{padding-bottom:58px!important}
}
@media (max-width:699px){
  body.v112-subpage .page-hero{min-height:58svh!important;max-height:none!important}
  body.v112-subpage .page-hero.hero-portrait>img{object-fit:cover!important}
  .page-hero h1{font-size:clamp(40px,12vw,56px)!important}
}
/* Reduce layout shift and enforce predictable media boxes. */
img{max-width:100%;height:auto}
.rich-card img,.small-card img,.feature img{display:block}

/* V11.3.48 Dhamma Editorial Experience — page-specific classes only */
.d48{background:#fbf8f1;color:#24364d}.d48 .wrap{max-width:1180px}
.d48-intro{padding:84px 0 62px;background:#fbf8f1}.d48-intro-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:center}
.d48-kicker{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#a47a2d;font-weight:700;margin-bottom:16px}
.d48 h2{font-family:Georgia,'Times New Roman',serif;color:#173a67;font-size:clamp(34px,4vw,56px);line-height:1.08;margin:0 0 20px}
.d48-lead{font-size:18px;line-height:1.8;max-width:720px;color:#58677a}
.d48-graphic{border-radius:28px;overflow:hidden;box-shadow:0 20px 60px rgba(23,58,103,.10);background:#f7f1e4}.d48-graphic img{display:block;width:100%;height:auto}
.d48-start{padding:72px 0;background:#fff}.d48-start-head{max-width:720px;margin-bottom:42px}
.d48-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid rgba(23,58,103,.13);border-radius:24px;overflow:hidden;background:#fff}
.d48-step{padding:28px 24px;min-height:178px;border-right:1px solid rgba(23,58,103,.12)}.d48-step:last-child{border-right:0}
.d48-step b{display:block;font-family:Georgia,serif;font-size:28px;color:#d0a44c;margin-bottom:18px}.d48-step h3{font-size:17px;color:#173a67;margin:0 0 8px}.d48-step p{font-size:14px;line-height:1.6;color:#687589;margin:0}
.d48-foundations{padding:92px 0}.d48-section-head{max-width:760px;margin-bottom:46px}
.d48-feature{display:grid;grid-template-columns:.88fr 1.12fr;gap:58px;align-items:center;padding:48px 0;border-top:1px solid rgba(23,58,103,.12)}.d48-feature:last-child{border-bottom:1px solid rgba(23,58,103,.12)}
.d48-feature:nth-child(even) .d48-graphic{order:2}.d48-feature-copy h3{font-family:Georgia,serif;font-size:clamp(28px,3vw,42px);color:#173a67;margin:0 0 14px}.d48-feature-copy p{font-size:16px;line-height:1.75;color:#5c6a7c}
.d48-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.d48-points span{border:1px solid rgba(23,58,103,.14);border-radius:999px;padding:8px 12px;font-size:12px;color:#173a67;background:#fff}
.d48-groups{padding:92px 0;background:#fff}.d48-group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.d48-group{border:1px solid rgba(23,58,103,.12);border-radius:22px;padding:30px;background:#fbf8f1}.d48-group h3{font-family:Georgia,serif;font-size:26px;color:#173a67;margin:0 0 10px}.d48-group>p{color:#657286;line-height:1.65;margin-bottom:20px}
.d48-group details{border-top:1px solid rgba(23,58,103,.12);padding:15px 0}.d48-group summary{cursor:pointer;color:#173a67;font-weight:700;list-style:none}.d48-group summary::-webkit-details-marker{display:none}.d48-group summary:after{content:'＋';float:right;color:#b58a38}.d48-group details[open] summary:after{content:'−'}.d48-group details p{font-size:14px;line-height:1.7;color:#657286;margin:12px 0 2px}
.d48-daily{padding:92px 0}.d48-daily-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:58px;align-items:start}.d48-daily-list{background:#fff;border-radius:22px;border:1px solid rgba(23,58,103,.12);overflow:hidden}
.d48-daily-list details{padding:21px 24px;border-bottom:1px solid rgba(23,58,103,.1)}.d48-daily-list details:last-child{border-bottom:0}.d48-daily-list summary{font-family:Georgia,serif;font-size:20px;color:#173a67;cursor:pointer}.d48-daily-list p{line-height:1.7;color:#647185;font-size:15px}
.d48-media{padding:92px 0;background:#173a67;color:#fff}.d48-media h2{color:#fff}.d48-media .d48-kicker{color:#e5c87a}.d48-media .d48-lead{color:#d6dfeb}
.d48-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:42px}.d48-media-card{border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:32px;background:rgba(255,255,255,.055)}.d48-media-card h3{font-family:Georgia,serif;font-size:28px;margin:0 0 12px;color:#fff}.d48-media-card p{color:#d6dfeb;line-height:1.7}.d48-media-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.d48-media-tags span{font-size:12px;padding:8px 11px;border:1px solid rgba(229,200,122,.35);border-radius:999px;color:#f2dfaa}
.d48-note{margin-top:28px;font-size:13px;color:#b9c6d8;max-width:820px;line-height:1.65}
@media(max-width:900px){.d48-intro-grid,.d48-feature,.d48-daily-grid{grid-template-columns:1fr;gap:34px}.d48-feature:nth-child(even) .d48-graphic{order:0}.d48-steps{grid-template-columns:1fr 1fr}.d48-step{border-bottom:1px solid rgba(23,58,103,.12)}.d48-group-grid{grid-template-columns:1fr}.d48-media-grid{grid-template-columns:1fr}}
@media(max-width:600px){.d48-intro,.d48-start,.d48-foundations,.d48-groups,.d48-daily,.d48-media{padding:62px 0}.d48-steps{grid-template-columns:1fr}.d48-step{min-height:0;border-right:0}.d48-feature{padding:34px 0}.d48-group{padding:24px}.d48-media-card{padding:25px}}
/* V11.3.48 Chief Abbot Dhamma Archive */
.d48-abbot-archive{padding:104px 0;background:#fff}.d48-abbot-feature{display:grid;grid-template-columns:1.12fr .88fr;gap:58px;align-items:center;padding:8px 0 52px}.d48-video-ratio{position:relative;aspect-ratio:16/9;border-radius:26px;overflow:hidden;background:#0b1728;box-shadow:0 22px 60px rgba(23,58,103,.14)}.d48-video-ratio iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.d48-source{font-size:12px;color:#788496;margin:13px 4px 0}.d48-abbot-copy h3{font-family:Georgia,serif;font-size:clamp(34px,4vw,52px);color:#173a67;margin:0 0 18px}.d48-abbot-copy>p{font-size:16px;line-height:1.78;color:#5d6b7e}.d48-abbot-copy blockquote{margin:27px 0 12px;padding-left:22px;border-left:3px solid #d0a44c;font-family:Georgia,serif;font-size:clamp(22px,2.4vw,30px);line-height:1.45;color:#173a67}.d48-transcript-note{font-size:12px!important;line-height:1.6!important;color:#8490a0!important}.d48-peace-themes{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(23,58,103,.12);border-bottom:1px solid rgba(23,58,103,.12);margin:12px 0 44px}.d48-peace-themes>div{padding:31px 25px;border-right:1px solid rgba(23,58,103,.11)}.d48-peace-themes>div:last-child{border-right:0}.d48-peace-themes span{display:block;color:#c89c45;font-family:Georgia,serif;font-size:21px;margin-bottom:14px}.d48-peace-themes h4{font-family:Georgia,serif;color:#173a67;font-size:20px;margin:0 0 10px}.d48-peace-themes p{font-size:13px;line-height:1.7;color:#697689;margin:0}.d48-transcript{border:1px solid rgba(23,58,103,.13);border-radius:22px;background:#fbf8f1;overflow:hidden;margin-bottom:56px}.d48-transcript summary{cursor:pointer;padding:23px 26px;list-style:none;display:flex;justify-content:space-between;gap:20px;color:#173a67;font-weight:700}.d48-transcript summary::-webkit-details-marker{display:none}.d48-transcript-body{padding:4px 26px 30px;max-width:880px}.d48-transcript-body p{font-size:15px;line-height:1.8;color:#59687b}.d48-archive-next{display:grid;grid-template-columns:190px 1fr;gap:30px;align-items:center;padding:28px;border-radius:24px;background:#173a67;color:#fff}.d48-archive-next-image{width:190px;aspect-ratio:4/5;border-radius:17px;overflow:hidden}.d48-archive-next-image img{width:100%;height:100%;object-fit:cover;object-position:center top}.d48-archive-next .d48-kicker{color:#e5c87a}.d48-archive-next h3{font-family:Georgia,serif;font-size:28px;color:#fff;margin:0 0 10px}.d48-archive-next p{color:#d8e1ec;line-height:1.7}.d48-fb-link{color:#f0d995;text-decoration:none;font-weight:700;font-size:14px}@media(max-width:900px){.d48-abbot-feature{grid-template-columns:1fr}.d48-peace-themes{grid-template-columns:1fr 1fr}}@media(max-width:600px){.d48-abbot-archive{padding:68px 0}.d48-peace-themes{grid-template-columns:1fr}.d48-archive-next{grid-template-columns:1fr}.d48-archive-next-image{width:100%;max-width:230px}.d48-transcript summary{flex-direction:column}}

/* V11.3.49 Mobile Dhamma Breathing Pass */
@media (max-width:700px){
  .d48-intro,.d48-start,.d48-foundations,.d48-groups,.d48-daily,.d48-abbot-archive,.d48-media{padding-top:82px!important;padding-bottom:82px!important}
  .d48-section-head{margin-bottom:44px!important}
  .d48 h2{font-size:clamp(36px,10.5vw,48px)!important;line-height:1.06!important;letter-spacing:-.02em!important}
  .d48-lead{font-size:16px!important;line-height:1.75!important;margin-top:18px!important}
  .d48-feature{padding:44px 0!important;gap:28px!important}
  .d48-feature-copy h3{font-size:clamp(31px,8.8vw,40px)!important;line-height:1.1!important;margin-bottom:18px!important}
  .d48-feature-copy p{font-size:16px!important;line-height:1.75!important}
  .d48-points{display:flex!important;flex-wrap:wrap!important;gap:9px!important;margin-top:24px!important}
  .d48-points span{display:inline-flex!important;align-items:center!important;width:auto!important;margin:0!important;padding:8px 12px!important;border:1px solid rgba(23,58,103,.14)!important;border-radius:999px!important;background:#fff!important;font-size:13px!important;line-height:1.2!important}

  .d48-group-grid{display:block!important}
  .d48-group{padding:0 0 46px!important;margin:0 0 46px!important;border:0!important;border-bottom:1px solid rgba(23,58,103,.12)!important;border-radius:0!important;background:transparent!important}
  .d48-group:last-child{margin-bottom:0!important;padding-bottom:0!important;border-bottom:0!important}
  .d48-group h3{font-size:clamp(30px,8.5vw,39px)!important;line-height:1.1!important;margin:0 0 18px!important}
  .d48-group>p{font-size:16px!important;line-height:1.7!important;margin:0 0 24px!important}
  .d48-group details{margin:0 0 12px!important;padding:0!important;border:1px solid rgba(23,58,103,.11)!important;border-radius:14px!important;background:#fff!important;overflow:hidden!important}
  .d48-group details summary{padding:16px 17px!important;font-size:16px!important;line-height:1.35!important}
  .d48-group details p{padding:0 17px 17px!important;margin:0!important;font-size:15px!important;line-height:1.7!important}

  .d48-daily-grid{gap:36px!important}
  .d48-daily-list{border-radius:18px!important}
  .d48-daily-list details{padding:20px!important}
  .d48-daily-list summary{font-size:18px!important;line-height:1.4!important}
  .d48-daily-list p{font-size:15px!important;line-height:1.75!important;margin-top:14px!important}

  .d48-abbot-archive{border-top:20px solid #173a67!important}
  .d48-abbot-feature{gap:36px!important;padding-bottom:52px!important}
  .d48-abbot-copy h3{font-size:38px!important;line-height:1.08!important}
  .d48-abbot-copy>p{font-size:16px!important;line-height:1.75!important}
  .d48-abbot-copy blockquote{font-size:22px!important;line-height:1.5!important;margin:26px 0 14px!important}
  .d48-peace-themes{display:block!important;margin:10px 0 44px!important}
  .d48-peace-themes>div{padding:24px 0!important;border-right:0!important;border-bottom:1px solid rgba(23,58,103,.11)!important}
  .d48-peace-themes>div:last-child{border-bottom:0!important}
  .d48-peace-themes h4{font-size:21px!important}
  .d48-peace-themes p{font-size:15px!important;line-height:1.7!important}
  .d48-transcript{margin-bottom:64px!important}
  .d48-archive-next{grid-template-columns:1fr!important;gap:24px!important;padding:0!important;background:transparent!important;color:inherit!important;border-radius:0!important}
  .d48-archive-next-image{width:100%!important;max-width:none!important;aspect-ratio:16/9!important;border-radius:18px!important}
  .d48-archive-next h3{color:#173a67!important;font-size:34px!important;line-height:1.08!important;margin:8px 0 18px!important}
  .d48-archive-next p{color:#6d6a63!important;font-size:16px!important;line-height:1.75!important;margin-bottom:20px!important}
  .d48-fb-link{display:inline-block!important;color:#173a67!important;padding:8px 0 0!important}

  .d48-media{border-top:20px solid #d7b662!important}
  .d48-media-grid{gap:28px!important}
  .d48-media-card{padding:26px!important}
  .d48-media-card h3{font-size:29px!important;line-height:1.12!important;margin-bottom:14px!important}
  .d48-media-card p{font-size:15px!important;line-height:1.7!important}
  .d48-media-tags{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:22px!important}
  .d48-media-tags span{display:block!important;width:100%!important;margin:0!important;padding:12px 14px!important;border:1px solid rgba(229,200,122,.3)!important;border-radius:12px!important;font-size:14px!important;line-height:1.3!important;white-space:normal!important}
}

/* V11.3.50 — mobile spacing + hard cache-bust */
.d50-section-divider{display:none}
@media(max-width:700px){
  .d48 .wrap{padding-left:24px!important;padding-right:24px!important}
  .d48-intro,.d48-start,.d48-foundations,.d48-groups,.d48-daily,.d48-abbot-archive,.d48-media{padding-top:92px!important;padding-bottom:92px!important}

  .d48-feature{display:block!important;padding:0 0 76px!important;margin:0 0 76px!important;border-top:0!important;border-bottom:1px solid rgba(23,58,103,.12)!important}
  .d48-feature:last-child{margin-bottom:0!important;padding-bottom:0!important;border-bottom:0!important}
  .d48-feature .d48-graphic{margin-bottom:34px!important}
  .d48-feature-copy h3{font-size:38px!important;line-height:1.08!important;margin:0 0 25px!important}
  .d48-feature-copy p{font-size:17px!important;line-height:1.85!important;margin:0!important}
  .d48-points{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:28px!important}
  .d48-points span{display:inline-flex!important;margin:0!important;padding:9px 13px!important;line-height:1.25!important}

  .d48-section-head{margin-bottom:54px!important}
  .d48-section-head h2{font-size:42px!important;line-height:1.06!important;margin-bottom:24px!important}
  .d48-section-head .d48-lead{font-size:17px!important;line-height:1.8!important}

  .d48-group-grid{display:block!important}
  .d48-group{padding:0 0 66px!important;margin:0 0 66px!important;border:0!important;border-bottom:1px solid rgba(23,58,103,.14)!important;border-radius:0!important;background:transparent!important}
  .d48-group:last-child{padding-bottom:0!important;margin-bottom:0!important;border-bottom:0!important}
  .d48-group h3{font-size:36px!important;line-height:1.1!important;margin:0 0 24px!important}
  .d48-group>p{font-size:17px!important;line-height:1.75!important;margin:0 0 30px!important}
  .d48-group details{padding:0!important;margin:0 0 14px!important;border:1px solid rgba(23,58,103,.12)!important;border-radius:14px!important;background:#fff!important;overflow:hidden!important}
  .d48-group details summary{padding:17px 18px!important;font-size:16px!important;line-height:1.4!important}
  .d48-group details p{margin:0!important;padding:0 18px 18px!important;font-size:15px!important;line-height:1.75!important}

  .d48-daily-grid{display:block!important}
  .d48-daily-grid>div:first-child{margin-bottom:44px!important}
  .d48-daily h2{font-size:43px!important;line-height:1.06!important;margin-bottom:25px!important}
  .d48-daily .d48-lead{font-size:17px!important;line-height:1.8!important}
  .d48-daily-list details{padding:0!important;margin:0 0 14px!important;border:1px solid rgba(23,58,103,.12)!important;border-radius:14px!important;background:#fff!important;overflow:hidden!important}
  .d48-daily-list details summary{padding:17px 18px!important;font-size:16px!important;line-height:1.4!important}
  .d48-daily-list details p{padding:0 18px 19px!important;margin:0!important;font-size:15px!important;line-height:1.75!important}

  .d50-section-divider{display:flex!important;align-items:center!important;gap:14px!important;padding:34px 24px!important;background:#173a67!important;color:#efd890!important;font-size:10px!important;letter-spacing:.17em!important;text-transform:uppercase!important}
  .d50-section-divider:before,.d50-section-divider:after{content:"";height:1px;flex:1;background:rgba(239,216,144,.34)}

  .d48-abbot-archive .d48-section-head h2{font-size:40px!important;line-height:1.05!important;max-width:9.4em!important}
  .d48-abbot-archive .d48-section-head{margin-bottom:50px!important}
  .d48-abbot-feature{display:block!important;padding:0 0 66px!important}
  .d48-video-shell,.d48-video-ratio{margin-bottom:20px!important}
  .d48-abbot-copy{padding-top:34px!important}
  .d48-abbot-copy h3{font-size:38px!important;line-height:1.08!important;margin-bottom:23px!important}
  .d48-abbot-copy>p{font-size:17px!important;line-height:1.8!important}
  .d48-abbot-copy blockquote{font-size:23px!important;line-height:1.55!important;margin:30px 0 17px!important}
  .d48-peace-themes{display:block!important;margin:8px 0 58px!important}
  .d48-peace-themes>div{padding:30px 0!important;border-right:0!important;border-bottom:1px solid rgba(23,58,103,.12)!important}
  .d48-peace-themes h4{font-size:22px!important;margin-bottom:13px!important}
  .d48-peace-themes p{font-size:15px!important;line-height:1.75!important}
  .d48-transcript{margin-bottom:76px!important}
  .d48-archive-next{display:block!important;padding:0!important;background:transparent!important;border-radius:0!important}
  .d48-archive-next-image{width:100%!important;max-width:none!important;aspect-ratio:16/9!important;margin-bottom:28px!important;border-radius:18px!important}
  .d48-archive-next h3{font-size:35px!important;line-height:1.1!important;color:#173a67!important;margin:8px 0 24px!important}
  .d48-archive-next p{font-size:17px!important;line-height:1.8!important;color:#6b6861!important;margin-bottom:24px!important}
  .d48-fb-link{display:inline-block!important;padding:8px 0 4px!important;color:#173a67!important}

  .d48-media h2{font-size:42px!important;line-height:1.06!important;margin-bottom:26px!important}
  .d48-media .d48-lead{font-size:17px!important;line-height:1.8!important}
  .d48-media-grid{display:block!important;margin-top:48px!important}
  .d48-media-card{padding:28px 22px!important;margin-bottom:22px!important}
  .d48-media-card h3{font-size:29px!important;line-height:1.12!important;margin-bottom:16px!important}
  .d48-media-card p{font-size:16px!important;line-height:1.75!important}
  .d48-media-tags{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;margin-top:26px!important}
  .d48-media-tags span{display:block!important;width:100%!important;box-sizing:border-box!important;margin:0!important;padding:13px 14px!important;white-space:normal!important;line-height:1.35!important}
}
