:root{font-family:'Noto Sans SC','Microsoft YaHei',sans-serif;color:#19323e;background:#f7f5f0;font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:#8c5e2b;text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button{cursor:pointer}.visitor-shell{max-width:1180px;margin:auto;min-height:100vh;padding:0 30px 105px}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4ded3}.brand{display:flex;gap:12px;align-items:center;color:#183443}.brand:hover{text-decoration:none}.brand-seal{width:43px;height:43px;border:1px solid #b99158;border-radius:9px;display:grid;place-items:center;color:#ab7840;font:700 24px 'Noto Serif SC',serif}.brand strong,.brand small{display:block}.brand strong{font:700 18px 'Noto Serif SC',serif;letter-spacing:.07em}.brand small{font-size:10px;letter-spacing:.2em;color:#73848a;margin-top:3px}.header-home{border:1px solid #d8c6a9;border-radius:24px;padding:8px 19px;font-size:13px}.eyebrow{font-size:11px;letter-spacing:.23em;color:#a06c35;font-weight:700}.loading{padding:40px;color:#72828b;text-align:center}.hero{position:relative;overflow:hidden;margin:28px 0 42px;padding:82px 8%;min-height:400px;background:radial-gradient(circle at 78% 42%,#365364 0,#193746 42%,#112935 100%);color:white;border-radius:18px}.hero:after{content:"";position:absolute;right:4%;bottom:-70px;width:260px;height:340px;border:3px solid #bb9b6f;border-bottom:0;border-radius:130px 130px 0 0;opacity:.35;box-shadow:0 0 0 22px #ffffff08,0 0 0 25px #bb9b6f44,0 0 0 49px #ffffff08,0 0 0 52px #bb9b6f33}.hero-ornament{position:absolute;right:18%;top:90px;color:#d9b67d;font-size:56px;opacity:.8}.hero .eyebrow{color:#e4bd81}.hero h1{font:700 clamp(36px,5vw,62px) 'Noto Serif SC',serif;letter-spacing:.08em;margin:21px 0}.hero p{color:#d6e0e1;font-size:17px;line-height:1.9;max-width:420px}.hero-button,.primary-link{display:inline-flex;gap:28px;align-items:center;justify-content:center;background:#c39b65;color:#172d38;border-radius:6px;padding:13px 22px;font-weight:700;margin-top:24px}.hero-button:hover,.primary-link:hover{background:#d6ae78;text-decoration:none}.home-section{margin-bottom:32px}.section-title{margin-bottom:20px}.section-title span{font-size:11px;letter-spacing:.2em;color:#aa7a43}.section-title h2{font:700 29px 'Noto Serif SC',serif;margin:7px 0}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.feature-card{position:relative;min-height:155px;background:#fff;border:1px solid #e9e3d8;border-radius:12px;padding:23px 28px;color:#1e3947;box-shadow:0 5px 20px #1b354009;transition:transform .15s,box-shadow .15s}.feature-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 8px 24px #1b35401a}.feature-card strong,.feature-card small{display:block}.feature-card strong{font:700 23px 'Noto Serif SC',serif;margin:7px 0}.feature-card small{color:#70828a}.feature-icon{color:#bb915d;font-size:23px}.card-arrow{position:absolute;right:25px;top:24px;color:#a1703d}.feature-card-wide{grid-column:span 2;min-height:126px;background:#f1e9dc}.home-quote{background:#eae1d1;border-radius:12px;padding:32px 40px;margin:34px 0}.home-quote span{font-size:11px;letter-spacing:.2em;color:#9c6a36}.home-quote p{font:600 21px 'Noto Serif SC',serif;line-height:1.7;margin:12px 0}.page-intro{padding:39px 0 20px}.page-intro h1{font:700 clamp(31px,4vw,43px) 'Noto Serif SC',serif;margin:11px 0}.page-intro p{color:#72828a;margin:0 0 10px}.content-card,.map-card,.progress-card,.editorial-card{background:white;border:1px solid #e8e4dc;border-radius:13px;padding:26px 30px;margin:20px 0;box-shadow:0 4px 20px #18333f08}.content-card h2,.editorial-card h2{font:700 23px 'Noto Serif SC',serif;margin:0 0 19px}.content-card p{line-height:1.8}.muted-text,.source-line{color:#75858c;font-size:13px;line-height:1.7}.source-line{padding:0 3px 18px}.notice{background:#f8f3e9;border-left:3px solid #c49d67;padding:12px 16px;color:#705a43;font-size:13px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1180px);height:70px;display:flex;justify-content:space-around;align-items:center;background:#fff;border:1px solid #e6e0d5;border-bottom:0;border-radius:16px 16px 0 0;box-shadow:0 -6px 30px #1a33401a;z-index:30}.bottom-nav a{flex:1;display:flex;align-items:center;flex-direction:column;gap:1px;font-size:12px;color:#697b83}.bottom-nav a span{font-size:25px;line-height:1.1}.bottom-nav a.active{color:#a66f34;font-weight:700}.stop-list{border-top:1px solid #e8e4dc}.stop{display:flex;gap:22px;padding:20px 0;border-bottom:1px solid #e8e4dc}.stop.muted{opacity:.55}.stop-number{font:700 19px 'Noto Serif SC',serif;color:#b08a55}.stop-body{flex:1;min-width:0}.stop-body strong,.stop-body small{display:block}.stop-body strong{font-size:16px}.stop-body small{color:#74858c;margin-top:4px}.stop-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:12px;font-size:12px}.stop-actions label{white-space:nowrap}.stop-actions input{accent-color:#a9783f}.progress-card>div:first-child{display:flex;justify-content:space-between}.progress-card span{color:#aa7842}.progress{height:7px;background:#ebe9e4;border-radius:9px;margin:16px 0;overflow:hidden}.progress span{display:block;height:100%;background:#bd9561}.progress-card small{color:#77878e}.badge-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.badge-grid>div{border:1px solid #e8e4dc;border-radius:10px;padding:18px;display:grid;grid-template-columns:47px 1fr;column-gap:12px}.badge-grid span{grid-row:span 2;display:grid;place-items:center;border:1px solid #c7aa7e;border-radius:50%;width:43px;height:43px;font:700 23px 'Noto Serif SC',serif;color:#a97741}.badge-grid small{color:#7c8a90}.editorial-card{padding:45px;background:linear-gradient(115deg,#fff,#f4ede1)}.editorial-card p{font-size:16px;line-height:2;max-width:750px}.dining-list>div,.map-place-list>div{display:flex;gap:17px;align-items:center;padding:17px 0;border-top:1px solid #e9e5de}.dining-list span{font-family:serif;color:#bb9461}.dining-list strong,.map-place-list strong{flex:1}.map-place-list small{color:#78878d}.parking-cards{display:grid;grid-template-columns:1fr 1fr;gap:15px}.parking-cards article{background:#f8f6f1;border:1px solid #ece5da;border-radius:10px;padding:25px}.parking-cards span{font-size:11px;color:#ac7a41}.parking-cards h3{font:700 22px 'Noto Serif SC',serif;margin:12px 0}.service-note{border-top:1px solid #e8e4dc;margin-top:18px;padding-top:16px}.service-note p{margin:6px 0}.map-toolbar{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:16px}.map-toolbar form{display:flex;align-items:end;gap:9px;flex:1}.map-toolbar label{font-size:12px;color:#7b8a90;white-space:nowrap}.map-toolbar input{flex:1;min-width:0;border:1px solid #d7dedf;border-radius:6px;padding:10px}.map-toolbar button,.claim-button,.redeem-button{background:#a9753c;color:white;border:0;border-radius:6px;padding:11px 16px}.map-toolbar>a{font-size:13px;white-space:nowrap;padding-bottom:11px}.map-canvas{height:490px;background:#e9efee;position:relative;border-radius:9px;overflow:hidden}.map-loading{position:absolute;inset:0;display:grid;place-items:center;color:#77878c}.map-status{font-size:13px;color:#687c85}.map-fallback{height:100%;position:relative}.map-fallback img{width:100%;height:100%;object-fit:cover}.fallback-cover{position:absolute;left:18px;bottom:18px;background:#ffffffed;box-shadow:0 4px 20px #163b5040;border-radius:9px;padding:16px;max-width:310px}.fallback-cover strong{display:block}.fallback-cover .primary-link{margin-top:10px;padding:9px 13px}.map-results{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.map-results article{border:1px solid #e8e6e0;border-radius:7px;padding:11px;display:flex;gap:5px;flex-direction:column}.map-results small{color:#75858a}.filters{display:flex;gap:14px}.filters label{flex:1;font-size:12px;color:#74858b}.filters select{display:block;margin-top:6px;width:100%;padding:10px;border:1px solid #dbe0dd;border-radius:6px;background:white}.offer{border:1px solid #e8e4dc;border-radius:9px;padding:18px;margin:10px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.offer h3{margin:8px 0;font-size:17px}.offer p{margin:0;color:#6c7d85;font-size:13px}.offer-tag{font-size:11px;color:#9d6d3b}.offer button:disabled{background:#d2d6d4;color:#586970;cursor:default}.redeem-box{display:flex;align-items:end;gap:7px}.redeem-box label{font-size:11px;color:#687d85}.redeem-box input{display:block;margin-top:5px;width:90px;padding:10px;border:1px solid #d4dad9;border-radius:5px}#offer-feedback{font-size:13px;color:#316949;min-height:30px}input:focus-visible,a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #ceab76;outline-offset:2px}@media(max-width:700px){.visitor-shell{padding:0 16px 90px}.site-header{height:67px}.hero{min-height:355px;padding:63px 28px}.hero:after{right:-90px;opacity:.17}.hero-ornament{display:none}.feature-grid{gap:9px}.feature-card{padding:17px;min-height:135px}.feature-card strong{font-size:17px}.feature-card small{font-size:12px}.feature-card-wide{min-height:116px}.home-quote{padding:25px}.content-card,.map-card,.progress-card,.editorial-card{padding:20px}.map-toolbar{display:block}.map-toolbar form{flex-wrap:wrap}.map-toolbar label{width:100%}.map-toolbar>a{display:inline-block;padding:13px 0 0}.map-canvas{height:420px}.map-results{grid-template-columns:1fr}.parking-cards,.badge-grid{grid-template-columns:1fr}.offer{display:block}.offer button,.redeem-box{margin-top:14px}.dining-list>div,.map-place-list>div{flex-wrap:wrap}.map-place-list small{width:100%}.map-place-list a{margin-left:auto}.bottom-nav{border-radius:0;height:66px}.bottom-nav a{font-size:10px}.bottom-nav a span{font-size:23px}}
.visitor-announcement{border-left:4px solid #b58b57;margin-bottom:16px}.visitor-announcement p{white-space:pre-line}
