:root{--paper:#f6f3ec;--ink:#302b25;--muted:#79746b;--accent:#a55237;--line:#dcd7cd;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{max-width:100%;display:block}svg{width:20px;height:20px;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2{font-weight:400}em{font-weight:400}.shell{width:min(1400px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;left:20px;top:-100px;z-index:50;background:var(--ink);color:white;padding:12px}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:94px}.wordmark{font-size:25px;font-weight:700;letter-spacing:-1.3px;white-space:nowrap;line-height:1}.wordmark span{font-weight:400}.wordmark sup{font-size:10px;vertical-align:top;margin-left:4px;letter-spacing:0}.main-nav{display:flex;gap:34px;align-items:center;font-size:12px}.main-nav a:hover,.footer a:hover{color:var(--accent)}.nav-tour{display:flex;gap:8px;align-items:center}.nav-dot{width:5px;height:5px;background:var(--accent);border-radius:50%}.reservation-link{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:500}.reservation-link>span{width:35px;height:35px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.nav-toggle{display:none!important}.hero-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;padding:50px 0 38px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:600;display:flex;align-items:center;gap:10px}.small-line{width:27px;height:1px;background:var(--accent)}h1{font-family:var(--serif);font-size:clamp(66px,6.4vw,100px);line-height:.94;letter-spacing:-2px;margin-top:21px;position:relative}h1 em{color:var(--accent)}.heading-star{display:inline-block;color:var(--accent);font-size:45px;vertical-align:top;margin:6px 0 0 24px;line-height:1}.hero-intro{width:310px;flex-shrink:0;padding-bottom:7px}.intro-index{font-size:9px;letter-spacing:1.6px;color:var(--accent);font-weight:600}.hero-intro p{font-size:13px;color:var(--muted);line-height:1.9;margin:14px 0 17px}.text-link{display:inline-flex;align-items:center;gap:24px;border-bottom:1px solid var(--ink);padding-bottom:6px;font-size:12px;font-weight:500}.text-link svg{width:17px}.text-link:hover{color:var(--accent);border-color:var(--accent)}.tour-stage{position:relative;height:clamp(430px,54vw,620px);background:#41392e;overflow:hidden;border-radius:4px;isolation:isolate;scroll-margin-top:20px}.tour-stage:fullscreen{height:100%;border-radius:0}.tour-stage:fullscreen #panorama3{height:100%}#panorama3{position:absolute;inset:0;width:100%;height:100%;background:#41392e}.viewer-badge{position:absolute;top:22px;left:22px;z-index:2;display:flex;align-items:center;gap:10px;color:white;background:#302b25c9;backdrop-filter:blur(12px);padding:9px 14px;border:1px solid #ffffff30;border-radius:30px;font-size:9px;letter-spacing:1.3px;pointer-events:none}.live-dot{height:5px;width:5px;background:#e7b08b;border-radius:50%}.badge-divider{height:12px;width:1px;background:#ffffff40}.scene-caption{position:absolute;bottom:24px;left:26px;color:#fff;z-index:2;display:flex;gap:13px;align-items:center;pointer-events:none;text-shadow:0 1px 8px #000}.scene-caption::before{content:'';position:absolute;inset:-30px -35px -30px -26px;background:linear-gradient(90deg,#17140ed9,transparent);z-index:-1;border-radius:4px}#scene-number{font-size:9px;letter-spacing:1px;border-right:1px solid #ffffff70;padding-right:13px}#scene-title{font-family:var(--serif);font-size:27px}.viewer-state,.viewer-error{position:absolute;inset:0;z-index:4;background:#302b25ed;color:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px;text-align:center}.viewer-state strong,.viewer-error strong{font-size:18px;font-weight:500}.viewer-state>span:last-child,.viewer-error p{font-size:12px;color:#ddd4c5}.viewer-state[hidden],.viewer-error[hidden]{display:none}.loading-ring{height:32px;width:32px;border:1px solid #ffffff40;border-top-color:#f6f3ec;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}.viewer-error .button{margin-top:12px}.no-script{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:var(--ink);color:#fff}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);gap:12px}.viewer-toolbar>p{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted)}.viewer-toolbar>p svg{height:18px;width:18px}.viewer-controls{display:flex;align-items:center;gap:5px}.icon-button{width:34px;height:34px;padding:7px;border:0;background:transparent;display:inline-flex;justify-content:center;align-items:center;border-radius:50%}.icon-button:hover,.rotate-button:hover{background:#e9e3d8}.rotate-button{border:0;background:transparent;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;font-size:10px;border-radius:20px}.rotate-button svg{width:15px;height:15px}.rotate-button[aria-pressed=true]{color:var(--accent);background:#a5523710}.control-divider{height:18px;width:1px;background:var(--line);margin:0 8px}.area-heading{display:flex;align-items:center;justify-content:space-between;margin:30px 0 15px}.area-heading h2{font-family:var(--serif);font-size:27px}.area-heading>span{font-size:8px;letter-spacing:1.6px;color:var(--muted)}.scene-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.scene-card{padding:0 0 12px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;position:relative;min-width:0}.scene-thumb{position:relative;display:block;overflow:hidden;border-radius:3px;aspect-ratio:1.95}.scene-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .5s;filter:saturate(.65)}.thumb-arrow{position:absolute;bottom:9px;right:9px;display:grid;place-items:center;width:24px;height:24px;background:var(--paper);border-radius:50%;opacity:0;transform:rotate(-35deg);transition:opacity .2s}.thumb-arrow svg{width:14px;height:14px}.scene-card.is-active .thumb-arrow,.scene-card:hover .thumb-arrow{opacity:1}.scene-card:hover img{transform:scale(1.04);filter:saturate(1)}.scene-card.is-active{border-bottom:2px solid var(--accent)}.scene-card.is-active img{filter:saturate(1)}.scene-card.is-active .area-name{color:var(--accent)}.scene-card-detail{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px}.area-name{display:block;font-weight:500;font-size:12px}.area-en{display:block;font-size:9px;color:var(--muted);margin-top:2px}.area-index{color:var(--muted);font-size:10px}.scene-description{font-size:11px;color:var(--muted);margin:17px 0 0;min-height:19px}.concept-note{font-size:9px;color:var(--muted);margin:6px 0 0}.tour-section{padding-bottom:60px}.story-section{background:#eae6dd;padding:90px 0}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,130px);align-items:center}.story-image{position:relative;min-width:0}.story-image>img{width:100%;height:510px;object-fit:cover;border-radius:2px}.image-label{position:absolute;bottom:20px;left:23px;font-size:8px;letter-spacing:2px;color:#fff;text-shadow:0 1px 8px #000}.story-copy{max-width:440px}.story-copy .eyebrow{color:var(--accent);margin-bottom:24px}h2{font-family:var(--serif);font-size:clamp(38px,4.3vw,62px);line-height:1.04;letter-spacing:-.6px}h2 em{color:var(--accent)}.story-copy>p:not(.eyebrow){font-size:12px;color:#706a60;line-height:1.95;margin-top:22px}.story-copy .text-link{margin-top:25px}.story-signature{font-family:var(--serif);font-style:italic;font-size:20px;border-top:1px solid #d3ccbf;padding-top:22px;margin-top:30px}.menu-section{padding-block:90px 95px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:35px}.section-heading .eyebrow{color:var(--accent);margin-bottom:18px}.section-heading>p{font-size:12px;color:var(--muted);line-height:1.8}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.menu-photo{position:relative;overflow:hidden;background:#e6dfd3;aspect-ratio:1.2;border-radius:3px}.menu-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.menu-card:hover img{transform:scale(1.025)}.menu-tag{position:absolute;top:15px;left:15px;padding:7px 11px;background:var(--paper);font-size:8px;letter-spacing:1px}.menu-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:20px}.menu-title h3{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.2}.menu-title>span{font-size:12px;color:var(--accent);white-space:nowrap}.menu-card>p{font-size:11px;color:var(--muted);margin-top:9px;max-width:290px}.visit-section{background:#9b4b33;color:var(--paper);padding:75px 0}.visit-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}.visit-section .eyebrow{color:#edc6b6;margin-bottom:20px}.visit-section h2{font-size:clamp(45px,5vw,70px)}.visit-section h2 em{color:#edc6b6}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:14px 22px;font-size:11px;border:0;border-radius:2px}.button-light{background:var(--paper);color:var(--ink)}.button:hover{background:#e8dece}.visit-section .button{margin-top:28px}.visit-details>div{display:flex;gap:18px;margin-bottom:25px}.visit-details>div>svg{width:20px;height:20px;margin-top:3px;color:#edc6b6}.visit-details h3{font-size:11px;font-weight:500;margin-bottom:7px}.visit-details p{font-size:12px;color:#edd5cb;line-height:1.9}.visit-details .visit-small{font-size:9px;color:#edc6b6;border-top:1px solid #ffffff25;padding-top:18px}.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:35px}.footer .wordmark{font-size:20px}.footer p,.footer>a:last-child{font-size:9px;color:var(--muted)}
/* Pannellum overlays belong to the image, never to the page layout. */
#panorama3 .pnlm-load-box,#panorama3 .pnlm-panorama-info,#panorama3 .pnlm-controls-container{display:none!important}.tour-hotspot{height:34px;width:34px;border-radius:50%;border:1px solid #fff;background:#f6f3ecd9;color:#78442f;box-shadow:0 2px 15px #0003;display:grid;place-items:center;font-size:23px;cursor:pointer}.tour-hotspot:hover,.tour-hotspot:focus-visible{background:#fff;outline:3px solid #a55237;outline-offset:3px}.tour-hotspot .hotspot-label{position:absolute;bottom:43px;left:50%;transform:translateX(-50%);padding:5px 10px;background:#302b25e8;color:#fff;border-radius:3px;font:10px var(--sans);white-space:nowrap;opacity:0;pointer-events:none}.tour-hotspot:hover .hotspot-label,.tour-hotspot:focus-visible .hotspot-label{opacity:1}.tour-stage.is-loading .tour-hotspot{pointer-events:none}
@media(min-width:1600px){.tour-stage{height:650px}.hero-heading{padding-top:60px}}
@media(max-width:1050px){.shell{width:calc(100% - 56px)}.main-nav{gap:20px}.hero-intro{width:265px}.hero-heading{gap:25px}.heading-star{font-size:35px;margin-left:14px}.scene-list{gap:12px}.story-grid{gap:45px}.story-image>img{height:470px}.menu-title h3{font-size:22px}.desktop-hint{display:none}}
@media(max-width:760px){.shell{width:calc(100% - 36px)}.header-inner{min-height:76px;gap:14px;position:relative}.wordmark{font-size:22px}.main-nav{position:absolute;top:76px;left:-18px;right:-18px;padding:20px;background:var(--paper);border-bottom:1px solid var(--line);z-index:10;display:none;flex-direction:column;align-items:flex-start;gap:18px}.main-nav.is-open{display:flex}.nav-toggle{display:inline-flex!important;margin-left:auto}.reservation-link{gap:8px;font-size:11px}.reservation-link>span{width:29px;height:29px}.hero-heading{align-items:flex-start;flex-direction:column;padding:34px 0 26px;gap:24px}h1{font-size:clamp(64px,12vw,90px);margin-top:17px;letter-spacing:-1.5px}.eyebrow{font-size:8px;letter-spacing:1.4px}.heading-star{font-size:34px;margin-left:18px}.hero-intro{width:auto;display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px 24px;padding:0}.intro-index{display:none}.hero-intro p{font-size:11px;margin:0}.hero-intro .text-link{font-size:10px;gap:10px;white-space:nowrap}.tour-stage{height:470px;max-height:65svh;min-height:340px}.viewer-badge{top:15px;left:15px;font-size:8px;padding:8px 11px}.scene-caption{left:19px;bottom:18px}#scene-title{font-size:24px}.viewer-toolbar{flex-wrap:wrap;gap:6px;padding:10px 0}.viewer-toolbar>p{font-size:9px}.viewer-controls{margin-left:auto}.rotate-button{font-size:9px;padding:6px}.icon-button{width:32px;height:32px}.area-heading{margin-top:25px}.area-heading h2{font-size:25px}.area-heading>span{font-size:7px;letter-spacing:1px}.scene-list{display:flex;overflow-x:auto;gap:13px;scroll-snap-type:x proximity;padding:3px 4px 9px;margin:0 -4px;scrollbar-width:thin;scrollbar-color:#bca58d transparent}.scene-card{flex:0 0 160px;scroll-snap-align:start}.area-name{font-size:11px}.area-en{font-size:9px}.scene-description{font-size:10px}.tour-section{padding-bottom:40px}.story-section{padding:48px 0}.story-grid{grid-template-columns:1fr;gap:32px}.story-image>img{height:360px}.story-copy{max-width:none}.story-copy h2{font-size:48px}.story-copy>p:not(.eyebrow){font-size:12px}.story-signature{font-size:20px}.menu-section{padding-block:48px}.section-heading{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:26px}.section-heading h2{font-size:43px}.section-heading>p{font-size:11px}.menu-grid{gap:27px;grid-template-columns:1fr}.menu-photo{aspect-ratio:1.35}.menu-title{margin-top:15px}.menu-title h3{font-size:27px}.menu-card>p{max-width:none}.visit-section{padding:48px 0}.visit-grid{grid-template-columns:1fr;gap:38px}.visit-section h2{font-size:50px}.footer{flex-wrap:wrap;padding-block:28px;gap:20px}.footer p{order:3;width:100%}.footer>a:last-child{margin-left:auto}}
@media(max-width:380px){.hero-intro{display:block}.hero-intro .text-link{margin-top:14px}.viewer-toolbar>p{width:100%}.viewer-controls{width:100%;justify-content:flex-end}.rotate-button{margin-right:auto}.heading-star{font-size:25px;margin-left:8px}h1{font-size:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
