/* Sherlock: real pub rooms, painted forest green, warm paper and readable menus. */
:root{--forest:#173329;--forest-light:#294c3b;--cream:#f5efdf;--paper:#fffbf2;--gold:#d5b16f;--ink:#21352b;--muted:#51594a;--line:#cbbfa7;--wood:#33241b;--focus:#805724;--control-radius:3px;--control-height:3.25rem}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px;scroll-padding-bottom:24px}
body{margin:0;background:var(--cream);color:var(--ink);font:1.125rem/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
button,a,input,select,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
img{max-width:100%;display:block;height:auto}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.16;margin:0 0 22px;letter-spacing:-.025em;overflow-wrap:anywhere}
h1{font-size:clamp(2.5rem,4.4vw,3.875rem)}
h2{font-size:clamp(1.875rem,2.8vw,2.375rem)}
h3{font-size:1.5625rem}
h1 em{font-weight:500;color:#755123}
p{margin:0 0 20px}
figure{margin:0}
.container{width:min(1200px,calc(100% - 72px));margin-inline:auto;min-width:0}
.eyebrow{display:block;font-size:0.875rem;font-weight:700;line-height:1.5;letter-spacing:.095em;text-transform:uppercase;margin-bottom:15px;color:#6f512c;overflow-wrap:anywhere}
.lead{font-size:1.25rem;line-height:1.6;max-width:720px}
.small-note{font-size:1rem;line-height:1.55;color:var(--muted);overflow-wrap:anywhere}
[hidden]{display:none!important}
.skip{position:absolute;top:-150px;left:20px;background:var(--paper);color:var(--ink);padding:14px 20px;z-index:100;font-weight:700}
.skip:focus{top:12px}
/* Visible desktop navigation; phone destinations stay in reach at the bottom. */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px max(36px,calc((100vw - 1200px)/2));background:var(--forest);color:var(--cream);border-bottom:2px solid var(--gold)}
.wordmark{display:inline-block;flex:none;width:210px;line-height:0;text-decoration:none}
.wordmark img{width:100%;height:auto}
.site-header nav{display:flex;align-items:center;justify-content:center;gap:16px;min-width:0}
.site-header nav a{display:flex;align-items:center;justify-content:center;font-size:1.0625rem;line-height:1.4;font-weight:600;min-height:48px;padding:11px 5px;text-decoration:none;text-align:center;min-width:0;overflow-wrap:anywhere;border-radius:var(--control-radius)}
.site-header nav a:hover,.site-header nav a[aria-current]{color:#f0cf90;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}
.site-header nav a.nav-book{padding:12px 17px;border:1px solid var(--gold);color:var(--forest);background:var(--gold);font-weight:750}
.site-header nav .nav-book:hover,.site-header nav .nav-book[aria-current]{background:#ebcb91;color:var(--forest)}
.language-switch{display:inline-flex;flex:none;align-items:center;order:3;border:1px solid var(--gold);gap:0;border-radius:var(--control-radius)}
.language-switch a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:48px;text-decoration:none;font-size:0.9375rem;font-weight:600;color:var(--cream)}
.language-switch a[aria-current="true"]{color:#173329;background:var(--gold);font-weight:750}
.language-switch a:hover{text-decoration:underline}
.site-header :focus-visible,footer :focus-visible,.feature-band :focus-visible,.hero-copy :focus-visible{outline-color:#f5d79c}
/* Actual Sherlock photography carries the timber/brick character. Text stays on solid colour. */
.home-hero{position:relative;display:flex;align-items:center;min-height:570px;isolation:isolate;background:var(--wood);padding:42px max(36px,calc((100vw - 1200px)/2))}
.hero-photo{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--wood)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
.hero-photo figcaption{position:absolute;right:22px;bottom:18px;background:#173329;color:var(--paper)}
.hero-photo figcaption a{display:block;min-height:48px;padding:10px 16px;font-size:1rem;font-weight:600}
.hero-copy{width:min(495px,48%);padding:34px 36px 28px;background:var(--forest);color:var(--paper);box-shadow:0 7px 24px #1a100a55;border-top:3px solid var(--gold)}
.hero-copy .eyebrow{color:#f0ce8f}
.hero-copy h1{font-size:clamp(2.5rem,4vw,3.4375rem);font-weight:500;line-height:1.12;letter-spacing:-.025em;color:var(--paper)}
.hero-copy .lead{font-size:1.25rem;line-height:1.55;margin-bottom:23px}
.actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:25px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);max-width:100%;padding:13px 24px;background:var(--forest);color:var(--paper);text-decoration:none;font-size:1.0625rem;font-weight:650;line-height:1.4;border:1px solid var(--forest);border-radius:var(--control-radius);cursor:pointer;text-align:center;overflow-wrap:anywhere}
.button:hover{background:var(--forest-light)}
.button:disabled{opacity:.65;cursor:not-allowed}
.text-link{display:inline-block;min-width:0;max-width:100%;min-height:48px;padding-block:10px;font-size:1.0625rem;font-weight:650;overflow-wrap:anywhere}
.text-link::after{content:" →"}
.hero-copy .button{background:var(--paper);border-color:var(--paper);color:var(--forest)}
.hero-copy .button:hover{background:#eadbc0}
.hero-copy .text-link{color:var(--paper);font-size:1.0625rem}
.hero-practical{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 16px;border-top:1px solid #8d987f;margin-top:25px;padding-top:11px;font-size:1rem}
.hero-practical a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
/* Hours and visiting basics before the longer pub story. */
.visit-strip{background:#e9dfc9;border-block:1px solid #c4b392}
.visit-strip-inner{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:36px;padding-block:25px}
.visit-strip-inner>div{min-width:0}
.visit-strip .eyebrow{margin-bottom:8px}
.visit-strip strong{display:block;font:500 1.6875rem/1.3 Georgia,serif;overflow-wrap:anywhere}
.visit-strip p{font-size:1rem;line-height:1.55;margin:8px 0 0;white-space:pre-line}
.visit-strip a{padding-bottom:0}
.pub-story{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:58px;padding-block:72px}
.pub-story-photo figure{border:7px solid #e5d8bf;box-shadow:0 0 0 1px #bdac8a}
.pub-story-photo img{width:100%;aspect-ratio:4/4;object-fit:cover}
.pub-story-copy{min-width:0}
.pub-story-copy h2{font-size:2.375rem}
.pub-invitation{border-left:3px solid #9b7a43;padding-left:20px;font-weight:550}
.feature-band{background:var(--forest);color:var(--cream);border-block:2px solid var(--gold)}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-block:38px}
.feature-grid article{padding:12px 30px;border-right:1px solid #a4ae9860;min-width:0}
.feature-grid article:first-child{padding-left:0}
.feature-grid article:last-child{border-right:0;padding-right:0}
.feature-grid h2{font-size:2.0625rem}
.feature-grid p{font-size:1.125rem;color:#f1eadc}
.feature-grid .eyebrow,.feature-grid .text-link{color:#ebc88a}
.compact-kitchen p{font-size:1rem;line-height:1.6;margin:0 0 9px}
.compact-kitchen span{display:block}
.compact-kitchen strong{font-weight:550}
.visit-band{display:grid;grid-template-columns:1fr 1.1fr;gap:65px;padding-block:70px;align-items:start}
.contact-direct{overflow-wrap:anywhere}
.contact-direct a{display:inline-flex;align-items:center;min-height:44px;font-size:1.125rem;font-weight:600}
.opening-hours h2{font-size:1.9375rem}
.hours-list{margin:0}
.hours-list>div{display:grid;grid-template-columns:1fr 1.4fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.hours-list dt{font-size:1rem;align-self:center;font-weight:550}
.hours-list dd{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,7em),1fr));gap:18px;min-width:0}
.hours-list dd span{font-size:0.9375rem;color:var(--muted);min-width:0;overflow-wrap:anywhere}
.hours-list strong{display:block;color:var(--ink);font-size:1.0625rem;font-weight:650;font-variant-numeric:tabular-nums}
.opening-hours .small-note{margin-top:18px}
/* Paper menu: names, descriptions and prices stay readable rather than decorative. */
.page-intro{padding-block:43px 30px;border-bottom:1px solid #b8a37d;margin-bottom:30px}
.page-intro .lead{margin:0;font-size:1.1875rem}
.page-intro h1{max-width:950px;font-size:clamp(2.375rem,4.2vw,3.5rem);font-weight:550;margin-bottom:17px}
.menu-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:52px;padding-bottom:70px}
.menu-aside{min-width:0}
.menu-note{padding:22px;background:#e6dbc3;border-top:3px solid #8f6c37}
.menu-note p{font-size:1rem}
.menu-note p:last-child{margin:0}
.menu-note strong{font-size:1rem;font-weight:550}
.menu-note span:not(.eyebrow){display:block;font:1.6875rem/1.4 Georgia,serif;margin-top:8px}
.menu-categories{position:sticky;top:24px;display:flex;flex-direction:column;margin-top:23px;background:var(--cream);align-self:start}
.menu-categories a{display:flex;align-items:center;padding:12px 13px;min-height:48px;border-bottom:1px solid var(--line);border-left:3px solid transparent;text-decoration:none;font-size:1rem;line-height:1.4}
.menu-categories a:hover,.menu-categories a[aria-current="location"]{background:#e2e8da;border-left-color:var(--forest);color:#142d25;text-decoration:underline;text-decoration-thickness:2px}
.menu-categories a[aria-current="location"]{font-weight:700}
.menu-tools{border-bottom:1px solid var(--line);padding-bottom:20px}
.menu-tools label{font-size:1.0625rem;font-weight:650}
.menu-tools input{display:block;width:100%;min-width:0;min-height:var(--control-height);padding:12px 15px;margin:8px 0 0;background:var(--paper);border:2px solid #8b795b;color:var(--ink);border-radius:var(--control-radius);font-size:1.125rem}
.menu-section{padding-top:30px;scroll-margin-top:24px}
.menu-section h2{font-size:2rem;font-weight:600;padding-bottom:15px;border-bottom:2px solid #94713c;margin-bottom:0}
.menu-items{list-style:none;margin:0;padding:0}
.menu-item{display:flex;justify-content:space-between;align-items:start;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);break-inside:avoid}
.menu-item>div{min-width:0}
.menu-item h3{font-size:1.5625rem;font-weight:400;line-height:1.25;margin:0 0 9px;letter-spacing:-.01em}
.menu-item p{font-size:1.0625rem;line-height:1.6;max-width:620px;margin:0;color:#465144}
.portion{font-size:1rem;color:#4a5548;display:block;margin-top:5px}
.menu-price{font-size:1.25rem;font-weight:500;white-space:nowrap;line-height:1.55;flex:none;font-variant-numeric:tabular-nums}
.menu-price strong,.menu-options strong{font-weight:600}
.allergy-note{border-top:3px solid #9b7a43;padding:22px 0 0;margin-top:35px}
.allergy-note h2{font-size:1.8125rem}
.allergy-note p{font-size:1.0625rem}
.drinks-sign{padding:27px 23px;background:var(--forest);color:var(--cream);border-top:3px solid #be9a5d}
.drinks-sign .eyebrow{color:#ebc88a}
.drinks-sign h2{font-size:2.0625rem}
.drinks-sign p{font-size:1.0625rem;margin-bottom:0}
/* A pub diary, with readable dates and intact artwork. */
.home-events{padding-block:58px;background:#f9f3e8}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:24px}
.section-heading h2{margin-bottom:0}
.section-heading .eyebrow{margin-bottom:10px}
.section-heading .text-link{flex:none}
.events-section{padding-bottom:65px}
.event-filters{display:flex;align-items:end;gap:20px;padding:21px;background:#e9dfca;margin-bottom:28px;border:1px solid #c1ad87}
.event-filters label{font-size:1rem;font-weight:600;flex:1;min-width:0}
.event-filters input,.event-filters select{display:block;width:100%;min-width:0;min-height:var(--control-height);padding:12px;background:var(--paper);color:var(--ink);border:2px solid #8b795b;margin-top:7px;border-radius:var(--control-radius);font-size:1.0625rem}
.event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.event-card{border:1px solid #bca681;border-top:3px solid var(--forest);padding:23px;background:var(--paper);min-width:0}
.event-body{display:flex;gap:22px}
.event-body>div:last-child{min-width:0}
.event-image{width:100%;height:auto;max-height:440px;object-fit:contain;background:#21362a;margin-bottom:23px}
.event-card .eyebrow{margin-bottom:11px}
.event-card h2{font-size:1.9375rem;font-weight:550;margin-bottom:16px}
.event-card p{font-size:1.0625rem}
.event-card .event-time{font-size:1rem;font-weight:600}
.date-badge{flex:none;width:60px;text-align:center;line-height:1.2;color:#3c3828}
.date-badge strong{display:block;font:2.875rem/1.1 Georgia,serif}
.date-badge span{text-transform:uppercase;font-size:0.9375rem;font-weight:650;letter-spacing:.04em}
.event-card summary{cursor:pointer;min-height:48px;padding-block:11px;font-size:1.0625rem;font-weight:650}
.event-description{white-space:pre-line}
.cancelled{font-weight:700;color:#8a362b}
.past-tag{font-weight:650;color:#61533d}
.events-section>.small-note{margin-top:26px}
.home-events .event-list{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.quiet-state{background:#e9dfc9;padding:36px;max-width:900px;border-top:3px solid #94713c}
.quiet-state h2{font-size:2.125rem}
.quiet-state p{max-width:680px}
.event-archive-link{margin-top:24px;border-top:1px solid var(--line);padding-top:10px}
.archive-events{list-style:none;margin:0;padding:0}
.archive-events li{padding:26px 0;border-bottom:1px solid var(--line);scroll-margin-top:25px}
.archive-events li:first-child{padding-top:0}
.archive-events .eyebrow{font-size:1rem;letter-spacing:0;text-transform:none;color:var(--muted);margin-bottom:11px}
.archive-events h2{font-size:1.875rem;line-height:1.25;margin:0;overflow-wrap:anywhere}
.archive-events+p{margin-top:28px}
.archive-events li:target{background:#e9dfca;border-left:4px solid #8f6c37;padding-inline:20px}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;padding-bottom:70px}
.gallery img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:var(--wood)}
.gallery figure{padding:8px;background:#ede2cc;border:1px solid #c3ad87;min-width:0}
.gallery figcaption{padding:16px 10px 10px;overflow-wrap:anywhere}
.gallery figcaption strong{display:block;font:1.6875rem/1.3 Georgia,serif}
.gallery figcaption span{display:block;font-size:1rem;margin-top:8px;color:var(--muted)}
/* Booking and practical pages: native labelled fields, no ambiguous success state. */
.contact-grid,.reservation-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;padding-bottom:70px}
.contact-grid>div,.reservation-layout>div,.reservation-layout>aside{min-width:0}
.contact-grid h2,.reservation-aside h2{font-size:2rem}
address{font-style:normal;line-height:1.8;font-size:1.25rem}
.contact-callout{border-top:1px solid var(--line);padding-top:27px;margin-top:31px}
.contact-link{display:inline-flex;align-items:center;min-height:44px;font-size:1.125rem;overflow-wrap:anywhere}
.google-card{padding:25px;background:#e9dfca;margin-top:28px;border-top:3px solid #94713c}
.google-card h2{font-size:1.8125rem}
.google-card p{font-size:1.0625rem}
.reservation-layout{grid-template-columns:1.3fr 1fr;gap:52px}
.reservation-aside .opening-hours{margin-top:32px}
.reservation-aside>p{font-size:1.0625rem}
.form-status{padding:18px 20px;background:#e8dec9;border-left:4px solid #8a6b3d;margin-bottom:26px}
.form-status p{font-size:1.0625rem;margin:0}
.reservation-form fieldset{border:0;padding:0;margin:0 0 30px;min-width:0}
.reservation-form legend{font:550 1.8125rem/1.25 Georgia,serif;margin-bottom:21px;padding:0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.reservation-form label{display:block;font-size:1.0625rem;font-weight:650;min-width:0;overflow-wrap:anywhere}
.reservation-form label>span{font-weight:400;color:var(--muted)}
.reservation-form input,.reservation-form select,.reservation-form textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:3.375rem;background:var(--paper);color:var(--ink);border:2px solid #8b795b;padding:12px;margin-top:7px;border-radius:var(--control-radius);font-size:1.125rem}
.reservation-form textarea{resize:vertical}
.reservation-form .small-note{margin:14px 0 0}
.reservation-form fieldset>label{margin-top:22px}
.reservation-form .privacy-check{display:flex;align-items:flex-start;gap:13px;min-height:48px;margin:0 0 22px;font-size:1rem;line-height:1.6;font-weight:400;cursor:pointer}
.reservation-form .privacy-check input{appearance:auto;display:block;flex:0 0 24px;width:24px;min-width:24px;min-height:24px;height:24px;margin:2px 0 0;padding:0;accent-color:var(--forest)}
.reservation-form .privacy-check span{color:var(--ink)}
.reservation-form [disabled]{cursor:not-allowed}
.reservation-form .button{min-width:210px}
.request-note{font-size:1rem;margin:15px 0}
.request-result{padding:23px;background:#e4ecdc;border:1px solid #778b69;margin:26px 0;overflow-wrap:anywhere}
.request-result h2{font-size:1.8125rem}
.request-result p{font-size:1.0625rem;margin-bottom:9px}
.form-status[data-state="ready"]{background:#e4ecdc;border-left-color:#4e724e}
.form-status[data-state="error"],.request-result[data-state="error"]{background:#f1e1d4;border-color:#945638}
.request-result[data-state="received"]{border-left:4px solid #4e724e}
.reservation-form [aria-invalid="true"]{border-color:#963c2d;outline-color:#963c2d}
.honey{display:none}
.about-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:55px;padding-bottom:70px;align-items:start}
.about-layout figure{border:7px solid #e5d8bf;box-shadow:0 0 0 1px #bdac8a}
.about-layout img{width:100%;height:auto}
.about-layout h2{font-size:2.125rem}
.prose-page{max-width:840px;margin-inline:auto;padding-bottom:70px;overflow-wrap:anywhere}
.prose-page h2{font-size:1.9375rem;margin-top:30px}
footer{background:#132a22;color:var(--cream);padding:48px max(36px,calc((100vw - 1200px)/2)) 25px;border-top:2px solid var(--gold)}
.footer-top{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:48px}
.footer-top>div{min-width:0}
.footer-top .wordmark{margin-bottom:22px;width:205px}
.footer-top p{font-size:1.0625rem;line-height:1.8;overflow-wrap:anywhere}
.footer-top h2{font-size:1.875rem;color:var(--paper);margin-bottom:17px}
.socials{display:flex;gap:8px 20px;flex-wrap:wrap;font-size:1.0625rem}
.socials a{display:inline-flex;align-items:center;min-height:48px;padding:8px 0;color:#efd099;font-weight:600;text-decoration:none;border-radius:var(--control-radius)}
.socials a:hover,.socials a:focus-visible{color:var(--paper);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px 25px;border-top:1px solid #70826e;margin-top:28px;padding-top:20px;font-size:1rem}
.footer-bottom>div{display:flex;flex-wrap:wrap;gap:0 24px;min-width:0}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
.mobile-actions{display:none}
.mobile-menu summary::-webkit-details-marker{display:none}
@media(max-width:1199px){
 .site-header{display:grid;grid-template-columns:1fr auto;gap:12px 24px;padding:16px 30px 10px}
 .site-header>.wordmark{width:205px}
 .language-switch{order:0;justify-self:end}
 .site-header>nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;width:100%;border-top:1px solid #d5b16f66;padding-top:9px}
 .site-header nav a{font-size:1.0625rem;padding:10px 6px;min-width:0}
 .site-header nav a.nav-book{padding:10px 8px}
 .container{width:calc(100% - 60px)}
 .home-hero{padding:35px 30px;min-height:535px}
 .hero-copy{width:48%;padding:30px}
 .hero-copy h1{font-size:3rem}
 .hero-copy .lead{font-size:1.1875rem}
 .hero-copy .actions{gap:10px 20px}
 .hero-copy .button,.hero-copy .text-link{font-size:1rem}
 .visit-strip-inner{gap:25px}
 .visit-strip strong{font-size:1.5rem}
 .visit-band,.contact-grid,.reservation-layout,.about-layout,.pub-story{gap:36px}
 .menu-layout{grid-template-columns:225px minmax(0,1fr);gap:32px}
 .hours-list>div{grid-template-columns:1fr;gap:7px}
 .feature-grid article{padding-inline:22px}
 .feature-grid h2{font-size:1.8125rem}
 .feature-grid p{font-size:1.0625rem}
 .event-body{gap:16px}
 .event-card{padding:20px}
 .event-card h2{font-size:1.75rem}
 .date-badge{width:46px}
 .date-badge strong{font-size:2.4375rem}
 .footer-top{gap:29px}
 footer{padding-inline:30px}
}
@media(max-width:760px){
 html{scroll-padding-bottom:calc(95px + env(safe-area-inset-bottom))}
 main :is(a,button,input,select,textarea,summary){scroll-margin-bottom:calc(95px + env(safe-area-inset-bottom))}
 body{font-size:1.125rem}
 .site-header{padding:9px 22px;gap:10px 16px}
 .site-header>.wordmark{width:177px}
 .site-header>nav{display:none}
 .site-header nav a{font-size:1rem;line-height:1.3;min-height:48px;padding:10px 4px;overflow-wrap:anywhere}
 .site-header nav a.nav-book{padding:10px 4px;border-color:var(--gold)}
 .language-switch a{font-size:0.9375rem;min-width:44px;min-height:46px}
 .container{width:calc(100% - 44px)}
 .home-hero{display:flex;flex-direction:column;padding:0;min-height:0;background:var(--forest)}
 .hero-photo{display:none}
 .hero-photo img{object-position:center 48%}
 .hero-photo figcaption{right:14px;bottom:12px}
 .hero-photo figcaption a{font-size:0.9375rem;min-height:44px;padding:8px 13px}
 .hero-copy{width:100%;padding:28px 24px 22px;border-top:0;box-shadow:none}
 .hero-copy h1{font-size:2.4375rem;line-height:1.16;margin-bottom:19px}
 .hero-copy .eyebrow{font-size:0.875rem;margin-bottom:12px}
 .hero-copy .lead{font-size:1.125rem;line-height:1.6}
 .hero-copy .actions{gap:20px;margin-top:22px}
 .hero-copy .button,.hero-copy .text-link{font-size:1.0625rem}
 .hero-practical{font-size:1rem;margin-top:22px;padding-top:10px}
 .actions{gap:16px}
 .button{font-size:1.0625rem;min-height:52px;padding:13px 21px}
 .text-link{font-size:1rem}
 .visit-strip-inner{grid-template-columns:minmax(0,1fr);gap:23px;padding-block:24px}
 .visit-strip-inner>.today-hours{grid-column:1/-1;padding-bottom:19px;border-bottom:1px solid #bda881}
 .visit-strip .eyebrow{font-size:0.8125rem}
 .visit-strip strong{font-size:1.5625rem}
 .visit-strip p{font-size:1rem}
 .pub-story{grid-template-columns:1fr;gap:28px;padding-block:46px}
 .pub-story-photo img{aspect-ratio:4/3;object-fit:cover}
 .pub-story-copy h2{font-size:2.0625rem}
 .pub-story-copy p{font-size:1.125rem}
 .feature-grid{grid-template-columns:1fr;padding-block:7px}
 .feature-grid article,.feature-grid article:first-child,.feature-grid article:last-child{padding:29px 0;border-right:0;border-bottom:1px solid #a4ae9860}
 .feature-grid article:last-child{border-bottom:0}
 .feature-grid h2{font-size:2rem;margin-bottom:16px}
 .feature-grid p{font-size:1.125rem}
 .feature-grid .compact-kitchen p{font-size:1rem}
 .visit-band,.contact-grid,.reservation-layout,.about-layout{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:44px}
 .visit-band h2{font-size:2.125rem}
 .hours-list>div{grid-template-columns:1fr;gap:6px}
 .hours-list dt{font-size:1.0625rem}
 .hours-list dd{gap:20px}
 .hours-list dd span{font-size:1rem}
 .hours-list strong{font-size:1.125rem}
 .page-intro{padding-block:28px 22px;margin-bottom:23px}
 .page-intro h1{font-size:2.4375rem;line-height:1.16;margin-bottom:16px}
 .page-intro .lead{font-size:1.125rem;line-height:1.6}
 .eyebrow{font-size:0.875rem;margin-bottom:13px}
 .menu-layout{grid-template-columns:minmax(0,1fr);gap:21px;padding-bottom:48px}
 .menu-aside{display:contents}
 .menu-note{padding:20px}
 .menu-note p{margin-bottom:12px}
 .menu-note span:not(.eyebrow){font-size:1.625rem}
 .menu-categories{flex-direction:row;flex-wrap:nowrap;gap:0;position:sticky;top:0;z-index:15;margin:0 -22px;padding:5px 22px;overflow-x:auto;overscroll-behavior-x:contain;max-width:calc(100% + 44px);border-block:1px solid #ab946c;box-shadow:0 4px 10px #33241b12;scrollbar-width:thin;scroll-padding-inline:22px}
 .menu-categories a{flex:none;white-space:nowrap;padding:12px 15px;min-height:50px;font-size:1rem;line-height:1.5;border-left:0;border-bottom:3px solid transparent}
 .menu-categories a:hover,.menu-categories a[aria-current="location"]{border-left:0;border-bottom-color:var(--forest);background:#e2e8da}
 .menu-tools{padding-bottom:19px}
 .menu-tools label{font-size:1.0625rem}
 .menu-section{scroll-margin-top:87px;padding-top:26px}
 .menu-section h2{font-size:1.875rem}
 .menu-item{padding:21px 0;gap:16px}
 .menu-item h3{font-size:1.5rem}
 .menu-item p{font-size:1.0625rem}
 .menu-price{font-size:1.25rem}
 .portion{font-size:1rem}
 .allergy-note p{font-size:1.0625rem}
 .drinks-sign{display:none}
 .drinks-sign h2{font-size:2rem}
 .home-events{padding-block:44px}
 .section-heading{display:block;margin-bottom:22px}
 .section-heading h2{font-size:2.0625rem}
 .section-heading .text-link{margin-top:7px}
 .event-list,.home-events .event-list{grid-template-columns:minmax(0,1fr);gap:23px}
 .event-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:18px}
 .event-filters label:first-child{grid-column:1/-1}
 .event-filters label{font-size:1rem}
 .event-filters input,.event-filters select{font-size:1.0625rem;padding-inline:10px}
 .event-card{padding:19px 16px}
 .event-card h2{font-size:1.75rem}
 .event-card p{font-size:1.0625rem}
 .event-card .event-time{font-size:1rem}
 .date-badge{width:43px}
 .date-badge strong{font-size:2.3125rem}
 .date-badge span{font-size:0.875rem}
 .event-body{gap:14px}
 .quiet-state{padding:27px 23px}
 .quiet-state h2{font-size:2rem}
 .events-section{padding-bottom:48px}
 .gallery{grid-template-columns:minmax(0,1fr);gap:25px;padding-bottom:48px}
 .gallery figcaption strong{font-size:1.6875rem}
 .contact-grid,.reservation-layout,.about-layout{padding-top:0;padding-bottom:48px}
 .contact-grid h2,.reservation-aside h2{font-size:1.9375rem}
 .contact-link{font-size:1.125rem}
 .reservation-form .form-grid{grid-template-columns:minmax(0,1fr);gap:21px}
 .reservation-form label{font-size:1.0625rem}
 .reservation-form input,.reservation-form select,.reservation-form textarea{font-size:1.125rem;padding:12px}
 .reservation-form legend{font-size:1.8125rem}
 .reservation-form>button{width:100%}
 .reservation-form .privacy-check{font-size:1rem;gap:13px}
 .reservation-aside{padding-top:30px;border-top:1px solid var(--line)}
 .about-layout h2{font-size:2rem}
 .prose-page{padding-bottom:50px}
 .prose-page h2{font-size:1.8125rem}
 .footer-top{grid-template-columns:minmax(0,1fr);gap:25px}
 .footer-top .wordmark{width:195px;margin-bottom:18px}
 .footer-top h2{font-size:1.75rem;margin-bottom:13px}
 .footer-top p{font-size:1.0625rem;margin-bottom:13px}
 .footer-bottom{display:block;font-size:1rem}
 .footer-bottom>div{gap:0 24px;margin-top:14px}
 footer{padding:39px 24px 102px}
 .mobile-actions{position:fixed;display:grid;grid-template-columns:1fr 1fr 1fr .9fr;bottom:0;inset-inline:0;z-index:30;background:var(--forest);border-top:2px solid #a78a54;padding:5px 8px calc(5px + env(safe-area-inset-bottom));box-shadow:0 -3px 14px #142d2525}
 .mobile-actions>a,.mobile-menu>summary{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--paper);text-decoration:none;font-size:1rem;font-weight:600;line-height:1.3;min-height:52px;padding:7px 5px;min-width:0;overflow-wrap:anywhere;border-right:1px solid #a4ae9870}
 .mobile-actions>.mobile-reserve{color:#f2d291}
 .mobile-actions>a:hover,.mobile-actions>a[aria-current]{background:#315041;border-radius:3px;text-decoration:underline;text-underline-offset:5px}
 .mobile-actions :focus-visible{outline-color:#f5d79c;outline-offset:-3px}
 .mobile-menu{min-width:0}
 .mobile-menu>summary{border:0;cursor:pointer;list-style:none;gap:4px;flex-direction:column;font-size:.875rem;padding-block:3px}
 .mobile-menu>summary svg{flex:none}
 .mobile-menu[open]>summary{background:#315041;border-radius:3px;color:#f2d291}
 .mobile-menu-panel{position:absolute;bottom:calc(100% + 2px);inset-inline:0;max-height:calc(100vh - 155px);max-height:calc(100dvh - 155px);overflow-y:auto;overscroll-behavior:contain;background:var(--paper);color:var(--ink);padding:20px 22px 24px;border-top:3px solid var(--gold);box-shadow:0 -12px 30px #142d2530}
 .mobile-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
 .mobile-menu-heading h2{font-size:1.75rem;margin:0;min-width:0}
 .mobile-menu-close{background:none;color:var(--ink);border:1px solid #b29c78;border-radius:3px;min-height:44px;font-size:1rem;padding:8px 12px;cursor:pointer;flex:none}
 .mobile-menu-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}
 .mobile-menu-links a{display:flex;align-items:center;color:var(--ink);padding:12px 3px;min-height:50px;border-bottom:1px solid var(--line);font-size:1.0625rem;text-decoration:none;line-height:1.4;overflow-wrap:anywhere}
 .mobile-menu-links a:hover,.mobile-menu-links a[aria-current]{color:var(--forest);text-decoration:underline;text-decoration-thickness:2px}
 .mobile-menu-panel :focus-visible{outline-color:var(--focus);outline-offset:1px}
 body.mobile-menu-open{position:fixed;inline-size:100%;overflow:hidden}
 body:has(.reservation-form :focus,main :focus-visible,.menu-tools input:focus):not(.mobile-menu-open) .mobile-actions{display:none}
}
@media(max-width:370px){
 .site-header{padding-inline:18px}
 .site-header>.wordmark{width:150px}
 .site-header>nav{gap:3px 12px}
 .hero-photo{height:225px}
 .hero-copy{padding-inline:22px}
 .hero-copy h1{font-size:2.25rem}
 .visit-strip-inner{grid-template-columns:minmax(0,1fr)}
 .visit-strip-inner>.today-hours{grid-column:auto}
 .visit-strip-inner>div{border-bottom:1px solid #bda881;padding-bottom:17px}
 .visit-strip-inner>div:last-child{border:0;padding-bottom:0}
 .event-filters{grid-template-columns:minmax(0,1fr)}
 .event-filters label:first-child{grid-column:auto}
 .event-body{display:block}
 .date-badge{display:flex;align-items:baseline;gap:8px;width:auto;text-align:left;margin-bottom:14px}
 .date-badge strong{font-size:1.9375rem}
 .event-card h2{font-size:1.75rem}
 .mobile-actions a{font-size:0.9375rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* 7.6.4: the pub name leads; contact details and portions remain easy to scan. */
.hero-copy h1{font-size:clamp(3rem,5.6vw,5.8rem);line-height:1.06;letter-spacing:-.025em;margin-bottom:1rem}
.hero-subtitle764{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.35rem,2.2vw,1.9rem);line-height:1.4;margin:0 0 1rem}
.hero-copy .lead{font-size:1.125rem;line-height:1.6;max-width:28ch;margin-bottom:1.8rem}
.contact-details764{margin:1.3rem 0 1.7rem;display:grid;gap:.85rem}
.contact-details764>div{display:grid;grid-template-columns:4.2rem minmax(0,1fr);align-items:baseline;gap:.8rem}
.contact-details764 dt{font-size:.875rem;font-weight:600;letter-spacing:.02em}
.contact-details764 dd{margin:0;min-width:0;font-size:1.0625rem;overflow-wrap:anywhere}
.contact-details764 a{display:inline-block;padding-block:.2rem;text-underline-offset:4px}
footer .footer-bottom a,footer .text-link{color:#efd28b;text-decoration:none;border-bottom:0}
footer .footer-bottom a:hover,footer .text-link:hover{color:#fff0c8;text-decoration:underline;text-underline-offset:5px}
footer .contact-details764 dt{color:#ddc596}
.event-archive-link{margin:0 0 1.5rem;display:flex;justify-content:flex-end}
.event-archive-link a{display:inline-flex;align-items:center;min-height:44px}
.gallery-coming764{grid-column:1/-1;padding-block:1rem 3rem;border-top:2px solid var(--gold)}
.instagram-coming764{padding-block:1rem 4rem;border-top:1px solid var(--line)}
.gallery-coming764 h2{font-size:clamp(1.7rem,3vw,2.4rem)}
.menu-item.menu-bundle764{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem 1.5rem;align-items:start}
.menu-bundle764>.menu-portion-prices764{display:grid;gap:.45rem;min-width:9rem;margin:0;max-width:none;font-size:1.0625rem;font-weight:500;line-height:1.5}
.menu-portion-prices764>div{display:grid;grid-template-columns:minmax(3rem,1fr) auto;gap:1rem;align-items:baseline}
.menu-portion-prices764 dt{font-weight:400;font-size:1rem}
.menu-portion-prices764 dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:700px){.hero-copy h1{font-size:clamp(2.7rem,11vw,4rem)}.hero-subtitle764{font-size:1.45rem}.gallery-coming764{grid-template-columns:minmax(0,1fr);gap:1rem}.contact-details764>div{grid-template-columns:3.7rem minmax(0,1fr);gap:.5rem}.menu-item.menu-bundle764{gap:.7rem 1rem}.menu-bundle764>.menu-portion-prices764{min-width:8.5rem}}
@media(max-width:370px){.menu-item.menu-bundle764{grid-template-columns:minmax(0,1fr)}.menu-bundle764>.menu-portion-prices764{width:100%;max-width:18rem}.contact-details764>div{grid-template-columns:minmax(0,1fr);gap:0}}
