@layer tokens,base,components,responsive;
@layer tokens{
 :root{--ink:#252A27;--gold:#D4B77A;--old-gold:#A78B5B;--red:#A84636;--paper:#F7F3EA;--line:#d5cec0;--muted:#555a52;--serif:"Songti TC","Noto Serif TC",serif;--sans:system-ui,"PingFang TC",sans-serif;--space:clamp(3rem,6vw,5.5rem)}
}
@layer base{
 *{box-sizing:border-box}html{font-size:16px;scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--ink);font:1.0625rem/1.8 var(--sans)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.35;text-wrap:balance}h1{font-size:3.8rem;letter-spacing:.06em}h2{font-size:2.5rem;letter-spacing:.04em}h3{font-size:1.35rem}p+p{margin-top:1rem}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.3em}a,summary,button{touch-action:manipulation}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:4px}a:hover{text-decoration-thickness:2px}button{font:inherit}ul{padding-left:1.3em;margin-block:1rem 0}li+li{margin-top:.5rem}section[id],div[id],h1[id]{scroll-margin-block-start:1.5rem}figure{min-width:0}figcaption{font-size:1rem;line-height:1.7;color:var(--muted);margin-top:.7rem}.wrap{width:min(1136px,calc(100% - 96px));margin-inline:auto}.section{padding-block:var(--space)}.eyebrow{font-size:1rem;color:#766341;letter-spacing:.1em;margin-bottom:1rem}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.6rem 1.4rem;border:1px solid var(--old-gold);border-radius:100px;line-height:1.6;text-decoration:none;max-width:100%;text-align:center}.primary{background:var(--gold);color:var(--ink);border-color:var(--gold)}.text-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%}.actions{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:1.5rem}.skip{position:absolute;z-index:5;top:-20rem;left:1rem;padding:.75rem;background:var(--paper)}.skip:focus{top:1rem}.note{color:var(--muted);font-size:1rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
}
@layer components{
 .review-bar{background:#e9e1d1;font-size:1rem;border-bottom:1px solid var(--line);padding:.4rem 0}.review-bar .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.3rem 1rem;align-items:center}.review-bar p{font-size:1rem}.review-bar a{min-height:44px;display:inline-flex;align-items:center}
 .site-header{background:var(--ink);color:var(--paper)}.header-row{display:flex;align-items:center;flex-wrap:wrap;gap:1.8rem;padding-block:.8rem}.brand{min-height:44px;display:inline-flex;align-items:center;flex-shrink:0}.brand img{width:150px;filter:invert(1)}.quick-nav{display:flex;flex-wrap:wrap;align-items:center;gap:1.6rem;margin-left:auto}.quick-nav a{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;font-size:1rem}.quick-nav a[aria-current]{color:var(--gold)}.menu{margin-left:auto;position:relative}.menu summary{white-space:nowrap;min-height:44px;cursor:pointer;display:flex;align-items:center;gap:.75rem;list-style:none}.menu summary::after{content:"＋";font-size:1.25rem}.menu[open] summary::after{content:"−"}.menu summary::-webkit-details-marker{display:none}.menu-panel{position:absolute;right:0;top:100%;width:min(36rem,80vw);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1.5rem;background:var(--ink);padding:1.5rem;z-index:3;border:1px solid #677064}.menu-panel a{font-size:1rem;min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere;text-decoration:none}
 .hero{display:grid;grid-template-columns:1.45fr 1fr;gap:4rem;align-items:center;padding-block:3rem 3.5rem}.hero .intro{max-width:37rem;margin-top:1.1rem}.hero figure img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:50% 50%}.section-nav{display:flex;flex-wrap:wrap;gap:.4rem 1.75rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:.7rem}.section-nav a{min-height:44px;display:inline-flex;align-items:center;font-size:1rem;text-decoration:none}.section-nav span{font-family:var(--serif);color:#766341;margin-right:.55rem}
 .section-heading{max-width:48rem;margin-bottom:2rem}.section-heading p{margin-top:.8rem}.map-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);gap:2.5rem;align-items:start}.map-figure{margin:0;border:1px solid var(--line);background:#fff;padding:.75rem}.map-figure img{display:block;width:100%;height:auto}.map-figure figcaption{padding:.75rem .25rem 0;color:var(--muted);font-size:.9rem;line-height:1.7}.legend h3{margin-bottom:1rem}.legend-list{list-style:none;padding:0;margin:0;counter-reset:legend}.legend-list li{counter-increment:legend;border-top:1px solid var(--line);padding-top:.75rem;display:grid;grid-template-columns:1.8rem minmax(0,1fr);gap:.5rem}.legend-list li::before{content:counter(legend,decimal-leading-zero);color:#766341;font-family:var(--serif)}.legend-list p{font-size:1rem}.legend-list strong{display:block;font-weight:600}.map-action{margin-block:1.5rem}.map-action .button{width:100%;justify-content:center}
 .photos{padding-top:1rem}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 50%}.photo-grid figcaption strong{display:block;color:var(--ink);font-family:var(--serif);font-size:1.3rem;margin-bottom:.3rem}.photo-note{max-width:47rem;margin-top:1.5rem}
 .quiet{background:var(--ink);color:var(--paper)}.quiet-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem}.quiet h2{margin-bottom:1.25rem}.quiet .eyebrow{color:var(--gold)}.quiet-intro{max-width:38rem}.quiet-rules{list-style:none;padding:0;margin:0}.quiet-rules li{padding:.6rem 0;border-bottom:1px solid #677064;font-size:1.2rem}.quiet-rules li::before{content:"— ";color:var(--gold)}.quiet-details{margin-top:1.5rem}.quiet-details summary{cursor:pointer;min-height:44px;padding-block:.5rem}.quiet-details p{font-size:1rem;margin-top:.8rem}
 .boundary-intro{max-width:45rem}.boundary-intro p{margin-top:1rem}.boundary-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:2rem}.boundary-grid article{border-top:1px solid var(--old-gold);padding-top:1.25rem}.boundary-grid ul{font-size:1rem}.needs{margin-top:3.5rem}.needs>p{margin-top:.8rem}.needs-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem;margin-top:1.5rem}.need{display:block;padding:1.25rem 0;border-top:1px solid var(--line);text-decoration:none;min-height:44px}.need .audience{font-size:1rem;color:var(--muted)}.need h3{margin-block:.3rem .6rem}.need p{font-size:1rem}.need .go{display:block;margin-top:.7rem;text-decoration:underline;text-underline-offset:.3em;color:#766341}
 .line-section{padding-top:0}.line-panel{border-top:1px solid var(--old-gold);padding-top:2rem}.line-panel>p{max-width:46rem;margin-top:1rem}.booking-boundary{border-left:2px solid var(--red);padding-left:1rem}.template{margin-top:1.5rem;max-width:46rem}.template summary{cursor:pointer;min-height:44px;padding-block:.5rem}.template pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;font:1rem/1.9 var(--sans);background:#eee8dc;padding:1.25rem;margin:1rem 0}.template p{font-size:1rem}
 .site-footer{background:var(--ink);color:var(--paper);padding-block:2.5rem}.footer-row{display:grid;grid-template-columns:180px 1fr;gap:3rem}.footer-brand{width:150px;filter:invert(1)}.footer-links{display:flex;flex-wrap:wrap;gap:.3rem 1.5rem}.footer-links a{font-size:1rem}.footer-note{font-size:1rem;border-top:1px solid #677064;margin-top:1.5rem;padding-top:1.25rem}.review-details{padding-block:1.5rem;font-size:1rem}.review-details summary{cursor:pointer;min-height:44px;padding-block:.5rem}.review-details li{overflow-wrap:anywhere}.destination{padding-block:3rem;max-width:48rem}.destination h1{font-size:2.5rem}.destination p{margin-top:1.5rem;overflow-wrap:anywhere}
}
@layer responsive{
 @media(max-width:1023px){.wrap{width:calc(100% - 48px)}.quick-nav{display:none}.hero{gap:2rem;grid-template-columns:1.25fr 1fr}h1{font-size:3rem}.map-layout{gap:1.5rem;grid-template-columns:1.6fr 1fr}.quiet-grid{gap:2rem}.footer-row{gap:2rem}}
 @media(max-width:767px){body{font-size:1rem}.wrap{width:calc(100% - 40px)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.3rem}.header-row{gap:1rem;flex-wrap:wrap}.brand img{width:130px}.menu-panel{position:static;width:auto;padding:1rem 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem;border:0}.menu[open]{width:100%;margin:0}.menu[open] summary{justify-content:flex-end}.hero{display:block;padding-block:2.5rem}.hero figure{margin-top:1.8rem}.hero .intro{margin-top:1rem}.hero figure img{aspect-ratio:16/9}.section-nav{gap:.25rem 1.1rem}.section-nav a{font-size:1rem}.section-nav span{margin-right:.4rem}.section-heading{margin-bottom:1.5rem}.map-layout,.quiet-grid,.boundary-grid,.needs-list,.footer-row{grid-template-columns:1fr}.map-layout{gap:1.5rem}.map-placeholder{padding:1.5rem}.map-unavailable .button{width:100%}.photo-grid{grid-template-columns:1fr;gap:1.8rem}.quiet-grid{gap:2rem}.quiet-rules li{font-size:1.1rem}.boundary-grid{gap:2rem}.needs{margin-top:2.5rem}.footer-row{gap:1.5rem}.review-bar p{max-width:100%}.review-bar .wrap{gap:0 1rem}.actions{gap:.65rem 1rem}.line-panel .actions .button{width:100%}}
 @media(max-width:374px){.wrap{width:calc(100% - 32px)}h1{font-size:2.3rem}.hero .actions .button{width:100%}}
 @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
}
