@font-face{font-family:"ZCOOL XiaoWei";src:url("assets/fonts/ZCOOLXiaoWei-site.woff2") format("woff2");font-display:swap;font-weight:400;font-style:normal}
@font-face{font-family:"Ma Shan Zheng";src:url("assets/fonts/MaShanZheng-site.woff2") format("woff2");font-display:swap;font-weight:400;font-style:normal}
@font-face{font-family:"Source Han Serif CN Site";src:url("assets/fonts/SourceHanSerifCN-site.woff2") format("woff2");font-display:swap;font-weight:400;font-style:normal}
:root{--ink:#11100f;--paper:#ece8df;--muted:#aaa59b;--gold:#c9a66b;--line:rgba(236,232,223,.18);--title:"ZCOOL XiaoWei","Source Han Serif CN Site","STKaiti","KaiTi",serif;--body:"Ma Shan Zheng","Source Han Serif CN Site","STXingkai","华文行楷","KaiTi",cursive;--copy:"Source Han Serif CN Site","Source Han Serif SC","思源宋体","Noto Serif CJK SC","Songti SC","SimSun",serif;--serif:var(--body);--sans:"DM Sans",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);overflow-x:hidden}section[id]{scroll-margin-top:128px}a{color:inherit;text-decoration:none}.noise{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.scroll-progress{position:fixed;left:0;top:0;height:2px;width:100%;z-index:120}.scroll-progress span{display:block;height:100%;width:0;background:var(--gold)}
.nav{position:fixed;inset:0 0 auto;z-index:100;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;background:rgba(17,16,15,.62);backdrop-filter:blur(12px);border-bottom:1px solid rgba(236,232,223,.1);transition:.35s ease}.nav.scrolled{background:rgba(17,16,15,.9)}.brand{display:flex;align-items:center;gap:12px}.brand svg{width:28px;height:36px;fill:none;stroke:currentColor;stroke-width:1.2}.brand>span{font-size:13px;font-weight:600;letter-spacing:.16em;line-height:1.2}.brand small{display:block;font:400 9px var(--serif);letter-spacing:.18em;color:var(--muted);margin-top:4px}.sound-controls{display:flex;align-items:center;gap:22px}.music-toggle{display:flex;align-items:center;gap:12px;padding:0;background:none;border:0;color:var(--paper);cursor:pointer;text-align:left}.audio-bars{width:25px;height:20px;display:flex;gap:3px;align-items:center;justify-content:center}.audio-bars i{display:block;width:2px;height:5px;background:var(--gold);opacity:.75}.music-toggle.playing .audio-bars i{animation:soundbar .8s ease-in-out infinite alternate}.music-toggle.playing .audio-bars i:nth-child(2){animation-delay:-.4s}.music-toggle.playing .audio-bars i:nth-child(3){animation-delay:-.6s}.music-toggle.playing .audio-bars i:nth-child(4){animation-delay:-.2s}@keyframes soundbar{0%{height:4px}100%{height:19px}}.music-copy{display:flex;flex-direction:column;gap:3px}.music-copy small{font:500 7px var(--sans);letter-spacing:.2em;color:var(--gold)}.music-copy strong{font:400 10px var(--serif);letter-spacing:.08em}.volume-control{display:flex;align-items:center;gap:8px;color:#888;font-size:7px;letter-spacing:.16em}.volume-control input{appearance:none;width:70px;height:1px;background:#65615b;cursor:pointer}.volume-control input::-webkit-slider-thumb{appearance:none;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.discovery-bar{position:fixed;z-index:98;top:72px;left:0;right:0;height:48px;display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:center;padding:0 4.5vw;background:rgba(12,11,10,.78);backdrop-filter:blur(14px);border-bottom:1px solid rgba(236,232,223,.1)}.site-search{height:100%;position:relative;display:flex;align-items:center;width:min(440px,100%);border-right:1px solid var(--line)}.site-search label{font-size:8px;letter-spacing:.18em;color:var(--gold);margin-right:17px;white-space:nowrap}.site-search input{height:100%;flex:1;min-width:0;border:0;background:transparent;color:var(--paper);outline:none;font:400 11px var(--serif);letter-spacing:.05em}.site-search input::placeholder{color:#77726a}.site-search button{width:42px;height:100%;border:0;background:transparent;color:#aaa;cursor:pointer}.site-search button:hover{color:var(--gold)}.site-search svg{width:15px;fill:none;stroke:currentColor;stroke-width:1.3}.search-feedback{position:absolute;top:calc(100% + 10px);left:0;background:rgba(17,16,15,.94);padding:8px 12px;color:#c9c4ba;font:400 10px var(--serif);opacity:0;transform:translateY(-5px);pointer-events:none;transition:.25s}.search-feedback.show{opacity:1;transform:none}.discovery-bar nav{height:100%;display:flex;align-items:center;gap:30px;padding-left:35px}.discovery-bar nav a{height:100%;display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.15em;color:#ccc;position:relative;white-space:nowrap}.discovery-bar nav a span{font-size:7px;color:#716d66}.discovery-bar nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--gold);transition:.3s}.discovery-bar nav a:hover:after,.discovery-bar nav a.active:after{right:0}.discovery-bar nav a:hover,.discovery-bar nav a.active{color:#fff}.search-hit{animation:searchglow 1.2s ease}@keyframes searchglow{0%,100%{filter:none}35%{filter:drop-shadow(0 0 16px rgba(201,166,107,.45))}}
.section{padding:140px 7.5vw}.section-index{font-size:10px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase}.eyebrow,.kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase}.kicker{color:var(--gold);margin:0 0 22px}.hero{height:100svh;min-height:680px;position:relative;overflow:hidden}.hero-image{position:absolute;inset:-12%;background:url("assets/hero-cathedral.jpg") center center/cover no-repeat;filter:brightness(.5) saturate(.65) contrast(1.08)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,11,.9) 0%,rgba(9,10,10,.42) 43%,rgba(9,10,10,.1) 70%),linear-gradient(0deg,rgba(17,16,15,.72),transparent 44%)}.hero-content{position:absolute;left:7.5vw;top:50%;transform:translateY(-45%);width:min(680px,70vw)}.hero .eyebrow{color:#d2cfc8;margin-bottom:24px}.hero h1{font:600 clamp(64px,9vw,145px)/.98 var(--serif);letter-spacing:-.06em;margin:0}.hero h1 span,.hero h1 em{display:block}.hero h1 em{color:transparent;-webkit-text-stroke:1px rgba(236,232,223,.72);font-style:normal}.hero-intro{font:400 16px/1.85 var(--serif);max-width:490px;color:#cfcbc2;margin:32px 0 0}.hero-meta{position:absolute;right:4.5vw;bottom:40px;display:flex;gap:32px;font:400 10px var(--serif);letter-spacing:.14em;color:#c8c3b8}.scroll-cue{position:absolute;left:7.5vw;bottom:30px;font-size:9px;letter-spacing:.22em;color:var(--muted);display:flex;align-items:center;gap:15px}.scroll-cue i{display:block;width:54px;height:1px;background:#777;position:relative;overflow:hidden}.scroll-cue i:after{content:"";position:absolute;inset:0;background:var(--paper);animation:scan 2s infinite}@keyframes scan{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.overview{position:relative;overflow:hidden;background:linear-gradient(135deg,#151411 0%,#0e0d0c 70%);border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.07);padding-top:170px;padding-bottom:110px}.overview-watermark{position:absolute;right:-2vw;top:70px;font:500 clamp(90px,15vw,240px)/1 var(--sans);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(236,232,223,.035);white-space:nowrap;pointer-events:none}.overview .section-index{margin-bottom:85px}.overview-lead{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:end}.overview h2{font:500 clamp(48px,6vw,90px)/1.18 var(--serif);letter-spacing:-.045em;margin:0}.overview h2 em{font-style:normal;color:var(--gold)}.overview-intro{border-top:1px solid var(--line);padding-top:28px}.overview-intro p{font:400 15px/2 var(--serif);color:#b8b2a8;margin:0 0 22px}.overview-points{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:105px}.overview-points article{position:relative;min-height:190px;padding:30px 28px;border-right:1px solid var(--line)}.overview-points article:last-child{border-right:0}.overview-points article>span{font-size:8px;letter-spacing:.18em;color:var(--gold)}.overview-points h3{font:500 22px var(--serif);margin:34px 0 12px}.overview-points p{font:400 12px/1.8 var(--serif);color:var(--muted);margin:0}.overview-next{display:flex;justify-content:space-between;align-items:center;margin-top:45px;font:400 11px var(--serif);letter-spacing:.08em;color:#bdb7ac}.overview-next span{font:500 8px var(--sans);letter-spacing:.2em;color:var(--gold)}
.manifesto{min-height:90vh;display:grid;grid-template-columns:1fr 4fr 1.5fr;gap:5vw;align-items:center}.manifesto h2,.details h2,.treasures h2,.visit h2{font:500 clamp(44px,6.2vw,96px)/1.22 var(--serif);letter-spacing:-.04em;margin:0}.manifesto h2 em,.light h2 em{color:var(--gold);font-style:normal}.side-note{font:400 13px/2 var(--serif);color:var(--muted);align-self:end;margin-bottom:8vh}.timeline{position:relative;padding-top:30px;padding-bottom:180px}.timeline-track{position:absolute;left:calc(7.5vw + 72px);top:40px;bottom:180px;width:1px;background:var(--line)}.timeline-track span{display:block;background:var(--gold);height:0;width:1px}.timeline-item{display:grid;grid-template-columns:145px minmax(0,610px);gap:42px;margin:0 0 110px}.timeline-item:last-child{margin-bottom:0}.timeline-item time{font-size:13px;letter-spacing:.15em;color:var(--gold);padding-top:8px}.timeline-item div{position:relative}.timeline-item div:before{content:"";position:absolute;left:-51px;top:12px;width:17px;height:17px;border:1px solid var(--gold);border-radius:50%;background:var(--ink);box-shadow:0 0 0 8px var(--ink)}.timeline-item h3{font:500 clamp(32px,4vw,58px) var(--serif);margin:0 0 16px}.timeline-item p{font:400 15px/1.9 var(--serif);color:var(--muted);margin:0}
.architecture{position:relative;min-height:110vh;display:flex;align-items:flex-end;overflow:hidden}.architecture-image{position:absolute;inset:-10%;background:url("assets/aerial-rhine.jpg") center/cover;filter:grayscale(.5) brightness(.42) contrast(1.15)}.architecture-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,16,15,.9),transparent 55%),linear-gradient(90deg,rgba(17,16,15,.67),transparent)}.architecture-content{position:relative;width:100%;padding-bottom:85px}.architecture h2,.light h2{font:500 clamp(54px,7vw,110px)/1.12 var(--serif);letter-spacing:-.045em;margin:20px 0 80px}.stats{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:32px 24px 0 0;display:flex;gap:14px;align-items:flex-start}.stat strong{font:300 clamp(40px,5vw,72px) var(--sans);letter-spacing:-.06em}.stat strong:after{content:""}.stat span{font:400 11px/1.7 var(--serif);color:#bab5aa;padding-top:8px}
.details{position:relative;background:radial-gradient(circle at 78% 44%,rgba(201,166,107,.075),transparent 30%),linear-gradient(135deg,#171613,#0e0d0c 72%);color:var(--paper);border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);overflow:hidden}.details:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.96%,rgba(255,255,255,.035) 50%,transparent 50.04%);pointer-events:none}.details .section-index{margin-bottom:85px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.detail-intro>p:last-child{font:400 15px/2 var(--serif);color:var(--muted);max-width:530px;margin-top:40px}.diagram{height:620px;position:relative;border:1px solid rgba(236,232,223,.08);background:rgba(255,255,255,.012);box-shadow:0 28px 80px rgba(0,0,0,.24)}.diagram:before,.diagram:after{content:"";position:absolute;background:rgba(201,166,107,.28)}.diagram:before{width:46px;height:1px;left:-24px;top:50%}.diagram:after{height:46px;width:1px;left:50%;top:-23px}.diagram svg{height:100%;width:100%;fill:none;stroke:#a99d89;stroke-width:.9}.diagram svg g{filter:drop-shadow(0 10px 18px rgba(201,166,107,.1))}.diagram-label{position:absolute;font:500 10px var(--sans);letter-spacing:.16em;color:#ddd7cd}.diagram-label i{position:absolute;display:block;height:1px;background:#7f7568;top:50%;right:calc(100% + 12px)}.l1{left:16%;top:48%}.l1 i{width:70px}.l2{right:12%;top:62%}.l2 i{width:60px}.l3{right:9%;top:18%}.l3 i{width:46px}
.treasures .section-index{margin-bottom:70px}.treasures{padding-bottom:180px}.treasures-heading{margin-bottom:85px}.cards{border-top:1px solid var(--line)}.card{min-height:190px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:120px 1fr;align-items:center;transition:.3s}.card:hover{padding-left:18px;background:rgba(255,255,255,.018)}.card>span{color:var(--gold);font-size:11px;letter-spacing:.2em}.card>div{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.card h3{font:500 clamp(28px,3.5vw,50px) var(--serif);margin:0}.card p{font:400 14px/1.9 var(--serif);color:var(--muted);margin:0;max-width:430px}
.visit{min-height:94vh;position:relative;overflow:hidden}.visit-image{position:absolute;inset:0;background:url("assets/hero-cathedral.jpg") center 58%/cover;filter:brightness(.3) saturate(.55)}.visit-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,12,11,.92),rgba(13,12,11,.2)),linear-gradient(0deg,rgba(13,12,11,.85),transparent)}.visit-content{position:relative}.visit-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:10vw;margin-top:11vh}.cta{display:inline-flex;align-items:center;justify-content:space-between;width:280px;border-bottom:1px solid var(--gold);padding:18px 0;margin-top:55px;font-size:12px;letter-spacing:.12em}.cta span{font-size:18px;transition:.25s}.cta:hover span{transform:translate(4px,-4px)}.visit-info{border-top:1px solid var(--line)}.visit-info dl{margin:0}.visit-info dl>div{display:grid;grid-template-columns:90px 1fr;padding:28px 0;border-bottom:1px solid var(--line)}.visit-info dt{font-size:10px;letter-spacing:.18em;color:var(--gold)}.visit-info dd{margin:0;font:400 13px/1.8 var(--serif);color:#d1ccc3}
footer{padding:55px 4.5vw;background:#0b0a0a;display:grid;grid-template-columns:1fr 1.2fr auto;gap:35px;align-items:end;border-top:1px solid rgba(255,255,255,.06);font-size:10px;color:#777;line-height:1.8}.footer-brand{display:flex;flex-direction:column}.footer-brand strong{font-size:13px;letter-spacing:.15em;color:#bbb}.footer-brand span{font:400 10px var(--serif);margin-top:5px}.sources a,.credits a{color:#aaa}.sources a:hover,.credits a:hover{color:var(--gold)}.back-top{color:#bbb;letter-spacing:.12em}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){section[id]{scroll-margin-top:154px}.nav{height:64px;padding:0 6vw}.brand svg{width:23px;height:31px}.sound-controls{gap:8px}.volume-control{display:none}.music-copy small{display:none}.discovery-bar{top:64px;height:86px;display:grid;grid-template-columns:1fr;grid-template-rows:42px 44px;padding:0;background:rgba(12,11,10,.91)}.site-search{width:100%;max-width:none;border-right:0;border-bottom:1px solid var(--line);padding:0 6vw}.site-search label{font-size:7px}.site-search button{padding-right:0}.discovery-bar nav{padding:0 6vw;gap:28px;overflow-x:auto;scrollbar-width:none}.discovery-bar nav::-webkit-scrollbar{display:none}.discovery-bar nav a{font-size:9px}.hero-meta{display:none}.overview-lead{grid-template-columns:1fr;gap:55px}.overview-intro{max-width:620px}.overview-points{grid-template-columns:repeat(2,1fr)}.overview-points article:nth-child(2){border-right:0}.overview-points article:nth-child(-n+2){border-bottom:1px solid var(--line)}.manifesto{grid-template-columns:1fr;padding-top:100px}.manifesto .section-index{align-self:end}.manifesto .side-note{max-width:400px;margin:0}.stats{grid-template-columns:repeat(2,1fr);gap:35px}.detail-grid,.visit-grid{grid-template-columns:1fr}.diagram{height:500px}.card>div{grid-template-columns:1fr;gap:12px}.light-image{background-position:65% 45%}footer{grid-template-columns:1fr 1fr}.credits{grid-column:1/3}}
@media(max-width:600px){.section{padding:100px 6vw}.nav{padding:0 6vw;height:64px}.brand>span{font-size:11px}.music-copy strong{font-size:9px}.hero{min-height:700px}.hero-content{left:6vw;width:88vw}.hero h1{font-size:56px}.hero-intro{font-size:14px;max-width:88vw}.scroll-cue{left:6vw}.overview{padding-top:125px}.overview .section-index{margin-bottom:60px}.overview h2{font-size:43px}.overview-intro p{font-size:14px}.overview-points{margin-top:70px}.overview-points article{min-height:155px;padding:24px 18px}.overview-points h3{font-size:19px;margin-top:25px}.overview-next{align-items:flex-start;gap:30px;line-height:1.8}.manifesto h2,.details h2,.treasures h2,.visit h2{font-size:42px}.timeline{padding-left:6vw}.timeline-track{left:calc(6vw + 45px)}.timeline-item{grid-template-columns:82px 1fr;gap:25px;margin-bottom:75px}.timeline-item div:before{left:-34px;width:13px;height:13px}.architecture{min-height:125vh}.architecture h2,.light h2{font-size:50px;margin-bottom:55px}.stats{grid-template-columns:1fr 1fr}.stat{display:block}.stat strong{font-size:42px}.detail-grid{gap:50px}.diagram{height:390px}.treasures{padding-bottom:110px}.card{grid-template-columns:44px 1fr;padding:28px 0}.card>div{gap:8px}.card p{font-size:13px}.visit{min-height:105vh}.visit-grid{margin-top:65px}.visit-info{margin-top:30px}footer{grid-template-columns:1fr;padding:42px 6vw}.credits{grid-column:auto}.back-top{margin-top:12px}}
.stat strong{display:inline-block;min-width:5.4ch;white-space:nowrap;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;contain:layout}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.card{display:block;min-height:0;border:0;background:var(--ink);overflow:hidden;transition:background .3s}.card:hover{padding-left:0;background:#151310}.card-media{height:360px;margin:0;overflow:hidden;background:#181613}.card-media img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.72) contrast(1.04);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.card:hover .card-media img{transform:scale(1.035);filter:saturate(.9) contrast(1.04)}.card:nth-child(2) .card-media img{object-position:center 28%}.card:nth-child(3) .card-media img{object-position:center 42%}.card>.card-copy{display:block;padding:32px 30px 38px}.card-copy>span{font-size:8px;letter-spacing:.2em;color:var(--gold)}.card-copy h3{font:500 clamp(27px,2.5vw,41px) var(--serif);margin:30px 0 18px}.card-copy p{font:400 13px/1.9 var(--serif);color:var(--muted);margin:0;max-width:390px}
.photo-chapter{min-height:110vh;padding:130px 9vw;display:grid;grid-template-columns:minmax(0,680px) minmax(220px,1fr);gap:9vw;align-items:center;background:#0c0b0a;border-bottom:1px solid rgba(255,255,255,.06)}
.facade-frame{margin:0;height:min(88vh,950px);background:#141311;overflow:hidden}.facade-frame img{width:100%;height:100%;display:block;object-fit:contain;filter:saturate(.72) contrast(1.03)}
.photo-caption{max-width:320px;border-top:1px solid var(--line);padding-top:26px}.photo-caption>span,.archive-heading>span{font-size:9px;letter-spacing:.2em;color:var(--gold)}.photo-caption p{font:400 17px/1.9 var(--serif);color:#c5c0b7;margin:25px 0 45px}.photo-caption small{font-size:8px;letter-spacing:.2em;color:#68645e}
.archive-feature{padding:130px 7.5vw 170px;background:linear-gradient(145deg,#181612,#0e0d0c);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.archive-heading{display:flex;justify-content:space-between;gap:40px;align-items:start;border-top:1px solid var(--line);padding-top:25px}.archive-heading p{max-width:470px;font:400 14px/1.9 var(--serif);color:var(--muted);margin:0}.archive-frame{margin:65px 0 0}.archive-frame img{display:block;width:100%;max-height:78vh;object-fit:contain;object-position:center;background:#ddd8cc;filter:saturate(.7) contrast(1.03)}.archive-frame figcaption{border-top:1px solid var(--line);padding-top:16px;margin-top:18px;font:400 9px var(--serif);letter-spacing:.13em;color:#77726a}
.light{min-height:110vh;display:grid;grid-template-columns:56% 44%;align-items:stretch;overflow:hidden;background:linear-gradient(135deg,#151310,#0d0c0b);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.light-visual{height:110vh;margin:0;position:relative;overflow:hidden;background:#191815}.light-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:brightness(.78) saturate(.7) contrast(1.04)}.light-visual figcaption{position:absolute;left:28px;bottom:25px;padding:10px 13px;background:rgba(12,11,10,.76);backdrop-filter:blur(10px);font-size:8px;letter-spacing:.19em;color:#d4cec4}.light-copy{position:relative;width:auto;display:flex;flex-direction:column;justify-content:center;padding:150px 6.5vw}.light h2{font:500 clamp(47px,5.2vw,82px)/1.18 var(--serif);letter-spacing:-.045em;margin:20px 0 34px}.light-copy>p:last-child{max-width:500px;font:400 15px/2 var(--serif);color:#c4bfb6}
@media(max-width:900px){.photo-chapter{min-height:auto;padding:110px 6vw;grid-template-columns:minmax(0,1fr) 260px;gap:7vw}.facade-frame{height:78vh}.archive-feature{padding:110px 6vw 130px}.light{grid-template-columns:1fr;min-height:auto}.light-visual{height:80vh}.light-copy{padding:110px 8vw}}
@media(max-width:700px){.stat{min-width:0;contain:layout}.stat strong{min-width:5.6ch}.cards{grid-template-columns:1fr}.card-media{height:350px}.card>.card-copy{padding:28px 24px 34px}.card-copy h3{font-size:32px;margin-top:24px}}
@media(max-width:600px){.photo-chapter{padding:95px 6vw;grid-template-columns:1fr;gap:45px}.facade-frame{height:auto}.facade-frame img{height:auto;max-height:none}.photo-caption{max-width:none}.photo-caption p{font-size:15px;margin-bottom:30px}.archive-feature{padding:95px 6vw 110px}.archive-heading{display:block}.archive-heading p{font-size:13px;margin-top:25px}.archive-frame{margin-top:45px}.archive-frame img{max-height:none}.light-visual{height:72vh}.light-copy{padding:95px 6vw 110px}.light h2{font-size:47px}}

/* Chinese reading system: Xiaokai-inspired titles, Xingshu-inspired body copy. */
body{font-family:var(--body)}
h1,h2,h3{font-family:var(--title)!important;font-weight:400!important;letter-spacing:.015em!important;text-wrap:balance}
p,dd{line-break:strict;word-break:normal;text-wrap:pretty}
.hero h1{font-size:clamp(58px,7.5vw,112px);line-height:1.08;white-space:nowrap}
.hero h1 span,.hero h1 em{display:inline-block}
.overview h2,.manifesto h2,.details h2,.treasures h2,.visit h2,.architecture h2,.light h2{font-size:clamp(40px,4.8vw,76px);line-height:1.35;letter-spacing:.015em;max-width:13em}
.overview h2{font-size:clamp(38px,3.8vw,56px);letter-spacing:.01em!important}
.overview h2 em,.manifesto h2 em,.light h2 em{display:inline;font-style:normal}
.hero-intro,.overview-intro p,.timeline-item p,.detail-intro>p:last-child,.light-copy>p:last-child,.card-copy p,.side-note,.archive-heading p,.visit-info dd{font-family:var(--body);font-size:17px;line-height:1.95;letter-spacing:.025em}
.overview-points p{font-family:var(--body);font-size:15px;line-height:1.8}
.photo-caption p{font-family:var(--body);font-size:18px;line-height:1.85}
.overview-next{font-family:var(--body);font-size:14px}
.stat span{font-family:var(--body);font-size:13px;line-height:1.65}
.cta{font-family:var(--body);font-size:15px}
.brand small{font-family:var(--body);font-size:11px}
.music-copy small{font-size:10px}
.music-copy strong{font-family:var(--body);font-size:13px}
.volume-control{font-size:10px}
.site-search label{font-size:11px}
.site-search input{font-family:var(--body);font-size:14px}
.search-feedback{font-family:var(--body);font-size:13px}
.discovery-bar nav a{font-family:var(--body);font-size:13px;letter-spacing:.08em}
.discovery-bar nav a span{font-family:var(--sans);font-size:10px}
.section-index{font-size:11px}
.eyebrow{font-size:12px}
.kicker{font-family:var(--title);font-size:15px;letter-spacing:.12em;text-transform:none}
.hero-meta{font-family:var(--body);font-size:13px;letter-spacing:.08em}
.scroll-cue{font-family:var(--body);font-size:12px;letter-spacing:.12em}
.overview-points article>span,.overview-next span,.card-copy>span{font-size:11px}
.overview-points h3{font-size:25px}
.timeline-item time{font-size:14px}
.diagram-label{font-size:12px}
.photo-caption>span,.archive-heading>span{font-size:11px}
.archive-frame figcaption,.light-visual figcaption{font-family:var(--body);font-size:11px;letter-spacing:.1em}
.visit-info dt{font-size:12px}
footer{font-family:var(--body);font-size:12px}
.footer-brand span{font-family:var(--body);font-size:12px}

.sound-entry{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:28px;background:rgba(9,8,7,.84);backdrop-filter:blur(18px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s ease}
.sound-entry.show{opacity:1;visibility:visible;pointer-events:auto}
.sound-entry-panel{width:min(680px,100%);padding:48px 50px 44px;border:1px solid rgba(236,232,223,.22);background:linear-gradient(145deg,rgba(30,27,23,.97),rgba(14,13,12,.98));box-shadow:0 36px 100px rgba(0,0,0,.48);text-align:center}
.sound-entry-panel>span{font:500 11px var(--sans);letter-spacing:.16em;color:var(--gold)}
.sound-entry-panel h2{font:400 clamp(36px,3.6vw,48px)/1.35 var(--title)!important;letter-spacing:.01em!important;margin:24px 0 18px}
.sound-entry-panel p{max-width:410px;margin:0 auto;color:#c7c1b7;font:400 17px/1.9 var(--body)}
.sound-entry-actions{display:flex;justify-content:center;gap:16px;margin-top:34px}
.sound-entry-actions button{min-width:150px;padding:14px 20px;border:1px solid var(--gold);background:var(--gold);color:#17130e;font:400 16px var(--body);cursor:pointer;transition:.25s}
.sound-entry-actions button:hover,.sound-entry-actions button:focus-visible{transform:translateY(-2px);box-shadow:0 10px 30px rgba(201,166,107,.18);outline:none}
.sound-entry-actions #sound-entry-skip{border-color:rgba(236,232,223,.24);background:transparent;color:#c8c2b8}
body.sound-entry-open{overflow:hidden}

@media(max-width:900px){
  .discovery-bar nav a{font-size:12px}
  .site-search label{font-size:11px}
  .music-copy strong{font-size:12px}
}
@media(max-width:600px){
  .hero h1{font-size:40px;line-height:1.15}
  .overview h2,.manifesto h2,.details h2,.treasures h2,.visit h2,.architecture h2,.light h2{font-size:30px;line-height:1.42;max-width:none}
  .architecture h2{font-size:31px;white-space:nowrap}
  .hero-intro,.overview-intro p,.timeline-item p,.detail-intro>p:last-child,.light-copy>p:last-child,.card-copy p,.side-note,.archive-heading p,.visit-info dd{font-size:16px;line-height:1.95}
  .overview-points p{font-size:15px}
  .overview-points h3{font-size:23px}
  .photo-caption p{font-size:17px}
  .section-index{font-size:11px}
  .kicker{font-size:14px}
  .card-copy h3{font-size:31px}
  .sound-entry{padding:18px}
  .sound-entry-panel{padding:38px 24px 32px}
  .sound-entry-panel h2{font-size:35px;margin-top:20px}
  .sound-entry-panel p{font-size:16px}
  .sound-entry-actions{flex-direction:column;gap:11px}
  .sound-entry-actions button{width:100%;font-size:16px}
}

/* Keep a single chapter cursor: hover changes color, only the active link owns the underline. */
.discovery-bar nav a:hover:after{right:100%}
.discovery-bar nav a.active:after{right:0}
.discovery-bar nav a:after{transition:none}
@media(max-width:600px){.overview{padding-top:195px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-cue i:after{animation:none}}

/* KDOM-20260822-R2 — visitor-route narrative */
.departure-route{max-width:570px;margin:13px 0 0;color:#aaa59c;font:400 15px/1.8 var(--body);letter-spacing:.02em}
.facade-feature{grid-template-columns:minmax(0,620px) minmax(320px,500px);justify-content:center;gap:8vw}
.facade-feature .photo-caption{max-width:500px}
.photo-caption h2{font:400 clamp(36px,3.8vw,58px)/1.35 var(--title);margin:28px 0 22px;max-width:9em}
.photo-caption .kicker{margin:28px 0 0;color:#8f897f}
.photo-caption>p:not(.kicker):not(.sense-line){margin:0 0 28px;color:#c5c0b7;font-size:17px;line-height:1.95}
.sense-line{position:relative;margin:28px 0 0!important;padding:18px 0 0 82px;border-top:1px solid var(--line);color:#aaa49a!important;font:400 15px/1.9 var(--body)!important}
.sense-line span{position:absolute;left:0;top:23px;color:var(--gold);font:500 10px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.facade-archive-inset{margin:38px 0 0;border-top:1px solid var(--line);padding-top:20px}
.facade-archive-inset img{display:block;width:100%;max-height:250px;object-fit:cover;object-position:center 43%;filter:saturate(.58) contrast(1.04) brightness(.78)}
.facade-archive-inset figcaption{margin-top:13px;color:#888178;font:400 13px/1.7 var(--body)}

.route-entry{min-height:100vh;grid-template-columns:repeat(12,minmax(0,1fr));gap:34px 2.5vw;align-content:center;background:radial-gradient(circle at 72% 48%,rgba(201,166,107,.07),transparent 30%)}
.route-entry .section-index{grid-column:1/4;align-self:start}
.route-entry .manifesto-copy{grid-column:1/8}
.route-entry .manifesto-copy h2{max-width:10em}
.route-entry .entry-copy{grid-column:8/13;align-self:end;border-top:1px solid var(--line);padding-top:26px}
.entry-copy p{margin:0 0 20px;color:#b9b3a9;font:400 17px/1.95 var(--body)}
.entry-beats{grid-column:1/13;display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.entry-beats article{min-height:180px;padding:26px 28px;border-right:1px solid var(--line)}
.entry-beats article:last-child{border-right:0}
.entry-beats span{font:500 10px var(--sans);letter-spacing:.18em;color:var(--gold)}
.entry-beats h3{margin:28px 0 13px;font:400 25px var(--title)}
.entry-beats p{margin:0;color:#99938a;font:400 15px/1.8 var(--body)}

.light-copy .sense-line{max-width:520px}
.treasures-heading{margin-bottom:30px}
.treasures-sense{max-width:720px;margin-bottom:62px!important}

.tower{min-height:125vh}
.tower .architecture-image{background-position:center 42%;filter:grayscale(.42) brightness(.36) contrast(1.14)}
.tower .architecture-overlay{background:linear-gradient(0deg,rgba(12,11,10,.96) 5%,rgba(12,11,10,.55) 58%,rgba(12,11,10,.18)),linear-gradient(90deg,rgba(12,11,10,.75),transparent 72%)}
.tower .architecture-content{padding-top:170px;padding-bottom:90px}
.tower-heading{display:grid;grid-template-columns:1fr 2.2fr;gap:5vw;align-items:start;margin:36px 0 45px}
.tower-heading .kicker{margin-top:19px}
.tower h2{margin:0;max-width:12em}
.tower h2 em{color:var(--gold);font-style:normal}
.tower-route{display:grid;grid-template-columns:1fr 1fr;gap:4vw 6vw;margin-left:34%;margin-bottom:75px}
.tower-route>p{margin:0;color:#c2bcb2;font:400 17px/1.95 var(--body)}
.tower-route .sense-line{grid-column:1/3}
.tower .stats{background:rgba(12,11,10,.25);backdrop-filter:blur(6px)}
.tower .stat{min-width:0;contain:layout}

.visit{min-height:120vh}
.visit-content{padding-top:170px;padding-bottom:100px}
.visit-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:8vw;margin-top:8vh;align-items:start}
.visit-lead h2{max-width:none;font-size:clamp(38px,3.8vw,58px)}
.visit-lead .sense-line{max-width:540px;margin-top:34px!important}
.visit-info dl>div{grid-template-columns:105px 1fr;padding:22px 0}
.visit-info dd{font-size:15px;line-height:1.8}

@media(max-width:900px){
  .facade-feature{grid-template-columns:minmax(0,1fr) minmax(280px,390px);gap:6vw}
  .route-entry{grid-template-columns:1fr;gap:34px}
  .route-entry .section-index,.route-entry .manifesto-copy,.route-entry .entry-copy,.entry-beats{grid-column:auto}
  .route-entry .entry-copy{max-width:650px}
  .tower-heading{grid-template-columns:1fr;gap:8px}
  .tower-route{margin-left:0;grid-template-columns:1fr 1fr}
  .visit-grid{grid-template-columns:1fr;gap:72px}
  .visit-info{max-width:680px}
}

@media(max-width:600px){
  .hero-content{top:52%;transform:translateY(-42%)}
  .hero h1{white-space:normal;max-width:9em}
  .hero h1 span,.hero h1 em{display:block}
  .departure-route{font-size:15px;line-height:1.8;max-width:92%}
  .facade-feature{grid-template-columns:1fr}
  .photo-caption h2{font-size:32px;max-width:none}
  .photo-caption>p:not(.kicker):not(.sense-line){font-size:16px}
  .sense-line{padding-left:72px;font-size:15px!important}
  .facade-archive-inset img{max-height:none}
  .route-entry{min-height:auto;padding-top:115px;padding-bottom:115px}
  .route-entry .manifesto-copy h2{max-width:none}
  .entry-copy p{font-size:16px}
  .entry-beats{grid-template-columns:1fr;margin-top:18px}
  .entry-beats article{min-height:0;padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}
  .entry-beats article:last-child{border-bottom:0}
  .entry-beats h3{margin:16px 0 8px}
  .treasures-sense{margin-bottom:42px!important}
  .tower{min-height:auto;display:block}
  .tower .architecture-image{inset:0;background-position:61% center}
  .tower .architecture-content{padding:150px 6vw 95px}
  .tower h2{white-space:normal;font-size:31px}
  .tower-route{grid-template-columns:1fr;gap:24px;margin-bottom:55px}
  .tower-route .sense-line{grid-column:auto}
  .tower .stats{gap:0}
  .tower .stat{padding:24px 8px 22px 0;border-bottom:1px solid var(--line)}
  .tower .stat strong{font-size:35px;min-width:0}
  .tower .stat span{font-size:12px}
  .visit{min-height:auto}
  .visit-content{padding:135px 6vw 95px}
  .visit-grid{gap:55px;margin-top:58px}
  .visit-lead h2{font-size:30px;line-height:1.42}
  .visit-info{margin-top:0}
  .visit-info dl>div{grid-template-columns:86px 1fr;gap:8px}
  .visit-info dd{font-size:15px}
}

/* Long-form copy uses Source Han Serif; labels and sensory short phrases stay in Xingshu. */
.prose,.visit-info dd{font-family:var(--copy)!important;font-weight:400;letter-spacing:.025em}
.entry-beats h3{font-family:var(--body)!important;font-weight:400!important}
.card-copy h3{font-family:var(--copy)!important;font-weight:400!important;letter-spacing:.04em!important}
.sound-entry-panel>span,.sense-line span,.entry-beats span{font-family:var(--body)!important;font-weight:400!important}

/* R6 — five-second identity read and condensed fact band. */
.hero-identity{display:flex;align-items:center;width:max-content;max-width:100%;margin-top:22px;border-top:1px solid rgba(236,232,223,.24);border-bottom:1px solid rgba(236,232,223,.24);font:400 13px/1.4 var(--copy);color:#d9d4cb}
.hero-identity>*{padding:10px 15px;white-space:nowrap;border-right:1px solid rgba(236,232,223,.18)}
.hero-identity>*:first-child{padding-left:0;color:#fff;font-weight:500}
.hero-identity>*:last-child{padding-right:0;border-right:0;color:var(--gold)}
.fact-band{position:relative;background:#151310;border-top:1px solid rgba(236,232,223,.12);border-bottom:1px solid rgba(236,232,223,.15);padding:0 7.5vw}
.fact-band-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1500px;margin:0 auto;border-left:1px solid var(--line)}
.fact-band span{display:grid;place-items:center;min-height:76px;padding:17px 22px;border-right:1px solid var(--line);color:#c8c2b8;text-align:center;font:400 14px/1.55 var(--copy);letter-spacing:.035em}
.fact-band span:before{content:"";width:4px;height:4px;margin-bottom:8px;border-radius:50%;background:var(--gold)}
@media(max-width:700px){
  .hero-identity{width:100%;font-size:11px}
  .hero-identity>*{flex:1;padding:9px 8px;text-align:center}
  .hero-identity>*:first-child{padding-left:0}
  .hero-identity>*:last-child{padding-right:0}
  .fact-band{padding:0}
  .fact-band-inner{grid-template-columns:repeat(2,minmax(0,1fr));border-left:0}
  .fact-band span{min-height:68px;padding:13px 10px;font-size:13px;border-bottom:1px solid var(--line)}
  .fact-band span:nth-child(2n){border-right:0}
  .fact-band span:nth-child(n+3){border-bottom:0}
  .fact-band span:before{margin-bottom:5px}
}

/* R7 — route cue follows the complete fact band instead of dividing it. */
.fact-cue{position:relative;left:auto;bottom:auto;box-sizing:border-box;width:100%;min-height:64px;padding:0 7.5vw;background:#151310;border-bottom:1px solid rgba(236,232,223,.15);color:var(--muted)}
@media(max-width:700px){
  .fact-cue{min-height:70px;padding:0 6vw}
}
