@font-face{font-family:"GondesanTitle";src:url("/fonts/ZCOOLXiaoWei-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"GondesanBrush";src:url("/fonts/MaShanZheng-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--ink:#17140f;--cream:#f7f2e9;--paper:#fffdf8;--gold:#b68a45;--muted:#756d63;--dark:#0c1014;--line:#dfd4c3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}.loading{min-height:100vh;display:grid;place-items:center}.serif,h1,h2{font-family:Georgia,"Times New Roman","Songti SC",serif}.section{position:relative;overflow:hidden}.wrap{width:min(1180px,92vw);margin:auto}.hero{min-height:100vh;background:#111;color:#fff;display:flex;align-items:center}.hero-media{position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,#66421f 0,#1b140e 40%,#070707 100%);background-size:cover;background-position:center}.hero-media:after{display:none!important}.brand{position:absolute;top:28px;left:4vw;z-index:2;display:flex;gap:12px;align-items:center;letter-spacing:.16em}.brand-mark{width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold)}.brand small{display:block;font-size:8px;letter-spacing:.19em}.hero-content{position:relative;z-index:2;width:min(600px,88vw);margin-left:max(4vw,calc((100vw - 1180px)/2));padding:120px 0}.hero h1{font-size:clamp(54px,7vw,104px);line-height:.94;margin:0 0 24px}.hero .subtitle{font-size:clamp(18px,2vw,28px);color:#d6ab67}.hero p{max-width:580px;line-height:1.8}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border:1px solid rgba(255,255,255,.6);color:inherit;text-decoration:none;font-weight:700;font-size:13px;letter-spacing:.04em}.btn.primary{background:var(--gold);border-color:var(--gold);color:#fff}.master{padding:100px 0;background:linear-gradient(90deg,#f5ecde,#fffdf8)}.master-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}.portrait,.gondesan-image{min-height:540px;background:linear-gradient(135deg,#cdbda3,#f7f0e4);background-size:cover;background-position:center;border-radius:2px}.eyebrow{color:var(--gold);font-weight:800;font-size:12px;letter-spacing:.18em}.section h2{font-size:clamp(38px,5vw,64px);line-height:1.04;margin:10px 0 18px}.body-copy{line-height:1.85;color:#4c463f}.highlight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px}.highlight{padding:16px;border-left:2px solid var(--gold);background:rgba(255,255,255,.55)}.gondesan{min-height:72vh;color:#fff;display:flex;align-items:end;background:#1c2823}.gondesan-bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,13,11,.2),rgba(8,13,11,.9)),radial-gradient(circle at 70% 20%,#7b6a45,#23342d 50%,#111);background-size:cover;background-position:center}.gondesan-content{position:relative;z-index:1;padding:100px 0 80px}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}.value{border:1px solid rgba(204,169,101,.55);border-radius:999px;aspect-ratio:1/1;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:24px;background:rgba(0,0,0,.18);backdrop-filter:blur(4px)}.value h3{margin:0 0 8px;color:#e0b86f}.timeline-section,.videos-section,.gallery-section,.principles{padding:72px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section-head h2{font-size:clamp(30px,4vw,48px);margin:0}.timeline-track{display:flex;gap:18px;overflow-x:auto;padding:12px 4px 18px;scroll-snap-type:x mandatory}.timeline-card{min-width:220px;scroll-snap-align:start}.thumb{aspect-ratio:16/9;background:linear-gradient(135deg,#a47a45,#2f241b);background-size:cover;background-position:center;position:relative;overflow:hidden}.thumb:after{content:"▶";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:28px;background:rgba(0,0,0,.16)}.meta{padding-top:10px}.meta b{display:block}.meta small{color:var(--muted)}.toggle{display:flex;align-items:center;gap:10px;margin:20px auto 0;border:0;background:none;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.toggle .chev{width:30px;height:30px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;transition:.3s}.toggle.open .chev{transform:rotate(180deg)}.principles{background:#fbf7f0}.principles-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0}.principle{text-align:center;padding:24px;border-right:1px solid var(--line)}.principle:last-child{border-right:0}.principle-icon{font-size:32px;color:var(--gold)}.video-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}.video-card{cursor:pointer}.video-card .thumb{border-radius:2px}.video-card h3{font-size:15px;margin:8px 0 0}.quote{padding:70px 0;background:linear-gradient(90deg,#efe6d6,#fff)}.quote-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:56px;align-items:center}.quote-photo{min-height:350px;background:linear-gradient(135deg,#a99472,#eee2d0);background-size:cover;background-position:center}.quote blockquote{font-family:Georgia,"Times New Roman","Songti SC",serif;font-size:clamp(26px,3vw,44px);line-height:1.4;margin:0}.quote .en{font-size:18px;color:#6d6257}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:12px}.gallery-item{background:#ddd;background-size:cover;background-position:center;position:relative;cursor:pointer;overflow:hidden}.gallery-item:nth-child(7n+1){grid-column:span 2;grid-row:span 2}.gallery-item video{width:100%;height:100%;object-fit:cover}.gallery-caption{position:absolute;inset:auto 0 0;padding:28px 14px 12px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.75));font-size:13px}.footer{background:#0b0e11;color:#eee;padding:54px 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr;gap:34px}.footer a{color:#ddd;text-decoration:none}.footer small{color:#aaa}.qr{width:130px;height:130px;background:#fff;background-size:cover;background-position:center}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:9999;display:grid;place-items:center;padding:28px}.lightbox[hidden]{display:none}.lightbox-close{position:absolute;top:16px;right:22px;border:0;background:none;color:#fff;font-size:40px;cursor:pointer}.lightbox-body{width:min(1100px,95vw);max-height:90vh}.lightbox-body iframe,.lightbox-body img,.lightbox-body video{width:100%;max-height:88vh;object-fit:contain;border:0}.reveal-extra{display:none}.reveal-extra.open{display:contents}@media(max-width:900px){.master-grid,.quote-grid{grid-template-columns:1fr}.values{grid-template-columns:repeat(2,1fr)}.video-grid{grid-template-columns:repeat(2,1fr)}.principles-grid{grid-template-columns:repeat(2,1fr)}.principle{border-bottom:1px solid var(--line)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.hero-content{padding-top:150px}.portrait{min-height:420px}}@media(max-width:560px){.hero h1{font-size:52px}.values{grid-template-columns:1fr 1fr}.value{aspect-ratio:auto;border-radius:24px;min-height:150px}.highlight-grid,.footer-grid{grid-template-columns:1fr}.video-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:230px}.gallery-item:nth-child(7n+1){grid-column:auto;grid-row:auto}.principles-grid{grid-template-columns:1fr}.master,.timeline-section,.videos-section,.gallery-section{padding:58px 0}}


/* V1.5 动态滚动增强：保持首页纯净，不恢复文字和灰色遮罩 */
.hero-media{filter:none!important;opacity:1!important;will-change:transform;transform-origin:center center}
.hero-scroll-cue{position:absolute;left:50%;bottom:28px;z-index:2;width:28px;height:48px;border:1px solid rgba(255,255,255,.7);border-radius:18px;transform:translateX(-50%);backdrop-filter:blur(4px)}
.hero-scroll-cue span{position:absolute;left:50%;top:10px;width:4px;height:9px;border-radius:9px;background:#fff;transform:translateX(-50%);animation:scrollCue 1.6s ease-in-out infinite}
@keyframes scrollCue{0%{opacity:0;transform:translate(-50%,0)}25%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translate(-50%,17px)}}
.section>.wrap,.master-grid,.gondesan-content,.quote-grid{will-change:transform,opacity}
.portrait,.quote-photo,.gondesan-bg,.timeline-card,.video-card,.gallery-item,.value,.principle{will-change:transform,opacity,filter}
.timeline-card,.video-card,.gallery-item,.value,.principle{transition:box-shadow .35s ease,border-color .35s ease}
.timeline-card:hover,.video-card:hover,.gallery-item:hover,.value:hover,.principle:hover{box-shadow:0 20px 44px rgba(31,24,15,.16)}
.gallery-item:after,.video-card .thumb:before,.timeline-card .thumb:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.22) 48%,transparent 72%);transform:translateX(-130%);transition:transform .75s ease;pointer-events:none;z-index:2}
.gallery-item:hover:after,.video-card:hover .thumb:before,.timeline-card:hover .thumb:before{transform:translateX(130%)}
.reduced-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:900px){.hero-scroll-cue{bottom:18px}.timeline-track{transform:none!important}}
@media(prefers-reduced-motion:reduce){.hero-scroll-cue{display:none}}


/* Master section V2 */
.master{padding:100px 0;background:linear-gradient(90deg,#f5ecde,#fffdf8)}
.master-grid{grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.master-copy{position:relative;padding:44px 42px 42px 48px;background:linear-gradient(90deg,#f7f1e6 0%,#fbf7ef 100%);border-top:1px solid rgba(184,132,53,.42);border-bottom:1px solid rgba(184,132,53,.24);box-shadow:0 28px 74px rgba(90,56,20,.1);overflow:hidden}
.master-copy:before{content:"";position:absolute;left:18px;top:44px;bottom:44px;width:3px;background:linear-gradient(180deg,transparent,var(--gold),transparent)}
.master-copy>*{position:relative;z-index:1}
.section h2.master-name{font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:clamp(48px,5.1vw,82px);font-weight:500;line-height:1.02;letter-spacing:.02em;color:#0d0b08;margin:12px 0 0;white-space:nowrap;text-shadow:0 1px 0 rgba(255,255,255,.5)}
.master-name-rule{width:min(620px,100%);height:2px;margin:24px 0 26px;background:linear-gradient(90deg,var(--gold),rgba(184,132,53,.08))}
.master-intro{margin:0 0 26px;color:#2d251c;font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:clamp(21px,1.75vw,28px);font-weight:800;line-height:1.42}
.master-roles-panel{position:relative;padding:24px 28px 28px;background:radial-gradient(circle at 78% 30%,rgba(184,132,53,.075),transparent 32%),linear-gradient(135deg,rgba(184,132,53,.07),rgba(255,255,255,.18) 42%,rgba(184,132,53,.035));border-top:1px solid rgba(184,132,53,.42);border-bottom:1px solid rgba(184,132,53,.42);box-shadow:0 18px 42px rgba(90,56,20,.07);overflow:hidden}
.master-roles-panel:before,.master-roles-panel:after{content:"";position:absolute;top:0;bottom:0;width:5px;background:var(--gold)}
.master-roles-panel:before{left:0}.master-roles-panel:after{right:0;opacity:.55}
.roles-label{margin:0 0 18px;color:var(--gold);font:800 18px/1.1 Arial,"PingFang SC",sans-serif;letter-spacing:.22em}
.master-roles-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px 12px}
.master-role{min-height:58px;display:flex;align-items:center;padding:8px 12px 8px 14px;color:#473d31;background:transparent;border-left:3px solid rgba(184,132,53,.72);box-shadow:inset 0 -1px 0 rgba(184,132,53,.18);font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:clamp(15px,1.05vw,17px);font-weight:800;line-height:1.22}
.master-role.feature{color:#1e170f;background:linear-gradient(90deg,rgba(184,132,53,.22),rgba(184,132,53,.08));border-left-color:var(--gold);box-shadow:inset 0 -1px 0 rgba(184,132,53,.2),0 10px 24px rgba(184,132,53,.14);transform:translateY(-1px)}
@media(max-width:900px){.master-copy{padding:34px 24px}.section h2.master-name{white-space:normal}.master-roles-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.master-roles-panel{padding:20px 18px}.master-roles-grid{grid-template-columns:1fr}.master-role{min-height:auto;font-size:16px}}


/* Master section height tuning */
@media(min-width:901px){
  .master-grid{align-items:stretch}
  .portrait{min-height:620px;height:auto}
  .master-copy{height:auto;min-height:620px;padding:32px 34px 30px 42px;display:flex;flex-direction:column;justify-content:flex-start}
  .master-copy:before{top:32px;bottom:32px}
  .section h2.master-name{font-size:clamp(48px,4.4vw,66px);line-height:1;margin-top:10px}
  .master-name-rule{margin:18px 0 18px;width:min(560px,100%)}
  .master-intro{font-size:22px;line-height:1.36;margin-bottom:18px}
  .master-roles-panel{padding:18px 22px 20px;flex:1;display:flex;flex-direction:column;justify-content:flex-start}
  .roles-label{font-size:15px;margin-bottom:12px}
  .master-roles-grid{gap:7px 10px}
  .master-role{min-height:41px;padding:6px 10px 6px 12px;font-size:14px;line-height:1.16}
}



/* Master name raised generation marker */
.master-name .name-raised{display:inline-block;font-size:.82em;transform:translateY(-.42em);transform-origin:center bottom}
.timeline-copy h2 .name-raised{display:inline-block;font-size:.62em;line-height:0;vertical-align:super;transform:translateY(-.28em);margin:0 .04em}


/* 2026 ceremony section */
.ceremony{padding:66px 0;background:linear-gradient(180deg,#fffdf8 0%,#f4ecdf 100%);color:#1b1510}
.ceremony:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 14%,rgba(184,132,53,.16),transparent 30%),radial-gradient(circle at 88% 22%,rgba(139,30,26,.09),transparent 28%);pointer-events:none}
.ceremony-grid{position:relative;display:grid;grid-template-columns:.86fr 1.14fr;gap:24px;align-items:stretch}
.ceremony-map-panel{display:grid;grid-template-rows:1fr auto;min-height:560px;background:#17120d;color:#fff;box-shadow:0 22px 58px rgba(91,58,22,.14);overflow:hidden}
.ceremony-map{position:relative;min-height:360px;background:#d8cab7}
.ceremony-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.86) contrast(.96)}
.ceremony-branch{padding:20px 24px;background:linear-gradient(135deg,#20160d,#6e231c 58%,#a97834);display:grid;gap:7px}
.ceremony-branch small{color:#dfb66f;font-weight:900;letter-spacing:.22em}
.ceremony-branch strong{font-size:18px;line-height:1.32;font-family:Georgia,"Times New Roman","Songti SC",serif}
.ceremony-branch span{color:#f6e9d3;font-weight:800}
.ceremony-content{position:relative;padding:28px 32px;background:rgba(255,255,255,.74);border-top:1px solid rgba(184,132,53,.35);border-bottom:1px solid rgba(184,132,53,.35);box-shadow:0 20px 48px rgba(91,58,22,.11);backdrop-filter:blur(8px)}
.ceremony-content h2{font-size:clamp(38px,4.2vw,58px);line-height:.98;margin:8px 0 10px;color:#8f1e19;text-shadow:0 1px 0 #fff}
.ceremony-subtitle{margin:0;color:#a97834;font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:clamp(20px,1.8vw,28px);font-weight:900;letter-spacing:.06em}
.ceremony-desc{max-width:680px;margin:10px 0 14px;color:#52463b;font-size:15px;line-height:1.55}
.ceremony-master{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;align-items:end;margin:0 0 14px;padding:11px 14px;border-left:4px solid #b68a45;background:linear-gradient(90deg,rgba(184,132,53,.13),rgba(255,255,255,.54))}
.ceremony-master>span{grid-row:span 2;color:#9b6e2f;font-weight:900;letter-spacing:.14em;writing-mode:vertical-rl}
.ceremony-master b{font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:clamp(27px,2.7vw,40px);font-weight:600;line-height:1;color:#0e0b08}
.ceremony-master small{color:#62584e;font-weight:800}
.ceremony-events{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 12px}
.ceremony-event{padding:13px 14px 12px;background:#fff;border:1px solid rgba(184,132,53,.28);box-shadow:0 10px 22px rgba(91,58,22,.07)}
.event-name{display:inline-flex;margin-bottom:8px;padding:5px 9px;background:#8f1e19;color:#fff;font-weight:900;letter-spacing:.04em;font-size:13px}
.event-time{font-family:Georgia,"Times New Roman","Songti SC",serif;font-size:22px;line-height:1.16;color:#0d0b08;font-weight:900}
.event-place{margin-top:9px;font-weight:900;color:#9b6e2f}
.event-place span{display:block;margin-top:5px;color:#544b42;font-weight:700;line-height:1.45}
.ceremony-event p{margin:8px 0 0;color:#756d63;font-weight:800;font-size:13px}
.ceremony-lower{display:grid;grid-template-columns:1fr 150px;gap:14px;align-items:stretch;margin-top:6px}
.ceremony-mini-title{font-weight:900;color:#62201c;margin-bottom:8px;font-size:14px}
.ceremony-plaques{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ceremony-plaques span{padding:7px 8px;background:rgba(143,30,25,.07);border-left:2px solid rgba(143,30,25,.55);font-weight:800;color:#483a31;font-size:12px}
.ceremony-benefits{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ceremony-benefits b{padding:6px 8px;border:1px solid rgba(184,132,53,.45);color:#9b6e2f;background:rgba(255,255,255,.56);font-size:12px}
.ceremony-register{display:grid;place-items:center;text-align:center;gap:4px;padding:10px 10px;background:#fff;color:#1b1510;text-decoration:none;border:2px solid rgba(143,30,25,.2);box-shadow:0 14px 28px rgba(91,58,22,.1)}
.ceremony-register img{width:96px;height:96px;object-fit:contain}
.ceremony-register span{font-size:18px;color:#8f1e19;font-weight:900}
.ceremony-register small{color:#5d5146;font-weight:800;line-height:1.35}
.ceremony-gallery-head{display:flex;justify-content:space-between;align-items:center;margin:14px 0 8px}
.ceremony-gallery-head b{font-size:16px;color:#1b1510}
.ceremony-gallery-head button{border:0;background:none;color:#8f1e19;font-weight:900;cursor:pointer}
.ceremony-gallery-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.ceremony-photo{position:relative;min-height:66px;border:0;background:#c9b995;background-size:cover;background-position:center;cursor:pointer;overflow:hidden}
.ceremony-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.72));}
.ceremony-photo span{position:absolute;z-index:1;left:8px;right:8px;bottom:7px;color:#fff;font-size:12px;font-weight:800;text-align:left}
.collection-view{width:min(1100px,95vw);max-height:86vh;overflow:auto;color:#fff}
.collection-view h3{margin:0 0 18px;font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:30px}
.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.collection-item{position:relative;min-height:190px;border:0;background:#ddd;background-size:cover;background-position:center;cursor:pointer;overflow:hidden}
.collection-item:after{content:"";position:absolute;inset:auto 0 0;height:52%;background:linear-gradient(transparent,rgba(0,0,0,.82))}
.collection-item span{position:absolute;z-index:1;left:12px;right:12px;bottom:11px;color:#fff;font-weight:800;text-align:left}
@media(max-width:1000px){.ceremony-grid{grid-template-columns:1fr}.ceremony-map-panel{min-height:auto}.ceremony-map{min-height:360px}.ceremony-content{padding:34px 24px}.ceremony-lower{grid-template-columns:1fr}.ceremony-register{grid-template-columns:auto 1fr;justify-items:start;text-align:left}.ceremony-register img{grid-row:span 2}.ceremony-gallery-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.ceremony{padding:64px 0}.ceremony-events{grid-template-columns:1fr}.ceremony-plaques{grid-template-columns:1fr 1fr}.ceremony-master{grid-template-columns:1fr}.ceremony-master span{writing-mode:horizontal-tb;grid-row:auto}.ceremony-register img{width:104px;height:104px}.collection-grid{grid-template-columns:1fr 1fr}.collection-item{min-height:150px}}


/* Ceremony poster layout based on selected reference */
.ceremony{padding:64px 0;background:linear-gradient(90deg,#f3e8d7,#fff8ea 50%,#f5e7d0);color:#1b1510}
.ceremony:before{background:radial-gradient(circle at 20% 8%,rgba(255,226,154,.5),transparent 22%),radial-gradient(circle at 88% 16%,rgba(143,30,25,.1),transparent 25%)}
.ceremony-poster-grid{position:relative;display:grid;grid-template-columns:.78fr 1fr;gap:22px;align-items:stretch}
.ceremony-left-card,.ceremony-content{position:relative;min-height:680px;box-shadow:0 22px 70px rgba(93,58,20,.13);overflow:hidden}
.ceremony-left-card{display:grid;grid-template-rows:1fr 205px auto;background:#f8f0df}
.ceremony-left-card .ceremony-map{min-height:350px}
.ceremony-venue-photo{position:relative;background:linear-gradient(135deg,#442b18,#c29b5b);background-size:cover;background-position:center;overflow:hidden}
.ceremony-venue-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,244,216,.1),rgba(46,20,11,.72))}
.ceremony-venue-photo span{position:absolute;z-index:1;right:22px;bottom:18px;color:#fff5dc;font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:18px;font-weight:900;letter-spacing:.08em;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.ceremony-left-card .ceremony-branch{padding:22px 26px;background:linear-gradient(135deg,#821d18,#5b1714 58%,#a66f2d);gap:8px}
.ceremony-left-card .ceremony-branch small{color:#f5d58e;font-size:15px}
.ceremony-left-card .ceremony-branch strong{font-size:20px;color:#fff}
.ceremony-left-card .ceremony-branch span{font-size:20px;color:#fff0d2}
.ceremony-left-card .ceremony-branch em{font-style:normal;color:#ffe7b3;font-size:14px;line-height:1.45}
.ceremony-content{padding:34px 34px 26px;background:linear-gradient(135deg,rgba(255,253,247,.96),rgba(255,245,225,.93));border:1px solid rgba(184,132,53,.24)}
.ceremony-content:before{content:"";position:absolute;inset:18px;border:1px solid rgba(184,132,53,.22);pointer-events:none}
.ceremony-guanyin{position:absolute;right:0;top:0;width:38%;height:270px;background-size:contain;background-position:right top;background-repeat:no-repeat;opacity:.24;filter:saturate(.65)}
.ceremony-hero-copy{position:relative;z-index:1;text-align:center;padding-right:110px}
.ceremony-content h2{font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:clamp(42px,4.3vw,66px);line-height:.98;margin:10px 0;color:#941d18;letter-spacing:.08em}
.ceremony-subtitle{font-size:clamp(21px,2vw,32px);color:#9b6e2f}
.ceremony-desc{margin:10px auto 14px;max-width:620px;font-size:15px;line-height:1.55}
.ceremony-master{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr 142px;min-height:112px;align-items:center;gap:14px;margin:0 0 16px;padding:12px 12px 12px 18px;background:linear-gradient(90deg,rgba(184,132,53,.13),rgba(255,255,255,.55),rgba(184,132,53,.08));border:1px solid rgba(184,132,53,.28);border-left:0}
.ceremony-master:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;background:#b68a45}
.ceremony-master>span{grid-row:auto;writing-mode:vertical-rl;color:#8d5f22;font-size:17px;letter-spacing:.18em}
.ceremony-master b{display:block;font-size:clamp(30px,3vw,44px);line-height:1.04}
.ceremony-master small{display:block;margin-top:7px;line-height:1.35}
.ceremony-master-photo{width:132px;align-self:stretch;min-height:100px;background:linear-gradient(135deg,#e8d4ad,#fff6dc);background-size:cover;background-position:center top}
.ceremony-events{position:relative;z-index:1;gap:13px;margin-bottom:12px}
.ceremony-event{background:rgba(255,255,255,.76);border-color:rgba(184,132,53,.34);box-shadow:none}
.event-name{border-radius:2px;background:linear-gradient(90deg,#8d1713,#a93722)}
.ceremony-lower{position:relative;z-index:1;grid-template-columns:1fr 146px}
.ceremony-plaques span{background:rgba(184,132,53,.1);border-left-color:#b68a45}
.ceremony-register{border-color:rgba(143,30,25,.25);background:rgba(255,255,255,.86)}
.ceremony-gallery-head,.ceremony-gallery-strip{position:relative;z-index:1}
.ceremony-photo{min-height:62px}
@media(max-width:1050px){.ceremony-poster-grid{grid-template-columns:1fr}.ceremony-left-card,.ceremony-content{min-height:auto}.ceremony-left-card{grid-template-rows:350px 220px auto}.ceremony-hero-copy{padding-right:0}.ceremony-guanyin{width:240px;height:220px;opacity:.16}.ceremony-master{grid-template-columns:auto 1fr 120px}}
@media(max-width:620px){.ceremony-content{padding:28px 18px 22px}.ceremony-content:before{inset:10px}.ceremony-master{grid-template-columns:1fr}.ceremony-master span{writing-mode:horizontal-tb}.ceremony-master-photo{width:100%;height:180px}.ceremony-left-card{grid-template-rows:300px 180px auto}.ceremony-events{grid-template-columns:1fr}.ceremony-lower{grid-template-columns:1fr}.ceremony-register{grid-template-columns:auto 1fr}.ceremony-gallery-strip{grid-template-columns:repeat(2,1fr)}}


/* Ceremony right panel poster match */
@media(min-width:1051px){
  .ceremony-poster-grid{grid-template-columns:.78fr 1fr;max-width:1280px}
  .ceremony-left-card,.ceremony-content{min-height:718px}
}
.ceremony-content{
  padding:28px 28px 22px;
  background:
    radial-gradient(circle at 5% 17%,rgba(221,170,84,.18),transparent 12%),
    radial-gradient(circle at 89% 48%,rgba(222,172,95,.18),transparent 22%),
    linear-gradient(135deg,rgba(255,253,247,.98),rgba(255,247,231,.96));
}
.ceremony-content:before{inset:14px;border-color:rgba(184,132,53,.18)}
.ceremony-content:after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  height:190px;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 78% 30%,rgba(215,164,86,.16),transparent 34%),
    repeating-radial-gradient(ellipse at 78% 100%,transparent 0 22px,rgba(184,132,53,.12) 23px 24px,transparent 25px 48px);
  opacity:.8;
}
.ceremony-guanyin{
  right:20px;
  top:16px;
  width:230px;
  height:250px;
  display:none;
  opacity:0;
  filter:sepia(.22) saturate(.75);
}
.ceremony-hero-copy{
  position:relative;
  z-index:2;
  min-height:170px;
  padding:0;
  text-align:center;
}
.ceremony-hero-copy .eyebrow{
  color:#9d6d2c;
  font-size:12px;
  letter-spacing:.42em;
  line-height:1;
  margin-top:6px;
}
.ceremony-content h2{
  margin:12px 0 9px;
  color:#981c17;
  font-size:clamp(44px,4.45vw,64px);
  line-height:.98;
  letter-spacing:.08em;
  font-weight:900;
  text-shadow:0 1px 0 rgba(255,255,255,.8),0 7px 22px rgba(143,30,25,.08);
}
.ceremony-subtitle{
  color:#9f6c26;
  font-size:clamp(23px,2.2vw,33px);
  line-height:1.1;
  letter-spacing:.16em;
}
.ceremony-desc{
  max-width:560px;
  margin:12px auto 0;
  color:#392f25;
  font-size:14px;
  line-height:1.58;
  font-weight:700;
}
.ceremony-master{
  z-index:2;
  min-height:132px;
  margin:2px 0 16px;
  padding:12px 14px 12px 18px;
  grid-template-columns:54px 1fr 118px;
  border:1px solid rgba(184,132,53,.32);
  border-radius:8px;
  background:
    linear-gradient(90deg,rgba(245,224,185,.9),rgba(255,250,239,.7)),
    radial-gradient(ellipse at 76% 72%,rgba(184,132,53,.18),transparent 38%);
  box-shadow:0 10px 26px rgba(91,58,22,.08);
}
.ceremony-master:before{left:66px;top:18px;bottom:18px;width:1px;background:rgba(184,132,53,.54)}
.ceremony-master>span{
  align-self:center;
  justify-self:center;
  color:#7a4f1d;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;
  font-size:18px;
  letter-spacing:.16em;
  line-height:1.12;
  writing-mode:vertical-rl;
}
.ceremony-master>div>b .gds-rich-line,
.ceremony-master>div>b .gds-rich-run{
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
}
.ceremony-master b{
  color:#000;
  font-size:clamp(32px,3.2vw,45px);
  letter-spacing:.08em;
  font-weight:600;
  white-space:nowrap;
}
.ceremony-master b .ceremony-name-mark{
  color:#000!important;
}
.ceremony-master b .name-raised{
  display:inline-block;
  font-size:.42em;
  line-height:0;
  vertical-align:baseline;
  transform:translateY(-.72em);
  margin:0 -.02em 0 0;
  letter-spacing:0;
}
.ceremony-master b .ceremony-name-mark{
  display:inline-block;
  white-space:nowrap;
  font-size:1em!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
}
.ceremony-master b .ceremony-name-mark .ceremony-sup{
  display:inline-block;
  position:relative;
  top:-.36em;
  vertical-align:baseline;
  margin:0 .02em 0 0;
  color:#000!important;
  font-size:1em!important;
  font-style:normal;
  line-height:1;
  letter-spacing:0;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
}
.ceremony-master small{
  color:#3f342b;
  font-size:13px;
  font-weight:800;
}
.ceremony-master-photo{
  position:relative;
  right:auto;
  bottom:auto;
  width:118px;
  height:108px;
  min-height:0;
  background-size:cover;
  background-position:center top;
  box-shadow:none;
  border-radius:4px;
  align-self:center;
  justify-self:end;
  overflow:hidden;
}
.ceremony-events{
  z-index:2;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:14px;
}
.ceremony-event{
  min-height:206px;
  padding:42px 18px 14px;
  position:relative;
  border-radius:8px;
  border:1px solid rgba(184,132,53,.42);
  background:
    radial-gradient(ellipse at 88% 85%,rgba(184,132,53,.16),transparent 32%),
    rgba(255,253,247,.83);
}
.event-name{
  position:absolute;
  left:0;
  top:0;
  right:auto;
  min-width:205px;
  height:34px;
  align-items:center;
  margin:0;
  padding:0 42px 0 18px;
  border-radius:6px 0 18px 0;
  background:linear-gradient(90deg,#8e1814,#a42419);
  font-size:15px;
  line-height:34px;
  box-shadow:0 8px 18px rgba(143,30,25,.16);
}
.event-name:after{
  content:"";
  position:absolute;
  right:12px;
  top:50%;
  width:20px;
  height:14px;
  transform:translateY(-50%);
  background:radial-gradient(ellipse at center,#e5bf62 0 42%,transparent 45%);
  opacity:.95;
}
.event-time{
  color:#12100d;
  font-size:24px;
  line-height:1.28;
  letter-spacing:.04em;
}
.event-place{
  margin-top:12px;
  color:#9b6827;
  font-size:17px;
}
.event-place span{
  margin-top:4px;
  color:#332b24;
  font-size:15px;
  line-height:1.32;
}
.ceremony-event p{font-size:13px;color:#44372e}
.ceremony-lower{
  z-index:2;
  grid-template-columns:1fr 150px;
  gap:16px;
  margin-top:0;
  align-items:start;
}
.ceremony-mini-title{
  display:flex;
  align-items:center;
  gap:8px;
  color:#8e1814;
  font-size:16px;
  margin-bottom:8px;
}
.ceremony-mini-title:before{content:"";width:5px;height:24px;background:#8e1814}
.ceremony-plaques{
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:rgba(184,132,53,.18);
  border-radius:2px;
  overflow:hidden;
}
.ceremony-plaques span{
  min-height:36px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border:0;
  background:rgba(246,232,208,.82);
  color:#4a3728;
  font-size:12px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ceremony-plaques span:before{
  flex:0 0 auto;
  content:"♙";
  color:#a42419;
  font-size:17px;
  line-height:1;
}
.ceremony-benefits{
  margin-top:10px;
  gap:8px;
}
.ceremony-benefits b{
  border-radius:999px;
  border-color:rgba(184,132,53,.72);
  background:rgba(255,250,239,.76);
  color:#b27723;
  font-size:14px;
  padding:6px 13px;
}
.ceremony-register{
  padding:10px;
  border-radius:6px;
  border:1px solid rgba(184,132,53,.5);
  background:#fffdf8;
  animation:registerPulse 2.8s ease-in-out infinite;
  transform-origin:center center;
}
.ceremony-register img{width:108px;height:108px;animation:qrNudge 4.2s ease-in-out infinite}
.ceremony-register span{
  display:block;
  width:100%;
  padding:5px 8px;
  border-radius:3px;
  background:#a42419;
  color:#fff;
  font-size:16px;
  line-height:1;
  position:relative;
  overflow:hidden;
  animation:buttonWiggle 4.2s ease-in-out infinite;
}
.ceremony-register span:after{content:"";position:absolute;top:-30%;bottom:-30%;width:34px;left:-44px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transform:skewX(-18deg);animation:buttonShine 3.4s ease-in-out infinite}
.ceremony-register small{font-size:12px;color:#3d3129}
@keyframes registerPulse{0%,100%{transform:scale(1);box-shadow:0 14px 28px rgba(91,58,22,.1)}50%{transform:scale(1.035);box-shadow:0 18px 36px rgba(143,30,25,.18)}}
@keyframes qrNudge{0%,82%,100%{transform:translate(0,0) rotate(0)}84%{transform:translate(-1px,0) rotate(-.8deg)}86%{transform:translate(1px,0) rotate(.8deg)}88%{transform:translate(-1px,0) rotate(-.5deg)}90%{transform:translate(0,0) rotate(0)}}
@keyframes buttonWiggle{0%,82%,100%{transform:translateX(0)}84%{transform:translateX(-2px)}86%{transform:translateX(2px)}88%{transform:translateX(-1px)}90%{transform:translateX(0)}}
@keyframes buttonShine{0%,55%{left:-44px}78%,100%{left:120%}}
@media(prefers-reduced-motion:reduce){.ceremony-register,.ceremony-register img,.ceremony-register span,.ceremony-register span:after{animation:none!important}}


/* Branch intro section */
.branch-intro{padding:72px 0;background:linear-gradient(180deg,#fff8ea,#f3e3c5);color:#2a1a12}
.branch-frame{position:relative;background:#fffaf0;border:2px solid rgba(211,159,73,.62);border-radius:14px;box-shadow:0 24px 76px rgba(110,58,18,.16);overflow:hidden}
.branch-frame:before,.branch-frame:after{content:"";position:absolute;width:96px;height:96px;z-index:4;pointer-events:none;border-color:#d6a34d}
.branch-frame:before{left:10px;top:10px;border-left:4px double #d6a34d;border-top:4px double #d6a34d;border-radius:12px 0 0 0}
.branch-frame:after{right:10px;bottom:10px;border-right:4px double #d6a34d;border-bottom:4px double #d6a34d;border-radius:0 0 12px 0}
.branch-hero{position:relative;min-height:300px;display:grid;grid-template-columns:1fr .92fr;background:linear-gradient(90deg,#8d1711 0%,#8d1711 45%,rgba(141,23,17,.88) 57%,rgba(141,23,17,.08) 72%);overflow:hidden}
.branch-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 28%,rgba(255,221,143,.14),transparent 28%),repeating-radial-gradient(circle at 16% 36%,transparent 0 22px,rgba(255,220,137,.05) 23px 24px,transparent 25px 44px)}
.branch-hero-copy{position:relative;z-index:1;padding:54px 56px 42px;color:#fff2d6}
.branch-hero-copy h2{font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:clamp(42px,4.3vw,60px);line-height:1;margin:0 0 14px;color:#fff8df;text-shadow:0 3px 10px rgba(0,0,0,.28);white-space:nowrap}
.branch-subtitle{display:inline-flex;align-items:center;gap:18px;margin-bottom:28px;color:#eac06d;font-size:18px;font-weight:900;letter-spacing:.12em}
.branch-subtitle:before,.branch-subtitle:after{content:"";width:54px;height:1px;background:#c89545}
.branch-hero-copy p{max-width:600px;margin:0;color:#fff3dd;font-size:18px;font-weight:800;line-height:1.85;text-shadow:0 2px 8px rgba(0,0,0,.2)}
.branch-hero-media{position:relative;z-index:1;min-height:300px;background:linear-gradient(135deg,#d9b15f,#fff3d0);overflow:hidden}
.branch-hero-image{background-size:cover;background-position:center}
.branch-hero-image:after,.branch-hero-video:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(141,23,17,.82),rgba(141,23,17,.12) 36%,transparent);pointer-events:none;z-index:2}
.branch-hero-video iframe,.branch-hero-video video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.branch-hero-video:after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,238,194,.68);border-radius:8px;pointer-events:none;z-index:3;box-shadow:inset 0 0 26px rgba(255,234,184,.16)}
.branch-local-play{position:absolute;left:50%;top:74%;z-index:5;width:auto;min-width:104px;height:38px;display:grid;place-items:center;padding:0 20px;border:1px solid rgba(255,241,207,.92);border-radius:999px;background:rgba(163,29,22,.84);color:#fff8e8;cursor:pointer;transform:translate(-50%,-50%);box-shadow:0 10px 24px rgba(55,21,9,.28),0 0 0 5px rgba(255,244,216,.12);transition:opacity .25s ease,transform .25s ease,background .25s ease;-webkit-appearance:none;appearance:none;font:inherit;white-space:nowrap}
.branch-local-play span{display:block;margin-left:0;font-size:16px;font-weight:900;letter-spacing:.08em;line-height:1;white-space:nowrap;text-shadow:0 2px 8px rgba(0,0,0,.28)}
.branch-local-play:hover{background:rgba(181,37,28,.9);transform:translate(-50%,-50%) scale(1.04)}
.branch-hero-local-video.is-playing .branch-local-play{opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.9)}
.branch-hero-youtube{display:grid;place-items:center;text-decoration:none;color:#fff;background-size:cover;background-position:center}
.branch-youtube-content{position:relative;z-index:4;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;text-shadow:0 3px 12px rgba(0,0,0,.42)}
.branch-youtube-content i{width:72px;height:72px;display:grid;place-items:center;border:3px solid rgba(255,244,214,.92);border-radius:50%;background:rgba(161,31,24,.78);font-style:normal;font-size:28px;line-height:1;box-shadow:0 12px 34px rgba(0,0,0,.24)}
.branch-youtube-content b{font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:26px;letter-spacing:.04em}
.branch-youtube-content small{font-size:13px;font-weight:900;letter-spacing:.2em;color:#ffe7a6}
.branch-contact-row{display:grid;grid-template-columns:1.2fr .85fr 1.1fr;gap:0;border-top:1px solid rgba(211,159,73,.3);border-bottom:1px solid rgba(211,159,73,.3);background:linear-gradient(90deg,#fff8e9,#fffdf6,#fff8e9)}
.branch-contact-row div{min-height:82px;display:flex;align-items:center;justify-content:center;gap:18px;padding:14px 24px;border-right:1px solid rgba(211,159,73,.32)}
.branch-contact-row div:last-child{border-right:0}.branch-contact-row b{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:#b6211b;font-size:25px}.branch-contact-row span{font-size:20px;font-weight:800;color:#332923;line-height:1.28}
.branch-main-grid{display:grid;grid-template-columns:.9fr 1.1fr 1.28fr;gap:20px;padding:26px 38px 22px}
.branch-map-card,.branch-gallery-card{min-height:320px;border:1px solid rgba(211,159,73,.45);border-radius:12px;background:rgba(255,253,247,.9);box-shadow:0 12px 28px rgba(93,58,20,.08);overflow:hidden}
.branch-map-card{position:relative}.branch-map-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.9) contrast(.95)}.branch-map-image{position:absolute;inset:0;background:#e7dcc9;background-size:cover;background-position:center}.branch-map-image span{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);max-width:70%;padding:14px 18px;background:#fff;border-radius:10px;box-shadow:0 10px 24px rgba(53,34,18,.16);font-weight:900;text-align:center}
.branch-gallery-card{padding:22px 22px 20px}.branch-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.branch-card-head h3{margin:0;color:#a42419;font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:25px}.branch-card-head h3:before{content:"❧";margin-right:8px;color:#d3a047}.branch-card-head button{border:0;background:none;color:#b9552e;font-weight:900;cursor:pointer}.branch-card-head button span{font-size:22px;color:#c89545}
.branch-photo-grid{display:grid;grid-template-columns:1.45fr 1fr;grid-auto-rows:94px;gap:12px}.branch-photo{position:relative;border:0;border-radius:6px;background:#d2b06a;background-size:cover;background-position:center;overflow:hidden;cursor:pointer;box-shadow:0 8px 18px rgba(53,34,18,.12)}.branch-photo.large{grid-row:span 2}.branch-photo:after{content:"";position:absolute;inset:auto 0 0;height:52%;background:linear-gradient(transparent,rgba(0,0,0,.72))}.branch-photo span{position:absolute;z-index:1;left:9px;right:9px;bottom:8px;color:#fff;font-size:14px;font-weight:900;text-align:center;text-shadow:0 1px 5px rgba(0,0,0,.4)}
.branch-blessing{display:flex;align-items:center;justify-content:center;gap:28px;padding:10px 36px 28px;color:#5d5248;font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:20px;font-weight:900;letter-spacing:.08em}.branch-blessing span{width:130px;height:1px;background:linear-gradient(90deg,transparent,#d3a047)}
@media(max-width:1050px){.branch-hero,.branch-main-grid{grid-template-columns:1fr}.branch-contact-row{grid-template-columns:1fr}.branch-contact-row div{justify-content:flex-start}.branch-hero-media{min-height:240px}.branch-map-card{min-height:320px}}
@media(max-width:620px){.branch-intro{padding:54px 0}.branch-hero-copy{padding:36px 24px}.branch-contact-row span{font-size:16px}.branch-main-grid{padding:18px}.branch-photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:86px}.branch-blessing{font-size:16px;padding:8px 20px 24px}.branch-blessing span{display:none}}


/* Dharma journey timeline */
.timeline-section{padding:0;background:linear-gradient(180deg,#fff0bd,#fffaf0 46%,#fff7e7);color:#2a1a12}
.timeline-hero{position:relative;min-height:360px;background:radial-gradient(circle at 78% 18%,rgba(255,228,138,.7),transparent 24%),linear-gradient(100deg,#fff5cf 0%,#ffe09b 50%,#fff6d7 100%);overflow:hidden;border-bottom:3px solid rgba(218,164,67,.55)}
.timeline-hero:before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 18% 58%,transparent 0 28px,rgba(184,132,53,.08) 29px 30px,transparent 31px 64px),linear-gradient(180deg,rgba(255,255,255,.25),transparent)}
.timeline-hero:after{display:none}
.timeline-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr .86fr;min-height:360px;align-items:center}
.timeline-copy{padding:24px 0 28px}.timeline-copy h2{margin:0 0 12px;color:#8e1814;font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:clamp(38px,4.2vw,58px);line-height:1.02;letter-spacing:.04em}.timeline-subtitle{display:flex;align-items:center;gap:16px;margin:0 0 14px;color:#9e6c27;font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:22px;font-weight:900;letter-spacing:.12em}.timeline-subtitle:before,.timeline-subtitle:after{content:"";width:48px;height:1px;background:#c89545}.timeline-copy p{max-width:680px;margin:0 0 0 70px;color:#25201b;font-size:16px;font-weight:800;line-height:1.65}
.timeline-section .timeline-copy{text-align:center}
.timeline-section .timeline-subtitle{justify-content:center}
.timeline-section .timeline-copy p{margin-left:auto;margin-right:auto}
.timeline-section:not(.videos-section) .timeline-copy h2{white-space:nowrap;font-size:clamp(38px,3.55vw,56px)}
.timeline-visual{position:relative;min-height:360px}
.timeline-visual:before{content:"";position:absolute;right:0;top:0;width:500px;height:100%;background:radial-gradient(ellipse at 50% 52%,rgba(255,229,147,.55),transparent 62%);filter:blur(10px)}
.timeline-master-image{position:absolute;right:0;top:0;bottom:0;width:500px;height:auto;background-size:auto 100%;background-position:right center;background-repeat:no-repeat;filter:drop-shadow(0 18px 36px rgba(125,71,17,.18));-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 88%,transparent 100%)}
.timeline-master-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,238,183,.72),transparent 24%,transparent 64%,rgba(255,238,183,.86))}
.timeline-guanyin-image{display:none}
.timeline-panel{position:relative;z-index:2;margin-top:-10px;padding:14px 0 58px}.timeline-panel-title{display:flex;align-items:center;justify-content:center;gap:22px;margin:0 0 22px}.timeline-panel-title:before{content:"❁";display:grid;place-items:center;width:58px;height:58px;color:#d6a13d;font-size:48px}.timeline-panel-title h3{margin:0;color:#3b2416;font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:38px;letter-spacing:.18em}.timeline-panel-title span{width:60px;height:1px;background:linear-gradient(90deg,transparent,#d5a347)}
.timeline-carousel{position:relative;padding:34px 54px;border:1px solid rgba(214,163,73,.42);border-radius:12px;background:rgba(255,253,247,.58);box-shadow:inset 0 0 26px rgba(214,163,73,.08)}
.timeline-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/5);gap:18px;overflow-x:auto;padding:0 0 4px;scroll-snap-type:x mandatory;scrollbar-width:none}.timeline-track::-webkit-scrollbar{display:none}
.timeline-card{min-width:0;display:block;scroll-snap-align:start;border:1px solid rgba(214,163,73,.45);border-radius:7px;background:#fff8e9;box-shadow:0 12px 26px rgba(80,46,14,.12);overflow:hidden;cursor:pointer}.timeline-thumb{position:relative;aspect-ratio:16/9;background:#c5a05f;background-size:cover;background-position:center}.timeline-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.08))}.timeline-thumb span{position:absolute;z-index:1;left:50%;top:50%;width:64px;height:64px;border:5px solid rgba(255,255,255,.86);border-radius:50%;transform:translate(-50%,-50%);background:rgba(255,255,255,.2);box-shadow:0 4px 20px rgba(0,0,0,.18)}.timeline-thumb span:after{content:"";position:absolute;left:24px;top:18px;border-left:18px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent}.timeline-meta{position:relative;min-height:88px;padding:16px 16px 18px;background:linear-gradient(180deg,#fffdf7,#fff0ce)}.timeline-meta b{display:block;color:#321b10;font-family:Georgia,\"Times New Roman\",\"Songti SC\",serif;font-size:20px;line-height:1.25}.timeline-meta small{display:block;margin-top:6px;color:#755e45;font-weight:700}.timeline-meta:after{content:"❁";position:absolute;right:14px;bottom:7px;color:#e7c985;font-size:30px}
.timeline-arrow{position:absolute;top:50%;width:48px;height:48px;border:2px solid #d5a347;border-radius:50%;background:#fffdf5;color:#b17723;font-size:42px;line-height:38px;display:grid;place-items:center;transform:translateY(-50%);cursor:pointer;z-index:2}.timeline-arrow:first-child{left:14px}.timeline-arrow:last-child{right:14px}.timeline-dots{display:flex;justify-content:center;gap:13px;margin:16px 0 28px}.timeline-dots span{width:14px;height:10px;border-radius:99px;background:#ead8ae}.timeline-dots span.active{width:22px;background:#d29a2b}.timeline-more{display:flex;align-items:center;justify-content:center;gap:18px;width:max-content;margin:0 auto;padding:15px 54px;border-radius:999px;background:linear-gradient(180deg,#ad2b1d,#8d1711);color:#ffe6a6;text-decoration:none;font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:26px;font-weight:900;border:3px double #efc66a;box-shadow:0 12px 30px rgba(113,29,16,.22)}.timeline-more span{width:34px;height:34px;border:1px solid #ffe6a6;border-radius:50%;display:grid;place-items:center;font-size:30px;line-height:1}
@media(max-width:1050px){.timeline-hero-grid{grid-template-columns:1fr}.timeline-copy p{margin-left:0}.timeline-visual{display:none}.timeline-track{grid-auto-columns:calc((100% - 36px)/3)}}
@media(max-width:620px){.timeline-copy{padding:44px 0 70px}.timeline-copy h2{font-size:40px}.timeline-section:not(.videos-section) .timeline-copy h2{white-space:normal;font-size:40px}.timeline-subtitle{font-size:18px}.timeline-panel-title h3{font-size:28px}.timeline-carousel{padding:24px 14px}.timeline-arrow{display:none}.timeline-track{grid-auto-columns:82%}.timeline-more{font-size:20px;padding:13px 30px}}
.ceremony-gallery-head{
  z-index:2;
  margin:14px 0 8px;
  border-top:1px solid rgba(184,132,53,.18);
  padding-top:10px;
}
.ceremony-gallery-head b{
  color:#1d1712;
  font-size:16px;
}
.ceremony-gallery-head button{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#9b1e18;
}
.ceremony-gallery-head button span{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#b88737;
  color:#fff;
  font-size:18px;
  line-height:1;
}
.ceremony-gallery-strip{
  z-index:2;
  gap:8px;
}
.ceremony-photo{
  min-height:70px;
  border-radius:2px;
  box-shadow:0 8px 18px rgba(51,31,15,.12);
}
.ceremony-photo span{
  left:0;
  right:0;
  bottom:0;
  padding:18px 8px 7px;
  background:linear-gradient(transparent,rgba(0,0,0,.75));
  text-align:center;
}


/* Ceremony left panel: two event locations */
.ceremony-left-card{
  display:block;
  background:linear-gradient(180deg,#fff5df,#f1d4a6);
}
.ceremony-locations{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:14px;
  padding:14px;
  min-height:100%;
  height:100%;
}
.ceremony-location-card{
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:minmax(170px,1fr) 120px auto;
  background:#fbf3e4;
  border:1px solid rgba(184,132,53,.36);
  box-shadow:0 14px 34px rgba(66,36,14,.12);
  overflow:hidden;
}
.location-map{
  position:relative;
  min-height:170px;
  background:#e2d3bd;
}
.location-map iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  filter:saturate(.84) contrast(.96);
}
.location-photo{
  position:relative;
  min-height:120px;
  background:linear-gradient(135deg,#5b3418,#d2a95d);
  background-size:cover;
  background-position:center;
  overflow:hidden;
}
.location-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,244,216,.04),rgba(54,22,11,.72));
}
.location-photo span{
  position:absolute;
  z-index:1;
  left:10px;
  right:10px;
  bottom:10px;
  color:#fff7df;
  font-weight:900;
  line-height:1.28;
  text-shadow:0 2px 8px rgba(0,0,0,.5);
}
.location-text{
  padding:12px 16px 13px;
  background:linear-gradient(90deg,#8b211a,#a76e2b);
  color:#fff;
}
.location-text small{
  display:block;
  color:#ffe2a3;
  font-weight:900;
  letter-spacing:.04em;
  font-size:13px;
}
.location-text strong{
  display:block;
  margin-top:3px;
  font-size:18px;
  line-height:1.2;
}
.location-text span{
  display:block;
  margin-top:4px;
  color:#fff6df;
  font-size:14px;
  line-height:1.3;
  font-weight:800;
}
.location-text em{
  display:block;
  margin-top:5px;
  color:#ffe7b3;
  font-style:normal;
  font-size:13px;
  font-weight:900;
}
@media(max-width:1050px){
  .ceremony-locations{min-height:auto}
  .ceremony-location-card{min-height:380px}
}
@media(max-width:620px){
  .ceremony-location-card{grid-template-rows:190px 150px auto}
  .location-photo{grid-row:auto}
}

.principle{
  display:block;
  color:inherit;
  text-decoration:none;
  transition:transform .25s ease,background .25s ease,box-shadow .25s ease;
}
.principle-link{
  cursor:pointer;
}
.principle-profile-open{
  width:100%;
  appearance:none;
  -webkit-appearance:none;
  font:inherit;
}
.footer small .footer-admin-link{
  color:inherit;
  text-decoration:none;
  transition:color .2s ease;
}
.footer small .footer-admin-link:hover,
.footer small .footer-admin-link:focus-visible{
  color:#dfb76e;
}
.principle-link:hover{
  background:rgba(255,255,255,.72);
  box-shadow:0 18px 42px rgba(114,74,24,.12);
  transform:translateY(-4px);
}
.principle-link:focus-visible{
  outline:2px solid #b68a45;
  outline-offset:4px;
}

.principles{
  position:relative;
  padding:54px 0 58px;
  background:
    radial-gradient(circle at 7% 76%,rgba(255,183,103,.42),transparent 17%),
    radial-gradient(circle at 93% 18%,rgba(230,170,75,.28),transparent 18%),
    linear-gradient(180deg,#fff9e8 0%,#fff2cf 52%,#fff9ef 100%);
}
.principles:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 0% 80%,rgba(226,143,66,.25),transparent 25%),
    radial-gradient(ellipse at 100% 82%,rgba(226,143,66,.22),transparent 25%),
    repeating-radial-gradient(circle at 50% 50%,transparent 0 56px,rgba(178,120,46,.06) 57px 58px,transparent 59px 118px);
  pointer-events:none;
}
.principles-frame{
  position:relative;
  padding:34px 40px 38px;
  border:2px solid rgba(207,153,61,.62);
  border-radius:34px;
  background:
    linear-gradient(180deg,rgba(255,253,244,.82),rgba(255,247,226,.66)),
    radial-gradient(circle at 10% 10%,rgba(255,255,255,.88),transparent 24%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 24px 60px rgba(143,88,20,.14);
}
.principles-frame:before,
.principles-frame:after{
  content:"";
  position:absolute;
  width:118px;
  height:86px;
  bottom:-12px;
  background:
    radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.7),transparent 62%),
    radial-gradient(ellipse at 50% 50%,rgba(237,150,78,.28),transparent 48%);
  filter:blur(.2px);
  pointer-events:none;
}
.principles-frame:before{left:-28px}
.principles-frame:after{right:-28px}
.principles .principles-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:22px;
}
.principles .principle{
  position:relative;
  min-height:232px;
  padding:22px 18px 20px;
  border:1px solid rgba(206,151,58,.68);
  border-radius:14px;
  background:
    linear-gradient(180deg,rgba(255,255,251,.86),rgba(255,247,226,.78)),
    radial-gradient(circle at 50% 18%,rgba(255,219,135,.45),transparent 35%);
  color:#4b321d;
  text-align:center;
  overflow:hidden;
  box-shadow:0 18px 38px rgba(126,75,18,.12),inset 0 0 20px rgba(255,225,147,.24);
}
.principles .principle:before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(207,153,61,.25);
  border-radius:10px;
  pointer-events:none;
}
.principles .principle:after{
  content:"";
  position:absolute;
  left:50%;
  top:102px;
  width:118px;
  height:42px;
  transform:translateX(-50%);
  background:
    radial-gradient(ellipse at 50% 85%,rgba(228,117,78,.26),transparent 62%),
    radial-gradient(ellipse at 28% 65%,rgba(255,221,184,.74),transparent 48%),
    radial-gradient(ellipse at 72% 65%,rgba(255,221,184,.74),transparent 48%);
  pointer-events:none;
}
.principle-medallion{
  position:relative;
  z-index:1;
  width:124px;
  height:124px;
  margin:0 auto 14px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    radial-gradient(circle,#fffaf0 0 42%,#f7d78f 43% 45%,rgba(255,244,212,.78) 46% 67%,rgba(226,167,73,.22) 68%),
    conic-gradient(from 0deg,rgba(223,157,60,.14),rgba(255,255,255,.82),rgba(223,157,60,.14));
  box-shadow:inset 0 0 0 1px rgba(211,155,58,.36),0 8px 24px rgba(179,102,30,.16);
}
.principle-icon{
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#ad7428;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;
  font-size:38px;
  font-weight:900;
  background:linear-gradient(180deg,#fff8df,#f3c56d);
  text-shadow:0 1px 0 #fff;
}
.principles .principle h3{
  position:relative;
  z-index:1;
  margin:0;
  color:#4a301a;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;
  font-size:25px;
  line-height:1.15;
  font-weight:900;
}
.principles .principle h3:after{
  content:"";
  display:block;
  width:72px;
  height:1px;
  margin:12px auto 10px;
  background:linear-gradient(90deg,transparent,#d19a36,transparent);
}
.principles .principle p{
  position:relative;
  z-index:1;
  margin:0 auto;
  max-width:12em;
  color:#6d5840;
  font-size:14px;
  line-height:1.45;
  font-weight:800;
}
.principles .principle-link:hover{
  background:
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,244,210,.88)),
    radial-gradient(circle at 50% 18%,rgba(255,210,102,.58),transparent 35%);
  transform:translateY(-6px);
}
@media(max-width:1050px){
  .principles .principles-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:620px){
  .principles{padding:40px 0}
  .principles-frame{padding:22px 16px;border-radius:22px}
  .principles .principles-grid{grid-template-columns:1fr}
  .principles .principle{min-height:210px}
}

.principles{
  min-height:clamp(220px,33.3vw,520px);
  padding:0;
  display:flex;
  align-items:center;
  background:#fff4d2 url('/uploads/principles-wide-compact-final.png?v=20260811-wide-final') center/cover no-repeat;
}
.principles:before{
  display:none;
}
.principles-frame{
  width:100%;
  min-height:clamp(220px,33.3vw,520px);
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.principles-frame:before,
.principles-frame:after{
  display:none;
}
.principles .principles-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  align-items:stretch;
  width:min(86.6vw,1880px);
  height:clamp(118px,17.2vw,374px);
  margin:clamp(62px,8.6vw,187px) auto 0;
}
.principles .principle{
  min-height:0;
  padding:0;
  border:0;
  border-radius:18px;
  background:transparent;
  box-shadow:none;
  color:#49321e;
}
.principles .principle:before,
.principles .principle:after{
  display:none;
}
.principle-medallion{
  display:none;
}
.principle-icon{
  display:none;
}
.principles .principle h3{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
}
.principles .principle h3:after{
  display:none;
}
.principles .principle p{
  display:none;
}
.principles .principle-link:hover{
  background:rgba(255,255,255,.16);
  box-shadow:none;
  transform:none;
}
@media(max-width:1050px){
  .principles{
    min-height:auto;
    aspect-ratio:2172/724;
    padding:0;
    background-image:url('/uploads/principles-wide-compact-final.png?v=20260811-wide-final');
  }
  .principles-frame{
    min-height:0;
    height:100%;
    padding:0;
  }
  .principles .principles-grid{
    grid-template-columns:repeat(5,1fr);
    gap:0;
    width:86.6%;
    height:51.7%;
    margin-top:25.8%;
  }
  .principles .principle{
    min-height:0;
    background:transparent;
    border:0;
  }
}
@media(max-width:620px){
  .principles .principles-grid{
    grid-template-columns:repeat(5,1fr);
  }
.principles .principle{
    min-height:0;
  }
}

.quote-slider .quote-photo,
.quote-slider .quote-copy{
  transition:opacity .85s ease,filter .85s ease,transform .85s ease;
}
.quote-slider.is-fading .quote-photo,
.quote-slider.is-fading .quote-copy{
  opacity:0;
  filter:blur(8px);
  transform:translateY(10px);
}
.quote-data{
  display:none;
}

.timeline-card.youtube-link,
.dabei-video.youtube-link{
  color:inherit;
  text-decoration:none;
}
.timeline-card.media-empty,
.dabei-video.media-empty{
  cursor:default;
}

.lightbox-body .youtube-player{
  display:block;
  width:min(1100px,95vw);
  aspect-ratio:16/9;
  height:auto;
  max-height:82vh;
  background:#000;
}
.youtube-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  margin:14px auto 0;
  padding:12px 22px;
  border-radius:999px;
  background:#b51f17;
  color:#fff6d9;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}

.dabei-section{
  padding:58px 0;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,230,166,.38),transparent 26%),
    radial-gradient(circle at 90% 84%,rgba(156,22,22,.09),transparent 24%),
    linear-gradient(180deg,#fffaf1,#fffdf8 52%,#f7ead4);
}
.dabei-frame{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(196,146,75,.4);
  border-radius:14px;
  background:
    linear-gradient(140deg,rgba(255,255,252,.95),rgba(255,248,235,.78)),
    radial-gradient(circle at 7% 72%,rgba(185,37,27,.08),transparent 24%);
  box-shadow:0 24px 68px rgba(105,63,18,.12),inset 0 0 0 1px rgba(255,255,255,.78);
  padding:34px 34px 30px;
}
.dabei-frame:before,
.dabei-frame:after{
  content:"";
  position:absolute;
  pointer-events:none;
  opacity:.26;
  background-repeat:no-repeat;
  background-size:contain;
}
.dabei-frame:before{
  left:-22px;
  bottom:22px;
  width:190px;
  height:150px;
  background-image:url("data:image/svg+xml,%3Csvg width='220' height='170' viewBox='0 0 220 170' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23c8974f' stroke-width='1.4'%3E%3Cpath d='M103 127C76 95 82 57 110 25c27 32 34 70 7 102'/%3E%3Cpath d='M95 129C58 108 47 70 60 36c34 19 50 52 44 91'/%3E%3Cpath d='M124 128c37-21 48-58 35-92-34 19-50 52-44 91'/%3E%3Cpath d='M83 136C46 129 24 101 20 68c34 5 58 26 72 65'/%3E%3Cpath d='M138 136c37-7 59-35 63-68-34 5-58 26-72 65'/%3E%3Cpath d='M55 148h112'/%3E%3C/g%3E%3C/svg%3E");
}
.dabei-frame:after{
  right:12px;
  bottom:-8px;
  width:210px;
  height:128px;
  background-image:url("data:image/svg+xml,%3Csvg width='260' height='150' viewBox='0 0 260 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23d3a96d' stroke-width='1.2' opacity='.9'%3E%3Cpath d='M0 105c43-25 82-24 118 0 44 29 92 27 142-5'/%3E%3Cpath d='M0 123c43-25 82-24 118 0 44 29 92 27 142-5'/%3E%3Cpath d='M0 141c43-25 82-24 118 0 44 29 92 27 142-5'/%3E%3C/g%3E%3C/svg%3E");
}
.dabei-head{
  display:block;
  max-width:1040px;
  margin:0 auto 28px;
}
.dabei-intro{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  min-width:0;
  text-align:center;
}
.dabei-title{
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  min-height:178px;
}
.dabei-title span{
  color:#b78938;
  font-size:12px;
  font-weight:900;
  letter-spacing:.32em;
}
.dabei-title h2{
  margin:16px 0 16px;
  color:#971c18;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;
  font-size:clamp(42px,4.1vw,64px);
  font-weight:700;
  line-height:1;
  letter-spacing:.04em;
  white-space:nowrap;
}
.dabei-title i{
  display:block;
  width:88%;
  max-width:520px;
  height:18px;
  margin:0 auto;
  background:
    linear-gradient(90deg,transparent,rgba(183,133,58,.75),transparent) center/100% 1px no-repeat,
    radial-gradient(circle,#d4a55a 0 3px,transparent 4px) center/12px 12px no-repeat;
}
.dabei-intro>p{
  margin:0;
  color:#4d3425;
  font-size:21px;
  line-height:1.78;
  font-weight:800;
  text-align:center;
  max-width:760px;
  padding:0;
}
.dabei-main{
  display:block;
  position:relative;
  z-index:1;
  border-top:1px solid rgba(188,139,72,.26);
  padding-top:30px;
}
.dabei-guide{
  position:relative;
  display:grid;
  place-items:center;
  min-height:342px;
  padding:0;
  border:1px solid rgba(190,139,67,.34);
  border-radius:10px;
  cursor:pointer;
  background:#fff7e7;
  overflow:hidden;
  box-shadow:0 14px 36px rgba(86,51,16,.08);
  transition:transform .25s ease,box-shadow .25s ease;
}
.dabei-guide:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(86,51,16,.14);
}
.dabei-guide-image{
  display:block;
  width:100%;
  height:100%;
  min-height:342px;
  object-fit:contain;
  object-position:center center;
}
.dabei-audios{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  align-items:start;
}
.dabei-audio{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:232px;
  padding:24px 24px 20px;
  border:1px solid rgba(190,139,67,.35);
  border-radius:13px;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,253,247,.94),rgba(255,245,224,.76));
  box-shadow:0 14px 34px rgba(92,58,18,.08);
}
.dabei-audio:before{
  content:"";
  position:absolute;
  right:-28px;
  bottom:-24px;
  width:176px;
  height:124px;
  pointer-events:none;
  background:url('/uploads/dabei-audio-lotus-corner.png') right bottom/contain no-repeat;
  opacity:.3;
  mix-blend-mode:multiply;
  -webkit-mask-image:radial-gradient(circle at 78% 78%,#000 0 44%,rgba(0,0,0,.65) 58%,transparent 76%);
  mask-image:radial-gradient(circle at 78% 78%,#000 0 44%,rgba(0,0,0,.65) 58%,transparent 76%);
}
.dabei-audio-1:before{
  right:auto;
  left:-28px;
  transform:scaleX(-1);
}
.dabei-audio>*{
  position:relative;
  z-index:1;
}
.dabei-audio-top{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:16px;
  align-items:start;
}
.dabei-audio:after{
  content:"";
  display:block;
  height:1px;
  margin:auto 0 16px;
  background:
    radial-gradient(circle,#c79a51 0 3px,transparent 4px) center/12px 12px no-repeat,
    linear-gradient(90deg,transparent,rgba(192,145,80,.5),transparent);
  position:relative;
  z-index:1;
}
.dabei-audio-icon{
  width:54px;
  height:54px;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 42%,rgba(255,238,174,.18),transparent 28%),
    linear-gradient(180deg,#b72220,#8e1714);
  box-shadow:0 12px 24px rgba(126,27,23,.22),inset 0 0 0 1px rgba(255,255,255,.24);
}
.dabei-audio-icon:before{
  content:"";
  display:block;
  margin:15px 0 0 20px;
  border-left:16px solid #fff8e8;
  border-top:11px solid transparent;
  border-bottom:11px solid transparent;
}
.dabei-audio-1 .dabei-audio-icon:before{
  width:28px;
  height:28px;
  margin:13px auto 0;
  border:0;
  background:
    radial-gradient(circle at 50% 28%,transparent 0 7px,#fff8e8 8px 10px,transparent 11px),
    radial-gradient(ellipse at 50% 82%,#fff8e8 0 18px,transparent 19px);
}
.dabei-audio b,
.dabei-video b{
  display:block;
  color:#3a2417;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;
  font-size:23px;
  line-height:1.2;
  text-align:left;
}
.dabei-audio-copy{
  min-width:0;
  padding-top:2px;
}
.dabei-audio p{
  min-height:0;
  margin:12px 0 0;
  color:#5e4934;
  font-size:15px;
  line-height:1.55;
  font-weight:700;
  text-align:left;
}
.dabei-audio audio{
  width:100%;
  height:34px;
  display:block;
  margin:0;
}
.dabei-rate{
  display:inline-flex;
  align-self:center;
  gap:4px;
  margin-top:10px;
  padding:4px;
  border:1px solid rgba(178,126,50,.28);
  border-radius:999px;
  background:rgba(255,250,239,.76);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}
.dabei-rate button{
  min-width:42px;
  height:28px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#7a5d34;
  cursor:pointer;
  font:700 12px/1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  transition:background .2s ease,color .2s ease,box-shadow .2s ease;
}
.dabei-rate button:hover{
  color:#991b18;
  background:rgba(179,126,50,.12);
}
.dabei-rate button.active{
  color:#fff8e8;
  background:linear-gradient(180deg,#b52320,#8f1714);
  box-shadow:0 6px 14px rgba(128,29,22,.18);
}
.dabei-resources{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:20px;
  min-width:0;
  width:100%;
}
.dabei-video-title{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:18px;
}
.dabei-video-title span{
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(184,132,53,.8),transparent);
}
.dabei-video-title h3{
  margin:0;
  color:#4b2d1d;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;
  font-size:31px;
  font-weight:900;
  line-height:1;
}
.dabei-videos{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.dabei-featured-videos{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-bottom:8px;
}
.dabei-video{
  cursor:pointer;
  border:1px solid rgba(184,132,53,.3);
  border-radius:10px;
  background:linear-gradient(180deg,#fffdf8,#fff3df);
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease;
  box-shadow:0 10px 24px rgba(83,50,17,.08);
}
.dabei-video:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 34px rgba(82,47,16,.14);
}
.dabei-featured-video{
  background:linear-gradient(180deg,#fffaf0,#fff0cf);
  border-color:rgba(184,132,53,.46);
}
.dabei-featured-video .dabei-video-thumb{
  aspect-ratio:16/9;
}
.dabei-featured-video b{
  font-size:17px;
  padding-top:13px;
}
.dabei-video-thumb{
  position:relative;
  aspect-ratio:1/1.34;
  background:#caa567;
  background-size:cover;
  background-position:center;
}
.dabei-video-thumb>video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.dabei-video-thumb:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(255,238,190,.06),rgba(86,22,12,.16)),
    radial-gradient(circle at 50% 40%,transparent 0 25%,rgba(255,244,220,.1) 26%,transparent 47%);
}
.dabei-video-thumb span{
  position:absolute;
  z-index:1;
  left:50%;
  top:50%;
  width:48px;
  height:48px;
  border:4px solid rgba(255,255,255,.94);
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:rgba(157,29,27,.24);
  box-shadow:0 8px 22px rgba(72,28,13,.28);
}
.dabei-video-thumb span:after{
  content:"";
  position:absolute;
  left:18px;
  top:13px;
  border-left:14px solid #fff;
  border-top:9px solid transparent;
  border-bottom:9px solid transparent;
}
.dabei-video b{
  padding:14px 14px 4px;
  font-size:17px;
  text-align:center;
}
.dabei-video small{
  display:block;
  padding:0 14px 14px;
  color:#7b6648;
  font-weight:800;
  text-align:center;
}
@media(max-width:1050px){
  .dabei-head,.dabei-main{grid-template-columns:1fr}
  .dabei-head p{grid-column:auto;margin:0}
  .dabei-audios{display:grid;grid-template-columns:repeat(2,1fr)}
  .dabei-featured-videos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dabei-videos{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .dabei-videos{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .dabei-section{padding:46px 0}
  .dabei-frame{padding:18px}
  .dabei-title{min-height:0}
  .dabei-title h2{font-size:42px}
  .dabei-audios,.dabei-featured-videos,.dabei-videos{grid-template-columns:1fr}
  .dabei-audio{grid-template-columns:60px 1fr;padding:20px}
  .dabei-guide{min-height:0}
  .dabei-guide-image{min-height:0}
  .dabei-video-thumb{aspect-ratio:16/10}
}

/* Unified timeline/video cards */
.timeline-carousel{
  padding:28px 54px 30px;
  background:
    linear-gradient(180deg,rgba(255,253,247,.72),rgba(255,247,229,.7)),
    radial-gradient(circle at 50% 100%,rgba(216,165,79,.12),transparent 45%);
}
.timeline-track{
  align-items:stretch;
}
.timeline-card{
  height:302px;
  display:flex;
  flex-direction:column;
  background:#fff7e4;
  border-radius:8px;
}
.timeline-thumb{
  flex:0 0 148px;
  aspect-ratio:auto;
  background-size:cover;
  background-position:center;
}
.timeline-thumb video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.timeline-thumb span{
  width:72px;
  height:72px;
  border-width:5px;
}
.timeline-thumb span:after{
  left:27px;
  top:20px;
  border-left-width:20px;
  border-top-width:13px;
  border-bottom-width:13px;
}
.timeline-meta{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:18px 16px 34px;
  background:linear-gradient(180deg,#fffdf7 0%,#fff5dd 42%,#ffedbd 100%);
}
.timeline-meta b{
  font-size:18px;
  line-height:1.22;
  letter-spacing:.01em;
}
.timeline-section:not(.videos-section) .timeline-card-heading{
  text-align:center;
}
.timeline-section:not(.videos-section) .timeline-year,
.timeline-section:not(.videos-section) .timeline-card-title{
  display:block;
}
.timeline-section:not(.videos-section) .timeline-year{
  margin-bottom:6px;
}
.timeline-meta small{
  margin-top:8px;
  font-size:15px;
  line-height:1.25;
}
.timeline-meta:after{
  content:"❁";
  display:block;
  position:absolute;
  right:14px;
  bottom:12px;
  color:#e7c985;
  font-size:30px;
  line-height:1;
}
@media(max-width:1050px){
  .timeline-card{height:298px}
  .timeline-thumb{flex-basis:146px}
}
@media(max-width:620px){
  .timeline-card{height:auto;min-height:300px}
  .timeline-thumb{flex-basis:auto;aspect-ratio:16/9}
  .timeline-meta{min-height:142px}
}

/* Reference-style global dharma layout */
.timeline-section:not(.videos-section){
  background:linear-gradient(180deg,#fff4cc 0%,#fff9ee 44%,#fffaf2 100%);
}
.timeline-section:not(.videos-section) .timeline-hero{
  min-height:350px;
  border-bottom:4px solid rgba(214,155,54,.58);
  background:
    radial-gradient(circle at 17% 58%,rgba(255,235,172,.58),transparent 34%),
    linear-gradient(90deg,#fff4ce 0%,#ffe1a0 49%,#f8edd4 68%,#fff8e6 100%);
}
.timeline-background-layer{
  position:absolute;
  inset:0;
  z-index:0;
  background-size:100% 100%;
  background-position:center center;
  background-repeat:no-repeat;
  pointer-events:none;
}
.timeline-background-layer[style]{
  background-color:#fff1c4;
}
.timeline-section.has-timeline-bg .timeline-hero{
  background:none!important;
}
.timeline-section.has-timeline-bg .timeline-hero:before{
  display:none!important;
}
.timeline-section.has-timeline-bg .timeline-hero{
  height:350px;
  min-height:350px;
}
.timeline-section.has-timeline-bg .timeline-hero-grid{
  width:100%;
  min-height:350px;
  display:block;
  position:relative;
}
.timeline-section.has-timeline-bg .timeline-copy{
  position:absolute;
  left:8.8%;
  top:22%;
  width:49%;
  padding:0;
  z-index:3;
  text-align:center;
}
.timeline-section.has-timeline-bg .timeline-copy h2{
  margin:0 0 18px;
  color:#6d3518;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;
  font-size:clamp(38px,4.15vw,64px);
  font-weight:500;
  line-height:1.04;
  letter-spacing:.065em;
  white-space:nowrap;
}
.timeline-section.has-timeline-bg .timeline-copy h2 .name-raised{
  display:inline-block;
  color:inherit;
  font-size:.72em;
  font-style:normal;
  line-height:1;
  vertical-align:baseline;
  transform:translateY(-.42em);
  margin:0 .01em;
}
.timeline-section.has-timeline-bg .timeline-subtitle{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:16px;
  margin:0 0 19px;
  color:#8f6124;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;
  font-size:clamp(20px,2vw,30px);
  font-weight:900;
  line-height:1.1;
  letter-spacing:.12em;
  white-space:nowrap;
}
.timeline-section.has-timeline-bg .timeline-subtitle:before,
.timeline-section.has-timeline-bg .timeline-subtitle:after{
  content:"";
  width:56px;
  height:2px;
  flex:0 0 56px;
  background:linear-gradient(90deg,transparent,#c79138 48%,transparent);
}
.timeline-section.has-timeline-bg .timeline-copy p{
  max-width:660px;
  margin:0 auto;
  color:#1b1712;
  font-size:clamp(15px,1.22vw,19px);
  font-weight:900;
  line-height:1.75;
  text-align:center;
}
.timeline-section.has-timeline-bg .timeline-visual{
  position:absolute;
  inset:0;
  min-height:350px;
  height:350px;
  overflow:hidden;
  pointer-events:none;
  z-index:2;
}
.timeline-section.has-timeline-bg .timeline-side-bg{
  display:none;
}
.timeline-section.has-timeline-bg .timeline-master-image{
  right:4.2%;
  top:6%;
  bottom:auto;
  width:24%;
  height:88%;
  background-size:contain;
  background-position:right bottom;
  -webkit-mask-image:none;
  mask-image:none;
}
.timeline-section.has-timeline-bg .timeline-master-image:after{
  display:none;
}
.timeline-section.has-timeline-bg .timeline-vertical-main{
  right:28.5%;
  top:8%;
  color:#17348f;
  font-size:clamp(21px,2.15vw,33px);
}
.timeline-section.has-timeline-bg .timeline-vertical-sub{
  right:34.5%;
  top:10%;
  color:rgba(38,49,127,.58);
  font-size:clamp(19px,1.8vw,28px);
}
.timeline-section:not(.videos-section) .timeline-hero:before{
  background:
    repeating-radial-gradient(circle at 18% 58%,transparent 0 42px,rgba(177,124,44,.09) 43px 45px,transparent 46px 92px),
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0));
}
.timeline-section:not(.videos-section) .timeline-hero-grid{
  width:min(1320px,94vw);
  grid-template-columns:minmax(560px,1.05fr) minmax(480px,.95fr);
  min-height:350px;
}
.timeline-section:not(.videos-section) .timeline-copy{
  align-self:center;
  padding:18px 0 26px;
}
.timeline-section:not(.videos-section) .timeline-copy h2{
  font-size:clamp(40px,3.8vw,60px);
  color:#981916;
  letter-spacing:.08em;
  margin-bottom:18px;
}
.timeline-section:not(.videos-section) .timeline-subtitle{
  gap:20px;
  margin-bottom:20px;
  color:#9d6b26;
  font-size:clamp(22px,2vw,30px);
  letter-spacing:.18em;
}
.timeline-section:not(.videos-section) .timeline-subtitle:before,
.timeline-section:not(.videos-section) .timeline-subtitle:after{
  width:64px;
  height:2px;
  background:linear-gradient(90deg,transparent,#c8923f,transparent);
}
.timeline-section:not(.videos-section) .timeline-copy p{
  max-width:900px;
  color:#161411;
  font-size:clamp(16px,1.25vw,20px);
  line-height:1.65;
  font-weight:900;
  text-align:center;
}
.timeline-section:not(.videos-section) .timeline-visual{
  min-height:350px;
  overflow:hidden;
}
.timeline-section:not(.videos-section) .timeline-visual:before{
  display:none;
}
.timeline-side-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,226,156,.95) 0%,rgba(255,238,191,.35) 22%,rgba(232,247,255,.35) 54%,rgba(255,237,183,.92) 100%),
    linear-gradient(180deg,#e8f8ff,#f5e5aa);
  background-size:cover;
  background-position:center;
  opacity:.9;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 17%,#000 88%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 17%,#000 88%,transparent 100%);
}
.timeline-side-bg[style]{
  opacity:1;
}
.timeline-section:not(.videos-section) .timeline-master-image{
  right:0;
  top:0;
  bottom:0;
  width:300px;
  background-size:auto 94%;
  background-position:right bottom;
  background-repeat:no-repeat;
  z-index:3;
  transform:translate(var(--timeline-master-x,0),var(--timeline-master-y,0)) scale(var(--timeline-master-scale,1));
  transform-origin:right bottom;
  filter:drop-shadow(0 18px 34px rgba(121,74,18,.18));
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 86%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 86%,transparent 100%);
}
.timeline-section:not(.videos-section) .timeline-master-image:after{
  background:linear-gradient(90deg,rgba(255,230,166,.62),transparent 26%,transparent 76%,rgba(255,232,170,.76));
}
.timeline-vertical{
  position:absolute;
  z-index:4;
  writing-mode:vertical-rl;
  text-orientation:upright;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;
  font-weight:900;
  line-height:1.12;
  letter-spacing:.14em;
  text-shadow:0 2px 8px rgba(255,255,255,.75);
  white-space:pre-wrap;
}
.timeline-vertical-main{
  right:290px;
  top:34px;
  color:#142c88;
  font-size:clamp(24px,2.25vw,38px);
}
.timeline-vertical-sub{
  right:370px;
  top:42px;
  color:rgba(61,67,137,.58);
  font-size:clamp(22px,1.85vw,32px);
}
.timeline-section:not(.videos-section) .timeline-panel{
  margin-top:0;
  width:min(1180px,92vw);
  padding:16px 0 54px;
}
.timeline-section:not(.videos-section) .timeline-panel-title{
  margin:0 0 24px;
}
.timeline-section:not(.videos-section) .timeline-panel-title:before{
  font-size:42px;
}
.timeline-section:not(.videos-section) .timeline-panel-title h3{
  font-size:clamp(34px,3vw,52px);
  letter-spacing:.16em;
}
.timeline-section:not(.videos-section) .timeline-carousel{
  padding:22px 54px 24px;
  border-radius:13px;
  background:linear-gradient(180deg,rgba(255,254,250,.86),rgba(255,249,232,.82));
  box-shadow:inset 0 0 40px rgba(214,163,73,.1),0 16px 44px rgba(89,55,22,.06);
}
.timeline-section:not(.videos-section) .timeline-track{
  grid-auto-columns:calc((100% - 72px)/5);
  gap:18px;
}
.timeline-section:not(.videos-section) .timeline-card{
  height:302px;
  background:#fff4d6;
  border-color:rgba(214,163,73,.58);
}
.timeline-section:not(.videos-section) .timeline-thumb{
  flex-basis:118px;
}
.timeline-section:not(.videos-section) .timeline-meta{
  padding:16px 14px 28px;
  text-align:center;
  background:linear-gradient(180deg,#fffdf8 0%,#fff2cf 100%);
}
.timeline-section:not(.videos-section) .timeline-meta b{
  font-size:clamp(18px,1.22vw,22px);
  line-height:1.24;
}
.timeline-section:not(.videos-section) .timeline-year{
  font-size:1.08em;
  letter-spacing:.04em;
}
@media(max-width:1180px){
  .timeline-section:not(.videos-section) .timeline-hero-grid{
    grid-template-columns:1fr .82fr;
  }
  .timeline-vertical-main{right:245px}
  .timeline-vertical-sub{right:315px}
  .timeline-section:not(.videos-section) .timeline-master-image{width:290px}
}
@media(max-width:1050px){
  .timeline-section:not(.videos-section) .timeline-hero-grid{
    grid-template-columns:1fr;
  }
  .timeline-section:not(.videos-section) .timeline-copy{
    padding:54px 0 58px;
  }
  .timeline-section:not(.videos-section) .timeline-visual{
    display:none;
  }
  .timeline-section:not(.videos-section) .timeline-track{
    grid-auto-columns:calc((100% - 36px)/3);
  }
}
@media(max-width:620px){
  .timeline-section:not(.videos-section) .timeline-hero{
    min-height:auto;
  }
  .timeline-section:not(.videos-section) .timeline-copy h2{
    font-size:34px!important;
    white-space:normal!important;
  }
  .timeline-section:not(.videos-section) .timeline-subtitle{
    font-size:18px;
    letter-spacing:.08em;
  }
  .timeline-section:not(.videos-section) .timeline-copy p{
    font-size:15px;
  }
  .timeline-section:not(.videos-section) .timeline-carousel{
    padding:18px 0!important;
  }
  .timeline-section:not(.videos-section) .timeline-card{
    height:auto!important;
    min-height:330px!important;
  }
  .timeline-section:not(.videos-section) .timeline-meta b{
    font-size:23px!important;
  }
}

/* Step 3: fixed typography layer for independent global-dharma background */
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-hero{
  height:350px!important;
  min-height:350px!important;
  background:none!important;
  border-bottom:4px solid rgba(214,155,54,.58);
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-hero:before{
  display:none!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-hero-grid{
  display:block!important;
  width:100%!important;
  min-height:350px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy{
  position:absolute!important;
  left:8.8%!important;
  top:22%!important;
  width:49%!important;
  padding:0!important;
  z-index:3!important;
  text-align:center!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2{
  margin:0 0 18px!important;
  color:#6d3518!important;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-size:clamp(38px,4.15vw,64px)!important;
  font-weight:500!important;
  line-height:1.04!important;
  letter-spacing:.065em!important;
  white-space:nowrap!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2 .name-raised{
  display:inline-block!important;
  color:inherit!important;
  font-size:.72em!important;
  font-style:normal!important;
  line-height:1!important;
  vertical-align:baseline!important;
  transform:translateY(-.42em)!important;
  margin:0 .01em!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-subtitle{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:16px!important;
  margin:0 0 19px!important;
  color:#8f6124!important;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-size:clamp(20px,2vw,30px)!important;
  font-weight:900!important;
  line-height:1.1!important;
  letter-spacing:.12em!important;
  white-space:nowrap!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-subtitle:before,
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-subtitle:after{
  content:""!important;
  width:56px!important;
  height:2px!important;
  flex:0 0 56px!important;
  background:linear-gradient(90deg,transparent,#c79138 48%,transparent)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy p{
  max-width:660px!important;
  margin:0 auto!important;
  color:#1b1712!important;
  font-size:clamp(15px,1.22vw,19px)!important;
  font-weight:900!important;
  line-height:1.75!important;
  text-align:center!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-visual{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  min-height:350px!important;
  height:350px!important;
  overflow:hidden!important;
  pointer-events:none!important;
  z-index:2!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-side-bg{
  display:none!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-master-image{
  right:4.2%!important;
  top:6%!important;
  bottom:auto!important;
  width:24%!important;
  height:88%!important;
  background-size:contain!important;
  background-position:right bottom!important;
  background-repeat:no-repeat!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  transform:translate(var(--timeline-master-x,0),var(--timeline-master-y,0)) scale(var(--timeline-master-scale,1))!important;
  transform-origin:right bottom!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-master-image:after{
  display:none!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-vertical-main{
  right:28.5%!important;
  top:8%!important;
  color:#17348f!important;
  font-size:clamp(21px,2.15vw,33px)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-vertical-sub{
  right:34.5%!important;
  top:10%!important;
  color:rgba(38,49,127,.58)!important;
  font-size:clamp(19px,1.8vw,28px)!important;
}

/* Compact reference-style principles banner */
.principles{
  min-height:220px;
  height:clamp(220px,12vw,260px);
  background-size:cover;
  background-position:center center;
}
.principles-frame{
  min-height:0;
  height:100%;
}
.principles .principles-grid{
  width:min(59vw,1410px);
  height:74%;
  margin-top:3.8%;
}
@media(max-width:1050px){
  .principles{
    height:auto;
    min-height:0;
    aspect-ratio:2172/362;
    background-size:cover;
    background-position:center center;
  }
  .principles-frame{height:100%}
  .principles .principles-grid{
    width:59%;
    height:74%;
    margin-top:3.8%;
  }
}
@media(max-width:620px){
  .principles{
    aspect-ratio:2172/420;
    background-position:center center;
  }
  .principles .principles-grid{
    width:66%;
    height:76%;
    margin-top:4%;
  }
}

/* Principles real-card compact redesign */
.principles{
  height:clamp(220px,12vw,260px);
  min-height:220px;
  padding:0;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(255,247,226,.74),rgba(255,252,244,.42),rgba(255,247,226,.74)),
    url('/uploads/principles-soft-bg.png?v=20260811') center/cover no-repeat;
}
.principles:before{
  content:"";
  display:block;
  position:absolute;
  inset:14px max(34px,4.5vw);
  border:1px solid rgba(204,146,44,.5);
  border-radius:26px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,252,241,.42),rgba(255,248,228,.18));
}
.principles:after{
  content:"✧";
  position:absolute;
  left:50%;
  top:10px;
  transform:translateX(-50%);
  color:#cc9027;
  font-size:24px;
  line-height:1;
  text-shadow:0 1px 0 #fff4c8;
}
.principles-frame{
  position:relative;
  z-index:1;
  width:min(1560px,88vw);
  height:100%;
  min-height:0;
  margin:auto;
  padding:26px 0 20px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.principles-frame:before,
.principles-frame:after{display:none!important}
.principles .principles-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(14px,1.45vw,28px);
  width:100%;
  height:100%;
  margin:0;
  align-items:stretch;
}
.principles .principle{
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:12px 10px 10px;
  border:1px solid rgba(218,172,82,.54);
  border-radius:13px;
  background:rgba(255,253,247,.92);
  box-shadow:0 10px 24px rgba(117,71,15,.13), inset 0 1px 0 rgba(255,255,255,.9);
  text-align:center;
  text-decoration:none;
  color:#3a2514;
  overflow:hidden;
}
.principles .principle:before,
.principles .principle:after,
.principle-medallion,
.principle-icon{display:none!important}
.principle-art{
  flex:0 0 auto;
  width:clamp(104px,8.4vw,154px);
  height:clamp(104px,8.4vw,154px);
  border-radius:50%;
  background-size:cover;
  background-position:center;
  box-shadow:0 0 0 1px rgba(218,172,82,.45),0 8px 18px rgba(138,82,19,.12);
}
.principles .principle h3{
  position:static;
  width:auto;
  height:auto;
  clip:auto;
  overflow:visible;
  margin:0;
  color:#3a2514;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;
  font-size:clamp(16px,1.18vw,22px);
  font-weight:900;
  line-height:1.1;
  letter-spacing:.02em;
  white-space:nowrap;
}
.principles .principle h3:after{display:none!important}
.principles .principle p{display:none!important}
.principles .principle-link:hover{
  transform:translateY(-3px);
  background:rgba(255,255,251,.98);
  box-shadow:0 16px 32px rgba(117,71,15,.18), inset 0 1px 0 rgba(255,255,255,.95);
}
@media(max-width:1050px){
  .principles{height:220px;aspect-ratio:auto;background-size:cover}
  .principles-frame{width:92vw;padding:24px 0 18px}
  .principles .principles-grid{width:100%;height:100%;margin:0;gap:12px}
  .principle-art{width:86px;height:86px}
  .principles .principle h3{font-size:16px}
}
@media(max-width:620px){
  .principles{height:auto;min-height:0;padding:26px 0}
  .principles-frame{height:auto;width:88vw;padding:0}
  .principles .principles-grid{grid-template-columns:1fr;gap:12px}
  .principles .principle{height:150px;flex-direction:row;justify-content:flex-start;padding:16px 22px;gap:18px;text-align:left}
  .principle-art{width:98px;height:98px}
  .principles .principle h3{font-size:21px}
}

/* Restore principles section to the pre-Aug-11 banner state */
.principles{
  min-height:clamp(220px,16.67vw,362px)!important;
  height:clamp(220px,16.67vw,362px)!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  background:#fff4d2 url('/uploads/principles-reference-banner.png?v=20260810-reference') center/100% 100% no-repeat!important;
}
.principles:before,.principles:after{display:none!important}
.principles-frame{
  width:100%!important;
  min-height:0!important;
  height:100%!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.principles-frame:before,.principles-frame:after{display:none!important}
.principles .principles-grid{
  display:grid!important;
  grid-template-columns:repeat(5,1fr)!important;
  gap:0!important;
  align-items:stretch!important;
  width:86.6%!important;
  height:52%!important;
  margin:25.5% auto 0!important;
}
.principles .principle{
  min-height:0!important;
  height:auto!important;
  display:block!important;
  padding:0!important;
  border:0!important;
  border-radius:18px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#49321e!important;
  text-align:center!important;
  overflow:hidden!important;
}
.principles .principle:before,.principles .principle:after,.principle-medallion,.principle-icon,.principle-art{display:none!important}
.principles .principle h3{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  margin:0!important;
}
.principles .principle h3:after,.principles .principle p{display:none!important}
.principles .principle-link:hover{background:rgba(255,255,255,.16)!important;box-shadow:none!important;transform:none!important}
@media(max-width:1050px){
  .principles{height:auto!important;min-height:0!important;aspect-ratio:2172/362!important;background-size:100% 100%!important;background-position:center center!important}
  .principles-frame{height:100%!important}
  .principles .principles-grid{width:86.6%!important;height:52%!important;margin-top:25.5%!important}
}
@media(max-width:620px){
  .principles{aspect-ratio:2172/420!important;background-position:center center!important}
  .principles .principles-grid{grid-template-columns:repeat(5,1fr)!important;width:86.6%!important;height:56%!important;margin-top:22%!important}
}

/* Restore principles section to Aug-10 golden illustrated card design */
.principles{
  min-height:clamp(320px,31.5vw,646px)!important;
  height:auto!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  background:#fff3cf url('/uploads/principles-golden-banner-bg.png?v=20260808') center/cover no-repeat!important;
}
.principles:before,.principles:after{display:none!important}
.principles-frame{
  width:100%!important;
  min-height:clamp(320px,31.5vw,646px)!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.principles-frame:before,.principles-frame:after{display:none!important}
.principles .principles-grid{
  display:grid!important;
  grid-template-columns:repeat(5,1fr)!important;
  gap:0!important;
  align-items:stretch!important;
  width:82.7%!important;
  height:55.8%!important;
  min-height:clamp(178px,17.7vw,362px)!important;
  margin:clamp(82px,8.1vw,166px) auto 0!important;
}
.principles .principle{
  position:relative!important;
  min-height:0!important;
  height:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-end!important;
  padding:0 10px clamp(20px,2.05vw,42px)!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#4a301a!important;
  text-align:center!important;
  overflow:visible!important;
}
.principles .principle:before,.principles .principle:after,.principle-art{display:none!important}
.principle-medallion{
  position:absolute!important;
  left:50%!important;
  top:clamp(12px,1.1vw,22px)!important;
  transform:translateX(-50%)!important;
  z-index:1!important;
  width:clamp(84px,8.8vw,180px)!important;
  height:clamp(84px,8.8vw,180px)!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(255,250,231,.58),rgba(248,211,126,.16) 66%,transparent 67%)!important;
  box-shadow:none!important;
}
.principle-icon{
  width:auto!important;
  height:auto!important;
  display:grid!important;
  place-items:center!important;
  border-radius:0!important;
  background:none!important;
  color:#c58a2a!important;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-size:clamp(44px,4.6vw,94px)!important;
  font-weight:900!important;
  line-height:1!important;
  text-shadow:0 2px 0 rgba(255,255,255,.8),0 0 20px rgba(255,206,98,.42)!important;
  opacity:.9!important;
}
.principles .principle h3{
  position:relative!important;
  z-index:2!important;
  width:auto!important;
  height:auto!important;
  clip:auto!important;
  overflow:visible!important;
  margin:0!important;
  color:#3d2a18!important;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-size:clamp(21px,2vw,42px)!important;
  line-height:1.15!important;
  font-weight:900!important;
  white-space:nowrap!important;
  text-shadow:0 2px 0 rgba(255,255,255,.72)!important;
}
.principles .principle h3:after{
  content:""!important;
  display:block!important;
  width:clamp(72px,7.6vw,156px)!important;
  height:1px!important;
  margin:clamp(10px,1vw,20px) auto 0!important;
  background:linear-gradient(90deg,transparent,#d39a32,transparent)!important;
}
.principles .principle p{display:none!important}
.principles .principle-link:hover{background:transparent!important;box-shadow:none!important;transform:translateY(-4px)!important}
@media(max-width:1050px){
  .principles{min-height:0!important;aspect-ratio:2172/724!important;background-size:cover!important}
  .principles-frame{min-height:0!important;height:100%!important}
  .principles .principles-grid{width:82.7%!important;height:55.8%!important;min-height:0!important;margin-top:22.9%!important}
}
@media(max-width:620px){
  .principles{aspect-ratio:auto!important;min-height:560px!important;background-size:auto 100%!important;background-position:center!important}
  .principles-frame{height:560px!important}
  .principles .principles-grid{grid-template-columns:1fr!important;width:72%!important;height:auto!important;margin:70px auto 0!important;gap:10px!important}
  .principles .principle{height:86px!important;justify-content:center!important;padding:0!important}
  .principle-medallion{display:none!important}
  .principles .principle h3{font-size:24px!important}
  .principles .principle h3:after{display:none!important}
}

/* Exact Aug-10 principles design restored from provided reference screenshot */
.principles{
  min-height:clamp(340px,32.22vw,646px)!important;
  height:auto!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  background:#fff3cf url('/uploads/principles-yesterday-design.png?v=20260811-yesterday-exact') center/cover no-repeat!important;
}
.principles:before,.principles:after{display:none!important}
.principles-frame{
  width:100%!important;
  min-height:clamp(340px,32.22vw,646px)!important;
  height:auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.principles-frame:before,.principles-frame:after{display:none!important}
.principles .principles-grid{
  display:grid!important;
  grid-template-columns:repeat(5,1fr)!important;
  gap:0!important;
  width:82.5%!important;
  height:54%!important;
  min-height:clamp(184px,17.4vw,350px)!important;
  margin:clamp(106px,10.45vw,210px) auto 0!important;
}
.principles .principle{
  display:block!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
  color:transparent!important;
}
.principles .principle:before,.principles .principle:after,.principle-medallion,.principle-icon,.principle-art{display:none!important}
.principles .principle h3,.principles .principle h3:after,.principles .principle p{display:none!important}
.principles .principle-link:hover{background:rgba(255,255,255,.08)!important;box-shadow:none!important;transform:none!important}
@media(max-width:1050px){
  .principles{min-height:0!important;aspect-ratio:3234/1042!important;background-size:cover!important}
  .principles-frame{height:100%!important;min-height:0!important}
  .principles .principles-grid{width:82.5%!important;height:54%!important;min-height:0!important;margin-top:32.4%!important}
}
@media(max-width:620px){
  .principles{min-height:420px!important;aspect-ratio:auto!important;background-size:auto 100%!important}
  .principles-frame{height:420px!important}
  .principles .principles-grid{width:82.5%!important;height:54%!important;margin-top:32.4%!important;grid-template-columns:repeat(5,1fr)!important}
}

/* Mobile layout repair: keep desktop design, remove phone overflow and desktop motion offsets */
@media(max-width:700px){
  html,body{
    width:100%;
    max-width:100%;
    overflow-x:hidden!important;
  }
  .mobile-no-motion *,
  .mobile-no-motion *:before,
  .mobile-no-motion *:after{
    transform:none!important;
    opacity:1!important;
    filter:none!important;
  }
  .section{
    max-width:100vw;
    overflow:hidden;
  }
  .wrap{
    width:calc(100vw - 28px)!important;
    max-width:390px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .hero{
    min-height:100svh!important;
  }
  .hero-media{
    inset:0!important;
    width:100%!important;
    height:100%!important;
    background-size:cover!important;
    background-position:center!important;
  }

  .master{
    padding:42px 0!important;
  }
  .master-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    align-items:start!important;
    width:calc(100vw - 28px)!important;
  }
  .portrait{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4/5!important;
    margin:0!important;
    background-size:cover!important;
    background-position:center top!important;
  }
  .master-copy{
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    padding:22px 16px!important;
  }
  .section h2.master-name{
    white-space:nowrap!important;
    font-size:clamp(32px,10.6vw,42px)!important;
    line-height:1.04!important;
    letter-spacing:0!important;
  }
  .master-name .name-raised{
    font-size:.68em!important;
    transform:translateY(-.42em)!important;
  }
  .master-intro{
    font-size:18px!important;
    line-height:1.48!important;
  }
  .master-roles-panel{
    padding:16px 12px!important;
  }
  .master-roles-grid{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .master-role{
    width:100%!important;
    min-height:auto!important;
    padding:9px 10px!important;
    font-size:15px!important;
    line-height:1.35!important;
    overflow-wrap:anywhere!important;
  }

  .ceremony{
    padding:42px 0!important;
  }
  .ceremony-poster-grid,
  .ceremony-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    width:calc(100vw - 28px)!important;
    max-width:390px!important;
    margin:auto!important;
  }
  .ceremony-left-card,
  .ceremony-content{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .ceremony-left-card{
    grid-template-rows:auto!important;
  }
  .ceremony-locations{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:12px!important;
  }
  .ceremony-location-card{
    min-width:0!important;
  }
  .location-map{
    height:160px!important;
  }
  .location-photo{
    height:132px!important;
  }
  .ceremony-content{
    padding:24px 14px 20px!important;
  }
  .ceremony-content:before{
    inset:9px!important;
  }
  .ceremony-content h2{
    font-size:clamp(34px,12vw,46px)!important;
    letter-spacing:.03em!important;
  }
  .ceremony-subtitle{
    font-size:21px!important;
    letter-spacing:.08em!important;
  }
  .ceremony-desc{
    font-size:13px!important;
    line-height:1.55!important;
  }
  .ceremony-master{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:14px!important;
    min-height:0!important;
  }
  .ceremony-master:before{
    display:none!important;
  }
  .ceremony-master span{
    writing-mode:horizontal-tb!important;
    justify-self:center!important;
    letter-spacing:.12em!important;
    font-size:15px!important;
  }
  .ceremony-master b{
    white-space:nowrap!important;
    text-align:center!important;
    font-size:clamp(28px,10vw,38px)!important;
    letter-spacing:.02em!important;
  }
  .ceremony-master small{
    text-align:center!important;
    font-size:12px!important;
  }
  .ceremony-master-photo{
    width:100%!important;
    height:172px!important;
    min-height:0!important;
    justify-self:stretch!important;
  }
  .ceremony-events{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .ceremony-event{
    min-height:0!important;
    padding:38px 12px 12px!important;
  }
  .event-name{
    width:auto!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .ceremony-lower{
    grid-template-columns:1fr!important;
  }
  .ceremony-plaques{
    grid-template-columns:1fr 1fr!important;
  }
  .ceremony-plaques span{
    min-width:0!important;
    white-space:nowrap!important;
    font-size:12px!important;
    padding:9px 6px!important;
  }
  .ceremony-register{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    text-align:center!important;
  }
  .ceremony-register img{
    grid-row:auto!important;
    width:118px!important;
    height:118px!important;
  }
  .ceremony-register span{
    width:auto!important;
  }
  .ceremony-gallery-strip{
    grid-template-columns:repeat(2,1fr)!important;
  }

  .timeline-hero-grid{
    grid-template-columns:1fr!important;
  }
  .timeline-copy{
    padding:38px 0 52px!important;
    text-align:center!important;
  }
  .timeline-copy h2,
  .timeline-section:not(.videos-section) .timeline-copy h2{
    white-space:normal!important;
    font-size:36px!important;
    line-height:1.15!important;
  }
  .timeline-copy p{
    margin-left:0!important;
    font-size:15px!important;
  }
  .timeline-visual{
    display:none!important;
  }
  .timeline-panel{
    padding-left:0!important;
    padding-right:0!important;
  }
  .timeline-carousel{
    padding:18px 0!important;
    overflow:visible!important;
  }
  .timeline-track{
    display:flex!important;
    gap:14px!important;
    overflow-x:auto!important;
    padding:0 2px 12px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch;
  }
  .timeline-card{
    flex:0 0 82%!important;
    width:auto!important;
    min-width:0!important;
    min-height:286px!important;
    height:auto!important;
  }
  .timeline-meta{
    min-height:132px!important;
    padding:18px 14px!important;
    text-align:center!important;
  }
  .timeline-meta b{
    font-size:24px!important;
  }
  .timeline-year,
  .timeline-card-title{
    display:block!important;
    text-align:center!important;
  }
  .timeline-more{
    font-size:18px!important;
    padding:12px 26px!important;
  }

  .quote{
    padding:42px 0!important;
  }
  .quote-grid{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .quote-photo{
    min-height:0!important;
    aspect-ratio:1/1!important;
  }
  .quote blockquote{
    font-size:30px!important;
  }

  .principles{
    min-height:160px!important;
    height:160px!important;
    background-size:auto 100%!important;
    background-position:center center!important;
  }
  .principles-frame{
    height:160px!important;
    min-height:0!important;
  }
  .principles .principles-grid{
    width:82.5%!important;
    height:54%!important;
    min-height:0!important;
    margin-top:32.4%!important;
    grid-template-columns:repeat(5,1fr)!important;
  }

  .branch-intro{
    padding:42px 0!important;
  }
  .branch-frame{
    width:calc(100vw - 28px)!important;
    max-width:390px!important;
  }
  .branch-hero,
  .branch-main-grid,
  .branch-contact-row{
    grid-template-columns:1fr!important;
  }
  .branch-hero{
    background:#991b15!important;
  }
  .branch-hero:before{
    display:none!important;
  }
  .branch-hero-copy{
    background:#991b15!important;
  }
  .branch-hero-copy{
    padding:28px 18px!important;
  }
  .branch-hero-copy h2{
    font-size:34px!important;
  }
  .branch-hero-media,
  .branch-hero-image{
    min-height:190px!important;
  }
  .branch-local-play{
    width:auto!important;
    min-width:92px!important;
    height:32px!important;
    top:auto!important;
    bottom:18px!important;
    padding:0 15px!important;
    transform:translateX(-50%)!important;
    box-shadow:0 8px 18px rgba(55,21,9,.24),0 0 0 4px rgba(255,244,216,.12)!important;
  }
  .branch-local-play span{
    font-size:14px!important;
  }
  .branch-contact-row{
    gap:0!important;
  }
  .branch-contact-row div{
    justify-content:flex-start!important;
    padding:12px!important;
  }
  .branch-contact-row span{
    font-size:15px!important;
    line-height:1.35!important;
  }
  .branch-main-grid{
    padding:12px!important;
    gap:14px!important;
  }
  .branch-map-card{
    min-height:250px!important;
  }
  .branch-photo-grid{
    grid-template-columns:1fr 1fr!important;
    grid-auto-rows:86px!important;
  }
  .branch-card-head h3{
    font-size:20px!important;
  }
  .branch-card-head button{
    font-size:13px!important;
    white-space:nowrap!important;
  }

  .dabei-section{
    padding:42px 0!important;
  }
  .dabei-frame{
    width:calc(100vw - 28px)!important;
    max-width:390px!important;
    padding:20px 14px!important;
  }
  .dabei-head,
  .dabei-main,
  .dabei-audios,
  .dabei-featured-videos,
  .dabei-videos{
    grid-template-columns:1fr!important;
  }
  .dabei-title h2{
    font-size:34px!important;
  }
  .dabei-audio{
    min-height:0!important;
    padding:18px 14px!important;
  }
  .dabei-audio-top{
    grid-template-columns:1fr!important;
    text-align:center!important;
  }
  .dabei-audio-icon{
    margin:auto!important;
  }
  .dabei-audio audio{
    width:100%!important;
  }
  .dabei-guide{
    width:100%!important;
  }
  .dabei-guide-image{
    width:100%!important;
    height:auto!important;
  }

#dabei-practice .dabei-audios,
#dabei-practice .dabei-guide{
  display:none!important;
}
#dabei-practice .dabei-head,
#dabei-practice .dabei-main{
  display:block!important;
}
#dabei-practice .dabei-intro{
  align-items:center!important;
  text-align:center!important;
}
#dabei-practice .dabei-resources{
  width:100%!important;
}

  .footer-grid{
    grid-template-columns:1fr!important;
  }
}

/* Restored standalone gallery layout */
.gallery-section{
  background:#fffdf8!important;
  padding:72px 0!important;
}
.gallery-section .section-head{
  margin-bottom:26px!important;
}
.gallery-section .section-head h2{
  color:#111!important;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-size:clamp(38px,4vw,62px)!important;
  line-height:1.12!important;
}
.gallery-section .gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:180px!important;
  gap:12px!important;
  align-items:stretch!important;
}
.gallery-section .gallery-item{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:4px!important;
  background-color:#d9c9ad!important;
  background-size:cover!important;
  background-position:center!important;
  position:relative!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
.gallery-section .gallery-item:nth-child(7n+1){
  grid-column:span 2!important;
  grid-row:span 2!important;
}
.gallery-section .gallery-caption{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  padding:34px 14px 12px!important;
  color:#fff!important;
  background:linear-gradient(transparent,rgba(0,0,0,.74))!important;
  font-size:15px!important;
  font-weight:800!important;
  text-align:left!important;
}
@media(max-width:900px){
  .gallery-section .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:560px){
  .gallery-section{
    padding:42px 0!important;
  }
  .gallery-section .section-head h2{
    font-size:34px!important;
  }
  .gallery-section .gallery-grid{
    grid-template-columns:1fr!important;
    grid-auto-rows:230px!important;
  }
  .gallery-section .gallery-item:nth-child(7n+1){
    grid-column:auto!important;
    grid-row:auto!important;
  }
}

/* Five illustrated navigation cards: the artwork is text-free and the
   localized titles remain editable content layered over the image. */
.principles{
  background-image:url('/uploads/principles-yesterday-design-no-text-v1.png?v=20260909')!important;
}
.principles .principle{
  position:relative!important;
}
.principles .principle h3{
  position:absolute!important;
  z-index:5!important;
  left:3%!important;
  right:3%!important;
  bottom:clamp(14px,1.4vw,28px)!important;
  display:flex!important;
  width:auto!important;
  height:clamp(22px,3vw,58px)!important;
  margin:0!important;
  padding:0 3px!important;
  clip:auto!important;
  overflow:visible!important;
  align-items:center!important;
  justify-content:center!important;
  color:#50351b!important;
  background:transparent!important;
  font-family:"GondesanTitle","Kaiti SC","STKaiti",serif!important;
  font-size:clamp(10px,1.55vw,30px)!important;
  font-weight:700!important;
  line-height:1.08!important;
  letter-spacing:.01em!important;
  white-space:normal!important;
  text-align:center!important;
  text-shadow:0 1px 0 rgba(255,255,255,.7)!important;
}
html[lang="en"] body .principles .principle h3{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(9px,1.25vw,24px)!important;
  line-height:1.06!important;
  letter-spacing:0!important;
}
.principles .principle h3:after{display:none!important}
@media(max-width:620px){
  .principles .principle h3{
    left:1%!important;
    right:1%!important;
    bottom:20px!important;
    height:18px!important;
    padding:0 1px!important;
    font-size:clamp(6px,1.75vw,7px)!important;
    line-height:1.02!important;
  }
  html[lang="en"] body .principles .principle h3{
    font-size:clamp(5.8px,1.65vw,6.8px)!important;
    line-height:1.02!important;
  }
}

/* Venerable Kuan Ru profile: in-page transparent book viewer. */
.master-profile-open{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:-4px 0 18px;
  padding:0 0 5px;
  border:0;
  border-bottom:1px solid rgba(143,30,25,.42);
  background:transparent;
  color:#8f1e19;
  font:800 14px/1.2 "Kaiti SC","STKaiti","KaiTi",serif;
  letter-spacing:.08em;
  cursor:pointer;
}
.master-profile-open i{font:normal 24px/14px Georgia,serif;transition:transform .2s ease}
.master-profile-open:hover i,.master-profile-open:focus-visible i{transform:translateX(4px)}
body.profile-book-open{overflow:hidden}
.profile-book-modal{
  position:fixed;
  inset:0;
  z-index:12000;
  display:grid;
  place-items:center;
  padding:clamp(10px,2.2vw,30px);
  background:rgba(17,10,5,.66);
  backdrop-filter:blur(9px) saturate(.82);
  -webkit-backdrop-filter:blur(9px) saturate(.82);
}
.profile-book-modal[hidden]{display:none!important}
.profile-book-dialog{
  width:min(1180px,97vw);
  max-height:95vh;
  padding:16px 18px 14px;
  border:1px solid rgba(240,207,137,.5);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,248,225,.18),rgba(67,42,18,.12));
  box-shadow:0 28px 90px rgba(0,0,0,.45);
  color:#fff8e9;
}
.profile-book-head,.profile-book-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}
.profile-book-head{padding:0 4px 12px}
.profile-book-head small{display:block;color:#dfb76e;font-size:10px;font-weight:900;letter-spacing:.24em}
.profile-book-head h2{margin:3px 0 0;color:#fff9ed;font-size:clamp(20px,2vw,30px);line-height:1.1}
.profile-book-close{
  flex:0 0 auto;
  width:42px;
  height:42px;
  border:1px solid rgba(255,244,217,.55);
  border-radius:50%;
  background:rgba(35,22,11,.28);
  color:#fff;
  font:300 34px/36px Arial,sans-serif;
  cursor:pointer;
}
.profile-book-stage{display:grid;grid-template-columns:50px minmax(0,1fr) 50px;align-items:center;gap:12px;min-height:0}
.profile-book{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:min(900px,calc(78vh * 1.462),calc(100vw - 190px));
  margin:auto;
  perspective:2400px;
  filter:drop-shadow(0 22px 30px rgba(0,0,0,.34));
}
.profile-book:after{content:"";position:absolute;z-index:6;top:0;bottom:0;left:50%;width:2px;transform:translateX(-1px);background:linear-gradient(90deg,rgba(73,39,12,.48),rgba(255,255,255,.45),rgba(73,39,12,.34));box-shadow:0 0 16px rgba(61,33,10,.4);pointer-events:none}
.profile-book.is-single{grid-template-columns:minmax(0,1fr);width:min(440px,calc(78vh * .731),calc(100vw - 130px))}
.profile-book.is-single:after{display:none}
.profile-book-page{
  position:relative;
  aspect-ratio:1240/1697;
  overflow:hidden;
  background:linear-gradient(135deg,#fffdf3,#efe3bf);
  transform-style:preserve-3d;
  backface-visibility:hidden;
  cursor:default;
}
.profile-book-page:first-child{border-radius:8px 1px 1px 8px;box-shadow:inset -14px 0 24px rgba(91,58,22,.12)}
.profile-book-page:last-child{border-radius:1px 8px 8px 1px;box-shadow:inset 14px 0 24px rgba(91,58,22,.1)}
.profile-book-page canvas{display:block;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .22s ease}
.profile-book-page.is-ready canvas{opacity:1}
.profile-page-loading{position:absolute;inset:0;display:grid;place-items:center;color:#9b6e2f;font:800 18px/1 Georgia,serif;background:linear-gradient(135deg,#fffdf3,#efe3bf)}
.profile-book-page.is-ready .profile-page-loading{display:none}
.profile-book-nav{
  width:48px;
  height:48px;
  border:1px solid rgba(255,239,202,.66);
  border-radius:50%;
  background:rgba(255,250,235,.16);
  color:#fff8e9;
  font:36px/42px Georgia,serif;
  cursor:pointer;
  transition:background .2s ease,transform .2s ease,opacity .2s ease;
}
.profile-book-nav:hover:not(:disabled),.profile-book-nav:focus-visible:not(:disabled){background:rgba(211,162,75,.5);transform:scale(1.06)}
.profile-book-nav:disabled{opacity:.25;cursor:default}
.profile-book-footer{padding:11px 4px 0;color:rgba(255,248,233,.84);font-size:12px;letter-spacing:.04em}
.profile-book-counter{color:#efc97f;font:700 14px/1 Georgia,serif}
.profile-book-modal.has-error .profile-book-page{opacity:.25}
@keyframes profilePageNextOut{from{transform:rotateY(0);opacity:1}to{transform:rotateY(-88deg);opacity:.25}}
@keyframes profilePagePrevOut{from{transform:rotateY(0);opacity:1}to{transform:rotateY(88deg);opacity:.25}}
@keyframes profilePageNextIn{from{transform:rotateY(78deg);opacity:.25}to{transform:rotateY(0);opacity:1}}
@keyframes profilePagePrevIn{from{transform:rotateY(-78deg);opacity:.25}to{transform:rotateY(0);opacity:1}}
.profile-book.is-turning-next .profile-book-page:last-child{z-index:8;transform-origin:left center;animation:profilePageNextOut .28s ease-in forwards}
.profile-book.is-turning-prev .profile-book-page:first-child{z-index:8;transform-origin:right center;animation:profilePagePrevOut .28s ease-in forwards}
.profile-book.is-settling-next .profile-book-page:first-child{z-index:8;transform-origin:right center;animation:profilePageNextIn .28s ease-out}
.profile-book.is-settling-prev .profile-book-page:last-child{z-index:8;transform-origin:left center;animation:profilePagePrevIn .28s ease-out}
@media(max-width:760px){
  .profile-book-modal{padding:8px}
  .profile-book-dialog{width:100%;max-height:98vh;padding:12px 8px 10px;border-radius:14px}
  .profile-book-head{padding:0 5px 10px}
  .profile-book-head h2{font-size:20px}
  .profile-book-close{width:38px;height:38px;font-size:30px}
  .profile-book-stage{grid-template-columns:40px minmax(0,1fr) 40px;gap:5px}
  .profile-book{grid-template-columns:minmax(0,1fr);width:min(calc(100vw - 104px),calc(76vh * .731))}
  .profile-book:after{display:none}
  .profile-book-page:first-child{border-radius:7px;box-shadow:inset 0 0 22px rgba(91,58,22,.12)}
  .profile-book-page:nth-child(2){display:none!important}
  .profile-book-nav{width:38px;height:38px;font-size:30px;line-height:34px}
  .profile-book-footer{padding:9px 5px 0;font-size:10px}
  .master-profile-open{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .profile-book-page{animation:none!important}
}

/* Keep CMS typography above the legacy global Kai override. */
html body .gds-rich-line:not(#gondesan-original-font){
  font-family:var(--gds-rich-font,inherit)!important;
  font-size:var(--gds-rich-size,inherit)!important;
  font-weight:var(--gds-rich-weight,inherit)!important;
  line-height:var(--gds-rich-line-height,inherit)!important;
  text-align:var(--gds-rich-align,inherit)!important;
  color:var(--gds-rich-color,inherit)!important;
}
html body .gds-rich-run:not(#gondesan-original-font){
  font-family:var(--gds-rich-run-font,inherit)!important;
  font-size:var(--gds-rich-run-size,inherit)!important;
  font-weight:var(--gds-rich-run-weight,inherit)!important;
  color:var(--gds-rich-run-color,inherit)!important;
}
html body .gds-rich-run.is-superscript:not(#gondesan-original-font){font-size:var(--gds-rich-run-size,.72em)!important;vertical-align:super!important;line-height:0!important}
@media(max-width:700px){
  html body .gds-rich-line:not(#gondesan-original-font){font-size:var(--gds-rich-mobile-size,var(--gds-rich-size,inherit))!important}
  html body .gds-rich-run:not(#gondesan-original-font){font-size:var(--gds-rich-run-mobile-size,var(--gds-rich-run-size,inherit))!important}
  html body .gds-rich-run.is-superscript:not(#gondesan-original-font){font-size:var(--gds-rich-run-mobile-size,var(--gds-rich-run-size,.72em))!important}
}

/* Bilingual line-by-line typography configured from the CMS. */
@font-face{font-family:"GondesanYanKai";src:url("/fonts/LXGWWenKaiLite-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"GondesanXingKai";src:url("/fonts/MaShanZheng-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"GondesanWeiBei";src:url("/fonts/ZCOOLXiaoWei-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
.gds-rich-line{
  display:block;
  max-width:100%;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.gds-rich-run{display:inline}

/* Footer brand mark: replaces the former QR-code slot. */
.footer-brand-mark{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  align-self:start;
}
.footer-logo{
  width:clamp(126px,10vw,156px);
  aspect-ratio:1;
  transform:translateY(-24px);
  border:3px solid rgba(205,164,92,.34);
  border-radius:50%;
  background-color:#fff;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  box-shadow:0 12px 30px rgba(0,0,0,.28);
  overflow:hidden;
}
@media(max-width:900px){
  .footer-brand-mark{justify-content:flex-start}
}
@media(min-width:561px) and (max-width:900px){
  .footer-grid{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
  }
  .footer-grid>div:first-child{
    grid-column:1;
    grid-row:1;
  }
  .footer-brand-mark{
    grid-column:2;
    grid-row:1;
    justify-content:flex-end;
  }
  .footer-grid>div:nth-child(2){
    grid-column:1;
    grid-row:2;
  }
  .footer-grid>div:nth-child(3){
    grid-column:2;
    grid-row:2;
  }
}
@media(max-width:560px){
  .footer-brand-mark{margin-top:6px}
  .footer-logo{width:118px;transform:translateY(-15px)}
}

/* English layout correction: longer English copy needs its own rhythm and sizing. */
html[lang="en"] body .master-copy{
  overflow:visible!important;
}
html[lang="en"] body .section h2.master-name{
  font-size:clamp(42px,3.65vw,52px)!important;
  line-height:1.04!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
html[lang="en"] body .master-intro{
  font-size:17px!important;
  font-weight:600!important;
  line-height:1.55!important;
}
html[lang="en"] body .master-roles-panel{
  flex:0 0 auto!important;
  overflow:visible!important;
}
html[lang="en"] body .master-roles-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
  gap:10px 14px!important;
}
html[lang="en"] body .master-role{
  min-width:0!important;
  min-height:48px!important;
  height:auto!important;
  padding:9px 11px 9px 13px!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.34!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:auto;
}
html[lang="en"] body .roles-label{
  margin-bottom:14px!important;
  font-size:15px!important;
  letter-spacing:.11em!important;
}
html[lang="en"] body .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(40px,3.25vw,50px)!important;
  font-weight:700!important;
  line-height:1.06!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
html[lang="en"] body .timeline-section.has-timeline-bg .timeline-kicker{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(19px,1.55vw,24px)!important;
  letter-spacing:.07em!important;
}
html[lang="en"] body .timeline-section.has-timeline-bg .timeline-subtitle{
  font-size:clamp(16px,1.35vw,20px)!important;
  line-height:1.35!important;
  letter-spacing:.025em!important;
}
html[lang="en"] body #featured-videos .timeline-copy h2{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(42px,3.8vw,56px)!important;
  font-weight:700!important;
  line-height:1.05!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
}
html[lang="en"] body .timeline-meta b{
  font-size:15px!important;
  line-height:1.22!important;
}
html[lang="en"] body .ceremony-content h2{
  font-size:clamp(34px,2.85vw,42px)!important;
  line-height:1.08!important;
  letter-spacing:0!important;
  text-wrap:balance;
}
html[lang="en"] body .ceremony-master b{
  font-size:clamp(27px,2.2vw,34px)!important;
  letter-spacing:0!important;
}
html[lang="en"] body .ceremony-event{
  padding:14px!important;
}
html[lang="en"] body .event-name{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 10px!important;
  padding:8px 11px!important;
  border-radius:6px!important;
  font-size:13px!important;
  line-height:1.3!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
}
html[lang="en"] body .event-name:after{
  display:none!important;
}
html[lang="en"] body .branch-hero-copy h2{
  font-size:clamp(32px,2.65vw,38px)!important;
  line-height:1.08!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
html[lang="en"] body .branch-hero-copy p{
  font-size:16px!important;
  font-weight:600!important;
  line-height:1.62!important;
}
html[lang="en"] body .gallery-section .section-head h2{
  font-size:clamp(34px,3vw,44px)!important;
  line-height:1.12!important;
  text-wrap:balance;
}
html[lang="en"] body #dabei-practice .dabei-title h2{
  font-size:clamp(38px,3.25vw,50px)!important;
  line-height:1.08!important;
  letter-spacing:0!important;
}

@media(min-width:901px){
  html[lang="en"] body .master{
    padding:82px 0!important;
  }
  html[lang="en"] body .master-grid{
    grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr)!important;
    gap:44px!important;
    align-items:stretch!important;
  }
  html[lang="en"] body .portrait{
    height:auto!important;
    min-height:820px!important;
  }
  html[lang="en"] body .master-copy{
    height:auto!important;
    min-height:820px!important;
    padding:34px 34px 32px 42px!important;
  }
}

@media(max-width:900px){
  html[lang="en"] body .section h2.master-name{
    font-size:clamp(31px,8.2vw,40px)!important;
    white-space:nowrap!important;
  }
  html[lang="en"] body .master-intro{
    font-size:16px!important;
    line-height:1.55!important;
  }
  html[lang="en"] body .master-roles-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  html[lang="en"] body .master-role{
    min-height:auto!important;
    padding:10px 11px!important;
    font-size:13px!important;
    line-height:1.4!important;
  }
  html[lang="en"] body .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2,
  html[lang="en"] body #featured-videos .timeline-copy h2{
    font-size:clamp(34px,8.8vw,46px)!important;
    line-height:1.08!important;
    white-space:normal!important;
    text-wrap:balance;
  }
  html[lang="en"] body .branch-hero-copy h2{
    font-size:clamp(27px,7.2vw,32px)!important;
    white-space:normal!important;
    text-wrap:balance;
  }
  html[lang="en"] body .ceremony-content h2{
    font-size:clamp(30px,8.2vw,36px)!important;
  }
  html[lang="en"] body .gallery-section .section-head h2{
    font-size:clamp(29px,7.8vw,36px)!important;
  }
  html[lang="en"] body #dabei-practice .dabei-title h2{
    font-size:clamp(30px,8vw,38px)!important;
  }
}

/* Final mobile safety net for long Chinese and English content. */
@media(max-width:700px){
  html body .ceremony-content,
  html body .ceremony-master,
  html body .timeline-section .timeline-hero,
  html body .timeline-section .timeline-hero-grid,
  html body .timeline-section .timeline-copy,
  html body #dabei-practice .dabei-frame,
  html body #dabei-practice .dabei-head,
  html body #dabei-practice .dabei-intro{
    min-width:0!important;
    max-width:100%!important;
  }
  html body .timeline-section .timeline-copy h2,
  html body .timeline-section:not(.videos-section) .timeline-copy h2,
  html body .videos-section .timeline-copy h2,
  html body #dabei-practice .dabei-title h2{
    width:auto!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  html body .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2{
    width:auto!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  html body .ceremony-master{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    overflow:hidden!important;
  }
  html body .ceremony-master:before{display:none!important}
  html body .ceremony-master>span{
    writing-mode:horizontal-tb!important;
    width:auto!important;
    max-width:100%!important;
  }
  html body .ceremony-master-photo{width:100%!important;max-width:100%!important}
  html body .ceremony-master>div,
  html body .ceremony-master b,
  html body .ceremony-master small{
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  html body .ceremony-plaques span{
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  html body .branch-card-head{
    min-width:0!important;
    flex-wrap:wrap!important;
  }
  html body #dabei-practice .dabei-title{
    min-width:0!important;
    max-width:100%!important;
  }
}

@media(max-width:380px){
  html[lang="en"] body .timeline-section .timeline-copy h2{font-size:32px!important}
  html[lang="en"] body #dabei-practice .dabei-title h2{font-size:30px!important}
  html[lang="en"] body .ceremony-content h2{font-size:31px!important}
  html[lang="en"] body .ceremony-plaques{grid-template-columns:1fr!important}
}

/* Bilingual local preview. */
.language-switch{
  position:fixed;
  z-index:10020;
  top:22px;
  right:max(22px,env(safe-area-inset-right));
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:999px;
  background:rgba(20,16,11,.68);
  box-shadow:0 8px 28px rgba(0,0,0,.2);
  backdrop-filter:blur(12px);
}
.language-switch span{width:1px;height:16px;background:rgba(255,255,255,.35)}
.language-switch button{
  appearance:none;
  border:0;
  border-radius:999px;
  padding:7px 11px;
  color:rgba(255,255,255,.75);
  background:transparent;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
  line-height:1;
  cursor:pointer;
}
.language-switch button.active{color:#39200d;background:#f0cf8c}

html[lang="en"] body,
html[lang="en"] body :is(h1,h2,h3,h4,h5,h6,p,span,a,button,label,input,textarea,select,option,li,dt,dd,strong,b,small,blockquote,cite,time,figcaption):not(#gondesan-original-font){
  font-family:Georgia,"Times New Roman",serif!important;
}
html[lang="en"] .language-switch button{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
}
html[lang="en"] .master-name,
html[lang="en"] .branch-hero-copy h2{
  white-space:normal!important;
}
html[lang="en"] .master-name{font-size:clamp(42px,4.8vw,70px)!important;line-height:1.02!important}
html[lang="en"] .master-intro{font-size:clamp(18px,1.45vw,23px)!important;line-height:1.5!important}
html[lang="en"] .master-role{font-size:clamp(14px,.92vw,16px)!important;line-height:1.28!important}
html[lang="en"] .timeline-copy h2{font-size:clamp(36px,4vw,56px)!important;line-height:1.02!important}
html[lang="en"] .timeline-subtitle{letter-spacing:.03em!important}
html[lang="en"] .ceremony-content h2{font-size:clamp(38px,3.7vw,58px)!important;letter-spacing:.015em!important}
html[lang="en"] .ceremony-subtitle{font-size:clamp(18px,1.45vw,24px)!important;letter-spacing:.025em!important}
html[lang="en"] .principle-icon{font-size:11px!important;letter-spacing:.04em!important;text-transform:uppercase}
html[lang="en"] .branch-card-head h3{font-size:22px!important}
html[lang="en"] .dabei-title h2{letter-spacing:.02em!important}

@media(max-width:700px){
  .language-switch{
    top:max(10px,env(safe-area-inset-top));
    right:max(10px,env(safe-area-inset-right));
    padding:5px 6px;
    gap:5px;
  }
  .language-switch button{padding:7px 9px;font-size:12px}
  html[lang="en"] .master-name{font-size:40px!important;line-height:1.05!important}
  html[lang="en"] .master-intro{font-size:18px!important;line-height:1.48!important}
  html[lang="en"] .roles-label{font-size:18px!important}
  html[lang="en"] .timeline-copy h2{font-size:38px!important;line-height:1.05!important}
  html[lang="en"] .timeline-kicker{font-size:18px!important}
  html[lang="en"] .timeline-subtitle{font-size:16px!important;line-height:1.35!important}
  html[lang="en"] .ceremony-content h2{font-size:36px!important;line-height:1.02!important}
  html[lang="en"] .ceremony-master>span{font-size:13px!important}
  html[lang="en"] .ceremony-master b{font-size:28px!important;line-height:1.05!important}
  html[lang="en"] .ceremony-register span{font-size:19px!important}
  html[lang="en"] .branch-hero-copy h2{font-size:34px!important;line-height:1.04!important}
  html[lang="en"] .branch-subtitle{font-size:15px!important;line-height:1.35!important}
  html[lang="en"] .branch-card-head{align-items:flex-start!important;gap:10px!important}
  html[lang="en"] .branch-card-head h3{font-size:21px!important;line-height:1.15!important}
  html[lang="en"] .branch-card-head button{flex:0 0 auto!important}
  html[lang="en"] .branch-blessing{font-size:17px!important;line-height:1.45!important;letter-spacing:.02em!important}
  html[lang="en"] .dabei-title h2{font-size:34px!important;line-height:1.08!important}
  html[lang="en"] .quote blockquote{font-size:28px!important;line-height:1.35!important}
  html[lang="en"] .footer-grid{overflow-wrap:anywhere}
}

/* Local review v2: make every visible text element consistently use Kai typography. */
html body :is(h1,h2,h3,h4,h5,h6,p,span,a,button,label,input,textarea,select,option,li,dt,dd,strong,b,small,blockquote,cite,time,figcaption):not(#gondesan-original-font){
  font-family:"Kaiti SC","STKaiti","KaiTi","KaiTi_GB2312","DFKai-SB",serif!important;
}

/* Local review: replace the site's sans/Hei typography with Kai typography. */
body{
  font-family:"Kaiti SC","STKaiti","KaiTi","KaiTi_GB2312","DFKai-SB",serif;
}
button,
input,
textarea,
select{
  font-family:inherit;
}
.roles-label,
.master-role,
.master-role:visited,
.dabei-rate button{
  font-family:"Kaiti SC","STKaiti","KaiTi","KaiTi_GB2312","DFKai-SB",serif!important;
}

/* Mobile reconstruction for the independent global-dharma hero */
@media(max-width:620px){
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-hero{
    height:390px!important;
    min-height:390px!important;
    background:#fff1c4!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-background-layer{
    background-size:auto 100%!important;
    background-position:center center!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy{
    left:5.5%!important;
    top:72px!important;
    width:68%!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2{
    font-size:30px!important;
    line-height:1.1!important;
    letter-spacing:.035em!important;
    white-space:normal!important;
    margin-bottom:10px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-title-tail{
    display:block!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2 .name-raised{
    font-size:.74em!important;
    transform:translateY(-.42em)!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-subtitle{
    justify-content:flex-start!important;
    gap:8px!important;
    margin-bottom:12px!important;
    font-size:17px!important;
    line-height:1.2!important;
    letter-spacing:.05em!important;
    white-space:normal!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-subtitle:before,
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-subtitle:after{
    width:30px!important;
    flex-basis:30px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy p{
    max-width:100%!important;
    font-size:14px!important;
    line-height:1.7!important;
    text-align:center!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-visual{
    display:block!important;
    height:390px!important;
    min-height:390px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-vertical-main{
    right:44px!important;
    top:25px!important;
    font-size:19px!important;
    line-height:1.12!important;
    letter-spacing:.1em!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-vertical-sub{
    right:82px!important;
    top:34px!important;
    font-size:16px!important;
    line-height:1.12!important;
    letter-spacing:.1em!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-master-image{
    right:9px!important;
    top:auto!important;
    bottom:20px!important;
    width:132px!important;
    height:128px!important;
    background-position:right bottom!important;
  }
}

/* Final timeline composition: preserve background ratio and tuck compact videos into the lower fade */
.timeline-section.has-timeline-bg:not(.videos-section){
  background-image:linear-gradient(180deg,rgba(255,247,223,.12) 0%,rgba(255,250,237,.18) 56%,rgba(255,253,248,.72) 100%),var(--timeline-bg-image)!important;
  background-size:100% 100%,cover!important;
  background-position:center top!important;
  background-repeat:no-repeat!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-hero{
  height:480px!important;
  min-height:480px!important;
  border-bottom:0!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-background-layer{
  background-size:cover!important;
  background-position:center center!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-hero-grid,
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-visual{
  min-height:480px!important;
  height:480px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy{
  top:8.5%!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-kicker{
  margin:0 0 7px!important;
  color:#5d350f!important;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-size:clamp(22px,1.95vw,34px)!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.16em!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-kicker .name-raised{
  display:inline-block!important;
  color:inherit!important;
  font-size:.72em!important;
  font-style:normal!important;
  line-height:1!important;
  vertical-align:baseline!important;
  transform:translateY(-.45em)!important;
  margin:0 .02em!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2{
  margin:0 0 10px!important;
  color:#5d3a10!important;
  font-size:clamp(72px,7.1vw,110px)!important;
  font-weight:900!important;
  line-height:.95!important;
  letter-spacing:.14em!important;
  text-shadow:0 2px 8px rgba(255,255,255,.38)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2 .name-raised{
  display:inline-block!important;
  color:inherit!important;
  font-size:.72em!important;
  font-style:normal!important;
  line-height:1!important;
  vertical-align:baseline!important;
  transform:translateY(-.45em)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-subtitle{
  margin-bottom:17px!important;
  color:#6d491d!important;
  font-size:clamp(19px,1.85vw,28px)!important;
  letter-spacing:.16em!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy p{
  max-width:760px!important;
  font-size:clamp(15px,1.15vw,18px)!important;
  line-height:1.82!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-master-image{
  right:1.8%!important;
  top:0!important;
  width:34%!important;
  height:100%!important;
  background-size:auto 156%!important;
  background-position:right top!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-vertical-main,
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-vertical-sub{
  display:none!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel{
  margin-top:-170px!important;
  position:relative!important;
  z-index:6!important;
  padding:0 0 42px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel-title{
  margin:0 0 12px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel-title:before{
  width:42px!important;
  height:42px!important;
  font-size:35px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel-title h3{
  font-size:clamp(30px,2.55vw,42px)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-carousel{
  padding:12px 52px 18px!important;
  border:1px solid rgba(255,244,220,.9)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,244,214,.16))!important;
  backdrop-filter:blur(1.5px)!important;
  -webkit-backdrop-filter:blur(1.5px)!important;
  box-shadow:inset 0 0 0 1px rgba(211,151,55,.32),inset 0 18px 46px rgba(255,255,255,.2),0 16px 36px rgba(89,55,22,.08)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-card{
  height:206px!important;
  min-height:206px!important;
  border-color:rgba(211,151,55,.42)!important;
  background:rgba(255,247,226,.86)!important;
  box-shadow:0 10px 22px rgba(76,45,15,.16)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-thumb{
  height:96px!important;
  aspect-ratio:auto!important;
  flex-basis:auto!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-thumb span{
  width:50px!important;
  height:50px!important;
  border-width:4px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-thumb span:after{
  left:19px!important;
  top:14px!important;
  border-left-width:15px!important;
  border-top-width:10px!important;
  border-bottom-width:10px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-meta{
  min-height:110px!important;
  padding:10px 12px 20px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-meta b{
  font-size:clamp(16px,1.05vw,19px)!important;
  line-height:1.18!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-meta small{
  margin-top:4px!important;
  font-size:12px!important;
  line-height:1.2!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-meta:after{
  right:10px!important;
  bottom:4px!important;
  font-size:24px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-dots{
  margin:10px 0 16px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-more{
  padding:11px 38px!important;
  font-size:22px!important;
}
@media(max-width:620px){
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-hero{
    height:420px!important;
    min-height:420px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-hero-grid,
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-visual{
    height:420px!important;
    min-height:420px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-background-layer{
    background-size:auto 100%!important;
    background-position:center top!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel{
    margin-top:-70px!important;
    padding-bottom:34px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel-title{
    margin-bottom:10px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-carousel{
    padding:12px 0!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:10px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-card{
    flex:0 0 72%!important;
    min-height:250px!important;
    height:250px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-thumb{
    height:115px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-master-image{
    right:-4px!important;
    top:8px!important;
    width:150px!important;
    height:230px!important;
    background-size:contain!important;
    background-position:right top!important;
    opacity:.92!important;
  }
}

/* Global Dharma title font refinement */
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy{
  left:7.6%!important;
  top:5.8%!important;
  width:54%!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-kicker{
  margin:0 0 5px!important;
  color:#51350f!important;
  font-family:"GondesanTitle","Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-size:clamp(22px,2.05vw,34px)!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:.18em!important;
  text-align:center!important;
  white-space:nowrap!important;
  text-shadow:0 2px 8px rgba(255,246,222,.45)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-kicker .name-raised{
  display:inline-block!important;
  color:inherit!important;
  font-size:.72em!important;
  font-style:normal!important;
  line-height:1!important;
  vertical-align:baseline!important;
  transform:translateY(-.46em)!important;
  margin:0 .015em!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2{
  margin:0 0 12px!important;
  color:#5c390f!important;
  font-family:"GondesanTitle","Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-size:clamp(82px,8.2vw,128px)!important;
  font-weight:400!important;
  line-height:.88!important;
  letter-spacing:.13em!important;
  white-space:nowrap!important;
  text-shadow:0 2px 10px rgba(255,246,222,.42)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-subtitle{
  margin:0 0 18px!important;
  gap:16px!important;
  color:#6e4a1a!important;
  font-family:"GondesanTitle","Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-size:clamp(20px,1.9vw,29px)!important;
  font-weight:400!important;
  letter-spacing:.15em!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy p{
  max-width:760px!important;
  color:#201711!important;
  font-size:clamp(15px,1.12vw,18px)!important;
  font-weight:800!important;
  line-height:1.82!important;
  white-space:pre-line!important;
}
@media(max-width:620px){
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy{
    left:6vw!important;
    top:34px!important;
    width:72vw!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-kicker{
    font-size:clamp(18px,5.2vw,22px)!important;
    letter-spacing:.12em!important;
    margin-bottom:4px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2{
    font-size:clamp(56px,15.6vw,64px)!important;
    line-height:.95!important;
    letter-spacing:.08em!important;
    white-space:nowrap!important;
    margin-bottom:8px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-subtitle{
    font-size:clamp(17px,4.6vw,20px)!important;
    line-height:1.22!important;
    letter-spacing:.08em!important;
    gap:9px!important;
    flex-wrap:wrap!important;
    margin-bottom:14px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-subtitle:before,
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-subtitle:after{
    width:36px!important;
    flex-basis:36px!important;
  }
}

/* Global Dharma brush title update */
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-kicker{
  color:#4f300f!important;
  font-family:"GondesanBrush","GondesanTitle","Kaiti SC","STKaiti","Songti SC",serif!important;
  font-size:clamp(24px,2.15vw,36px)!important;
  letter-spacing:.12em!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2{
  color:#5a350c!important;
  font-family:"GondesanBrush","GondesanTitle","Kaiti SC","STKaiti","Songti SC",serif!important;
  font-size:clamp(92px,8.65vw,138px)!important;
  line-height:.86!important;
  letter-spacing:.045em!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-subtitle{
  font-family:"GondesanTitle","Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-size:clamp(21px,2vw,30px)!important;
  letter-spacing:.12em!important;
}
@media(max-width:620px){
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-kicker{
    font-size:clamp(18px,5.2vw,22px)!important;
    letter-spacing:.08em!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2{
    font-size:clamp(64px,18vw,74px)!important;
    letter-spacing:.02em!important;
  }
}

/* Global Dharma title final serif reset */
@font-face{
  font-family:"GondesanSerif";
  src:url("/fonts/NotoSerifSC-Bold.woff2") format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"GondesanSerif";
  src:url("/fonts/NotoSerifSC-Black.woff2") format("woff2");
  font-weight:900;
  font-style:normal;
  font-display:swap;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy{
  left:8.4%!important;
  top:7.2%!important;
  width:52%!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-kicker{
  margin:0 0 8px!important;
  color:#5b3812!important;
  font-family:"GondesanSerif","Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-size:clamp(23px,2.1vw,34px)!important;
  font-weight:700!important;
  line-height:1.05!important;
  letter-spacing:.12em!important;
  text-shadow:0 1px 6px rgba(255,246,222,.45)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-kicker .name-raised{
  display:inline-block!important;
  color:inherit!important;
  font-size:.72em!important;
  font-style:normal!important;
  font-weight:700!important;
  line-height:1!important;
  vertical-align:baseline!important;
  transform:translateY(-.5em)!important;
  margin:0 .01em!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2{
  margin:0 0 12px!important;
  color:#5e390d!important;
  font-family:"GondesanSerif","Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-size:clamp(82px,7.7vw,118px)!important;
  font-weight:900!important;
  line-height:.94!important;
  letter-spacing:.1em!important;
  white-space:nowrap!important;
  text-shadow:0 2px 9px rgba(255,246,222,.36)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-subtitle{
  font-family:"GondesanSerif","Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-size:clamp(20px,1.85vw,28px)!important;
  font-weight:700!important;
  letter-spacing:.13em!important;
  color:#76501d!important;
}
@media(max-width:620px){
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy{
    left:6vw!important;
    top:36px!important;
    width:72vw!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-kicker{
    font-size:clamp(18px,5.1vw,22px)!important;
    letter-spacing:.08em!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2{
    font-size:clamp(55px,15.4vw,63px)!important;
    line-height:.98!important;
    letter-spacing:.05em!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-subtitle{
    font-size:clamp(16px,4.4vw,19px)!important;
    line-height:1.25!important;
    letter-spacing:.07em!important;
  }
}

/* Align video glass frame with the bottom of the background image */
.timeline-section.has-timeline-bg:not(.videos-section){
  background:linear-gradient(180deg,#fff8e7 0%,#fffaf0 45%,#fffdf8 100%)!important;
  background-image:linear-gradient(180deg,#fff8e7 0%,#fffaf0 45%,#fffdf8 100%)!important;
  background-size:100% 100%!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy{
  top:4.8%!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-kicker{
  margin-bottom:5px!important;
  font-size:clamp(21px,1.95vw,30px)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2{
  margin-bottom:8px!important;
  font-size:clamp(76px,7vw,108px)!important;
  line-height:.92!important;
  letter-spacing:.09em!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-subtitle{
  margin-bottom:10px!important;
  font-size:clamp(18px,1.7vw,25px)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy p{
  font-size:clamp(14px,1.02vw,16px)!important;
  line-height:1.58!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel{
  margin-top:-216px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-carousel{
  padding-top:10px!important;
  padding-bottom:12px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-card{
  height:188px!important;
  min-height:188px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-thumb{
  height:86px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-meta{
  min-height:102px!important;
  padding:9px 11px 18px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-meta b{
  font-size:clamp(15px,.98vw,17px)!important;
}
@media(max-width:620px){
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy{
    top:34px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2{
    font-size:clamp(51px,14.5vw,58px)!important;
    letter-spacing:.04em!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel{
    margin-top:-88px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-card{
    min-height:236px!important;
    height:236px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-thumb{
    height:108px!important;
  }
}

/* Global Dharma background only: fade image without fading text or master photo */
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-background-layer{
  opacity:.7!important;
  filter:none!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy,
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-visual,
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-master-image,
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel{
  opacity:1!important;
}

/* Bridge the Global Dharma video area into the next section without a blank band. */
.timeline-section.has-timeline-bg:not(.videos-section){
  position:relative!important;
  padding-bottom:0!important;
  overflow:visible!important;
  background:
    linear-gradient(180deg,#fff8e7 0%,#fffaf0 58%,#f8edd5 100%)!important;
  isolation:auto!important;
}
.timeline-section.has-timeline-bg:not(.videos-section)::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:190px;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,252,244,0) 0%,rgba(255,248,229,.78) 40%,#f7ecd4 100%),
    var(--timeline-bg-image);
  background-size:100% 100%,cover;
  background-position:center bottom,center bottom;
  opacity:.62;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 34%,#000 100%);
  mask-image:linear-gradient(180deg,transparent 0%,#000 34%,#000 100%);
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-hero,
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel{
  position:relative!important;
  z-index:8!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel{
  padding-bottom:8px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-dots{
  margin-bottom:10px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-more{
  margin-bottom:0!important;
  box-shadow:0 14px 34px rgba(113,29,16,.2),0 26px 54px rgba(214,163,73,.12)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) + .principles{
  margin-top:-64px!important;
  padding-top:0!important;
  position:relative!important;
  z-index:1!important;
  background-position:center top!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) + .principles:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  height:148px!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(255,250,234,.92) 0%,rgba(255,246,218,.72) 46%,rgba(255,246,218,0) 76%),
    linear-gradient(180deg,rgba(247,236,212,.82) 0%,rgba(255,250,238,.38) 58%,rgba(255,250,238,0) 100%)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) + .principles:after{
  content:"✥"!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:absolute!important;
  left:50%!important;
  top:50px!important;
  width:min(520px,48vw)!important;
  height:34px!important;
  transform:translateX(-50%)!important;
  z-index:2!important;
  pointer-events:none!important;
  opacity:.58!important;
  color:#c8922d!important;
  font-size:24px!important;
  line-height:1!important;
  background:
    linear-gradient(90deg,transparent 0%,transparent 13%,rgba(200,146,45,.58) 13%,rgba(200,146,45,.58) 43%,transparent 43%,transparent 57%,rgba(200,146,45,.58) 57%,rgba(200,146,45,.58) 87%,transparent 87%,transparent 100%) center/100% 1px no-repeat!important;
  background-repeat:no-repeat!important;
}
@media(max-width:900px){
  .timeline-section.has-timeline-bg:not(.videos-section)::after{
    height:150px;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) + .principles{
    margin-top:-44px!important;
    padding-top:0!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) + .principles:before{
    height:118px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) + .principles:after{
    top:38px!important;
    width:min(420px,62vw)!important;
  }
}
@media(max-width:620px){
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel{
    padding-bottom:10px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section)::after{
    height:120px;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) + .principles{
    margin-top:-24px!important;
    padding-top:0!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) + .principles:before,
  .timeline-section.has-timeline-bg:not(.videos-section) + .principles:after{
    display:none!important;
  }
}

/* Refine the Global Dharma / entry-banner handoff: smaller CTA, less empty sky. */
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-dots{
  margin-top:8px!important;
  margin-bottom:8px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-more{
  gap:10px!important;
  padding:7px 24px!important;
  border-width:2px!important;
  font-size:17px!important;
  line-height:1.12!important;
  transform:translateY(14px)!important;
  box-shadow:0 10px 24px rgba(113,29,16,.18),0 18px 34px rgba(214,163,73,.1)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-more span{
  width:24px!important;
  height:24px!important;
  font-size:21px!important;
  line-height:1!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) + .principles{
  margin-top:-68px!important;
  background-position:center 24%!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) + .principles:before{
  height:54px!important;
  opacity:.38!important;
  background:
    linear-gradient(180deg,rgba(248,236,212,.9) 0%,rgba(255,250,238,.48) 45%,rgba(255,250,238,0) 100%)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) + .principles:after{
  display:none!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) + .principles .principles-grid{
  margin-top:clamp(58px,5.7vw,108px)!important;
}
@media(max-width:900px){
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-more{
    font-size:16px!important;
    padding:7px 21px!important;
    transform:translateY(10px)!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) + .principles{
    margin-top:-42px!important;
    background-position:center 18%!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) + .principles .principles-grid{
    margin-top:22%!important;
  }
}
@media(max-width:620px){
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-more{
    font-size:15px!important;
    padding:7px 18px!important;
    transform:translateY(6px)!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-more span{
    width:24px!important;
    height:24px!important;
    font-size:21px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) + .principles{
    margin-top:-18px!important;
    background-position:center center!important;
  }
}

/* Final Global Dharma video tuning: cleaner CTA, whiter frame, natural card ratio. */
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel{
  margin-top:-176px!important;
  padding-bottom:6px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-carousel{
  padding:14px 52px 16px!important;
  border:1px solid rgba(255,252,242,.86)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.56),rgba(255,248,228,.48))!important;
  box-shadow:
    inset 0 0 0 1px rgba(211,151,55,.22),
    inset 0 22px 52px rgba(255,255,255,.32),
    0 16px 34px rgba(89,55,22,.08)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-card{
  height:236px!important;
  min-height:236px!important;
  background:rgba(255,248,231,.94)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-thumb{
  height:124px!important;
  aspect-ratio:16/9!important;
  background-size:cover!important;
  background-position:center!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-meta{
  min-height:112px!important;
  padding:11px 12px 20px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-meta b{
  font-size:clamp(15px,.98vw,18px)!important;
  line-height:1.2!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-meta small{
  margin-top:3px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-dots{
  display:none!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-more{
  margin-top:16px!important;
  padding:8px 28px!important;
  gap:10px!important;
  border-width:2px!important;
  font-size:17px!important;
  line-height:1.08!important;
  transform:translateY(0)!important;
  box-shadow:0 10px 24px rgba(113,29,16,.18),0 18px 34px rgba(214,163,73,.1)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-more span{
  width:26px!important;
  height:26px!important;
  font-size:24px!important;
  line-height:1!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) + .principles{
  margin-top:-16px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) + .principles:before,
.timeline-section.has-timeline-bg:not(.videos-section) + .principles:after{
  display:none!important;
}
@media(max-width:900px){
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel{
    margin-top:-120px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-card{
    height:230px!important;
    min-height:230px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-thumb{
    height:120px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) + .principles{
    margin-top:-14px!important;
  }
}
@media(max-width:620px){
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel{
    margin-top:-54px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-carousel{
    padding:12px 0 14px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,248,228,.52))!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-card{
    height:260px!important;
    min-height:260px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-thumb{
    height:130px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-more{
    transform:translateY(0)!important;
    margin-top:12px!important;
  }
}

/* Dharma Specials: align this section with the Global Dharma visual system. */
.videos-section{
  padding:0!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#fff8e7 0%,#fff6e4 54%,#fffaf0 100%)!important;
}
.videos-section .timeline-hero{
  height:520px!important;
  min-height:520px!important;
  overflow:hidden!important;
  border-bottom:0!important;
  background:none!important;
}
.videos-section .timeline-hero:before,
.videos-section .timeline-hero:after{
  display:none!important;
}
.videos-section .timeline-background-layer{
  opacity:.68!important;
  filter:saturate(.96) brightness(1.04)!important;
  background-size:cover!important;
  background-position:center center!important;
}
.videos-section .timeline-background-layer:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,246,218,.24) 0%,rgba(255,250,235,.7) 49%,rgba(255,246,218,.2) 100%),
    linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,248,225,.2) 48%,rgba(255,247,225,.72) 100%);
}
.videos-section .timeline-hero-grid{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  height:520px!important;
  min-height:520px!important;
}
.videos-section .timeline-copy{
  position:absolute!important;
  left:5.5%!important;
  top:15.5%!important;
  width:66%!important;
  padding:0!important;
  text-align:center!important;
  z-index:4!important;
}
.videos-section .timeline-kicker{
  margin:0 0 6px!important;
  color:#5b3418!important;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-size:clamp(24px,2.35vw,36px)!important;
  font-weight:900!important;
  line-height:1.08!important;
  letter-spacing:.12em!important;
  text-shadow:0 2px 10px rgba(255,246,220,.72)!important;
}
.videos-section .timeline-kicker .name-raised{
  display:inline-block!important;
  color:inherit!important;
  font-size:.72em!important;
  font-style:normal!important;
  line-height:1!important;
  transform:translateY(-.42em)!important;
}
.videos-section .timeline-copy h2{
  display:inline-block!important;
  max-width:100%!important;
  margin:0 0 14px!important;
  color:#5b3418!important;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-size:clamp(58px,5.8vw,78px)!important;
  font-weight:700!important;
  line-height:.94!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
  text-shadow:0 2px 10px rgba(255,246,220,.72)!important;
}
.videos-section .timeline-copy h2 .name-raised{
  display:inline-block!important;
  color:inherit!important;
  font-size:.72em!important;
  font-style:normal!important;
  line-height:1!important;
  transform:translateY(-.42em)!important;
}
.videos-section .timeline-subtitle{
  justify-content:center!important;
  gap:18px!important;
  margin:0 0 16px!important;
  color:#8a5d22!important;
  font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-size:clamp(19px,1.8vw,28px)!important;
  font-weight:900!important;
  letter-spacing:.15em!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-shadow:0 2px 8px rgba(255,250,232,.8)!important;
}
.videos-section .timeline-subtitle:before,
.videos-section .timeline-subtitle:after{
  width:58px!important;
  height:2px!important;
  background:linear-gradient(90deg,transparent,#c8923f,transparent)!important;
}
.videos-section .timeline-copy p{
  max-width:760px!important;
  margin:0 auto!important;
  color:#161411!important;
  font-size:clamp(15px,1.18vw,18px)!important;
  font-weight:900!important;
  line-height:1.7!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-shadow:0 2px 8px rgba(255,250,235,.82)!important;
}
.videos-section .timeline-visual{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  height:520px!important;
  min-height:520px!important;
  z-index:3!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
.videos-section .timeline-visual:before,
.videos-section .timeline-guanyin-image{
  display:none!important;
}
.videos-section .timeline-master-image{
  right:2.2%!important;
  top:0!important;
  bottom:auto!important;
  width:25%!important;
  height:100%!important;
  background-size:contain!important;
  background-position:right bottom!important;
  background-repeat:no-repeat!important;
  filter:drop-shadow(0 20px 40px rgba(84,49,16,.16))!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 15%,#000 100%)!important;
  mask-image:linear-gradient(90deg,transparent 0%,#000 15%,#000 100%)!important;
  transform:none!important;
}
.videos-section .timeline-master-image:after{
  display:none!important;
}
.videos-section .timeline-panel{
  position:relative!important;
  z-index:7!important;
  width:min(1180px,92vw)!important;
  margin-top:-148px!important;
  padding:0 0 62px!important;
}
.videos-section .timeline-panel-title{
  display:none!important;
}
.videos-section .timeline-carousel{
  padding:14px 52px 16px!important;
  border:1px solid rgba(255,252,242,.9)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,248,228,.5))!important;
  backdrop-filter:blur(1.5px)!important;
  -webkit-backdrop-filter:blur(1.5px)!important;
  box-shadow:
    inset 0 0 0 1px rgba(211,151,55,.22),
    inset 0 22px 52px rgba(255,255,255,.32),
    0 16px 34px rgba(89,55,22,.08)!important;
}
.videos-section .timeline-track{
  grid-auto-columns:calc((100% - 72px)/5)!important;
  gap:18px!important;
}
.videos-section .timeline-card{
  height:236px!important;
  min-height:236px!important;
  border-color:rgba(211,151,55,.44)!important;
  background:rgba(255,248,231,.94)!important;
  box-shadow:0 10px 22px rgba(76,45,15,.14)!important;
}
.videos-section .timeline-thumb{
  height:124px!important;
  flex-basis:auto!important;
  aspect-ratio:16/9!important;
  background-size:cover!important;
  background-position:center!important;
}
.videos-section .timeline-thumb span{
  width:54px!important;
  height:54px!important;
  border-width:4px!important;
}
.videos-section .timeline-thumb span:after{
  left:20px!important;
  top:15px!important;
  border-left-width:16px!important;
  border-top-width:10px!important;
  border-bottom-width:10px!important;
}
.videos-section .timeline-meta{
  min-height:112px!important;
  padding:11px 12px 20px!important;
  text-align:center!important;
  background:linear-gradient(180deg,#fffdf8 0%,#fff2cf 100%)!important;
}
.videos-section .timeline-meta b{
  font-size:clamp(15px,.98vw,18px)!important;
  line-height:1.2!important;
}
.videos-section .timeline-meta small{
  margin-top:3px!important;
}
.videos-section .timeline-meta:after{
  right:10px!important;
  bottom:5px!important;
  font-size:24px!important;
}
.videos-section .timeline-dots{
  display:none!important;
}
.videos-section .timeline-more{
  gap:10px!important;
  margin-top:14px!important;
  padding:7px 24px!important;
  border-width:2px!important;
  font-size:17px!important;
  line-height:1.12!important;
  box-shadow:0 10px 24px rgba(113,29,16,.18),0 18px 34px rgba(214,163,73,.1)!important;
}
.videos-section .timeline-more span{
  width:24px!important;
  height:24px!important;
  font-size:21px!important;
  line-height:1!important;
}
@media(max-width:1050px){
  .videos-section .timeline-hero,
  .videos-section .timeline-hero-grid,
  .videos-section .timeline-visual{
    height:560px!important;
    min-height:560px!important;
  }
  .videos-section .timeline-copy{
    left:6vw!important;
    top:58px!important;
    width:78vw!important;
  }
  .videos-section .timeline-copy h2{
    white-space:normal!important;
    font-size:clamp(48px,7.4vw,66px)!important;
  }
  .videos-section .timeline-master-image{
    right:-3%!important;
    width:34%!important;
    opacity:.8!important;
  }
  .videos-section .timeline-panel{
    margin-top:-152px!important;
  }
  .videos-section .timeline-track{
    grid-auto-columns:calc((100% - 36px)/3)!important;
  }
}
@media(max-width:620px){
  .videos-section .timeline-hero,
  .videos-section .timeline-hero-grid{
    height:500px!important;
    min-height:500px!important;
  }
  .videos-section .timeline-background-layer{
    background-size:auto 100%!important;
    background-position:center top!important;
  }
  .videos-section .timeline-copy{
    left:6vw!important;
    top:44px!important;
    width:88vw!important;
  }
  .videos-section .timeline-copy h2{
    font-size:clamp(46px,13vw,58px)!important;
    line-height:1.12!important;
  }
  .videos-section .timeline-subtitle{
    font-size:17px!important;
    letter-spacing:.08em!important;
    white-space:normal!important;
  }
  .videos-section .timeline-subtitle:before,
  .videos-section .timeline-subtitle:after{
    width:32px!important;
    flex-basis:32px!important;
  }
  .videos-section .timeline-copy p{
    font-size:14px!important;
    line-height:1.58!important;
  }
  .videos-section .timeline-visual{
    display:none!important;
  }
  .videos-section .timeline-panel{
    width:92vw!important;
    margin-top:-92px!important;
    padding-bottom:46px!important;
  }
  .videos-section .timeline-carousel{
    padding:12px 0 14px!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:12px!important;
  }
  .videos-section .timeline-track{
    display:flex!important;
    gap:14px!important;
    overflow-x:auto!important;
    padding:0 2px 12px!important;
  }
  .videos-section .timeline-card{
    flex:0 0 82%!important;
    height:260px!important;
    min-height:260px!important;
  }
  .videos-section .timeline-thumb{
    height:130px!important;
  }
  .videos-section .timeline-more{
    font-size:15px!important;
    padding:7px 18px!important;
  }
}

/* Global Dharma typography balance: centered copy, wider leading, subtle halo only behind text. */
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy{
  top:37.5%!important;
  transform:translateY(-50%)!important;
  width:58%!important;
  isolation:isolate!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy:before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:112%!important;
  height:116%!important;
  transform:translate(-50%,-50%)!important;
  z-index:-1!important;
  pointer-events:none!important;
  border-radius:50%!important;
  background:
    radial-gradient(ellipse at 50% 48%,rgba(255,251,226,.58) 0%,rgba(255,245,205,.34) 43%,rgba(255,238,181,.13) 66%,rgba(255,238,181,0) 82%)!important;
  filter:blur(10px)!important;
  opacity:.78!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-kicker{
  margin-bottom:12px!important;
  line-height:1.2!important;
  text-shadow:
    0 1px 4px rgba(255,248,226,.7),
    0 0 18px rgba(255,240,180,.28)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2{
  margin-bottom:18px!important;
  line-height:1.03!important;
  text-shadow:
    0 2px 6px rgba(255,248,226,.62),
    0 0 26px rgba(255,235,174,.24)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-subtitle{
  margin-bottom:22px!important;
  line-height:1.35!important;
  text-shadow:
    0 1px 4px rgba(255,248,226,.72),
    0 0 18px rgba(255,235,174,.2)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy p{
  max-width:850px!important;
  line-height:2.04!important;
  text-shadow:
    0 1px 5px rgba(255,252,235,.78),
    0 0 16px rgba(255,240,190,.22)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel{
  margin-top:-138px!important;
}
@media(max-width:900px){
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy{
    top:37%!important;
    width:64%!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy p{
    line-height:1.86!important;
  }
}
@media(max-width:620px){
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy{
    top:44px!important;
    transform:none!important;
    width:72vw!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy:before{
    width:118%!important;
    height:110%!important;
    filter:blur(8px)!important;
    opacity:.62!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2{
    line-height:1.06!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy p{
    line-height:1.7!important;
  }
}

/* Keep the Global Dharma CTA inside its own section with breathing room before the next block. */
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel{
  padding-bottom:24px!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) .timeline-more{
  margin-top:10px!important;
  transform:translateY(2px)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) + .principles{
  margin-top:10px!important;
}
@media(max-width:620px){
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel{
    padding-bottom:20px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-more{
    transform:translateY(1px)!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) + .principles{
    margin-top:8px!important;
  }
}

/* Dabei practice is now a centered video-only block. */
#dabei-practice .dabei-audios,
#dabei-practice .dabei-guide{
  display:none!important;
}
#dabei-practice .dabei-head,
#dabei-practice .dabei-main{
  display:block!important;
}
#dabei-practice .dabei-head{
  max-width:1040px!important;
  margin:0 auto 30px!important;
}
#dabei-practice .dabei-intro{
  align-items:center!important;
  text-align:center!important;
}
#dabei-practice .dabei-intro>p{
  max-width:780px!important;
  margin:0 auto!important;
}
#dabei-practice .dabei-main{
  padding-top:30px!important;
}
#dabei-practice .dabei-resources{
  width:100%!important;
}

/* Final override: remove the visible top/bottom gaps from the five-entry banner. */
.timeline-section.has-timeline-bg:not(.videos-section):has(+ .principles) .timeline-panel{
  padding-bottom:0!important;
}
.timeline-section.has-timeline-bg:not(.videos-section):has(+ .principles) .timeline-more{
  margin-bottom:0!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) + .principles{
  margin-top:0!important;
  min-height:clamp(285px,24vw,490px)!important;
  height:clamp(285px,24vw,490px)!important;
  background-position:center center!important;
}
.principles{
  min-height:clamp(285px,24vw,490px)!important;
  height:clamp(285px,24vw,490px)!important;
  margin-top:0!important;
  margin-bottom:0!important;
  background-position:center center!important;
}
.principles-frame{
  min-height:inherit!important;
  height:100%!important;
}
.principles .principles-grid{
  margin-top:clamp(52px,5.4vw,108px)!important;
  height:58%!important;
  min-height:clamp(170px,15.4vw,312px)!important;
}
.timeline-section.has-timeline-bg:not(.videos-section) + .principles .principles-grid{
  margin-top:clamp(42px,4.45vw,82px)!important;
  height:64%!important;
  min-height:clamp(168px,15.2vw,308px)!important;
}
@media(max-width:1050px){
  .timeline-section.has-timeline-bg:not(.videos-section) + .principles{
    margin-top:0!important;
    min-height:clamp(260px,31vw,320px)!important;
    height:clamp(260px,31vw,320px)!important;
    background-position:center center!important;
  }
  .principles{
    min-height:clamp(260px,31vw,320px)!important;
    height:clamp(260px,31vw,320px)!important;
    aspect-ratio:auto!important;
    background-size:cover!important;
  }
  .principles-frame{
    height:100%!important;
  }
  .principles .principles-grid{
    margin-top:clamp(48px,7.4vw,78px)!important;
    height:58%!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) + .principles .principles-grid{
    margin-top:clamp(42px,6.2vw,64px)!important;
  }
}
@media(max-width:620px){
  .timeline-section.has-timeline-bg:not(.videos-section) + .principles{
    margin-top:0!important;
    min-height:360px!important;
    height:360px!important;
    background-position:center center!important;
  }
  .principles{
    min-height:360px!important;
    height:360px!important;
    background-size:auto 114%!important;
    background-position:center center!important;
  }
  .principles-frame{
    height:360px!important;
  }
  .principles .principles-grid{
    margin-top:58px!important;
  }
}

/* Mobile final pass: hide master portraits in video sections, show one video per swipe, and fit the full five-entry banner. */
@media(max-width:620px){
  .timeline-section.has-timeline-bg .timeline-visual,
  .timeline-section.has-timeline-bg .timeline-master-image{
    display:none!important;
  }
  .timeline-section.has-timeline-bg .timeline-hero,
  .timeline-section.has-timeline-bg .timeline-hero-grid,
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-hero,
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-hero-grid{
    height:430px!important;
    min-height:430px!important;
  }
  .timeline-section.has-timeline-bg .timeline-background-layer{
    background-size:cover!important;
    background-position:center top!important;
  }
  .timeline-section.has-timeline-bg .timeline-copy,
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy{
    left:50%!important;
    top:38px!important;
    width:88vw!important;
    transform:translateX(-50%)!important;
    text-align:center!important;
  }
  .timeline-section.has-timeline-bg .timeline-copy:before,
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy:before{
    width:116%!important;
    height:108%!important;
  }
  .timeline-section.has-timeline-bg .timeline-kicker{
    font-size:clamp(20px,6.4vw,26px)!important;
    margin-bottom:8px!important;
  }
  .timeline-section.has-timeline-bg .timeline-copy h2{
    font-size:clamp(46px,15vw,60px)!important;
    line-height:1.02!important;
    margin-bottom:12px!important;
    white-space:nowrap!important;
  }
  .timeline-section.has-timeline-bg .timeline-subtitle{
    font-size:15px!important;
    line-height:1.55!important;
    margin-bottom:14px!important;
    gap:8px!important;
    letter-spacing:.06em!important;
  }
  .timeline-section.has-timeline-bg .timeline-subtitle:before,
  .timeline-section.has-timeline-bg .timeline-subtitle:after{
    width:22px!important;
    flex-basis:22px!important;
  }
  .timeline-section.has-timeline-bg .timeline-copy p{
    max-width:86vw!important;
    font-size:13px!important;
    line-height:1.72!important;
  }
  .timeline-section.has-timeline-bg .timeline-panel,
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-panel{
    width:92vw!important;
    margin-top:-82px!important;
    padding-bottom:28px!important;
  }
  .timeline-section.has-timeline-bg .timeline-carousel{
    padding:12px 10px 14px!important;
    border-radius:14px!important;
  }
  .timeline-section.has-timeline-bg .timeline-track{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:100%!important;
    gap:12px!important;
    overflow-x:auto!important;
    padding:0 0 10px!important;
    scroll-snap-type:x mandatory!important;
  }
  .timeline-section.has-timeline-bg .timeline-card{
    width:auto!important;
    min-width:0!important;
    height:250px!important;
    min-height:250px!important;
    scroll-snap-align:center!important;
  }
  .timeline-section.has-timeline-bg .timeline-thumb{
    height:132px!important;
    aspect-ratio:16/9!important;
    background-size:cover!important;
    background-position:center!important;
  }
  .timeline-section.has-timeline-bg .timeline-meta{
    min-height:118px!important;
    padding:12px 14px 20px!important;
  }
  .timeline-section.has-timeline-bg .timeline-meta b{
    font-size:17px!important;
    line-height:1.22!important;
  }
  .timeline-section.has-timeline-bg .timeline-more{
    margin-top:10px!important;
    padding:7px 18px!important;
    font-size:15px!important;
  }
  .timeline-section.has-timeline-bg .timeline-more span{
    width:24px!important;
    height:24px!important;
    font-size:21px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) + .principles,
  .principles{
    min-height:clamp(120px,32.22vw,156px)!important;
    height:clamp(120px,32.22vw,156px)!important;
    background-size:100% 100%!important;
    background-position:center center!important;
  }
  .principles-frame{
    height:100%!important;
    min-height:0!important;
  }
  .principles .principles-grid,
  .timeline-section.has-timeline-bg:not(.videos-section) + .principles .principles-grid{
    grid-template-columns:repeat(5,1fr)!important;
    width:82.5%!important;
    height:54%!important;
    min-height:0!important;
    margin:clamp(38px,10.4vw,50px) auto 0!important;
    gap:0!important;
  }
}

/* Video carousel swipe hints: keep the left/right arrows visible on mobile. */
@keyframes videoArrowHint{
  0%,100%{opacity:.78;box-shadow:0 6px 18px rgba(139,83,23,.18)}
  50%{opacity:1;box-shadow:0 8px 24px rgba(139,83,23,.3)}
}
.timeline-section.has-timeline-bg .timeline-arrow{
  display:grid!important;
}
@media(max-width:620px){
  .timeline-section.has-timeline-bg .timeline-carousel{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .timeline-section.has-timeline-bg .timeline-arrow{
    display:grid!important;
    width:38px!important;
    height:38px!important;
    border:2px solid rgba(210,154,43,.86)!important;
    border-radius:50%!important;
    background:rgba(255,253,245,.94)!important;
    color:#b17723!important;
    font-size:34px!important;
    line-height:28px!important;
    z-index:8!important;
    animation:videoArrowHint 1.8s ease-in-out infinite!important;
  }
  .timeline-section.has-timeline-bg .timeline-arrow:first-child{
    left:6px!important;
    transform:translateY(-50%)!important;
  }
  .timeline-section.has-timeline-bg .timeline-arrow:last-child{
    right:6px!important;
    transform:translateY(-50%)!important;
  }
}

/* Homepage corner logo: desktop/tablet only, editable from the Hero CMS panel. */
.hero-corner-logo{
  position:absolute;
  top:var(--hero-logo-y,clamp(18px,4vw,64px));
  left:var(--hero-logo-x,clamp(18px,4vw,64px));
  z-index:4;
  width:var(--hero-logo-size,clamp(82px,8.5vw,150px));
  aspect-ratio:1;
  border-radius:50%;
  background-color:#fff;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  box-shadow:none;
  overflow:hidden;
}
.hero-corner-logo:after{
  display:none;
}
@media(max-width:760px){
  .hero-corner-logo{
    display:none!important;
  }
}

/* Master role links: uniform typography, clickable titles, and no clipping. */
.master-role,
.master-role:visited{
  color:#3d3328!important;
  font-family:"Kaiti SC","STKaiti","KaiTi","KaiTi_GB2312","DFKai-SB",serif!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-decoration:none!important;
}
.master-role-link{
  cursor:pointer;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease;
}
.master-role-link:hover{
  color:#1f160d!important;
  background:linear-gradient(90deg,rgba(184,132,53,.18),rgba(255,255,255,.15))!important;
  box-shadow:inset 0 -1px 0 rgba(184,132,53,.2),0 8px 18px rgba(133,82,24,.12)!important;
}
@media(min-width:901px){
  .master-copy{
    overflow:visible!important;
  }
  .master-roles-panel{
    overflow:visible!important;
    min-height:0!important;
    flex:0 0 auto!important;
  }
  .master-roles-grid{
    flex:none!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    gap:6px 10px!important;
    min-height:0!important;
  }
  .master-role{
    min-height:48px!important;
    align-items:center!important;
    padding:5px 9px 5px 11px!important;
    font-size:clamp(12px,.92vw,14px)!important;
    line-height:1.22!important;
    overflow-wrap:anywhere!important;
  }
}
/* 功德山澳洲分会介绍栏目照片与视频图库效果图样式调整 */
.gallery-section {
  background-color: #fef7eb;
  padding: 40px 20px 60px;
  border-radius: 0 0 40px 40px;
  position: relative;
  font-family: 'Georgia', serif;
  color: #6b4c1d;
}
.gallery-section > h2 {
  text-align: center;
  font-weight: 700;
  font-size: 2.8rem;
  margin-bottom: 24px;
  color: #6b4c1d;
  position: relative;
}
.gallery-section > h2::before,
.gallery-section > h2::after {
  content: '\1F33C'; /* Unicode莲花符号 */
  font-size: 1.8rem;
  color: #d4af37;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.gallery-section > h2::before {
  left: 10%;
}
.gallery-section > h2::after {
  right: 10%;
}
.gallery-buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-bottom: 32px;
}
.gallery-button {
  border-radius: 20px;
  padding: 10px 28px;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  border: 2px solid #8b1c1c;
  display: flex;
  align-items: center;
  gap: 8px;
  user-select: none;
  transition: background-color 0.3s, color 0.3s;
}
.gallery-button.photo {
  background-color: #8b1c1c;
  color: #fff;
}
.gallery-button.video {
  background-color: transparent;
  color: #8b1c1c;
}
.gallery-button:hover {
  background-color: #d4af37;
  color: #6b4c1d;
  border-color: #d4af37;
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 180px);
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
}
.gallery-grid .main-photo {
  grid-column: 1 / 3;
  grid-row: 1 / 3;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}
.gallery-grid .photo-item {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}
.gallery-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.photo-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(139, 28, 28, 0.8);
  color: #fff;
  font-weight: 600;
  font-size: 1rem;
  padding: 6px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}
.photo-caption .icon {
  font-size: 1.2rem;
  color: #d4af37;
}
.gallery-footer {
  margin-top: 40px;
  text-align: center;
  font-style: italic;
  font-size: 1.2rem;
  color: #6b4c1d;
  position: relative;
}
.gallery-footer::before,
.gallery-footer::after {
  content: '\1F33C';
  font-size: 1.5rem;
  color: #d4af37;
  margin: 0 12px;
}
@media (max-width: 900px) {
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 160px);
  }
  .gallery-grid .main-photo {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
  }
}

/* AI gallery correction: target the live gallery DOM and override older restored rules. */
.gallery-section{
  background:
    radial-gradient(circle at 50% 0%,rgba(255,245,217,.95),rgba(255,253,248,.92) 44%,rgba(254,247,235,.98) 100%)!important;
  padding:54px 0 66px!important;
  border-radius:0 0 34px 34px!important;
  color:#5f421e!important;
}
.gallery-section .section-head{
  justify-content:center!important;
  text-align:center!important;
  margin-bottom:24px!important;
}
.gallery-section .section-head h2{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  color:#6b4c1d!important;
  font-family:Georgia,"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif!important;
  font-size:clamp(36px,3.6vw,54px)!important;
  font-weight:800!important;
  line-height:1.12!important;
}
.gallery-section .section-head h2:before,
.gallery-section .section-head h2:after{
  content:"✤";
  color:#d3a24b;
  font-size:.46em;
  opacity:.82;
}
.gallery-section .gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:174px!important;
  gap:16px!important;
  width:min(1180px,92vw)!important;
  max-width:1180px!important;
  margin:0 auto!important;
}
.gallery-section .gallery-item{
  display:block!important;
  width:100%!important;
  height:100%!important;
  border:1px solid rgba(211,162,75,.55)!important;
  border-radius:12px!important;
  background-color:#dac6a0!important;
  background-size:cover!important;
  background-position:center!important;
  box-shadow:0 14px 30px rgba(91,58,22,.12)!important;
}
.gallery-section .gallery-item:nth-child(7n+1){
  grid-column:span 2!important;
  grid-row:span 2!important;
}
.gallery-section .gallery-caption{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  display:block!important;
  padding:34px 16px 13px!important;
  color:#fff!important;
  background:linear-gradient(transparent,rgba(96,18,16,.78))!important;
  font-size:15px!important;
  font-weight:900!important;
  text-align:left!important;
  letter-spacing:0!important;
  text-shadow:0 2px 8px rgba(0,0,0,.35)!important;
}
.gallery-section .toggle{
  margin-top:28px!important;
  color:#8f1e19!important;
}

/* Last-pass mobile overflow protection. */
@media(max-width:700px){
  html body .ceremony-content,
  html body .ceremony-master,
  html body .timeline-section .timeline-hero,
  html body .timeline-section .timeline-hero-grid,
  html body .timeline-section .timeline-copy,
  html body #dabei-practice .dabei-frame,
  html body #dabei-practice .dabei-head,
  html body #dabei-practice .dabei-intro{
    min-width:0!important;
    max-width:100%!important;
  }
  html body .timeline-section .timeline-copy h2,
  html body .timeline-section:not(.videos-section) .timeline-copy h2,
  html body .videos-section .timeline-copy h2,
  html body #dabei-practice .dabei-title h2{
    width:auto!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  html body .timeline-section.has-timeline-bg:not(.videos-section) .timeline-copy h2{
    width:auto!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  html body .ceremony-master{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    overflow:hidden!important;
  }
  html body .ceremony-master:before{display:none!important}
  html body .ceremony-master>span{
    writing-mode:horizontal-tb!important;
    width:auto!important;
    max-width:100%!important;
  }
  html body .ceremony-master-photo{width:100%!important;max-width:100%!important}
  html body .ceremony-master>div,
  html body .ceremony-master b,
  html body .ceremony-master small{
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  html body .ceremony-plaques span{
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  html body .branch-card-head{min-width:0!important;flex-wrap:wrap!important}
  html body #dabei-practice .dabei-title{min-width:0!important;max-width:100%!important}
}
@media(max-width:380px){
  html[lang="en"] body .timeline-section .timeline-copy h2{font-size:32px!important}
  html[lang="en"] body #dabei-practice .dabei-title h2{font-size:30px!important}
  html[lang="en"] body .ceremony-content h2{font-size:31px!important}
  html[lang="en"] body .ceremony-plaques{grid-template-columns:1fr!important}
}
@media(max-width:900px){
  .gallery-section .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:160px!important;
  }
}
@media(max-width:560px){
  .gallery-section{
    padding:42px 0 46px!important;
  }
  .gallery-section .section-head h2{
    font-size:32px!important;
    gap:10px!important;
  }
  .gallery-section .gallery-grid{
    grid-template-columns:1fr!important;
    grid-auto-rows:224px!important;
  }
  .gallery-section .gallery-item:nth-child(7n+1){
    grid-column:auto!important;
    grid-row:auto!important;
  }
}

/* Mobile video cards: prioritize the thumbnail and keep the caption compact. */
@media(max-width:620px){
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-card{
    height:260px!important;
    min-height:260px!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-thumb{
    height:174px!important;
    min-height:174px!important;
    flex:0 0 174px!important;
    aspect-ratio:auto!important;
    background-size:cover!important;
    background-position:center!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-meta{
    height:84px!important;
    min-height:84px!important;
    flex:0 0 84px!important;
    padding:7px 12px 9px!important;
    overflow:hidden!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-meta b{
    font-size:15px!important;
    line-height:1.14!important;
  }
  .timeline-section.has-timeline-bg:not(.videos-section) .timeline-meta small{
    margin-top:2px!important;
    font-size:11px!important;
    line-height:1.14!important;
  }
}

/* Taiwan headquarters contact panel above the site footer. */
.taiwan-hq{
  position:relative;
  overflow:hidden;
  padding:58px 0 60px;
  color:#3f2b16;
  background:
    radial-gradient(circle at 10% 15%,rgba(255,255,255,.86),transparent 25%),
    radial-gradient(circle at 92% 88%,rgba(201,145,55,.14),transparent 30%),
    linear-gradient(135deg,#f7eedf 0%,#fffaf0 48%,#efe0c6 100%);
  border-top:1px solid rgba(182,138,69,.34);
}
.taiwan-hq:before{
  content:"山";
  position:absolute;
  right:4vw;
  top:50%;
  transform:translateY(-54%);
  color:rgba(167,112,38,.055);
  font-family:"GondesanTitle","Kaiti SC","STKaiti",serif;
  font-size:clamp(180px,22vw,360px);
  line-height:1;
  pointer-events:none;
}
.taiwan-hq-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(540px,1.18fr);
  gap:clamp(34px,5vw,76px);
  align-items:center;
  padding:clamp(30px,3.4vw,48px);
  border:1px solid rgba(182,138,69,.38);
  border-radius:22px;
  background:rgba(255,253,247,.76);
  box-shadow:0 22px 64px rgba(91,58,22,.12),inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.taiwan-hq-card:before{
  content:"";
  position:absolute;
  left:0;
  top:30px;
  bottom:30px;
  width:5px;
  border-radius:0 5px 5px 0;
  background:linear-gradient(180deg,transparent,#b68a45 24%,#8f1e19 76%,transparent);
}
.taiwan-hq-heading{position:relative;padding-left:10px}
.taiwan-hq-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#a57735;
  font-size:12px;
  font-weight:900;
  letter-spacing:.2em;
}
.taiwan-hq-kicker:before{content:"✦";font-size:10px}
.taiwan-hq-heading h2{
  margin:10px 0 12px;
  color:#641d17;
  font-family:"GondesanTitle",Georgia,"Songti SC",serif;
  font-size:clamp(34px,3.1vw,48px);
  font-weight:700;
  line-height:1.06;
  letter-spacing:.02em;
}
html[lang="en"] .taiwan-hq-heading h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(31px,2.7vw,44px);
  letter-spacing:0;
}
.taiwan-hq-heading p{
  margin:0;
  color:#78644d;
  font-size:14px;
  font-weight:800;
  line-height:1.5;
}
.taiwan-hq-visit{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:22px;
  padding:10px 16px;
  border:1px solid rgba(143,30,25,.34);
  border-radius:999px;
  color:#7e211a;
  background:rgba(255,255,255,.58);
  text-decoration:none;
  font-size:13px;
  font-weight:900;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.taiwan-hq-visit:hover{color:#fff;background:#8f1e19;transform:translateY(-2px)}
.taiwan-hq-visit i{font-style:normal;font-size:16px}
.taiwan-hq-contact{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
}
.taiwan-hq-item{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:center;
  min-height:78px;
  padding:14px 16px;
  color:#44301d;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(182,138,69,.24);
  border-radius:14px;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(91,58,22,.045);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.taiwan-hq-item:hover{border-color:rgba(143,30,25,.42);box-shadow:0 12px 26px rgba(91,58,22,.11);transform:translateY(-2px)}
.taiwan-hq-address{grid-column:1/-1}
.taiwan-hq-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(182,138,69,.42);
  border-radius:50%;
  color:#9a6928;
  background:linear-gradient(145deg,#fffaf0,#efe0c2);
  font:700 20px/1 Georgia,serif;
}
.taiwan-hq-item small{
  display:block;
  margin-bottom:4px;
  color:#a1763b;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}
.taiwan-hq-item b{
  display:block;
  min-width:0;
  font-family:Georgia,"Songti SC","STSong",serif;
  font-size:15px;
  line-height:1.36;
  overflow-wrap:anywhere;
}
@media(max-width:900px){
  .taiwan-hq{padding:42px 0}
  .taiwan-hq-card{grid-template-columns:1fr;gap:26px;padding:32px}
}
@media(max-width:560px){
  .taiwan-hq{padding:30px 0}
  .taiwan-hq-card{gap:22px;padding:26px 18px 22px;border-radius:16px}
  .taiwan-hq-card:before{top:22px;bottom:22px;width:4px}
  .taiwan-hq-heading{padding-left:8px}
  .taiwan-hq-heading h2{font-size:31px}
  html[lang="en"] .taiwan-hq-heading h2{font-size:29px}
  .taiwan-hq-heading p{font-size:13px}
  .taiwan-hq-visit{margin-top:16px}
  .taiwan-hq-contact{grid-template-columns:1fr;gap:9px}
  .taiwan-hq-address{grid-column:auto}
  .taiwan-hq-item{min-height:68px;padding:11px 12px;grid-template-columns:38px minmax(0,1fr);gap:10px}
  .taiwan-hq-icon{width:38px;height:38px;font-size:18px}
  .taiwan-hq-item b{font-size:13px}
}

/* Australia branch contact card: share the headquarters visual language. */
#taiwan-headquarters{padding-bottom:24px}
.australia-branch-contact{
  padding-top:0;
  border-top:0;
  background:
    radial-gradient(circle at 86% 15%,rgba(255,255,255,.82),transparent 24%),
    radial-gradient(circle at 8% 92%,rgba(143,30,25,.08),transparent 28%),
    linear-gradient(135deg,#f7eedf 0%,#fffaf0 48%,#efe0c6 100%);
}
.australia-branch-contact:before{
  content:"澳";
  left:4vw;
  right:auto;
  color:rgba(143,30,25,.045);
}
.australia-branch-card{border-color:rgba(143,30,25,.25)}
.australia-contact-heading h2{
  margin:10px 0 12px;
  font-size:clamp(34px,2.5vw,42px);
  white-space:nowrap;
}
html[lang="en"] .australia-contact-heading h2{white-space:normal}
.footer-legal{padding:22px 0}
.footer-legal-grid{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.footer-legal-grid>b{
  font-family:Georgia,"Songti SC","STSong",serif;
  font-size:14px;
}
.footer-legal-grid small{color:#aaa}
@media(max-width:560px){
  #taiwan-headquarters{padding-bottom:14px}
  .australia-branch-contact{padding-top:0}
  .australia-contact-heading h2{font-size:27px}
  html[lang="en"] .australia-contact-heading h2{font-size:23px;line-height:1.04}
  .footer-legal{padding:20px 0}
  .footer-legal-grid{align-items:flex-start;flex-direction:column;gap:7px}
}
