@layer reset,base,components,responsive;
@layer reset{*{box-sizing:border-box}body,h1,h2,h3,h4,p,ul,ol,figure{margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{cursor:pointer}html{scroll-behavior:smooth;scroll-padding-top:110px}}
@layer base{:root{--red:#aa1f2c;--red-dark:#801522;--ink:#171b24;--muted:#646872;--line:#e5e5e8;--paper:#fff;--soft:#f5f5f7;--gold:#d8b67a;--radius:8px}body{background:var(--paper);color:var(--ink);font:16px/1.8 "Noto Sans SC","Microsoft YaHei","PingFang SC",sans-serif}::selection{background:#f2c5c9}a,button,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #df9737;outline-offset:4px}p{color:var(--muted)}h1,h2,h3,h4{font-weight:700;line-height:1.35}h2{font-size:clamp(1.9rem,3.3vw,2.7rem);letter-spacing:-.035em}h3{font-size:1.35rem}small{font-size:.875rem}.container{width:min(1240px,calc(100% - 96px));margin:auto}.section{padding:96px 0}.section.soft{background:var(--soft)}.eyebrow{display:block;color:var(--red);font-size:.875rem;letter-spacing:.12em;font-weight:700;margin-bottom:16px}.english{font-family:Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}.muted{color:var(--muted)}.lead{font-size:1.125rem;line-height:1.95}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:40px}.section-head p{max-width:510px;margin-top:16px}.text-link{color:var(--red);font-weight:700;border-bottom:1px solid #c5656d;padding-bottom:3px;white-space:nowrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:12px 26px;border:1px solid transparent;border-radius:4px;font-weight:600;font-size:1rem;line-height:1.5;transition:background .2s,color .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--red);color:#fff}.btn.primary:hover{background:var(--red-dark)}.btn.outline{background:transparent;border-color:#cdd0d6;color:var(--ink)}.btn.white{background:#fff;color:var(--red)}.btn.ghost{background:transparent;border-color:#ffffff70;color:#fff}.btn svg,.icon{width:20px;height:20px;flex:none}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.skip{position:absolute;top:-100px;left:16px;background:white;padding:8px 16px;z-index:100}.skip:focus{top:8px}.note{padding:18px 22px;border-left:3px solid var(--red);background:#faf0f1;font-size:.9375rem;color:#67434a}.pill{display:inline-block;border:1px solid #dce0e4;background:#fff;padding:6px 13px;border-radius:30px;font-size:.875rem}.source-note{font-size:.875rem;color:#747883;line-height:1.9;margin-top:18px}.prose p+p{margin-top:20px}.prose h2{font-size:1.6rem;margin:40px 0 16px}.prose h3{margin:26px 0 10px}.prose ul,.prose ol{padding-left:24px;color:var(--muted)}.prose li{margin-bottom:10px}}
@layer components{
.site-header{position:sticky;top:0;z-index:40;background:#fffffff5;backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav-wrap{height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:14px;flex:none}.brand-mark{background:var(--red);color:#fff;width:44px;height:48px;display:grid;place-items:center;font-family:"Noto Serif SC","Songti SC",serif;font-size:1.6rem;font-weight:800;border-radius:2px}.brand-name{font-size:1.55rem;letter-spacing:.12em;line-height:1.3;font-family:"Noto Serif SC","Songti SC",serif}.brand-caption{display:block;font:12px/1.7 Arial,sans-serif;letter-spacing:.17em;color:#81858d}.nav{display:flex;align-items:center;gap:27px}.nav>a,.nav details>summary{font-size:.9375rem;cursor:pointer;font-weight:500;list-style:none;padding:25px 0;white-space:nowrap}.nav details>summary::-webkit-details-marker{display:none}.nav .current{color:var(--red)}.nav details{position:relative}.nav summary:after{content:'⌄';padding-left:6px;color:#828692}.nav details[open]>summary{color:var(--red)}.nav-popover{position:absolute;top:68px;left:-24px;min-width:180px;padding:12px;background:white;border:1px solid var(--line);box-shadow:0 12px 40px #11152212;border-radius:8px}.nav-popover a{display:block;padding:10px 14px;white-space:nowrap;font-size:.9375rem;border-radius:4px}.nav-popover a:hover{background:#fbf0f1;color:var(--red)}.header-contact{min-height:43px;padding:10px 19px;font-size:.875rem}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);width:42px;height:42px;border-radius:4px}.menu-toggle svg{width:22px;height:22px}.hero{position:relative;isolation:isolate;background:#11141d;color:white;min-height:640px;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:70% 74%;z-index:-3}.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0a0d15ed 0%,#0b0d15c7 32%,#11131e38 75%,#15151d36),linear-gradient(0deg,#090d19b3,transparent 32%)}.hero-content{padding:95px 0 105px;max-width:770px}.hero .eyebrow{color:#e9c590;letter-spacing:.16em;border-left:2px solid #d8b67a;padding-left:13px;font-weight:500}.hero h1{font-size:clamp(2.5rem,4.7vw,4.3rem);letter-spacing:.025em;line-height:1.33;font-family:"Noto Serif SC","Songti SC","STSong",serif;font-weight:800}.hero h1 em{font-style:normal;color:#ebcb94}.hero p{color:#e0e2e6;max-width:555px;font-size:1.125rem;margin-top:25px;line-height:1.95}.hero-foot{display:flex;gap:26px;color:#ccd0d9;font-size:.875rem;margin-top:56px;align-items:center}.hero-foot span{display:flex;align-items:center;gap:8px}.hero-foot svg{width:16px;height:16px}.hero-vertical{position:absolute;right:38px;top:190px;writing-mode:vertical-rl;font-size:.875rem;letter-spacing:.25em;color:#ffffff90}.stats{background:#fff;box-shadow:0 4px 40px #16213006;border-bottom:1px solid var(--line)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:35px 0}.stat{text-align:center;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{font:500 2.8rem/1.1 Georgia,serif;color:var(--red)}.stat .unit{font-size:.9375rem;color:var(--muted);margin-left:8px}.stat p{font-size:.875rem;line-height:1.5;margin-top:10px}.intro-grid{display:grid;grid-template-columns:1.03fr 1fr;gap:76px;align-items:center}.intro-photo{position:relative}.intro-photo img{width:100%;height:385px;object-fit:cover;border-radius:6px}.photo-caption{margin-top:12px;font-size:.8125rem;color:#858892}.intro-copy .lead{margin:24px 0}.feature-tags{display:flex;gap:10px;flex-wrap:wrap}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{padding:36px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);position:relative;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px #181c2e09}.card-num{font:1rem/1.4 Georgia,serif;color:#bba1a5;border-bottom:1px solid #eddfe2;padding-bottom:22px;margin-bottom:23px;display:flex;justify-content:space-between;align-items:center}.card-num svg{width:29px;height:29px;color:var(--red)}.service-card h3{margin-bottom:16px}.service-card p{font-size:.9375rem;min-height:84px}.service-card .text-link{display:inline-block;margin-top:25px;font-size:.9375rem}.service-card .tag{display:block;margin-top:22px;color:#898b94;font-size:.8125rem}.split-band{background:#151923;color:white}.split-band .container{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split-band p{color:#b7bdca}.split-band .eyebrow{color:var(--gold)}.split-band h2{margin-bottom:24px}.split-band img{height:390px;width:100%;object-fit:cover;border-radius:4px}.history-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:44px}.history-item{border-top:2px solid #d8b67a;padding-top:22px}.history-item span{font:1.1rem Georgia,serif;color:var(--red)}.history-item h3{font-size:1.15rem;margin:10px 0}.history-item p{font-size:.9375rem}.ticket-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.ticket-card{padding:30px;border:1px solid var(--line);border-radius:8px;background:#fff}.ticket-card.featured{border-color:var(--red);box-shadow:0 8px 30px #aa1f2c0b}.ticket-card .seat-type{font-size:.875rem;color:var(--muted);margin-bottom:6px}.ticket-card h3{font-size:1.2rem}.price{font-family:Georgia,serif;font-size:2.9rem;color:var(--red);line-height:1.5;margin:15px 0}.price small{font:14px sans-serif;color:var(--muted)}.ticket-card p{font-size:.9375rem}.ticket-card .btn{width:100%;margin-top:24px}.rule-box{display:flex;align-items:flex-start;gap:16px;padding:22px 25px;background:#f6f6f8;border-radius:6px;margin-top:24px}.rule-box svg{color:var(--red);width:24px;height:24px;flex:none;margin-top:4px}.rule-box strong{font-size:1rem}.rule-box p{font-size:.9375rem;margin-top:5px}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{list-style:none;cursor:pointer;padding:23px 40px 23px 0;font-size:1.0625rem;font-weight:600;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'+';position:absolute;right:6px;top:21px;font-size:1.6rem;font-weight:300;color:var(--red);line-height:1}.faq-item[open] summary:after{content:'−'}.faq-item p{padding:0 30px 25px 0;font-size:1rem;line-height:1.95}.faq-item[hidden]{display:none}.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.visit-address{background:#fff;border:1px solid var(--line);border-radius:8px;padding:32px}.visit-address h3{margin-bottom:20px}.visit-row{display:flex;gap:14px;border-bottom:1px solid var(--line);padding:16px 0}.visit-row:first-of-type{padding-top:0}.visit-row:last-of-type{border:0}.visit-row svg{color:var(--red);width:22px;height:22px;flex:none;margin-top:4px}.visit-row strong{font-size:.9375rem}.visit-row p{font-size:.9375rem;margin-top:4px}.visit-address .btn{width:100%;margin-top:20px}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.article-card{border-top:2px solid var(--ink);padding-top:23px}.article-card .meta{font-size:.8125rem;color:var(--muted);display:flex;justify-content:space-between;margin-bottom:18px}.article-card h3{font-size:1.25rem;line-height:1.55;min-height:60px}.article-card p{font-size:.9375rem;margin:15px 0 22px;min-height:80px}.article-card .text-link{font-size:.9375rem}.cta{background:var(--red);color:white;padding:66px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{font-family:"Songti SC","STSong",serif;font-size:clamp(1.9rem,3vw,2.6rem)}.cta p{color:#f2cbd0;margin-top:13px}.cta .actions{flex:none;margin:0}.footer{background:#141821;color:#fff;padding:62px 0 0}.footer-top{display:grid;grid-template-columns:1.55fr 1fr 1fr 1.1fr;gap:38px}.footer .brand-mark{background:#fff;color:var(--red)}.footer .brand-caption{color:#9ea4b2}.footer p{font-size:.9375rem;max-width:330px;margin-top:24px;color:#989ead}.footer h3{font-size:1rem;color:#dddfe6;margin:4px 0 20px}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:11px;color:#a9afbb;font-size:.875rem}.footer a:hover{color:#fff}.footer-phone{font:1.5rem/1.5 Georgia,serif;color:#e6c08a}.footer-address{color:#a9afbb;font-size:.875rem;line-height:1.9;margin-top:16px}.footer-bottom{border-top:1px solid #ffffff14;margin-top:46px;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.8125rem;color:#818897}.footer-bottom-links{display:flex;gap:20px}.floating-contact{position:fixed;bottom:28px;right:28px;z-index:25;display:flex;align-items:center;gap:8px;box-shadow:0 8px 25px #65152324;min-height:48px;font-size:.9375rem;padding:12px 18px}.back-top{display:none;position:fixed;bottom:89px;right:28px;width:42px;height:40px;border:1px solid var(--line);background:#fff;border-radius:4px;color:#555;font-size:1.2rem;z-index:24}.back-top.visible{display:block}.breadcrumbs{display:flex;gap:11px;align-items:center;font-size:.875rem;color:#8e939f;padding:24px 0}.breadcrumbs a:hover{color:var(--red)}.page-hero{background:#151923;color:#fff;position:relative;overflow:hidden;isolation:isolate}.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 47%;z-index:-2;opacity:.38}.page-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#11151eea,#11151e55);z-index:-1}.page-hero-inner{padding:64px 0 72px;max-width:900px}.page-hero .eyebrow{color:var(--gold)}.page-hero h1{font-size:clamp(2rem,3.7vw,3.25rem);letter-spacing:.01em;font-family:"Songti SC","STSong",serif}.page-hero p{max-width:700px;color:#d1d4dc;margin-top:22px;font-size:1.125rem}.page-hero .meta{margin-top:23px;font-size:.875rem;color:#bcc1cd}.two-column{display:grid;grid-template-columns:minmax(0,2fr) 1fr;gap:64px;align-items:start}.sticky-panel{position:sticky;top:125px;padding:28px;background:var(--soft);border:1px solid var(--line);border-radius:6px}.sticky-panel h3{font-size:1.15rem;margin-bottom:18px}.sticky-panel p{font-size:.9375rem;margin-bottom:20px}.sticky-panel .btn{width:100%;margin-top:10px}.fact-list{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);margin:28px 0;border-radius:6px;overflow:hidden}.fact-list div{padding:20px 25px;background:#fff;border-bottom:1px solid var(--line)}.fact-list div:nth-child(odd){border-right:1px solid var(--line)}.fact-list div:nth-last-child(-n+2){border-bottom:0}.fact-list dt{font-size:.875rem;color:var(--muted)}.fact-list dd{margin:5px 0 0;font-weight:600}.detail-section{margin-bottom:44px}.detail-section h2{font-size:1.6rem;margin-bottom:18px}.detail-section p+p{margin-top:16px}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step}.process-step{padding:27px 0;border-top:1px solid var(--line)}.process-step .step-num{font:2rem Georgia,serif;color:#c4a9ad;margin-bottom:13px}.process-step h3{font-size:1.1rem;margin-bottom:12px}.process-step p{font-size:.9375rem}.info-table{width:100%;border-collapse:collapse;font-size:.9375rem;margin:24px 0}.info-table th,.info-table td{text-align:left;padding:17px 20px;border:1px solid var(--line)}.info-table th{background:var(--soft);font-weight:600}.table-scroll{overflow-x:auto}.info-table td{min-width:140px;color:var(--muted)}.tab-bar{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 25px}.filter-btn{padding:10px 18px;background:white;border:1px solid var(--line);border-radius:4px;color:var(--muted)}.filter-btn[aria-pressed=true]{background:var(--red);border-color:var(--red);color:white}.search-box{display:flex;align-items:center;gap:12px;padding:12px 18px;border:1px solid var(--line);border-radius:4px;margin:25px 0;background:#fff}.search-box svg{width:20px;height:20px;color:var(--muted)}.search-box input{border:0;background:transparent;width:100%;min-width:0;outline:none;line-height:1.8}.search-empty{padding:30px 0;text-align:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field.full{grid-column:1/-1}.form-field label{font-size:.9375rem;font-weight:600}.form-field input,.form-field select,.form-field textarea{width:100%;padding:13px 15px;border:1px solid #d4d6dc;border-radius:4px;background:white;color:var(--ink);min-height:50px}.form-field textarea{resize:vertical;min-height:100px}.consult-form{border:1px solid var(--line);padding:32px;border-radius:8px}.consult-form h2{font-size:1.6rem;margin-bottom:12px}.consult-form>p{font-size:.9375rem;margin-bottom:26px}.consult-result{padding:26px;background:#faf1f2;border:1px solid #ead6da;border-radius:6px;margin-top:24px}.consult-result h3{margin-bottom:13px;font-size:1.1rem}.consult-result pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;color:#60464b;font-size:.9375rem}.status{font-size:.9375rem;color:var(--red);margin-top:15px}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:45px}.contact-card{padding:28px;border:1px solid var(--line);border-radius:6px}.contact-card svg{width:27px;height:27px;color:var(--red);margin-bottom:17px}.contact-card h3{font-size:1.15rem;margin-bottom:8px}.contact-card strong{font-size:1.3rem;color:var(--red);font-family:Georgia,serif}.contact-card p{font-size:.9375rem}.media-item{padding:28px 0;border-bottom:1px solid var(--line)}.media-item .meta{font-size:.875rem;color:var(--muted);margin-bottom:8px}.media-item h3{margin-bottom:12px;font-size:1.2rem}.media-item p{margin-bottom:15px;font-size:.9375rem}.source-list{margin-top:35px;padding:24px;background:var(--soft);border-radius:6px}.source-list h3{font-size:1.05rem;margin-bottom:12px}.source-list li{font-size:.875rem;color:var(--muted);margin-bottom:8px}.source-list a{text-decoration:underline;text-underline-offset:3px}.error-page{text-align:center;padding:100px 20px}.error-page strong{font:5rem Georgia,serif;color:var(--red)}.error-page h1{margin:10px 0 20px}.error-page .actions{justify-content:center}.faq-count{font-size:.875rem;color:var(--muted);margin:12px 0}.reveal{animation:appear .7s ease both}@keyframes appear{from{opacity:.2;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
}
@layer responsive{@media(min-width:1600px){.hero{min-height:710px}}@media(max-width:1200px){.container{width:calc(100% - 64px)}.nav{gap:20px}.brand-name{font-size:1.4rem}.brand-caption{font-size:12px}.intro-grid{gap:45px}.service-card{padding:28px}.header-contact{padding:10px 14px}.nav-wrap{gap:20px}.hero-vertical{display:none}}@media(max-width:1020px){.nav-wrap{height:80px}.nav{gap:15px}.nav>a,.nav details>summary{font-size:.875rem}.brand-mark{width:38px;height:43px}.header-contact{display:none}.footer-top{grid-template-columns:1.4fr 1fr 1fr}.footer-top>div:last-child{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-top>div:last-child h3{margin:0}.footer-address{max-width:400px;margin:0}.hero{min-height:580px}.hero-content{padding:80px 0 85px}.hero h1{font-size:3.7rem}.two-column{gap:36px}.split-band .container{gap:40px}.history-grid{gap:20px}}@media(max-width:820px){.container{width:calc(100% - 40px)}.menu-toggle{display:grid;place-items:center}.nav-wrap{height:74px}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:15px 20px 25px;align-items:stretch;flex-direction:column;gap:0;max-height:calc(100dvh - 74px);overflow-y:auto}.nav.open{display:flex}.nav>a,.nav details>summary{padding:13px 0;font-size:1rem;border-bottom:1px solid #f0f0f2}.nav-popover{position:static;box-shadow:none;border:0;background:#f7f7f9;border-radius:4px;min-width:0;padding:8px}.header-contact{display:inline-flex;margin-left:auto;font-size:.8125rem;padding:8px 14px;min-height:40px}.nav-wrap{gap:14px}.brand{gap:9px}.brand-name{font-size:1.3rem}.brand-caption{font-size:12px}.brand-mark{width:34px;height:40px;font-size:1.4rem}.hero{min-height:570px}.hero h1{font-size:clamp(2.6rem,7vw,3.5rem)}.hero-content{padding:80px 0}.hero p{max-width:500px}.hero:before{background:linear-gradient(90deg,#080c13e6,#11131e80),linear-gradient(0deg,#090d1990,transparent)}.hero-image{object-position:66% center}.hero-foot{gap:18px;margin-top:40px;flex-wrap:wrap}.section{padding:64px 0}.intro-grid,.split-band .container,.journey-grid{grid-template-columns:1fr;gap:36px}.intro-photo{order:2}.intro-photo img{height:330px}.card-grid{gap:15px}.service-card{padding:24px}.service-card p{min-height:132px}.card-num{padding-bottom:16px;margin-bottom:20px}.service-card h3{font-size:1.2rem}.history-grid{grid-template-columns:repeat(2,1fr);gap:30px}.ticket-cards{gap:15px}.ticket-card{padding:23px}.article-grid{gap:20px}.article-card h3{font-size:1.12rem}.cta-inner{flex-direction:column;align-items:flex-start;gap:30px}.two-column{grid-template-columns:1fr}.sticky-panel{position:static}.page-hero-inner{padding:48px 0 55px}.page-hero h1{font-size:2.6rem}.footer-top{gap:30px}.footer .brand-caption{font-size:12px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:10px}.contact-cards{gap:15px}.contact-card{padding:22px}.contact-card strong{font-size:1.12rem}.process{grid-template-columns:repeat(2,1fr);gap:20px}.stat strong{font-size:2.3rem}.stat-grid{padding:29px 0}.floating-contact{right:20px;bottom:20px}.back-top{right:20px;bottom:82px}.section-head{gap:20px}.section-head .text-link{font-size:.875rem}}@media(max-width:560px){.container{width:calc(100% - 36px)}.nav-wrap{gap:10px}.header-contact{padding:8px 11px}.brand-caption{display:none}.brand-name{font-size:1.17rem;letter-spacing:.1em}.brand-mark{width:31px;height:36px;font-size:1.25rem}.menu-toggle{width:36px;height:36px}.hero{min-height:600px;align-items:flex-start}.hero-content{padding:69px 0 66px}.hero .eyebrow{font-size:.75rem;letter-spacing:.06em}.hero h1{font-size:2.75rem;line-height:1.45;letter-spacing:0}.hero p{font-size:1rem;line-height:1.9;max-width:330px;margin-top:20px}.hero .actions{gap:12px;margin-top:26px}.hero .btn{font-size:.9375rem;padding:12px 19px;min-height:48px}.hero-foot{flex-direction:column;align-items:flex-start;gap:8px;margin-top:36px;font-size:.8125rem}.hero-image{object-position:60% center}.hero:before{background:linear-gradient(90deg,#080c13e8,#11131e96),linear-gradient(0deg,#080c13b3,transparent)}.stat-grid{grid-template-columns:repeat(2,1fr);gap:22px;padding:28px 0}.stat:nth-child(2){border:0}.stat strong{font-size:2.25rem}.stat .unit{font-size:.8125rem;margin-left:6px}.stat p{font-size:.8125rem;margin-top:6px}.stat:last-child strong{font-size:1.8rem}.section{padding:55px 0}.section-head{display:block;margin-bottom:30px}.section-head>.text-link{display:inline-block;margin-top:20px}.section-head p{margin-top:12px}.eyebrow{font-size:.8125rem;margin-bottom:12px}.lead{font-size:1rem}.intro-copy .lead{margin-top:20px}.intro-grid{gap:30px}.intro-photo img{height:260px}.card-grid,.ticket-cards,.article-grid,.contact-cards{grid-template-columns:1fr;gap:20px}.service-card{padding:27px}.service-card p{min-height:0}.service-card .tag{margin-top:15px}.card-num{margin-bottom:20px}.service-card h3{font-size:1.3rem}.service-card .text-link{margin-top:18px}.split-band img{height:260px}.history-grid{gap:24px}.history-item h3{font-size:1.1rem}.history-item p{font-size:.875rem}.ticket-card{padding:28px}.ticket-card .btn{margin-top:20px}.price{font-size:2.6rem;margin:8px 0}.rule-box{padding:20px;gap:12px}.article-card h3{min-height:0;font-size:1.25rem}.article-card p{min-height:0;margin:12px 0 18px}.article-card{padding:22px 0 15px}.article-card .meta{margin-bottom:14px}.visit-address{padding:25px}.faq-item summary{font-size:1rem;padding:20px 32px 20px 0}.faq-item p{font-size:.9375rem;padding-right:5px}.faq-item summary:after{top:22px;font-size:1.4rem}.cta{padding:48px 0}.cta h2{font-size:1.9rem;line-height:1.5}.cta p{font-size:.9375rem}.cta .actions{gap:12px;width:100%}.cta .btn{font-size:.9375rem;padding:12px 19px}.footer{padding-top:44px}.footer-top{grid-template-columns:1fr 1fr;gap:35px 24px}.footer-top>div:first-child{grid-column:1/-1}.footer-top>div:last-child{display:block}.footer-top>div:last-child h3{margin-bottom:12px}.footer-address{margin-top:12px}.footer p{margin-top:20px}.footer-bottom{font-size:.75rem;padding-bottom:89px}.footer-bottom-links{gap:16px}.floating-contact{bottom:15px;right:15px;padding:11px 16px;font-size:.875rem;min-height:45px}.back-top{bottom:75px;right:15px}.page-hero h1{font-size:2.15rem;line-height:1.45}.page-hero p{font-size:1rem}.page-hero-inner{padding:42px 0 48px}.breadcrumbs{font-size:.8125rem;padding:20px 0;gap:7px;flex-wrap:wrap}.two-column{gap:30px}.fact-list div{padding:18px 17px}.fact-list dd{font-size:.9375rem}.detail-section{margin-bottom:32px}.detail-section h2{font-size:1.45rem}.prose h2{font-size:1.4rem;margin-top:32px}.consult-form{padding:23px}.form-grid{grid-template-columns:1fr;gap:18px}.form-field.full{grid-column:auto}.consult-form h2{font-size:1.45rem}.form-field input,.form-field select,.form-field textarea{padding:12px}.consult-result{padding:20px}.tab-bar{gap:9px}.filter-btn{font-size:.875rem;padding:8px 13px}.contact-cards{gap:16px}.contact-card{padding:25px}.contact-card strong{font-size:1.4rem}.process{gap:18px}.process-step{padding:20px 0}.info-table th,.info-table td{padding:14px}.source-list{padding:20px}.hero-foot .icon{width:16px;height:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.btn:hover,.service-card:hover{transform:none}}@media print{.site-header,.footer,.floating-contact,.back-top,.actions,.consult-form,.cta{display:none}.container{width:100%}.section{padding:25px 0}.hero,.page-hero{background:#fff;color:#111;min-height:0}.hero-image,.page-hero img{display:none}.hero:before,.page-hero:before{display:none}.hero h1 em,.hero p,.page-hero p{color:#111}.hero-content,.page-hero-inner{padding:30px 0}.two-column{display:block}.sticky-panel{display:none}.faq-item p{display:block}.prose{font-size:12pt}}}
.article-thumbnail{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:22px;border-radius:4px}.article-reading{max-width:920px}.article-cover{margin:0 0 35px}.article-cover>img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain}.article-cover>figcaption{font-size:.875rem;color:var(--muted);line-height:1.8;padding-top:10px}.article-body{overflow-wrap:anywhere}.article-body h2{font-size:1.7rem;margin-top:38px;margin-bottom:18px}.article-body h3{font-size:1.3rem;margin-top:28px;margin-bottom:14px}.article-body p,.article-body li{font-size:1rem;line-height:1.95}.article-body p{margin:0 0 22px}.article-body ul,.article-body ol{padding-left:26px;margin:0 0 24px}.article-body a{color:var(--red);text-decoration:underline;text-underline-offset:3px}.article-inline-image{display:block;max-width:100%;width:auto;height:auto;max-height:720px;margin:25px auto}.article-byline{font-size:.875rem;line-height:1.8;margin-top:24px;color:var(--muted)}.article-preview-banner{background:#fff1c6;color:#6d5119;padding:14px 20px;text-align:center;font-size:1rem;line-height:1.7;position:relative;z-index:60}.article-preview-banner a{margin-left:18px;text-decoration:underline}.article-reading .actions{margin-top:42px}
@media(max-width:560px){.article-body h2{font-size:1.4rem}.article-cover{margin-bottom:27px}.article-preview-banner{font-size:.875rem}.article-preview-banner a{display:block;margin-left:0;margin-top:5px}.article-byline{font-size:.875rem}}

@layer components{.nearby-tip{padding-top:15px;border-top:1px solid var(--line);margin-top:18px}.nearby-card-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px}.nearby-card-actions .text-link{margin-top:0}.nearby-card-actions .btn{font-size:.875rem;padding:9px 14px;min-height:40px}.itinerary-route{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);color:var(--red)}.nearby-grid .service-card p{min-height:0}.ticket-consult{display:block;text-align:center;margin-top:14px;font-size:.875rem}.booking-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:36px;align-items:start}.booking-panel{padding:36px;border:1px solid var(--line);border-radius:8px;background:#fff}.booking-panel h2{margin-bottom:18px}.booking-label{display:block;margin:28px 0 10px;font-weight:600}.booking-panel textarea{width:100%;resize:vertical;padding:16px;border:1px solid var(--line);border-radius:6px;background:var(--soft);font:inherit;color:var(--ink);overflow-wrap:anywhere}.booking-help{padding:28px;background:var(--soft);border:1px solid var(--line);border-radius:8px}.booking-help h2{font-size:1.35rem;margin-bottom:18px}.booking-help ol{padding-left:22px;margin-bottom:20px;color:var(--muted)}.booking-help li{margin:10px 0}.booking-help p{font-size:.9375rem}.booking-qr{margin:28px 0 0}.booking-qr img{width:240px;max-width:100%;height:auto;object-fit:contain}.booking-qr figcaption{font-size:.875rem;color:var(--muted);margin-top:12px}.nav{gap:20px}}
@layer responsive{@media(max-width:1120px){.nav{gap:14px}}@media(max-width:820px){.nav{gap:0}.booking-layout{grid-template-columns:1fr}.booking-panel{padding:25px}.booking-help{padding:25px}}@media(max-width:360px){.brand-mark{display:none}.header-contact{font-size:.875rem;padding:8px 9px}.nav-wrap{gap:7px}}}

@layer components{.site-header .brand-logo{width:126px;height:84px;object-fit:contain;flex:none}.footer .brand-logo{width:180px;height:120px;object-fit:contain;background:transparent;border-radius:4px}}
@layer responsive{@media(max-width:1020px){.site-header .brand-logo{width:108px;height:72px}}@media(max-width:820px){.site-header .brand-logo{width:96px;height:64px}}@media(max-width:560px){.site-header .brand-logo{width:84px;height:56px}.footer .brand-logo{width:156px;height:104px}}}

/* Keep content inside the viewport without clipping tables or long links. */
@layer base {
  .intro-grid > *, .card-grid > *, .ticket-cards > *, .article-grid > *,
  .contact-cards > *, .journey-grid > *, .two-column > *, .booking-layout > *,
  .form-grid > *, .footer-top > *, .stat-grid > *, .fact-list > * {
    min-width: 0;
  }
  .table-scroll { min-width: 0; max-width: 100%; overscroll-behavior-x: contain; }
  .article-body table { display: block; max-width: 100%; overflow-x: auto; }
  .article-body iframe, .article-body video { max-width: 100%; }
}

@layer responsive {
  @media (max-width: 820px) {
    html { scroll-padding-top: calc(90px + env(safe-area-inset-top, 0px)); }
    .container {
      width: auto;
      margin-left: max(20px, env(safe-area-inset-left, 0px));
      margin-right: max(20px, env(safe-area-inset-right, 0px));
    }
    .site-header { padding-top: env(safe-area-inset-top, 0px); }
    .nav-wrap { gap: 12px; }
    .brand { min-width: 0; }
    .header-contact, .menu-toggle { flex-shrink: 0; min-height: 44px; }
    .menu-toggle { width: 44px; height: 44px; }
    .nav {
      top: 100%;
      max-height: calc(100dvh - 74px - env(safe-area-inset-top, 0px));
      padding-left: max(20px, env(safe-area-inset-left, 0px));
      padding-right: max(20px, env(safe-area-inset-right, 0px));
      padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
      overscroll-behavior-y: contain;
    }
    .nav a, .nav summary { min-height: 44px; }
    h1, h2, h3, p, li, dd, .text-link, .footer-address, .footer-bottom {
      overflow-wrap: anywhere;
    }
    .card-grid, .ticket-cards, .article-grid, .contact-cards {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .fact-list, .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-bottom-links { flex-wrap: wrap; gap: 10px 18px; }
    .booking-panel textarea, .form-field input, .form-field select,
    .form-field textarea, .search-box input { font-size: 16px; min-width: 0; }
    .booking-panel textarea { white-space: pre-wrap; overflow-wrap: anywhere; }
    .floating-contact {
      right: max(16px, env(safe-area-inset-right, 0px));
      bottom: calc(16px + env(safe-area-inset-bottom, 0px));
      min-height: 44px;
    }
    .back-top {
      right: max(16px, env(safe-area-inset-right, 0px));
      bottom: calc(78px + env(safe-area-inset-bottom, 0px));
      width: 44px; height: 44px;
    }
  }
  @media (max-width: 640px) {
    .card-grid, .ticket-cards, .article-grid, .contact-cards {
      grid-template-columns: minmax(0, 1fr);
    }
    .service-card p, .article-card p, .article-card h3 { min-height: 0; }
  }
  @media (max-width: 560px) {
    .container {
      margin-left: max(16px, env(safe-area-inset-left, 0px));
      margin-right: max(16px, env(safe-area-inset-right, 0px));
    }
    .site-header .brand-logo { width: 88px; height: 58px; }
    .nav-wrap { gap: 10px; }
    .header-contact { padding: 10px 14px; font-size: 14px; }
    .hero { min-height: 0; }
    .hero-content { padding: 48px 0 54px; }
    .hero h1 { font-size: clamp(2rem, 9vw, 2.7rem); line-height: 1.4; }
    .hero p { max-width: 100%; font-size: 1rem; line-height: 1.85; }
    .hero .actions, .cta .actions {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      width: 100%;
    }
    .hero .actions > .btn, .cta .actions > .btn {
      min-width: 0; min-height: 48px; padding: 12px 10px;
      font-size: 14px; text-align: center;
    }
    .hero .actions > :last-child:nth-child(odd),
    .cta .actions > :last-child:nth-child(odd) { grid-column: 1 / -1; }
    .hero-foot { margin-top: 26px; }
    .page-hero h1 { font-size: clamp(1.8rem, 7.8vw, 2.2rem); }
    .section { padding: 48px 0; }
    .section-head .btn { margin-top: 18px; max-width: 100%; }
    .stat strong { font-size: clamp(1.75rem, 8vw, 2.25rem); }
    .stat:last-child strong { font-size: clamp(1.1rem, 5.8vw, 1.65rem); }
    .service-card, .ticket-card, .visit-address, .contact-card,
    .consult-form, .booking-panel, .booking-help { padding: 22px; }
    .booking-panel .actions, .booking-help .actions {
      flex-direction: column; align-items: stretch; gap: 14px;
    }
    .booking-panel .actions .text-link {
      align-self: flex-start; white-space: normal; overflow-wrap: anywhere;
    }
    .nearby-card-actions { align-items: flex-start; gap: 14px; }
    .nearby-card-actions .text-link { white-space: normal; }
    .booking-panel textarea { line-height: 1.7; padding: 14px; }
    .footer-bottom { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
  }
  @media (max-width: 360px) {
    .site-header .brand-logo { width: 80px; height: 54px; }
    .header-contact { padding: 10px 12px; }
    .nav-wrap { gap: 8px; }
    .fact-list, .history-grid, .process { grid-template-columns: minmax(0, 1fr); }
    .fact-list div { border-right: 0; border-bottom: 1px solid var(--line); }
    .fact-list div:last-child { border-bottom: 0; }
  }
}

.cms-icp,.cms-police{display:inline-flex;align-items:center;font-size:.8125rem;text-decoration:underline;vertical-align:middle}.cms-police{margin-inline-start:12px;overflow-wrap:anywhere}@media(max-width:640px){.footer-bottom .cms-police{margin-inline-start:0;margin-top:8px;display:flex}}
