@font-face{font-family:CounterSerif;src:url('assets/fonts/fraunces.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:CounterSans;src:url('assets/fonts/dm-sans.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:CounterMono;src:url('assets/fonts/courier.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--ink:#302b25;--accent:#493222;--focus:#6a3027;--serif:CounterSerif,Georgia,serif;--sans:CounterSans,Arial,sans-serif;--mono:CounterMono,'Courier New',monospace;--bar:64px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:#c3b6a3 url('assets/images/wood-strip.webp') center/cover;color:var(--ink);font:17px/1.5 var(--sans)}
a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}button,input,select,textarea{font:inherit;color:inherit}button,summary{cursor:pointer}button{border:0}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.reader:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button:focus:not(:focus-visible){outline:none}
h1,h2,h3{margin:0;font:500 44px/1.12 var(--serif);letter-spacing:-.035em}h2{font-size:38px}h3{font-size:28px}em{font-weight:400;color:var(--accent)}p,dl{margin:0}p+p{margin-top:14px}.eyebrow{font:13px/1.5 var(--mono);letter-spacing:.045em;margin:12px 0 16px}.wordmark{display:flex;align-items:center;gap:.35em;min-height:44px;font:24px/1.2 var(--mono);letter-spacing:.02em;text-decoration:none}.wordmark span{font-size:.8em}
.fine-print,.field-hint,.demo-credit{font-size:13px;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:12px;z-index:150;padding:18px 30px;background:url('assets/images/ticket.webp') center/100% 100%}.skip-link:focus{top:4px}
/* Every text surface includes its own photographed carrier. No lettering is positioned independently of a photograph's writing face. */
.surface,.hero-copy,.footer-note,.paper-dialog{position:relative;border:24px solid transparent;border-image:url('assets/images/plain-note.webp') 90 90 105 90 fill stretch;padding:26px 28px 32px;min-width:0;filter:drop-shadow(2px 5px 3px #332a1c26)}
.hero-copy,.story-copy,.menu-copy{border-image-source:url('assets/images/paper-roll.webp');border-image-slice:115 70 105 70 fill;border-width:58px 20px 42px;padding:18px 28px 24px}
.surface>h1,.hero-copy h1{margin:12px 0 18px}.surface>p:not(.eyebrow){margin-top:15px}.ticket{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-width:160px;min-height:62px;padding:18px 26px;background:transparent url('assets/images/ticket.webp') center/100% 100% no-repeat;color:var(--ink);font:17px/1.25 var(--serif);text-decoration:none;transform:rotate(-.3deg)}
.ticket:hover{text-decoration:underline}.ticket.primary{background-image:url('assets/images/plain-note.webp');min-height:70px;min-width:230px;padding:20px 32px;font-weight:600;font-size:20px;transform:rotate(.25deg)}.ticket.small{font:14px/1.3 var(--sans);min-width:96px;min-height:54px;padding:16px 20px}.ticket[data-prev]{background-image:url('assets/images/plain-note.webp')}
/* A shallow counter drawer: the carrier and its lettering always travel together. */
.compact-nav{position:fixed;inset:0 0 auto;z-index:60;height:104px;background:url('assets/images/wood-strip.webp') center/cover;filter:drop-shadow(1px 3px 2px #30261935);transition:height .18s}
.compact-nav nav{display:flex;align-items:center;justify-content:center;gap:12px;height:100%;margin:auto;padding:0 12px}.object-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:144px;min-width:144px;min-height:100px;text-decoration:none}.object-link img{display:block;object-fit:contain;width:46px;height:46px;transition:width .18s,height .18s}.object-caption{display:flex;align-items:center;justify-content:center;min-height:48px;width:144px;padding:12px 12px;background:url('assets/images/ticket.webp') center/100% 100% no-repeat;font:14px/18px var(--sans)}.caption-ink{display:flex;align-items:center;justify-content:center;gap:5px;max-width:120px;white-space:nowrap}.object-number{font:12px/18px var(--mono)}.object-link.current .object-caption{font-weight:700;text-decoration:underline;text-underline-offset:3px}.object-link:hover .object-caption{text-decoration:underline}.compact-nav.is-scrolled{height:84px}.compact-nav.is-scrolled .object-link{min-height:80px}.compact-nav.is-scrolled .object-link img{height:26px;width:26px}.mobile-menu,.bottom-actions{display:none}
/* Restrained documentary scenes, independent portrait source on small screens. */
.scene{position:relative;isolation:isolate;width:100%;overflow:clip}.scene-picture{display:block;position:absolute;inset:0;z-index:-1}.scene-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom}
.home-hero,.home-story,.home-gather,.page-scene{display:flex;align-items:flex-start;justify-content:flex-end;min-height:1000px;padding:148px max(32px,7vw) 190px}.surface,.hero-copy{width:min(620px,54vw);flex-shrink:0}.hero-copy{text-align:center;width:min(650px,54vw)}.hero-copy .wordmark{justify-content:center}.hero-copy h1{font-size:52px;line-height:1.08}.hero-copy>p:not(.eyebrow){font-size:18px}.hero-copy .service-note{font:13px/1.5 var(--mono);margin-top:18px}.hero-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:24px}.hero-actions .ticket{min-width:190px}.hero-actions .primary{min-width:220px}.phone-copy,.phone-break{display:none}
.home-story{min-height:1120px}.story-copy h2{margin:12px 0 18px}.story-copy>p{font-size:17px;line-height:1.5}.dish{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 0;border-bottom:1px solid #77706455}.dish h3{font-size:27px;margin:0 0 8px}.dish p{font:17px/1.5 var(--sans)}.price{white-space:nowrap;font:30px/1.25 var(--serif)}.story-links{display:flex;gap:8px;margin-top:18px}.story-links .ticket{min-width:0;flex:1}.gather-copy h2{margin:10px 0 18px}.gather-copy p{font-size:18px}.gather-copy .ticket{margin-top:24px}
.reader{touch-action:pan-y;perspective:1100px}.reader .eyebrow{margin:8px 0 12px}.reader-tabs{display:flex;gap:8px;margin:8px 0 16px}.paper-tab{display:flex;align-items:center;justify-content:center;min-width:74px;min-height:52px;flex:1;padding:16px 18px;background:transparent url('assets/images/ticket.webp') center/100% 100%;font:14px/18px var(--sans)}.paper-tab[aria-pressed=true]{text-decoration:underline;text-underline-offset:3px;font-weight:700}.page-face{position:relative;cursor:grab}.page-face:active{cursor:grabbing}.reader-page h1{font-size:41px;line-height:1.12;margin:14px 0}.service-note{font-size:13px;line-height:1.5}.reader .dish{border-top:1px solid #77706455;margin-top:16px;padding:20px 0 25px}.reader .dish h3{font-size:28px}.reader-page.measuring{position:absolute;left:0;top:0;width:100%;visibility:hidden;pointer-events:none}.reader-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin-top:18px}.reader-controls .ticket:first-child{justify-self:start}.reader-controls .ticket:last-child{justify-self:end}.page-count{font:13px/1.4 var(--mono);white-space:nowrap}.reader-help{font:12px/1.5 var(--mono);margin-top:10px}.diet-note{font-size:13px;line-height:1.5;margin-top:8px}.is-turning .reader-page:not([hidden]){animation:unroll .4s ease-out;transform-origin:top center}@keyframes unroll{from{transform:rotateX(-10deg);clip-path:inset(0 0 8%);opacity:.6}to{transform:none;clip-path:inset(0);opacity:1}}
.table-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.table-facts dt{font:13px/1.5 var(--mono)}.table-facts dd{margin:6px 0 0;font:26px/1.25 var(--serif)}.private-copy .ticket{margin:12px 0 8px}.private-menu{font-size:17px}.private-copy .fine-print{font-size:13px}.document-clip{position:absolute;right:20px;top:-18px;width:46px;height:58px;object-fit:contain}.reserve-copy,.visit-copy{padding-top:28px}.reserve-copy h1,.visit-copy h1{font-size:40px}.demo-notice{font:13px/1.5 var(--mono);margin:10px 0 20px}.form-area{min-height:575px}fieldset{border:0;padding:0;margin:0;min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 20px}.form-grid label{position:relative;display:flex;flex-direction:column;min-width:0;font:13px/1.5 var(--mono)}.form-grid .wide{grid-column:1/-1}.form-grid label>span{font-size:12px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;min-height:46px;display:block;padding:10px 2px 8px;border:0;border-radius:0;border-bottom:1px solid #686054;background:transparent;font:16px/1.5 var(--sans);appearance:none;-webkit-appearance:none;scroll-margin:90px 0 90px}.form-grid textarea{min-height:78px;resize:none;background:repeating-linear-gradient(transparent 0 25px,#8c827555 25px 26px);line-height:26px}.form-grid label:has(select)::after{content:'⌄';position:absolute;right:4px;bottom:14px;font:18px/1 var(--serif);pointer-events:none}.form-grid select{padding-right:22px}.form-grid option{background:#f8f7f3}.field-hint{font-size:12px;margin:14px 0 8px}.reserve-copy .primary{font-size:18px;margin-top:2px}.reserve-copy .fine-print{font-size:12px;margin-top:8px}.confirmation h2{font-size:36px;margin:20px 0}.confirmation p{margin:16px 0;font-size:17px}.confirmation .ticket{margin-top:16px}.hours-list{margin:20px 0}.hours-list>div{padding:12px 0;border-bottom:1px solid #77706455}.hours-list dt{font-size:14px}.hours-list dd{margin:4px 0 0;font-size:18px}.address{scroll-margin-top:120px}.address h2{font-size:28px;margin:20px 0 8px}.address p{font-size:17px}.address .fine-print{font-size:13px}.contact-lines{font-size:16px;line-height:1.5;margin:18px 0;overflow-wrap:anywhere}.visit-copy .ticket{margin-top:10px}
.footer-scene{padding:32px 24px 40px;background:url('assets/images/wood-strip.webp') center/cover}.footer-note{max-width:640px;margin:auto;text-align:center;padding:20px 28px 24px}.footer-note .wordmark{justify-content:center;font-size:24px}.footer-note>p{font-size:16px;margin-top:10px}.footer-note nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:12px}.footer-note nav a{min-width:44px;min-height:44px;padding:10px 2px;font-size:14px}.footer-note .demo-credit{font-size:12px;line-height:1.5}.paper-dialog{width:calc(100% - 32px);max-width:520px;max-height:calc(100svh - 24px);overflow-y:auto;margin:auto;background:none;color:var(--ink)}.paper-dialog h2{font-size:34px}.paper-dialog p{font-size:16px;margin:14px 0;overflow-wrap:anywhere}.paper-dialog::backdrop{background:#25211c80}.paper-dialog .ticket{margin-top:10px}
#main{scroll-margin-top:120px}html:not(.js) .reader-controls,html:not(.js) .reader-tabs,html:not(.js) .reader-help{display:none}html:not(.js) .reader-page{margin:24px 0;padding:22px 0}html:not(.js) .reader-page+.reader-page{border-top:1px solid #77706455}
@media(max-width:1100px) and (min-width:901px){.compact-nav nav{gap:8px}.home-hero,.home-story,.home-gather,.page-scene{padding-right:32px;padding-left:32px}.surface,.hero-copy{width:58vw}.hero-copy h1{font-size:44px}.hero-actions{gap:0}.hero-actions .ticket{min-width:180px;font-size:17px}.reader-page h1{font-size:36px}}
@media(max-width:900px){
 html{scroll-padding-top:72px}body{font:16px/1.5 var(--sans);padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.compact-nav{display:none}.mobile-menu{display:block;position:fixed;top:4px;right:12px;z-index:90;height:52px}.mobile-menu>summary{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;min-width:98px;padding:14px 20px;list-style:none;background:url('assets/images/ticket.webp') center/100% 100%;font:16px/20px var(--serif)}.mobile-menu>summary::-webkit-details-marker{display:none}html.nav-open{overflow:hidden}.mobile-menu[open]::before{content:'';position:fixed;inset:0;z-index:-1;background:#25211c75}.drawer{position:fixed;inset:64px 12px calc(72px + env(safe-area-inset-bottom,0px));padding:16px;background:transparent;overflow-y:auto;overscroll-behavior:contain;isolation:isolate}.drawer::before{content:'';position:absolute;inset:0;border:14px solid transparent;border-image:url('assets/images/drawer-wood.webp') 100 fill stretch;z-index:-1;pointer-events:none}.drawer-close{display:flex;margin:0 0 8px auto;min-width:108px;min-height:48px;padding:14px 22px;font-size:16px}.drawer nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:640px;margin:auto}.drawer .object-link{width:100%;min-width:0;min-height:136px;gap:4px}.drawer .object-link img{width:80px;height:80px}.drawer .object-caption{width:144px;min-height:48px;font-size:14px}.drawer-hint{font:13px/1.5 var(--mono);text-align:center;padding:16px 28px;max-width:290px;margin:10px auto 0;background:url('assets/images/ticket.webp') center/100% 100%}
 .bottom-actions{display:grid;grid-template-columns:1.1fr .8fr 1.1fr;align-items:center;gap:8px;position:fixed;inset:auto 0 0;z-index:70;height:calc(64px + env(safe-area-inset-bottom,0px));padding:4px 8px calc(4px + env(safe-area-inset-bottom,0px));background:url('assets/images/wood-strip.webp') center/cover;filter:drop-shadow(0 -2px 2px #30261924)}.bottom-actions>*{display:flex;align-items:center;justify-content:center;text-align:center;min-width:0;height:56px;padding:16px 8px;background:transparent url('assets/images/ticket.webp') center/100% 100%;font:16px/20px var(--sans);color:var(--ink);text-decoration:none}.bottom-actions>*:first-child{font-weight:700;background-image:url('assets/images/plain-note.webp')}.bottom-actions>*:nth-child(3){font-size:15px}
 .home-hero,.home-story,.home-gather,.page-scene{min-height:1000px;padding:76px 16px 260px;display:block}.surface,.hero-copy{width:100%;max-width:560px;margin:0 auto;border-width:20px;padding:24px 18px 26px}.hero-copy,.story-copy,.menu-copy{border-width:46px 14px 34px;padding:10px 14px 20px}.surface>h1,.hero-copy h1{font-size:32px;margin:12px 0 16px}.hero-copy{max-width:520px}.home-hero{min-height:716px;height:calc(100svh - 64px);max-height:none;padding-top:70px;padding-bottom:230px}.hero-copy .wordmark{font-size:21px}.hero-copy h1{font-size:30px;line-height:1.08}.hero-copy .eyebrow{font-size:12px;margin:6px 0 10px}.hero-copy>p:not(.eyebrow){font:16px/1.5 var(--sans)}.hero-copy .service-note{display:none}.hero-actions{margin-top:14px;gap:4px}.hero-actions .ticket{min-height:54px;min-width:100%;width:100%;font-size:16px;padding:16px 26px}.hero-actions .primary{min-height:62px;font-size:18px;padding:19px 26px}.phone-copy{display:inline}.desktop-copy{display:none}.phone-break{display:block}
 .wordmark{font-size:22px;min-height:44px}.eyebrow{font-size:12px;line-height:1.5;margin:10px 0 14px}h1{font-size:32px}h2{font-size:30px}h3{font-size:24px}.ticket{min-height:62px;min-width:0;width:100%;font-size:16px;padding:18px 25px}.ticket.primary{min-width:0;min-height:68px;font-size:18px}.ticket.small{min-width:70px;width:100%;min-height:54px;font-size:14px;padding:16px 12px}.story-copy h2{font-size:30px}.story-copy>p{font-size:16px;line-height:1.5}.dish{gap:10px;padding:16px 0}.dish h3{font-size:24px}.dish p{font-size:16px;line-height:1.5}.dish .price{font-size:25px}.story-links{margin-top:14px;gap:8px}.story-links .ticket{padding:18px 12px;width:50%;font-size:16px;min-width:0}.gather-copy h2{font-size:30px}.gather-copy p{font-size:16px;line-height:1.5}.gather-copy .ticket{margin-top:18px}
 .reader-page h1{font-size:30px;margin:14px 0}.reader .dish{display:block;padding:18px 0 22px}.reader .dish h3{font-size:26px}.reader .dish p{font-size:16px;line-height:1.5}.reader .dish .price{display:block;font-size:30px;margin-top:12px}.reader-tabs{gap:8px;margin:6px 0 12px}.paper-tab{min-width:0;min-height:52px;padding:16px 12px;font:14px/18px var(--sans)}.page-count{font-size:12px}.reader-controls{gap:8px;margin-top:14px}.reader-help,.diet-note{font-size:12px;line-height:1.5}.diet-note{margin-top:6px}.service-note{font-size:12px}.table-facts{gap:12px;margin:18px 0}.table-facts dt{font-size:12px}.table-facts dd{font-size:20px}.private-copy .fine-print{font-size:12px}.private-menu{font-size:16px}.document-clip{width:38px;height:48px;right:14px;top:-16px}.reserve-copy,.visit-copy{padding-top:26px}.reserve-copy h1,.visit-copy h1{font-size:32px}.form-area{min-height:680px}.form-grid{gap:14px 12px}.form-grid label:has([name=name]),.form-grid label:has([name=email]){grid-column:1/-1}.form-grid label{font-size:13px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px;line-height:1.5;min-height:46px}.form-grid input[type=date]{min-width:0;max-width:100%;padding-right:0}.reserve-copy .primary{font-size:17px}.confirmation h2{font-size:30px}.confirmation p{font-size:16px;line-height:1.5}.hours-list dd{font-size:16px}.hours-list dt{font-size:13px}.address h2{font-size:25px}.address p{font-size:16px}.address .fine-print{font-size:12px}.contact-lines{font-size:16px;line-height:1.5}.address,#main{scroll-margin-top:76px}
 .footer-scene{padding:22px 12px 28px}.footer-note{border-width:20px;padding:18px 16px 22px}.footer-note .wordmark{font-size:22px}.footer-note nav{gap:8px}.footer-note>p{font-size:16px}.footer-note .demo-credit{font-size:12px}.paper-dialog{border-width:20px;padding:24px 18px}.paper-dialog h2{font-size:28px}
}
@media(min-width:600px) and (max-width:900px){.home-hero{height:1080px;min-height:1080px}.home-hero,.home-story,.home-gather,.page-scene{padding-top:100px;padding-bottom:370px}.surface,.hero-copy{max-width:560px}.hero-copy h1{font-size:42px}.hero-copy .wordmark{font-size:26px}.hero-copy>p:not(.eyebrow){font-size:18px}.hero-actions .ticket{width:48%;min-width:0}.reader-page h1{font-size:38px}.reader .dish h3{font-size:29px}.reader .dish p{font-size:18px}.drawer nav{grid-template-columns:repeat(3,1fr)}.drawer .object-link{min-height:150px}.drawer .object-link img{width:96px;height:96px}}
@media(max-width:900px) and (max-height:500px){.home-hero{height:auto;min-height:1080px}.home-hero,.home-story,.home-gather,.page-scene{padding-top:88px}.drawer{inset:56px 12px 72px;padding:10px 16px}.drawer-close,.drawer-hint{display:none}.drawer nav{grid-template-columns:repeat(3,1fr);gap:8px}.drawer .object-link{min-height:98px;gap:4px}.drawer .object-link img{width:42px;height:42px}.drawer .object-caption{min-height:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.compact-nav,.mobile-menu,.bottom-actions,dialog,.reader-tabs,.reader-controls,.reader-help{display:none!important}.scene-picture{display:none}body{background:white;padding:0}.scene{height:auto!important;min-height:0!important;padding:12px!important}.surface,.hero-copy{width:100%;filter:none;border:0;padding:12px}.reader-page[hidden]{display:block!important}.reader-page{margin:20px 0}}
/* Native date values retain their full 16px type; the portrait camera keeps the food at the left edge. */
.paper-dialog{position:fixed;inset:0}
@media(max-width:900px){.scene-image{object-position:left bottom}.form-grid label:has([name=date]),.form-grid label:has([name=time]){grid-column:1/-1}.scene-reserve{padding-bottom:350px}}

@media(max-width:599px){.hero-actions .ticket:not(.primary){display:none}}
@media(max-width:599px){.hero-copy{width:calc(100% - 64px);margin-left:64px;margin-right:0}}
/* R5: eight object destinations; short wording keeps the same paper carrier at laptop widths. */
.nav-short{display:none}.caption-ink .nav-long,.caption-ink .nav-short{font:inherit}
@media(min-width:901px) and (max-width:1200px){.compact-nav nav{gap:8px}.compact-nav .object-link,.compact-nav .object-caption{width:112px;min-width:112px}.compact-nav .caption-ink{max-width:88px}.compact-nav .nav-long{display:none}.compact-nav .nav-short{display:inline}}
.photo-reader>:is(h1,h2){font-size:38px;margin:12px 0 14px}.album-notice{font:13px/1.5 var(--mono);margin:0 0 18px}.photo-print{margin:0;padding:12px 12px 18px;border:8px solid transparent;border-image:url('assets/images/plain-note.webp') 90 90 105 90 fill stretch;filter:drop-shadow(1px 3px 2px #30261920);transform:rotate(-.4deg)}.photo-print img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.photo-print .portrait-print{width:70%;max-width:280px;margin:0 auto;aspect-ratio:3/4;object-position:center 30%}.photo-print figcaption{margin-top:18px}.photo-print h2{font-size:28px;margin-bottom:8px}.photo-print p{font-size:16px;line-height:1.5}.photo-print .person-role{font:13px/1.5 var(--mono);margin:6px 0 10px}.photo-reader .reader-help{margin-top:12px}.album-page{padding:3px}.team-copy,.gallery-copy{padding-top:22px}.photo-reader .page-face{margin-top:14px}
@media(max-width:900px){.drawer .object-link{min-height:108px}.drawer .object-link img{width:52px;height:52px}.drawer-hint{display:none}.drawer-close{margin-bottom:4px}.photo-reader>:is(h1,h2){font-size:30px;margin:10px 0 12px}.photo-print{padding:8px 8px 14px;border-width:6px}.photo-print .portrait-print{width:76%;max-width:240px}.photo-print figcaption{margin-top:12px}.photo-print h2{font-size:25px}.album-notice{font-size:12px}.team-copy,.gallery-copy{padding:18px 14px 22px}.scene-team,.scene-gallery{padding-bottom:350px}}
@media(max-width:900px) and (max-height:500px){.drawer .object-link{min-height:98px}.drawer .object-link img{width:42px;height:42px}}
@media(min-width:600px) and (max-width:900px) and (min-height:501px){.drawer .object-link{min-height:138px}.drawer .object-link img{width:80px;height:80px}}
@media(min-width:700px) and (max-width:900px) and (max-height:500px){.drawer nav{grid-template-columns:repeat(4,1fr)}}
/* R5b: recognisable props remain full sized after scroll; text and paper stay together. */
.compact-nav{height:128px}.compact-nav .object-link{min-height:120px;gap:8px}.compact-nav .object-link img{width:58px;height:58px}.compact-nav.is-scrolled{height:110px}.compact-nav.is-scrolled .object-link{min-height:104px;gap:8px}.compact-nav.is-scrolled .object-link img{width:46px;height:46px}
@media(min-width:901px) and (max-width:1279px){.compact-nav nav{gap:8px}.compact-nav .nav-long{display:none}.compact-nav .nav-short{display:inline}.compact-nav .object-link,.compact-nav .object-caption{width:calc((100vw - 80px)/8);min-width:0}.compact-nav .caption-ink{max-width:100%}.compact-nav .object-caption{padding-left:12px;padding-right:12px}}
@media(min-width:901px){html{scroll-padding-top:140px}.home-hero,.home-story,.home-gather,.page-scene{padding-top:160px}#main,.address{scroll-margin-top:140px}}
@media(max-width:900px){.drawer .object-link{gap:8px;min-height:112px}.drawer .object-link img{width:52px;height:52px}.drawer .object-caption{width:100%;max-width:144px}.drawer .object-caption{padding:12px 10px}}
@media(max-width:359px){.drawer .nav-long{display:none}.drawer .nav-short{display:inline}.hero-copy{width:calc(100% - 32px);margin-left:32px}.hero-copy .wordmark{font-size:19px}.surface,.hero-copy{padding-left:12px;padding-right:12px}.menu-copy{padding-left:8px;padding-right:8px}.reader-tabs{gap:8px}.paper-tab{padding:16px 9px}.table-facts dd{font-size:18px}.reader-controls{gap:8px}}
@media(min-width:700px) and (max-width:900px) and (max-height:500px){.drawer nav{grid-template-columns:repeat(4,1fr)}.drawer .object-link{min-height:104px;gap:8px}.drawer .object-link img{width:46px;height:46px}}
.photo-open{display:block;position:relative;width:100%;padding:0;background:transparent;cursor:zoom-in}.enlarge-note{display:block;min-height:44px;padding:12px 8px 10px;text-align:right;font:13px/1.5 var(--mono)}.photo-open:focus-visible{outline-offset:2px}.photo-open .gallery-print{aspect-ratio:3/2}
.photo-dialog{position:fixed;inset:0;width:calc(100% - 24px);max-width:1200px;max-height:calc(100svh - 24px);margin:auto;padding:0;border:0;background:none;color:var(--ink);overflow:auto}.photo-dialog::backdrop{background:#201d19de}.lightbox-paper{border:20px solid transparent;border-image:url('assets/images/plain-note.webp') 90 90 105 90 fill stretch;padding:12px 20px 22px}.photo-close{display:flex;margin:0 0 12px auto;min-width:120px;min-height:54px}.lightbox-paper h2{font-size:30px;margin:8px 0 18px}.large-photo{display:block;width:100%;height:auto;max-height:65svh;object-fit:contain;aspect-ratio:3/2}.lightbox-paper .fine-print{margin-top:14px}.home-album{min-height:1120px}
@media(max-width:900px){.photo-close{width:auto}.lightbox-paper{border-width:14px;padding:10px 10px 18px}.lightbox-paper h2{font-size:25px}.photo-dialog{width:calc(100% - 16px)}.home-album{padding-bottom:350px}}
html:not(.js) .photo-open{pointer-events:none}html:not(.js) .photo-open:has([data-gallery-src]){display:none}html:not(.js) .enlarge-note{display:none}
html.photo-view-open{overflow:hidden}
/* R5c: the menu owns a separate viewport lane, never sharing pixels with reading text. */
.compact-nav .object-caption{min-height:52px;padding:16px 12px}.compact-nav.is-scrolled{height:120px}.compact-nav.is-scrolled .object-link{min-height:118px}.compact-nav.is-scrolled .object-link img{width:58px;height:58px}
.enlarge-note{display:flex;align-items:center;justify-content:center;width:160px;max-width:calc(100% - 16px);min-height:54px;margin:8px 8px 0 auto;padding:17px 24px;background:url('assets/images/ticket.webp') center/100% 100% no-repeat;text-align:center}.enlarge-ink{display:inline-block;font:13px/19.5px var(--mono)}
.action-ink{display:inline-block;line-height:20px}.bottom-actions>*{padding:16px 14px}
@media(max-width:900px){
 html,body{height:100%;overflow:hidden;scroll-padding-top:0}body{padding-bottom:0}
 .page-content{position:fixed;inset:56px 0 calc(64px + env(safe-area-inset-bottom,0px));overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scroll-behavior:smooth;scroll-padding-top:16px;-webkit-overflow-scrolling:touch}
 html.nav-open .page-content,html.photo-view-open .page-content{overflow-y:hidden}
 .mobile-menu{inset:0 0 auto;width:100%;height:56px;background:url('assets/images/wood-strip.webp') center/cover}
 .mobile-menu>summary{position:absolute;top:4px;right:12px;height:48px;min-width:98px;padding:14px 24px}
 .home-hero,.home-story,.home-gather,.page-scene{padding-top:20px}.home-hero{padding-top:14px;min-height:660px;height:calc(100svh - 120px)}
 .drawer .object-caption{min-height:52px;padding:16px 10px}.drawer .object-link{min-height:112px}
 #main,.address{scroll-margin-top:16px}
}
@media(min-width:600px) and (max-width:900px){.home-hero,.home-story,.home-gather,.page-scene{padding-top:44px}.home-hero{min-height:1080px;height:1080px}}
@media(max-width:900px) and (max-height:500px){.home-hero,.home-story,.home-gather,.page-scene{padding-top:32px}.home-hero{min-height:1080px;height:auto}}
@media(prefers-reduced-motion:reduce){.page-content{scroll-behavior:auto}}
@media print{.page-content{position:static;overflow:visible}html,body{height:auto;overflow:visible}}
/* Control hit areas also keep child pictures and their paper labels clear of the outer edge. */
.photo-open{padding:8px}
.compact-nav{height:144px}.compact-nav .object-link{width:160px;min-width:160px;min-height:134px;padding:8px;gap:8px}.compact-nav .object-caption{width:144px;max-width:100%}.compact-nav.is-scrolled{height:140px}.compact-nav.is-scrolled .object-link{min-height:134px}
.footer-note nav a{padding:10px 8px}
@media(min-width:901px) and (max-width:1387px){.compact-nav nav{gap:8px}.compact-nav .object-link{width:calc((100vw - 80px)/8);min-width:0}.compact-nav .object-caption{width:100%;padding:16px 10px}.compact-nav .nav-long{display:none}.compact-nav .nav-short{display:inline}}
@media(min-width:901px) and (max-width:1000px){.compact-nav .object-number{display:none}}
@media(max-width:900px){.drawer .object-link{padding:8px;min-height:128px}.drawer .object-caption{width:100%;max-width:144px}}
@media(max-width:383px){.drawer .nav-long{display:none}.drawer .nav-short{display:inline}}
@media(min-width:700px) and (max-width:900px) and (max-height:500px){.drawer .object-link{padding:6px;min-height:116px}.drawer .object-caption{min-height:50px;padding:16px 10px}}
@media(max-width:900px){.mobile-menu>summary:focus-visible,.bottom-actions>*:focus-visible{outline-offset:-5px}}
