/* Stage 3B — MENU / GALLERY. HOME keeps its existing composition. */
.subpage-intro,.menu-page-body .menu-page,.gallery-page-body .gallery-section{width:min(1280px,calc(100% - 112px))}
.subpage-intro{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:62px;align-items:center;padding-block:24px 58px;border-bottom:1px solid var(--line)}
.subpage-intro .breadcrumb{grid-column:1/-1;margin-bottom:36px;font-size:11px;line-height:1.8;gap:17px}
.intro-copy{min-width:0;padding-block:20px}
.intro-copy .eyebrow{font-size:12px;margin-bottom:24px;letter-spacing:.17em}
.intro-copy h1{font-family:var(--serif);font-size:100px;line-height:1.05;letter-spacing:.015em}
.intro-copy h1>small{display:block;font-family:var(--sans);font-size:13px;line-height:1.9;letter-spacing:.12em;margin-top:19px}
.intro-copy .intro-lead{font-family:var(--serif);font-size:27px;line-height:1.9;letter-spacing:.08em;margin-top:32px}
.intro-copy .intro-description{font-size:16px;line-height:2.1;margin-top:20px;color:var(--muted)}
.intro-copy .text-link{margin-top:24px}
.intro-photo{margin:0;min-width:0;align-self:center}
.intro-photo>img,.cover-open>img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;object-position:66% 45%;border-radius:var(--image-radius)}
.intro-photo figcaption{font-size:13px;color:var(--muted);line-height:1.9;margin-top:14px;letter-spacing:.04em}
.gallery-intro .intro-copy h1{font-size:88px;letter-spacing:.015em;line-height:.99}
.intro-title-word{display:block}
.gallery-intro .intro-copy .intro-lead{font-size:26px;margin-top:25px}
.gallery-intro .intro-copy .intro-description{margin-top:16px}
.gallery-intro .intro-photo img{object-position:69% 45%}
.cover-open{position:relative;display:block;line-height:0}
.cover-expand{position:absolute;right:18px;bottom:18px;width:46px;height:46px;display:grid;place-items:center;line-height:1;border:1px solid #c8c6b7;border-radius:50%;background:var(--paper);font-size:22px;transition:transform .25s}
.cover-open:hover .cover-expand{transform:translate(2px,-2px)}
/* Prices retain the familiar definition-list structure and right alignment. */
.menu-page-body .menu-page{grid-template-columns:220px minmax(0,1fr);column-gap:88px;padding-block:64px 88px}
.menu-page-body .menu-index{top:calc(var(--header-height) + 32px)}
.menu-page-body .menu-index .eyebrow{font-size:11px;margin-bottom:16px}
.menu-page-body .menu-index>a{font-size:15px;min-height:49px;padding-block:11px}
.menu-page-body .menu-index>p{font-size:12px;margin-top:20px}
.menu-page-body .menu-index .menu-index-reserve{font-family:var(--sans);font-size:12px;letter-spacing:.025em;line-height:1.8;gap:12px;padding:15px 13px;margin-top:24px;border:1px solid #8a9382;color:var(--green)}
.menu-index-reserve:hover{background:var(--sand)}
.menu-page-body .menu-category{margin-bottom:65px}
.menu-page-body .menu-category .eyebrow{font-size:12px;margin-bottom:9px;letter-spacing:.13em}
.menu-page-body .menu-category h2{font-size:38px;line-height:1.25;letter-spacing:.025em}
.menu-page-body .category-description{font-size:16px;line-height:2;margin:18px 0 24px;max-width:38em;color:var(--muted)}
.menu-page-body .price-list{border-top:1px solid #a4ac98}
.menu-page-body .price-list>div{grid-template-columns:minmax(0,1fr) auto;padding:25px 0;gap:28px;border-color:#d2d3c5;align-items:start}
.menu-page-body .price-list dt{font-size:19px;line-height:1.9;letter-spacing:.045em}
.menu-page-body .price-list dt small{font-size:15px;line-height:2;margin-top:8px;max-width:36em}
.menu-page-body .price-list dd{font-size:25px;font-variant-numeric:lining-nums tabular-nums;line-height:1.65;letter-spacing:.02em}
.menu-page-body .first-visit{padding:36px;margin-inline:-36px;background:#ebe9dc}
.menu-page-body .price-notes{font-size:13px;line-height:2.1;padding-top:4px}
.menu-page-body .price-notes h3{font-size:20px;margin-bottom:14px}
.menu-page-body .price-notes li{margin-bottom:10px}
.menu-page-body .page-cta,.gallery-page-body .page-cta{padding-block:65px;background:#eceade;border-top:1px solid var(--line)}
.menu-page-body .page-cta h2,.gallery-page-body .page-cta h2{font-size:32px;letter-spacing:.07em}
/* Two editorial opening images, followed by an orderly three-column collection. */
.gallery-page-body .gallery-section{padding-block:50px 90px;scroll-margin-top:0}
.collection-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:26px}
.collection-heading .eyebrow{font-size:12px;margin-bottom:0}
.collection-heading>p:last-child{font-size:15px;line-height:1.9;color:var(--muted)}
.gallery-page-body .gallery-toolbar{border-block:1px solid var(--line);padding-block:12px;gap:20px}
.gallery-page-body .filter-list{gap:9px}
.gallery-page-body .filter-list button{font-size:13px;letter-spacing:.08em;padding:10px 18px;min-height:46px}
.gallery-page-body #gallery-count{font-size:19px}
.gallery-page-body .gallery-note{font-size:13px;margin:20px 0 36px;color:var(--muted)}
.gallery-page-body .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px;align-items:start}
.gallery-page-body .gallery-grid.is-editorial{grid-template-columns:repeat(12,minmax(0,1fr))}
.gallery-page-body .gallery-grid.is-editorial>.gallery-card{grid-column:span 4}
.gallery-page-body .gallery-grid.is-editorial>.gallery-card:first-child{grid-column:span 7}
.gallery-page-body .gallery-grid.is-editorial>.gallery-card:nth-child(2){grid-column:span 5;padding-top:140px}
.gallery-page-body .gallery-image{border-radius:var(--image-radius)}
.gallery-page-body .gallery-image img{aspect-ratio:3/4;object-fit:cover;object-position:50% 35%}
.gallery-page-body .gallery-open .eyebrow{font-size:11px;margin:18px 0 8px;letter-spacing:.13em}
.gallery-page-body .gallery-open h2{font-size:22px;line-height:1.8;letter-spacing:.05em}
.gallery-page-body .gallery-open>p:last-child{font-size:15px;line-height:1.95;margin-top:7px}
.gallery-page-body .gallery-image>span{width:42px;height:42px;right:14px;bottom:14px;font-size:21px}
.gallery-page-body .gallery-grid.is-editorial>.gallery-card:first-child h2{font-size:28px}
.gallery-page-body .gallery-grid.is-editorial>.gallery-card:nth-child(2) h2{font-size:25px}
.gallery-page-body .lightbox h2{font-size:29px}
.gallery-page-body .lightbox #lightbox-description{font-size:16px;line-height:2}
.gallery-page-body .lightbox .small-note{font-size:12px}
@media(min-width:1600px){
 .subpage-intro{padding-block:28px 64px}
 .intro-copy h1{font-size:112px}
 .gallery-intro .intro-copy h1{font-size:98px}
}
@media(max-width:1100px){
 .subpage-intro,.menu-page-body .menu-page,.gallery-page-body .gallery-section{width:calc(100% - 80px)}
 .subpage-intro{column-gap:40px}
 .intro-copy h1{font-size:80px}
 .gallery-intro .intro-copy h1{font-size:70px}
 .intro-copy .intro-lead,.gallery-intro .intro-copy .intro-lead{font-size:24px}
 .intro-copy .intro-description{font-size:16px}
 .menu-page-body .menu-page{grid-template-columns:180px minmax(0,1fr);column-gap:48px}
 .menu-page-body .first-visit{padding:26px;margin-inline:-26px}
 .menu-page-body .menu-index .menu-index-reserve{font-size:11px;padding-inline:10px}
 .gallery-page-body .gallery-grid.is-editorial>.gallery-card:nth-child(2){padding-top:100px}
 .gallery-page-body .filter-list{gap:5px}
 .gallery-page-body .filter-list button{padding-inline:13px}
}
@media(max-width:900px){
 .subpage-intro{grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:30px;padding-bottom:42px}
 .subpage-intro .breadcrumb{margin-bottom:22px}
 .intro-copy h1{font-size:68px}
 .gallery-intro .intro-copy h1{font-size:57px}
 .intro-copy .eyebrow{font-size:10px;letter-spacing:.11em;margin-bottom:18px}
 .intro-copy .intro-lead,.gallery-intro .intro-copy .intro-lead{font-size:22px;margin-top:22px}
 .intro-copy .intro-description{font-size:15px;line-height:2}
 .intro-copy .intro-description br{display:none}
 .intro-photo>img,.cover-open>img{aspect-ratio:4/4.6;object-position:70% 45%}
 .gallery-intro .intro-photo img{object-position:71% 45%}
 .intro-photo figcaption{font-size:12px}
 .menu-page-body .menu-page{grid-template-columns:150px minmax(0,1fr);column-gap:35px;padding-top:48px}
 .menu-page-body .menu-index>a{font-size:13px}
 .menu-page-body .menu-index .menu-index-reserve{font-size:11px;display:block}
 .menu-page-body .price-list dt{font-size:17px}
 .menu-page-body .price-list dt small{font-size:15px}
 .menu-page-body .price-list dd{font-size:23px}
 .menu-page-body .menu-category h2{font-size:32px}
 .menu-page-body .category-description{font-size:15px}
 .gallery-page-body .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 25px}
 .gallery-page-body .gallery-grid.is-editorial>.gallery-card{grid-column:span 6}
 .gallery-page-body .gallery-grid.is-editorial>.gallery-card:first-child{grid-column:span 6}
 .gallery-page-body .gallery-grid.is-editorial>.gallery-card:nth-child(2){grid-column:span 6;padding-top:60px}
 .collection-heading>p:last-child{font-size:14px}
 .gallery-page-body .filter-list{gap:3px}
 .gallery-page-body .filter-list button{font-size:12px;padding-inline:10px}
}
@media(max-width:600px){
 .subpage-intro,.menu-page-body .menu-page,.gallery-page-body .gallery-section{width:calc(100% - 44px)}
 .subpage-intro{grid-template-columns:1fr;gap:0;padding-block:20px 36px}
 .subpage-intro .breadcrumb{grid-column:1;margin-bottom:28px;font-size:10px;gap:15px}
 .intro-copy{padding-block:0}
 .intro-copy .eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:17px}
 .intro-copy h1{font-size:64px}
 .intro-copy h1>small{font-size:12px;margin-top:13px;letter-spacing:.08em}
 .gallery-intro .intro-copy h1{font-size:45px;line-height:1.2;letter-spacing:.01em}
 .intro-title-word{display:inline}
 .intro-copy .intro-lead,.gallery-intro .intro-copy .intro-lead{font-size:24px;line-height:1.8;margin-top:24px}
 .intro-copy .intro-description{font-size:15px;line-height:2;margin-top:16px}
 .intro-copy .text-link{font-size:14px;margin-top:16px}
 .intro-photo{margin-top:28px}
 .intro-photo>img,.cover-open>img{aspect-ratio:4/3;object-position:64% 45%}
 .gallery-intro .intro-photo img{object-position:67% 45%}
 .intro-photo figcaption{font-size:12px;line-height:1.9;margin-top:12px}
 .cover-expand{width:42px;height:42px;right:12px;bottom:12px}
 .menu-page-body .menu-page{grid-template-columns:1fr;gap:36px;padding-block:30px 55px}
 .menu-page-body .menu-index{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
 .menu-page-body .menu-index .eyebrow{font-size:11px;grid-column:1/-1;margin-bottom:8px}
 .menu-page-body .menu-index>a{font-size:13px;min-height:46px;padding:10px 0}
 .menu-page-body .menu-index>p{font-size:12px;grid-column:1/-1;margin-top:16px}
 .menu-page-body .menu-index .menu-index-reserve{grid-column:1/-1;margin-top:20px;padding:15px 16px;font-size:14px;display:flex;justify-content:space-between;align-items:center}
 .menu-page-body .menu-category{margin-bottom:43px}
 .menu-page-body .menu-category .eyebrow{font-size:11px;margin-bottom:9px}
 .menu-page-body .menu-category h2{font-size:31px;letter-spacing:.025em}
 .menu-page-body .category-description{font-size:15px;line-height:2;margin:15px 0 22px}
 .menu-page-body .price-list>div{gap:14px;padding-block:21px}
 .menu-page-body .price-list dt,.menu-page-body .first-visit .price-list dt{font-size:16px;line-height:1.9}
 .menu-page-body .price-list dt small{font-size:14px;line-height:2;margin-top:7px}
 .menu-page-body .price-list dd{font-size:21px;line-height:1.7}
 .menu-page-body .first-visit{padding:24px 16px;margin-inline:-10px}
 .menu-page-body .price-notes{font-size:12px;line-height:2}
 .menu-page-body .price-notes h3{font-size:18px}
 .menu-page-body .page-cta,.gallery-page-body .page-cta{padding-block:50px}
 .menu-page-body .page-cta h2,.gallery-page-body .page-cta h2{font-size:26px;line-height:1.9;letter-spacing:.045em}
 .gallery-page-body .gallery-section{padding-block:32px 55px}
 .collection-heading{display:block;margin-bottom:18px}
 .collection-heading .eyebrow{font-size:11px;margin-bottom:8px}
 .collection-heading>p:last-child{font-size:14px}
 .gallery-page-body .gallery-toolbar{display:block;padding-block:10px}
 .gallery-page-body .filter-list{gap:3px}
 .gallery-page-body .filter-list button{font-size:11px;padding:10px 12px;min-height:46px}
 .gallery-page-body #gallery-count{font-size:16px;margin-top:10px}
 .gallery-page-body .gallery-note{font-size:12px;line-height:2;margin:18px 0 24px}
 .gallery-page-body .gallery-grid,.gallery-page-body .gallery-grid.is-editorial{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}
 .gallery-page-body .gallery-grid.is-editorial>.gallery-card{grid-column:span 1}
 .gallery-page-body .gallery-grid.is-editorial>.gallery-card:first-child{grid-column:span 2}
 .gallery-page-body .gallery-grid.is-editorial>.gallery-card:nth-child(2){grid-column:span 1;padding-top:0}
 .gallery-page-body .gallery-open .eyebrow{font-size:10px;margin:13px 0 6px;letter-spacing:.06em}
 .gallery-page-body .gallery-open h2,.gallery-page-body .gallery-grid.is-editorial>.gallery-card:nth-child(2) h2{font-size:16px;letter-spacing:.025em;line-height:1.8}
 .gallery-page-body .gallery-grid.is-editorial>.gallery-card:first-child h2{font-size:23px}
 .gallery-page-body .gallery-open>p:last-child{font-size:14px;line-height:1.95;margin-top:6px}
 .gallery-page-body .gallery-image>span{width:34px;height:34px;bottom:9px;right:9px;font-size:18px}
 .gallery-page-body .lightbox h2{font-size:24px}
 .gallery-page-body .lightbox #lightbox-description{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.cover-expand{transition:none}.cover-open:hover .cover-expand{transform:none}}
/* Stage 3C — captions remain quiet, with more comfortable small-screen type. */
.subpage-intro .intro-photo figcaption{font-size:13px;line-height:2}
.gallery-page-body .gallery-open .eyebrow{font-size:12px;letter-spacing:.1em}
.gallery-page-body .gallery-open h2,.gallery-page-body .gallery-open>p:last-child{text-wrap:pretty}
@media(max-width:600px){
 .subpage-intro .breadcrumb{font-size:11px}
 .menu-page-body .menu-index>p,.menu-page-body .price-notes{font-size:13px;line-height:2.05}
 .menu-page-body .price-list dt small{font-size:15px;line-height:2}
 .gallery-page-body .gallery-note{font-size:13px;line-height:2}
 .gallery-page-body .gallery-open .eyebrow{font-size:11px;letter-spacing:.055em}
 .gallery-page-body .gallery-open>p:last-child{font-size:15px;line-height:2}
 .gallery-page-body .gallery-grid,.gallery-page-body .gallery-grid.is-editorial{row-gap:34px}
 .gallery-page-body .lightbox .small-note{font-size:13px}
}
