/* Reference palette / proportions. No framework, font download, or runtime CSS dependency. */
:root{--paper:#fff;--cream:#f6f3ef;--ink:#352f2a;--muted:#6c6258;--gold:#b08d5b;--gold-ink:#856338;--gold-button:#96703e;--line:#ded3c4;--serif:"Times New Roman",Times,"Liberation Serif",Georgia,serif;--wrap:1120px;--ease:180ms ease}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:26px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img,svg{display:block}img{max-width:100%;height:auto}button{color:inherit}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-weight:400}address{font-style:normal}strong{font-weight:700}[hidden]{display:none!important}::selection{background:#ded1ba;color:#2e251e}:focus-visible{outline:2px solid var(--gold-ink);outline-offset:5px}main:focus{outline:none}button:disabled{cursor:wait;opacity:.65}.wrap{width:min(calc(100% - 112px),var(--wrap));margin-inline:auto}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon{width:38px;height:38px;flex-shrink:0;color:var(--gold)}.sprig{width:43px;height:32px;color:var(--gold)}.skip-link{position:fixed;z-index:1000;left:20px;top:12px;padding:10px 20px;background:white;transform:translateY(-180%)}.skip-link:focus{transform:none}.eyebrow,.smallcaps{font-size:14px;line-height:1.4;text-transform:uppercase;letter-spacing:.055em}.eyebrow{color:var(--gold-ink)}.button{min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:12px 27px;border:1px solid var(--gold-button);background:var(--gold-button);color:#fff;font-size:15px;line-height:1.4;text-align:center;letter-spacing:.025em;text-transform:uppercase;border-radius:1px;transition:background var(--ease),border-color var(--ease),color var(--ease)}.button:hover{background:#79562e;border-color:#79562e}.button--light{border-color:#eee7dc;background:transparent;color:#fff;padding-inline:26px}.button--light:hover{background:#fff;color:var(--ink);border-color:#fff}.button--outline{background:transparent;color:var(--gold-ink);border-color:var(--gold)}.button--outline:hover{background:var(--cream);color:var(--ink);border-color:var(--gold)}.button .icon{width:21px;height:21px;color:inherit}.text-link{display:inline-flex;align-items:center;gap:11px;padding:7px 0;background:none;border:0;border-bottom:1px solid var(--line);color:var(--gold-ink);font-size:16px}.text-link:hover{border-color:var(--gold-ink)}.text-link .icon{width:19px;height:19px;color:inherit}.ornament{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--gold);height:30px}.ornament>span{display:block;width:34px;height:1px;background:var(--gold);opacity:.7}.ornament>svg{width:23px;height:26px}.ornament--sprig{gap:14px;height:38px}.ornament--sprig>span{width:88px}.ornament--sprig>svg{width:43px;height:36px}
/* Header: transparent over photography, matching the supplied compositions. */
.site-header{position:absolute;top:0;left:0;right:0;z-index:20;color:#fff}.header-inner{width:min(calc(100% - 44px),1540px);margin:auto;display:flex;justify-content:space-between;align-items:flex-start;gap:25px;padding-top:23px}.brand{display:flex;align-items:center;flex-direction:column;width:216px;flex-shrink:0;text-align:center}.brand__overline{font-size:23px;line-height:1.25;text-transform:uppercase;letter-spacing:.095em}.brand__script{width:217px;height:79px;margin-top:0;overflow:visible}.brand__year{display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;text-transform:uppercase;letter-spacing:.06em;margin-top:1px}.brand__year>span{height:1px;width:24px;background:var(--gold);opacity:.65}.brand__sprig{width:36px;height:29px;margin-top:5px}.desktop-nav{display:flex;align-items:center;gap:26px;padding-top:27px;white-space:nowrap;font-size:14px;letter-spacing:.02em;text-transform:uppercase}.desktop-nav>a:not(.button){padding-block:13px;transition:color var(--ease)}.desktop-nav>a:hover,.desktop-nav>a[aria-current]{color:#e0c28d}.button--nav{color:#e0c28d;background:transparent;border-color:#b18d5a;padding:12px 22px;min-height:45px;font-size:14px}.button--nav:hover{background:#fff;color:var(--ink);border-color:#fff}.mobile-controls{display:none}.mobile-nav{display:none}
/* Live responsive images; waves are vector paths, not a screenshot of the layout. */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#423326}.hero picture{position:absolute;inset:0;z-index:-2}.hero__image{height:100%;width:100%;object-fit:cover;object-position:center center}.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(27,20,14,.12),transparent 25%,transparent 85%)}.hero--home{height:clamp(790px,86vw,920px);color:#fff}.hero--home .hero__image{object-position:center 47%}.hero__content{position:relative;text-align:center;width:min(94%,750px);margin:auto;padding-top:clamp(227px,23.45vw,268px)}.hero h1{font-size:clamp(60px,6.25vw,82px);line-height:1.07;letter-spacing:-.025em;text-shadow:0 1px 12px #30221718}.hero__content .ornament{margin-top:21px;margin-bottom:18px}.hero__content p{font-size:22px;line-height:1.38;letter-spacing:.003em}.hero__content .button{margin-top:32px}.wave{position:absolute;bottom:-1px;left:0;width:100%;height:58px;color:var(--paper);pointer-events:none}.wave--inner{height:97px}.hero--inner{height:clamp(420px,55vw,660px)}.hero--inner .hero__image{object-position:center 56%}.hero--inner::before{background:linear-gradient(180deg,rgba(20,15,10,.4),transparent 42%)}
/* Home: intentionally the same compact composition as the first reference. */
.welcome{text-align:center;padding-top:0}.welcome__sprig{margin:-1px auto 17px;width:39px;height:30px;position:relative}.welcome>.eyebrow{margin-bottom:4px}.welcome h2{font-size:40px;line-height:1.2;letter-spacing:-.02em}.welcome>.ornament{margin:8px 0 14px}.welcome__text{font-size:16px;line-height:1.4;margin:0 auto 26px;max-width:680px;padding-inline:16px}.welcome>.button{min-width:166px}.features{--wrap:1260px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:35px;padding-bottom:48px}.feature{position:relative;padding:0 16px;min-width:0}.feature:not(:last-child)::after{content:"";position:absolute;right:0;top:23px;height:98px;width:1px;background:var(--line)}.feature>.icon{width:60px;height:60px;margin:0 auto 16px;stroke-width:1.55}.feature h3{font-size:14px;line-height:1.3;text-transform:uppercase;letter-spacing:.02em;margin-bottom:6px}.feature p{max-width:218px;margin:auto;font-size:14px;line-height:1.45}.site-footer{background:var(--cream)}.contact-strip{--wrap:1200px;display:grid;grid-template-columns:1.1fr 1fr 1fr;padding-top:31px;padding-bottom:30px}.contact-strip__item{display:flex;justify-content:center;align-items:center;gap:16px;font-size:14px;line-height:1.45;padding:0 18px}.contact-strip__item+.contact-strip__item{border-left:1px solid var(--line)}.contact-strip__item .icon{width:38px;height:38px}.contact-strip .smallcaps{font-size:13px;letter-spacing:.015em}.contact-strip__item p{margin-top:4px}.contact-strip__item p span{font-size:13px}.contact-strip__item--phone{text-align:center}.footer-phone{display:block;font-size:29px;line-height:1.16;margin-top:4px}.footer-mobile{font-size:13px;color:var(--muted)}.contact-strip a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{--wrap:1400px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e7dfd5;font-size:12px;color:#645b51;padding-top:15px;padding-bottom:16px;line-height:1.6}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:18px}.footer-bottom a:hover{text-decoration:underline;text-underline-offset:3px}
/* The second reference: quiet two-column typography and ruled headings. */
.page-heading{text-align:center;padding:15px 12px 40px}.page-heading h1{font-size:44px;line-height:1.2;text-transform:uppercase;letter-spacing:.008em}.page-heading>.eyebrow{margin-bottom:8px}.page-heading>.ornament{margin:11px 0 12px}.page-subtitle{font-size:18px;font-style:italic;letter-spacing:.015em}.menu-page{--wrap:1010px;padding-bottom:52px}.menu-page .page-heading{padding-top:17px;padding-bottom:41px}.menu-columns{display:grid;grid-template-columns:1fr 1fr;gap:76px}.menu-category{margin-bottom:35px;scroll-margin-top:25px}.menu-category h2{font-size:22px;line-height:1.35;color:var(--gold-ink);text-transform:uppercase;letter-spacing:.05em;padding-bottom:3px;margin-bottom:17px;border-bottom:1px solid var(--line)}.dish{margin-bottom:20px;break-inside:avoid}.dish:last-child{margin-bottom:0}.dish dt{display:flex;align-items:baseline;justify-content:space-between;gap:15px;font-size:16px;line-height:1.25;font-weight:700;letter-spacing:.01em}.dish__price{font-weight:400;white-space:nowrap;flex-shrink:0}.dish dd{max-width:360px;font-size:15px;line-height:1.35;margin-top:3px}.menu-note{position:relative;width:min(100%,465px);margin:14px auto 20px;border:1px solid #bfaa8c;padding:17px 20px 15px;text-align:center}.menu-note>.sprig{position:absolute;left:50%;top:-23px;transform:translateX(-50%);width:60px;height:37px;background:white;padding-inline:8px}.menu-note p{font-size:17px;line-height:1.4;font-style:italic;letter-spacing:.012em}.menu-availability{max-width:700px;margin:9px auto 0;color:var(--muted);text-align:center;font-size:14px;line-height:1.55}.menu-actions{display:flex;justify-content:center;gap:30px;margin-top:20px}.menu-actions .text-link{font-size:14px}.menu-jump{display:none}
/* Related pages use the same visual language, without modern dashboard cards. */
.section{padding-bottom:65px}.section>.page-heading{padding-bottom:48px}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.prose{font-size:18px;line-height:1.75}.prose p+p{margin-top:19px}.prose h2{font-size:35px;line-height:1.22;letter-spacing:-.015em;margin-bottom:21px}.prose>.eyebrow{margin-bottom:10px}.prose .button{margin-top:28px}.editorial-photo{min-width:0}.photo-frame{position:relative;overflow:hidden;background:#ede6dc;min-height:230px}.editorial-photo img{width:100%;height:auto;object-fit:cover}.photo--portrait .photo-frame{aspect-ratio:4/4.3}.photo--portrait img{height:100%;object-position:center 47%}.editorial-photo figcaption{margin-top:11px;font-size:14px;font-style:italic;line-height:1.4}.editorial-photo figcaption span{color:var(--muted)}.section-heading{text-align:center;margin-top:70px;margin-bottom:35px}.section-heading h2{font-size:35px;line-height:1.2;margin-top:7px;margin-bottom:13px}.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 45px;text-align:center;max-width:860px;margin-inline:auto}.services>div{padding-inline:12px}.services .icon{width:45px;height:45px;margin:0 auto 15px}.services h3{font-size:20px;margin-bottom:6px}.services p{font-size:16px;color:var(--muted)}.centered-callout{text-align:center;margin-top:48px}.centered-callout p{font-size:21px;margin-bottom:22px}.photo--history .photo-frame{aspect-ratio:1.57}.photo--history img{height:100%;object-fit:cover}.editorial-grid--history{grid-template-columns:1.1fr 1fr}
.story-intro{max-width:740px;margin:0 auto;text-align:center}.story-text{max-width:740px;margin:74px auto 0;text-align:center}.story-text h2{font-size:38px;line-height:1.2;margin:7px 0 12px}.story-text p:not(.eyebrow){font-size:18px;line-height:1.75;margin-top:22px}.story-text .button{margin-top:30px}.article .prose{max-width:760px;margin:auto}.article .editorial-photo{max-width:540px;margin:26px 0}.archive-notice{font-size:15px;color:var(--muted);font-style:italic;border-left:2px solid var(--gold);padding-left:18px;margin-bottom:25px}
/* Gallery: keyboard-operable, with native dialog lightbox and true image captions. */
.gallery-filters{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:32px;margin:-10px 0 36px}.gallery-filters button{border:0;border-bottom:1px solid transparent;background:none;font-size:16px;padding:8px 0;color:var(--muted)}.gallery-filters button[aria-pressed="true"]{color:var(--gold-ink);border-color:var(--gold)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 26px}.gallery-item{min-width:0}.gallery-open{position:relative;display:block;overflow:hidden;background:#eee8df;aspect-ratio:4/4.8}.gallery-open>img{width:100%;height:100%;object-fit:cover;transition:transform 400ms ease}.gallery-open:hover>img{transform:scale(1.025)}.gallery-zoom{position:absolute;right:13px;bottom:13px;width:33px;height:33px;background:#fff;color:var(--ink);font-size:26px;font-weight:400;text-align:center;line-height:31px;opacity:0;transition:opacity var(--ease)}.gallery-open:hover .gallery-zoom,.gallery-open:focus-visible .gallery-zoom{opacity:1}.gallery-item figcaption{font-size:18px;padding-top:11px}.gallery-note{font-size:14px;color:var(--muted);text-align:center;max-width:650px;margin:36px auto 0}.photo-unavailable{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:28px;color:var(--muted);text-align:center;background:var(--cream);font-size:15px}.photo-unavailable>.icon{width:42px;height:42px}.lightbox{border:0;background:#221e19;color:white;width:100%;height:100%;max-width:100%;max-height:100%;padding:55px 70px;overflow:hidden}.lightbox::backdrop{background:#221e19}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox figure{max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:15px}.lightbox figure>img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain}.lightbox figcaption{font-size:18px;text-align:center}.lightbox button{position:absolute;background:transparent;border:1px solid #9b8770;color:white;width:42px;height:42px;display:grid;place-items:center}.lightbox .icon{width:28px;height:28px;color:inherit}.lightbox__close{right:22px;top:18px}.lightbox__previous{left:15px;top:48%}.lightbox__previous .icon{transform:rotate(180deg)}.lightbox__next{right:15px;top:48%}.lightbox__count{position:absolute;left:22px;top:24px;font-size:15px}.lightbox :focus-visible{outline-color:#e0c28d}.modal-open{overflow:hidden}
/* Contact and reservation requests: no automatic availability or confirmation implied. */
.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:76px}.contact-detail{display:flex;gap:19px;align-items:flex-start;margin-bottom:32px}.contact-detail>.icon{width:33px;height:33px;margin-top:3px}.contact-detail h2{font-size:23px;margin-bottom:9px}.contact-detail p{margin-bottom:8px}.contact-detail address{line-height:1.65}.contact-detail .text-link{margin-top:10px;font-size:15px}.fineprint{font-size:14px;color:var(--muted);line-height:1.55}.contact-phone{display:block;font-size:29px;line-height:1.3}.contact-mobile{display:block;font-size:20px;line-height:1.6;margin-bottom:7px}.contact-details a:hover{text-decoration:underline;text-underline-offset:4px}.email-link{font-size:17px;overflow-wrap:anywhere}.social-links{display:flex;gap:28px;margin-left:52px}.social-links .text-link{font-size:14px}.directions-note{border-top:1px solid var(--line);margin:28px 0 0 52px;padding-top:18px;font-size:15px;color:var(--muted)}.booking-block{scroll-margin-top:35px}.booking-block>h2{font-size:37px;line-height:1.2;margin:5px 0 17px}.booking-block>p:not(.eyebrow){font-size:16px;line-height:1.6}.booking-block .booking-fast{margin-top:9px;color:var(--muted)}.booking-fast a{text-decoration:underline;text-underline-offset:3px}.booking-block strong{font-weight:400;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}form{margin-top:27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid--three{grid-template-columns:1.1fr 1.4fr .75fr;gap:14px}.field{min-width:0;margin-bottom:19px}.field>label{display:block;font-size:14px;margin-bottom:6px;line-height:1.3}.field>label>span{color:var(--gold-ink)}input:not([type=checkbox]),select,textarea{width:100%;max-width:100%;min-width:0;border:1px solid var(--line);border-radius:0;min-height:46px;padding:10px 12px;color:var(--ink);background:#fff;outline-offset:3px;transition:border-color var(--ease)}input::placeholder,textarea::placeholder{color:#817466;opacity:1}textarea{min-height:123px;resize:vertical;font-size:16px;display:block}select{font-size:15px;padding-right:4px}input[type=date]{font-size:15px;min-height:46px}input:focus,textarea:focus,select:focus{border-color:var(--gold)}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(100%);white-space:nowrap}.reservation-fields{border:0;border-top:1px solid var(--line);padding:17px 0 0;margin:0 0 4px}.reservation-fields legend{font-size:15px;padding:0 9px 0 0}.reservation-fields legend span{font-size:13px;color:var(--muted)}.privacy-check{display:flex;align-items:flex-start;gap:11px;font-size:13px;line-height:1.55;margin:4px 0 23px}.privacy-check input{width:17px;height:17px;margin:2px 0 0;flex-shrink:0;accent-color:var(--gold-ink)}.privacy-check a{text-decoration:underline;text-underline-offset:3px}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.required-note{font-size:12px;color:var(--muted)}.form-status{border:1px solid var(--gold);background:var(--cream);padding:18px;font-size:16px;line-height:1.55;margin-top:22px}.form-status.is-error{color:#872e24;border-color:#872e24;background:#fff9f7}.form-status a{text-decoration:underline}.verification-notice{font-size:13px;color:var(--muted);margin-bottom:16px}.turnstile-container{margin-bottom:20px}.directions-card{text-align:center;max-width:660px;margin:auto;padding:20px 30px 30px}.directions-card>.icon{width:55px;height:55px;margin:0 auto 20px}.directions-card h2{font-size:34px;margin-bottom:13px}.directions-card address{font-size:23px;line-height:1.5}.directions-card>p{margin-top:16px}.directions-card>.button{margin-top:27px}.directions-card>.fineprint{margin-top:13px}.directions-card>.button--outline{display:flex;width:max-content;margin-inline:auto}
.legal{--wrap:850px}.legal .prose{font-size:17px}.legal .prose h2{font-size:26px;margin-top:35px;margin-bottom:12px}.legal .prose a{text-decoration:underline;text-underline-offset:3px}.legal-review{background:var(--cream);border-left:2px solid var(--gold);padding:18px 23px;font-size:15px;color:var(--muted)}.status-page{text-align:center;padding-top:22px;padding-bottom:90px}.status-page>.icon{width:50px;height:50px;margin:0 auto 20px}.status-page h1{font-size:43px;line-height:1.2;margin-top:10px}.status-page .ornament{margin:15px 0}.status-page p{font-size:18px;line-height:1.65;margin-top:14px}.status-page .eyebrow{font-size:14px}.status-page .button{margin-top:27px}.status-page p>a{text-decoration:underline;text-underline-offset:4px}.button-row{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}
@media(min-width:1700px){.hero--home{height:980px}.hero--home .hero__image{object-position:center 51%}.hero__content{padding-top:260px}.hero h1{font-size:86px}.hero__content p{font-size:24px}.hero--inner{height:690px}.welcome{padding-top:9px}.features{margin-top:43px;padding-bottom:57px}.welcome h2{font-size:43px}}
@media(max-width:1100px){.desktop-nav{gap:24px;font-size:13px}.brand{width:218px}.button--nav{padding-inline:21px}.wrap{width:calc(100% - 100px)}.menu-columns{gap:68px}.editorial-grid,.contact-layout{gap:45px}.form-grid--three{gap:10px}.features{width:calc(100% - 72px)}.feature{padding-inline:14px}.feature p{font-size:14px}.feature h3{font-size:13px}.footer-bottom{width:calc(100% - 70px);font-size:11px}.footer-bottom nav{gap:15px}.contact-strip{width:calc(100% - 100px)}.contact-strip__item{padding-inline:12px;gap:13px}}
@media(max-width:960px){.desktop-nav{gap:18px;font-size:12px}.brand{width:200px}.brand__script{width:202px;height:74px}.brand__overline{font-size:21px}.header-inner{gap:16px}.button--nav{font-size:12px;padding-inline:17px}.contact-layout{grid-template-columns:1fr 1.4fr;gap:35px}.form-grid--three{grid-template-columns:1fr 1fr}.form-grid--three>.field:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px;text-align:center}.footer-bottom nav{justify-content:center}}
@media(max-width:900px){.desktop-nav{display:none}.header-inner{width:calc(100% - 48px);padding-top:20px}.brand{width:176px}.brand__script{width:176px;height:65px}.brand__overline{font-size:18px}.brand__year{font-size:13px}.brand__sprig{height:23px;width:30px}.mobile-controls{display:flex;gap:20px;align-items:center;padding-top:12px}.mobile-book{font-size:14px;letter-spacing:.04em;text-transform:uppercase;padding:11px 17px;border:1px solid #c3a276}.nav-toggle{position:relative;width:42px;height:44px;border:0;background:transparent;padding:10px 7px;display:flex;flex-direction:column;justify-content:space-around;color:inherit;z-index:2}.nav-toggle>span{display:block;width:28px;height:1px;background:currentColor;transition:transform var(--ease),opacity var(--ease)}.nav-toggle[aria-expanded=true]>span:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav-toggle[aria-expanded=true]>span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true]>span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.site-header.is-open{position:fixed;color:var(--ink)}.site-header.is-open .brand,.site-header.is-open .mobile-controls{z-index:2}.mobile-nav{display:flex;position:fixed;inset:0;background:var(--paper);padding:184px 35px 35px;overflow-y:auto;flex-direction:column;align-items:center;gap:10px}.mobile-nav>a{font-size:24px;text-align:center;padding:5px 15px;line-height:1.7}.mobile-nav>a[aria-current]{color:var(--gold-ink)}.mobile-nav .mobile-nav__phone{display:flex;align-items:center;gap:13px;font-size:23px;margin-top:18px;color:var(--gold-ink)}.mobile-nav__phone .icon{width:25px;height:25px}.hero--home{height:780px}.hero__content{padding-top:221px}.hero h1{font-size:62px}.hero__content p{font-size:21px}.hero--inner{height:470px}.hero--inner .hero__image{object-position:center center}.wrap{width:calc(100% - 64px)}.welcome h2{font-size:37px}.features{width:calc(100% - 40px)}.feature{padding-inline:12px}.feature>.icon{width:51px;height:51px}.feature h3{font-size:12px}.feature p{font-size:13px}.contact-strip{width:calc(100% - 45px)}.contact-strip__item{font-size:13px;gap:10px;padding-inline:8px}.contact-strip .smallcaps{font-size:11px}.footer-phone{font-size:26px}.contact-strip__item .icon{width:30px;height:30px}.menu-columns{gap:40px}.page-heading h1{font-size:39px}.page-subtitle{font-size:17px}.editorial-grid{gap:30px}.prose{font-size:17px}.prose h2{font-size:30px}.services{gap:30px 18px}.services h3{font-size:18px}.services p{font-size:15px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.contact-layout{grid-template-columns:1fr;gap:45px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:15px 30px}.contact-detail{margin-bottom:16px}.social-links{margin-left:52px;align-self:start}.directions-note{margin:0 0 0 52px;padding-top:10px;align-self:start}.booking-block{border-top:1px solid var(--line);padding-top:35px;max-width:680px;width:100%;margin:auto}.form-grid--three{grid-template-columns:1fr 1.25fr .7fr;gap:15px}.form-grid--three>.field:last-child{grid-column:auto}.gallery-filters{gap:27px}}
@media(max-width:600px){body{font-size:16px}.wrap{width:calc(100% - 40px)}.header-inner{width:calc(100% - 34px);padding-top:22px;gap:10px}.brand{width:151px}.brand__overline{font-size:16px;letter-spacing:.09em}.brand__script{width:155px;height:60px}.brand__year{font-size:12px;margin-top:-1px}.brand__year>span{width:19px}.brand__sprig{margin-top:3px;width:26px;height:23px}.mobile-controls{gap:10px;padding-top:4px}.mobile-book{font-size:11px;padding:10px 12px}.nav-toggle{width:36px;height:43px;padding-inline:5px}.nav-toggle>span{width:26px}.hero--home{height:760px;height:max(730px,91svh);max-height:870px}.hero--home .hero__image{object-position:50% 50%}.hero__content{padding-top:213px;width:100%;padding-inline:19px}.hero h1{font-size:54px;line-height:1.09;letter-spacing:-.035em}.hero__content .ornament{margin-top:20px;margin-bottom:20px}.ornament--sprig>span{width:67px}.hero__content p{font-size:19px;line-height:1.45;max-width:345px;margin:auto}.hero__content .button{margin-top:27px;min-height:47px;font-size:13px}.wave{height:43px}.hero--inner{height:346px}.hero--inner .hero__image{object-position:49% 50%}.wave--inner{height:63px}.welcome{padding-top:5px}.welcome__sprig{margin-bottom:12px;width:36px;height:27px}.welcome>.eyebrow{font-size:12px;margin-bottom:7px}.welcome h2{font-size:31px;padding-inline:22px;line-height:1.2}.welcome>.ornament{margin:10px 0 15px}.welcome__text{font-size:16px;line-height:1.6;padding-inline:26px;margin-bottom:24px}.desktop-br{display:none}.welcome>.button{font-size:13px;min-height:45px}.features{width:calc(100% - 36px);grid-template-columns:1fr 1fr;gap:30px 0;margin-top:39px;padding-bottom:38px}.feature{padding-inline:14px}.feature>.icon{width:51px;height:51px;margin-bottom:13px}.feature h3{font-size:12px;line-height:1.35;margin-bottom:6px}.feature p{font-size:14px;line-height:1.45;max-width:185px}.feature:not(:last-child)::after{height:94px;top:20px}.feature:nth-child(2)::after{display:none}.contact-strip{grid-template-columns:1fr;width:calc(100% - 44px);padding:13px 0}.contact-strip__item{justify-content:center;text-align:center;font-size:14px;padding:22px 0;gap:18px}.contact-strip__item+.contact-strip__item{border-left:0;border-top:1px solid var(--line)}.contact-strip__item:first-child>div{min-width:200px}.contact-strip .smallcaps{font-size:12px}.contact-strip__item .icon{width:34px;height:34px}.footer-phone{font-size:30px}.footer-mobile{font-size:14px}.footer-bottom{width:calc(100% - 35px);font-size:11px;gap:9px;padding:16px 0 20px}.footer-bottom nav{column-gap:17px;row-gap:8px;line-height:1.8}.page-heading{padding:8px 0 29px}.page-heading h1{font-size:32px;line-height:1.22;letter-spacing:0}.page-heading>.ornament{margin:9px 0 9px}.page-subtitle{font-size:16px;line-height:1.55;max-width:310px;margin:auto}.page-heading>.eyebrow{font-size:12px}.menu-page{width:calc(100% - 46px);padding-bottom:38px}.menu-page .page-heading{padding-top:5px;padding-bottom:24px}.menu-columns{grid-template-columns:1fr;gap:0}.menu-category{margin-bottom:32px}.menu-category h2{font-size:21px;letter-spacing:.04em;margin-bottom:17px}.dish{margin-bottom:21px}.dish dt{font-size:17px;line-height:1.4}.dish dd{font-size:16px;line-height:1.5;max-width:100%}.menu-jump{display:flex;flex-wrap:wrap;justify-content:center;column-gap:17px;row-gap:2px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 0;margin:0 0 28px;font-size:13px;color:var(--gold-ink)}.menu-jump a{padding:6px 0}.menu-note{margin-top:13px;padding:19px 16px 16px}.menu-note p{font-size:16px}.menu-availability{font-size:13px;line-height:1.65;margin-top:15px}.menu-actions{gap:24px;margin-top:17px}.menu-actions .text-link{font-size:13px}.section{padding-bottom:43px}.section>.page-heading{padding-bottom:31px}.editorial-grid,.editorial-grid--history{grid-template-columns:1fr;gap:29px}.editorial-grid>.prose{order:0}.editorial-grid>.editorial-photo{order:1}.prose{font-size:17px;line-height:1.75}.prose h2{font-size:30px;margin-bottom:17px}.prose .button{font-size:13px}.editorial-photo figcaption{font-size:13px}.photo--portrait .photo-frame{aspect-ratio:1.05}.section-heading{margin-top:45px;margin-bottom:28px}.section-heading h2{font-size:29px}.services{grid-template-columns:1fr 1fr;gap:27px 14px}.services>div{padding-inline:3px}.services .icon{width:42px;height:42px}.services h3{font-size:18px;line-height:1.3}.services p{font-size:15px;line-height:1.5}.centered-callout{margin-top:34px}.centered-callout p{font-size:19px;line-height:1.55}.centered-callout .button{font-size:13px}.story-text{margin-top:39px}.story-text h2{font-size:29px}.story-text p:not(.eyebrow){font-size:17px;line-height:1.7;margin-top:19px}.story-text .button{font-size:13px}.gallery-filters{column-gap:21px;row-gap:6px;margin:-6px 0 25px}.gallery-filters button{font-size:14px}.gallery-grid{gap:24px 14px}.gallery-item figcaption{font-size:15px;line-height:1.4;padding-top:8px}.gallery-open{aspect-ratio:3/4}.gallery-zoom{opacity:1;width:26px;height:26px;font-size:23px;line-height:24px;bottom:8px;right:8px}.photo-unavailable{padding:14px;gap:10px;font-size:12px}.photo-unavailable>.icon{width:29px;height:29px}.gallery-note{font-size:13px;margin-top:27px}.lightbox{padding:60px 15px 100px}.lightbox figure>img{max-height:calc(100dvh - 190px)}.lightbox__previous,.lightbox__next{top:auto;bottom:26px}.lightbox__previous{left:calc(50% - 64px)}.lightbox__next{right:calc(50% - 64px)}.lightbox figcaption{font-size:16px}.contact-layout{gap:26px}.contact-details{grid-template-columns:1fr;gap:7px}.contact-detail{gap:17px;margin-bottom:21px}.contact-detail h2{font-size:23px}.contact-detail .icon{width:31px;height:31px}.social-links{margin-left:48px;margin-bottom:11px}.directions-note{margin-left:48px}.booking-block{padding-top:28px}.booking-block>h2{font-size:32px}.form-grid{grid-template-columns:1fr;gap:0}.form-grid--three{grid-template-columns:1fr 1fr;gap:0 15px}.form-grid--three>.field:last-child{grid-column:1/-1}.field{margin-bottom:18px}input:not([type=checkbox]),select,textarea{font-size:16px;min-height:48px}.field>label{font-size:14px}.form-actions{gap:12px;flex-wrap:wrap}.form-actions .button{font-size:13px;min-height:48px;padding-inline:23px}.required-note{font-size:12px}.privacy-check{font-size:13px;line-height:1.6}.form-status{font-size:15px}.directions-card{padding:8px 0 10px}.directions-card h2{font-size:30px}.directions-card address{font-size:20px}.directions-card>.button{font-size:12px;max-width:100%}.legal .prose h2{font-size:24px;margin-top:28px}.legal-review{font-size:14px;padding:15px}.status-page{padding-top:8px;padding-bottom:60px}.status-page h1{font-size:33px}.status-page p{font-size:17px}.status-page .button{font-size:13px}.button-row{gap:12px}.button-row .button{margin-top:22px}}
@media(max-width:360px){.header-inner{width:calc(100% - 28px)}.brand{width:135px}.brand__script{width:138px;height:52px}.brand__overline{font-size:14px}.brand__year{font-size:11px}.mobile-controls{gap:4px}.mobile-book{padding:9px 9px;font-size:10px}.hero h1{font-size:48px}.hero__content{padding-top:208px}.hero__content p{font-size:17px}.hero--home{min-height:708px}.welcome h2{font-size:28px}.feature{padding-inline:9px}.feature h3{font-size:11px}.feature p{font-size:13px}.features{width:calc(100% - 24px)}.gallery-grid{grid-template-columns:1fr}.gallery-open{aspect-ratio:4/4.4}.form-grid--three{grid-template-columns:1fr}.page-heading h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.site-header,.site-footer,.hero,.menu-jump,.menu-actions,.skip-link,.gallery-filters,.mobile-nav{display:none!important}body{background:white;color:#000;font-size:11pt}.wrap{width:100%;max-width:none}.menu-page{padding:0}.page-heading h1{font-size:25pt}.page-heading::before{content:"TRATTORIA CAROTTI · ANCONA";display:block;font-size:12pt;margin-bottom:10pt}.page-heading{padding:0 0 20pt!important}.page-subtitle{font-size:11pt}.menu-columns{gap:30pt;grid-template-columns:1fr 1fr}.menu-category{margin-bottom:16pt}.menu-category h2{font-size:14pt;color:#4b3824}.dish{margin-bottom:9pt}.dish dt,.dish dd{font-size:10pt}.menu-note{margin-top:15pt;padding:12pt}.menu-availability{font-size:9pt}.section{padding:0}.contact-layout{display:block}.booking-block,.social-links{display:none}.contact-details{display:block}.legal-review{border-color:#000}.lightbox{display:none!important}@page{size:A4;margin:16mm}}
/* Approved photography has no baked-in overlay: preserve the original pixels and shade in CSS. */
.hero--home::before{background:linear-gradient(180deg,rgba(25,19,13,.52),rgba(25,19,13,.46) 50%,rgba(25,19,13,.49))}
.desktop-nav{gap:clamp(12px,1.55vw,26px);font-size:clamp(12px,1.28vw,14px)}
.language-switch{display:inline-flex;align-items:center;justify-content:center;gap:1px;flex-shrink:0;border:1px solid rgba(224,194,141,.65);min-height:44px;padding:0 3px;color:#fff;line-height:1;font-size:12px;letter-spacing:.05em}
.language-switch>a{display:inline-flex;align-items:center;justify-content:center;min-width:29px;min-height:42px;position:relative;padding:0 3px}
.language-switch>span{opacity:.55;font-size:11px;margin:0 1px}
.language-switch>a[aria-current]{color:#e0c28d}
.language-switch>a[aria-current]::after{content:"";position:absolute;bottom:8px;height:1px;background:currentColor;left:7px;right:7px}
.language-switch>a:hover{color:#e0c28d}
.language-switch>a:focus-visible{outline-color:#e0c28d;outline-offset:1px}
.page-inner .page-heading h1{overflow-wrap:normal;text-wrap:balance}
@media(max-width:900px){.mobile-controls{gap:12px}.language-switch{min-height:42px}.language-switch>a{min-height:40px;min-width:27px}.language-switch>a[aria-current]::after{bottom:7px}}
@media(max-width:600px){.mobile-controls{gap:7px}.language-switch{font-size:11px;padding-inline:2px;min-height:40px}.language-switch>a{min-width:23px;min-height:38px}.language-switch>a[aria-current]::after{left:5px;right:5px}.mobile-book{padding:10px 9px}.header-inner{gap:8px}.hero h1{overflow-wrap:normal}}
@media(max-width:370px){.mobile-book{display:none}.mobile-controls{gap:10px}}
@media print{.language-switch{display:none!important}}
/* An aspect ratio must not let the historical photograph's old minimum height widen a phone layout. */
.photo--history .photo-frame{min-height:0;max-width:100%}
/* Keep the navigation readable over the approved white ceramic rim. */
.hero--inner::before{background:linear-gradient(180deg,rgba(20,15,10,.64),rgba(20,15,10,.38) 18%,rgba(20,15,10,.04) 44%,transparent 60%)}

/* V5: the story photograph reaches the top behind the transparent navigation,
   just like the food headers. No reserved brown header space on any viewport. */
.hero--history{height:clamp(540px,58vw,820px);padding-top:0}
.hero--history .hero__image{object-position:50% 20%}
.hero--history::before{background:linear-gradient(180deg,rgba(26,20,15,.66),rgba(26,20,15,.26) 24%,transparent 58%)}
@media(max-width:900px){
 .hero--history{height:clamp(370px,62vw,560px)}
 .hero--history .hero__image{object-position:50% 26%}
 .hero--history .wave{height:46px}
}
@media(max-width:600px){.hero--history{height:370px}.hero--history .wave{height:34px}}
/* Preserve the original ornament boxes and the supplied logo's aspect ratio/colors. */
.carotti-mark{object-fit:contain;flex-shrink:0}
.ornament>.carotti-mark{width:23px;height:26px}
.ornament--sprig>.carotti-mark{width:43px;height:36px}
.hero--gnocchi .hero__image{object-position:50% 57%}

@media(max-width:600px){
 .hero--gnocchi .hero__image{object-position:50% 50%}
 
}

/* V4: client-supplied, full-resolution headers. Change framing, not the photos. */
.hero--gnocchi .hero__image{object-position:50% 55%}
.hero--seppie .hero__image{object-position:70% 52%}
/* The menu and gallery share a modestly more right-biased crop. The left
   edge remains covered; an upper crop reveals more of the original backdrop. */
.hero--stoccafisso picture{left:0;right:-12%}
.hero--stoccafisso .hero__image{object-position:32% 46%}
@media(max-width:600px){
 .hero--gnocchi .hero__image{object-position:50% 53%}
 .hero--seppie .hero__image{object-position:72% 50%}
 .hero--stoccafisso picture{left:0;right:-5%}
 .hero--stoccafisso .hero__image{object-position:28% 50%}
 .services{grid-template-columns:minmax(0,1fr);gap:30px;max-width:360px}
 .services>div{padding-inline:12px}
}

/* Gallery is in the SAME ordered navigation on desktop and mobile. A compact
   desktop header avoids colliding with the logo at the 901px breakpoint. */
@media(min-width:901px) and (max-width:1100px){
 .header-inner{gap:12px}
 .brand{width:176px}.brand__script{width:176px;height:65px}
 .brand__overline{font-size:18px}.brand__year{font-size:13px}
 .desktop-nav{gap:clamp(9px,1vw,12px);font-size:11px}
 .desktop-nav .button--nav{font-size:11px;padding-inline:13px}
 .desktop-nav .language-switch{font-size:11px;padding-inline:1px}
 .desktop-nav .language-switch>a{min-width:22px}
}
@media(max-width:900px){
 .mobile-controls,.brand{transition:color 160ms ease}
 .mobile-nav{will-change:auto}
 .nav-toggle>span{transition:transform 160ms cubic-bezier(.2,.7,.2,1),opacity 100ms ease}
 .site-header.is-closing{position:fixed;color:var(--ink)}
 .site-header.is-closing .brand,.site-header.is-closing .mobile-controls{z-index:2}
}

/* V6: persistent header + hero. ONLY the hero's SVG curve and photograph animate.
   No document screenshots, root translations, full-screen veils or slide panels. */
@view-transition{navigation:none}
:root{view-transition-name:none;scrollbar-gutter:stable}
body,#main,.site-header,.site-footer,#page-content{view-transition-name:none}
#page-content{display:flow-root;background:var(--paper)}
.hero .wave{animation:none;transform:none;opacity:1;overflow:visible;z-index:4;bottom:-1px;pointer-events:none}
.hero[data-morphing]{min-height:0!important}
.hero picture.hero-picture--previous{pointer-events:none;z-index:-2}
.hero::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--paper);z-index:5;pointer-events:none}
.hero__content{z-index:1}
#site-header{transition:none}
.desktop-nav>a:not(.button){position:relative}
.desktop-nav>a:not(.button)::after{content:"";position:absolute;left:0;right:0;bottom:7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 220ms ease}
.desktop-nav>a[aria-current="page"]::after,.desktop-nav>a:not(.button):hover::after{transform:scaleX(1)}
#site-header a[data-loading]{color:#e0c28d}
#site-header a[data-loading]::after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.hero .wave{animation:none!important}.desktop-nav>a::after{transition:none}}
@media print{#page-content{display:block}}

/* Updated menu and guest information */
.menu-notices{max-width:850px;margin:0 auto 32px;padding:22px 26px;border:1px solid var(--gold);background:var(--cream);text-align:center;font-size:17px;line-height:1.6}.menu-notices p+p{margin-top:12px}.menu-notices a{text-decoration:underline;white-space:nowrap}.dish dt{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.dish-price{flex-shrink:0;white-space:nowrap;font-size:16px}.contact-strip__item:first-child{min-width:0}.contact-strip__item:first-child p span{display:block;max-width:290px}address a:hover{text-decoration:underline}@media(max-width:600px){.menu-notices{padding:18px;font-size:16px}.dish dt{gap:10px}.dish-price{font-size:14px}}@media print{.menu-notices{font-size:10pt;padding:10pt;margin-bottom:15pt}.dish-price{font-size:10pt}.dish{break-inside:avoid}}
