
:root{--bg:#fff;--ink:#202020;--accent:#b21f28;--panel:#f3f3f3;--line:#d6d6d6;--muted:#555;--heading:Georgia,serif;--radius:0px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,select{cursor:pointer}button{background:var(--ink);color:var(--bg);border:1px solid var(--ink);padding:12px 18px;border-radius:var(--radius)}input,select{max-width:100%;width:100%;padding:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:var(--radius)}label{display:block}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,.table-scroll:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3,h4{font-family:var(--heading);line-height:1.12;overflow-wrap:break-word}h1{font-size:clamp(2.5rem,5.8vw,5.6rem);margin:20px 0}h2{font-size:clamp(1.9rem,3.3vw,3.3rem);margin:12px 0 24px}h3{font-size:1.8rem;margin:8px 0 12px}h4{font-size:1.25rem;margin:24px 0 8px}p{margin:0 0 18px}.kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;font-weight:700;color:var(--accent);margin:0 0 10px}.small,small{font-size:.875rem;line-height:1.5;color:var(--muted)}.wrap{width:min(1240px,calc(100% - 64px));margin:auto}.masthead{padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{font-family:var(--heading);font-size:1.5rem;font-weight:bold;text-decoration:none}.nav{display:flex;gap:24px;flex-wrap:wrap;font-size:.9rem}.nav a{text-decoration:none}.hero{padding:44px 0}.hero p:not(.kicker){max-width:68ch}.hero img{width:100%;height:320px;object-fit:cover;display:block}.photo-credit{font-size:.8rem;margin:8px 0;color:var(--muted)}.photo-credit a{color:inherit}.lead{font-size:1.2rem;line-height:1.6}.hero-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}.hero-links a{padding:12px 18px;border:1px solid var(--line);text-decoration:none}.hero-links a:first-child{background:var(--accent);border-color:var(--accent);color:#fff}section{margin:72px 0;min-width:0}.intro{max-width:900px}.intro p{max-width:78ch}.restaurant-grid{display:grid;gap:28px}.restaurant{padding:32px;border:1px solid var(--line);border-radius:var(--radius);min-width:0}.restaurant header{display:flex;gap:24px}.number{color:var(--accent);font-family:var(--heading);font-size:2.5rem;line-height:1}.setting{color:var(--muted)}.facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0;padding:20px;background:var(--panel);border-radius:var(--radius)}.facts div{min-width:0}dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}dd{margin:4px 0 0;overflow-wrap:anywhere}.review-copy{max-width:80ch}.arrival{padding:18px;border-left:3px solid var(--accent);background:var(--panel)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.actions a{font-size:.875rem;padding:9px 12px;text-decoration:none;border:1px solid var(--line);border-radius:var(--radius)}.actions a:hover{border-color:var(--accent);color:var(--accent)}.actions .primary{background:var(--accent);color:#fff;border-color:var(--accent)}.review-note{padding:18px;background:var(--panel);font-size:.95rem;margin:24px 0 0}.review-note p{margin:8px 0}.review-note small{display:block;margin-bottom:12px}.comparison{padding:32px;background:var(--panel)}.table-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);background:var(--bg)}table{width:100%;border-collapse:collapse;font-size:.875rem;min-width:1040px;text-align:left}caption{text-align:left;padding:14px 18px;color:var(--muted)}td,th{padding:16px;vertical-align:top;border-bottom:1px solid var(--line)}thead{background:var(--ink);color:var(--bg)}tbody th{min-width:180px}tbody td{min-width:100px}tbody tr:hover{background:var(--panel)}td a{display:inline-block;margin:3px 0}th small{display:block;color:var(--accent)}.table-search{max-width:550px;margin:20px 0}.table-search input{margin-top:8px}.scroll-hint{font-size:.85rem;color:var(--muted)}.search-status{font-size:.875rem}.map-section{display:grid;grid-template-columns:1fr 1.3fr;border:1px solid var(--line);min-height:430px}.map-info{padding:32px}.map-info select{margin:12px 0 24px}.map-canvas{min-width:0;min-height:430px;background:var(--panel);display:flex;align-items:center;justify-content:center}.map-placeholder{padding:40px;max-width:430px}.map-placeholder strong{display:block;font-family:var(--heading);font-size:2rem}.map-placeholder small{display:block;margin-top:18px}iframe{border:0;width:100%;height:100%;min-height:430px}.practical{padding:36px;background:var(--panel)}.practical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.practical-grid h3{font-size:1.45rem}.faq{max-width:900px}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq summary{font-size:1.1rem;font-weight:600;cursor:pointer}.faq details p{margin:18px 0 0}.restaurant summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:22px}.restaurant summary::-webkit-details-marker{display:none}.expand{margin-left:auto;white-space:nowrap;font-size:.875rem}.restaurant-body{padding-top:16px}.accordion-controls{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.bill{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.bill input,.bill select{margin-top:8px}.bill output{grid-column:1/-1;font-size:1.7rem;color:var(--accent)}footer{padding:40px 0;border-top:1px solid var(--line);margin-top:72px}footer p{max-width:92ch;font-size:.875rem;color:var(--muted)}.skip{position:absolute;left:16px;top:-100px;background:var(--bg);padding:12px;z-index:10}.skip:focus{top:10px}[hidden]{display:none!important}.side-index{display:none}.mini-index{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0}.mini-index a{display:block;border-top:3px solid var(--ink);padding-top:14px;text-decoration:none}.mini-index strong{font-family:var(--heading);display:block;font-size:1.5rem}.mini-index span{font-size:.875rem;color:var(--muted)}
@media(max-width:800px){.wrap{width:calc(100% - 36px)}.masthead{align-items:flex-start;flex-direction:column}.nav{gap:16px}.map-section{grid-template-columns:1fr}.practical-grid{grid-template-columns:1fr}.bill{grid-template-columns:1fr 1fr}.mini-index{grid-template-columns:1fr}.hero img{height:250px}section{margin:48px 0}.restaurant{padding:24px}.comparison,.practical,.map-info{padding:24px}.restaurant header{gap:16px}.expand{white-space:normal}.hero{padding:28px 0}}
@media(max-width:450px){.facts{grid-template-columns:1fr;padding:16px}.restaurant{padding:18px}.comparison,.practical,.map-info{padding:18px}.restaurant summary{gap:12px}.restaurant summary h3{font-size:1.5rem}.number{font-size:2rem}.bill{grid-template-columns:1fr}.map-canvas,iframe{min-height:330px}.hero-links a{font-size:.9rem}.nav{font-size:.875rem}.brand{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{--bg:#fff;--ink:#371d27;--accent:#822447;--panel:#f5edf0;--line:#cdb9c1;--muted:#695760;--heading:Georgia,serif}.wrap{width:min(1100px,calc(100% - 64px))}.masthead{justify-content:center;flex-direction:column;text-align:center;padding:28px}.brand{text-transform:uppercase;letter-spacing:.2em;font:400 1rem Arial}.hero{text-align:center;padding-top:56px}.hero h1{font-weight:400;font-size:clamp(3rem,6vw,6rem);max-width:14ch;margin:22px auto}.hero .lead{margin:0 auto;max-width:54ch}.hero-links{justify-content:center;margin-bottom:40px}.hero img{height:450px}.hero-photo{margin:32px -32px 0}.photo-credit{text-align:right}.practical{background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 0}.practical h2{text-align:center;font-weight:400}.practical>.kicker{text-align:center}.practical-grid{gap:40px}.number{font-style:italic;font-weight:400}.restaurant{padding:48px 0;border:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;column-gap:50px}.restaurant header{grid-column:1/-1;margin-bottom:20px}.restaurant h3{font-weight:400;font-size:3rem}.restaurant .review-copy{grid-column:2;grid-row:2/4}.restaurant .facts{background:transparent;padding:0;grid-template-columns:1fr;margin:0}.restaurant .actions{grid-column:1}.restaurant .review-note{grid-column:1/-1;margin-top:24px}.restaurant:nth-child(even) .facts,.restaurant:nth-child(even) .actions{grid-column:2}.restaurant:nth-child(even) .review-copy{grid-column:1}.section-heading{text-align:center}.comparison{padding:32px;background:var(--panel)}.intro{margin-left:auto;margin-right:auto}.map-section{border:0;border-top:1px solid var(--line)}.faq{margin-left:auto;margin-right:auto}@media(max-width:800px){.hero-photo{margin:24px 0 0}.hero img{height:260px}.restaurant{display:block;padding:30px 0}.restaurant h3{font-size:2.2rem}.restaurant .facts{margin:20px 0}.practical-grid{grid-template-columns:1fr}.masthead{padding:20px 0}}
.restaurant,.restaurant:first-child{display:block}.restaurant-grid{grid-template-columns:1fr}.restaurant header{display:flex;align-items:flex-start;gap:20px}.restaurant .review-copy,.restaurant .facts,.restaurant .actions,.restaurant .review-note{grid-area:auto!important}.restaurant>*{min-width:0}.restaurant h3{overflow-wrap:anywhere}.restaurant .venue-photo{margin:0}.venue-photo img{width:100%;height:340px;object-fit:cover;display:block}.venue-photo figcaption{font-size:.8rem;line-height:1.5;margin-top:8px;color:var(--muted)}.venue-map{display:block;width:100%;height:300px;border:0;background:var(--panel)}.map-caption{font-size:.85rem;line-height:1.6}.policy-list{margin:0}.policy-list>div{padding:12px 0;border-bottom:1px solid var(--line)}.policy-list dt{font-size:.9rem;font-weight:bold}.policy-list dd{margin:5px 0 0;font-size:1rem;line-height:1.65}.venue-policy,.venue-menu,.venue-amenities{margin:0}.venue-policy h4,.venue-menu h4,.venue-amenities h4{font-size:1.2rem;margin:0 0 18px}.source-note,.unverified{font-size:.85rem;line-height:1.65;color:var(--muted)}.menu-items,.access-items{line-height:1.75;padding-left:22px}.menu-items li,.access-items li{margin:10px 0}.menu-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.menu-section{padding:30px;background:var(--panel)}.review-note small{font-size:.85rem}.restaurant .facts{margin:24px 0}.restaurant .review-copy h4{font-size:1.25rem}.restaurant .actions a{font-size:.9rem}.restaurant .number{flex-shrink:0}.restaurant details>summary{font-size:1rem;min-height:48px;cursor:pointer}.restaurant details>summary:focus-visible,[role=tab]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.restaurant [hidden]{display:none!important}.restaurant h5{font-size:1rem}.restaurant .facts dt{font-size:.8rem}.restaurant .facts dd{font-size:1rem}
@media(max-width:800px){.venue-photo img{height:250px}.restaurant header{gap:12px}.menu-preview-grid{grid-template-columns:1fr}.restaurant .actions{gap:8px}.restaurant .venue-map{height:260px}.restaurant .facts{grid-template-columns:1fr}.restaurant h3{font-size:2rem}}
@media print{[role=tablist]{display:none!important}[role=tabpanel][hidden]{display:block!important}.venue-map{display:none}.restaurant details>summary{font-weight:bold}.restaurant{break-inside:auto}}
 .luxe .restaurant{padding:60px 0;border-top:1px solid var(--line)}.luxe .restaurant header{display:block;text-align:center}.luxe .restaurant header .number{display:block;font-size:1.5rem;margin-bottom:12px}.luxe .restaurant h3{font-size:3.4rem;font-weight:400}.luxe .journal-story{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:36px 0}.luxe .journal-story .venue-photo img{height:520px}.luxe .restaurant:nth-child(even) .journal-story .venue-photo{order:2}.luxe .restaurant .facts{display:grid;grid-template-columns:1fr 1fr;background:transparent;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.luxe .dining-service{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:var(--panel);padding:36px}.luxe .dining-service h4{font-weight:400;font-size:1.5rem}.luxe .quiet-map{margin:36px 0}.luxe .quiet-map .venue-map{height:340px}.luxe .conditions{margin:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.luxe .conditions>summary{font-family:Georgia;font-size:1.4rem}.luxe .conditions>div{padding-top:24px}.luxe .restaurant>.actions{justify-content:center}.luxe .restaurant>.review-note{background:transparent;max-width:780px;margin:24px auto}@media(max-width:800px){.luxe .journal-story,.luxe .dining-service{grid-template-columns:1fr;gap:24px}.luxe .journal-story .venue-photo img{height:300px}.luxe .restaurant:nth-child(even) .journal-story .venue-photo{order:0}.luxe .restaurant h3{font-size:2.4rem}.luxe .dining-service{padding:24px}.luxe .restaurant{padding:36px 0}}

.map-info,.map-placeholder{min-width:0}.map-section{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.travel .map-section{grid-template-columns:minmax(0,1fr)}.map-placeholder{max-width:min(430px,100%)}.map-info select{min-width:0;max-width:100%}
.ui-icon{display:inline-block;width:1.15em;height:1.15em;min-width:1.15em;vertical-align:-.2em;margin-right:.45em;flex-shrink:0}.actions a{display:inline-flex;align-items:center;min-height:44px;line-height:1.4}.nav a{display:inline-flex;align-items:center;min-height:44px}.actions .primary:hover,.actions .primary:focus-visible{color:#fff;background:var(--accent);filter:brightness(.88)}.night .actions .primary:hover,.night .actions .primary:focus-visible{color:#111}.actions a:hover:not(.primary){background:var(--panel)}.seafood .fish-arrival .actions a:hover{background:#243f57;color:#fff}.kicker{font-size:.875rem;letter-spacing:.1em}.restaurant .facts dt{font-size:.875rem}.source-note,.unverified,.map-caption,.venue-photo figcaption,.restaurant .review-note small{font-size:.875rem}.review-copy{line-height:1.8}.review-copy p{max-width:70ch}.venue-map{min-height:0!important}.restaurant section{margin-top:0;margin-bottom:0}.restaurant h4{line-height:1.35}.restaurant summary{align-items:center;justify-content:space-between;gap:16px;min-height:48px}.restaurant summary .ui-icon{margin:0}.restaurant details[open]>summary>.ui-icon{transform:rotate(180deg)}.directory .desk-drawer>summary::after{content:none}.restaurant header{scroll-margin-top:24px}.table-scroll a{min-height:36px;display:inline-flex;align-items:center;line-height:1.5}.table-scroll{scrollbar-color:var(--accent) var(--panel)}.back-to-comparison{display:inline-flex;align-items:center;min-height:44px;margin-top:24px;font-size:.9rem;text-decoration:underline;text-underline-offset:4px}.night .back-to-comparison{border-radius:24px;border:1px solid var(--line);padding:10px 16px;text-decoration:none}.coast .back-to-comparison{margin:0 30px 26px}.luxe .back-to-comparison{display:flex;justify-content:center}.restaurant details>summary:hover{color:var(--accent)}.night .dinner-tabs button:hover{border-color:var(--accent)}.night .dinner-tabs button[aria-selected=true]{font-weight:bold}.night .dinner-tabs .ui-icon{vertical-align:middle}.press .field-columns{grid-template-columns:1fr 1fr}.press .field-columns>.venue-amenities{grid-column:1/-1;max-width:85ch}.press .article-spread{grid-template-columns:1fr 1.15fr}.press .article-spread .review-copy{font-size:1rem}.travel .hero-links{display:flex}.travel .hero h1{max-width:18ch}.coast .coast-cover .venue-photo img{min-height:300px}.bill output{overflow-wrap:anywhere}.comparison table th:first-child{position:sticky;left:0;z-index:1;background:var(--bg)}.comparison thead th:first-child{background:var(--ink)}.comparison th:first-child{box-shadow:2px 0 0 var(--line)}
@media(max-width:1050px){.press .field-columns,.luxe .dining-service{gap:24px}.wrap{width:calc(100% - 40px)}}
@media(max-width:800px){.map-section{grid-template-columns:minmax(0,1fr)}.masthead{gap:10px}.nav{flex-wrap:nowrap;max-width:100%;width:100%;overflow-x:auto;gap:10px;padding:4px 0 10px;scrollbar-width:thin}.nav a{white-space:nowrap;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);font-size:.875rem}.nav a .ui-icon{width:1em;height:1em;min-width:1em}.hero h1{font-size:clamp(2.1rem,8.8vw,3.3rem)}.hero .lead{font-size:1.05rem}.hero{padding-top:22px;padding-bottom:22px}.night .hero{min-height:440px;padding:24px}.night .hero h1{font-size:2.5rem}.luxe .hero{padding-top:24px}.hero-links a{min-height:44px;display:flex;align-items:center}.press .field-columns,.press .article-spread{grid-template-columns:1fr}.press .field-columns>.venue-amenities{grid-column:auto}.travel .travel-chapter{padding:20px 0}.venue-map{height:260px!important}.side-index{font-size:.9rem}.side-index a{min-height:44px}.night .dinner-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.night .dinner-tabs button{min-height:48px;padding:12px 10px;font-size:.875rem}.night .dinner-tabs .ui-icon{margin-right:.3em}.table-scroll{overflow:visible;border:0;background:transparent}.comparison table,.comparison tbody{display:block;width:100%;min-width:0}.comparison caption{display:block;padding:12px 0;font-size:.875rem}.comparison thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.comparison tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:16px 0}.comparison tbody th,.comparison tbody td{position:static!important;display:block;padding:0;min-width:0;width:auto;border:0;box-shadow:none!important}.comparison tbody th{grid-column:1/-1;font-size:1.1rem;border-bottom:1px solid var(--line);padding-bottom:10px}.comparison tbody th small{display:inline;margin-right:8px}.comparison td::before{content:attr(data-label);display:block;font-weight:bold;font-size:.8rem;color:var(--muted);margin-bottom:4px}.comparison td a{min-height:44px;padding:4px 0}.scroll-hint{display:none}.seafood .comparison tbody tr{background:var(--bg)}.seafood .comparison caption{color:#d9e0e8}.comparison,.practical{padding-left:18px;padding-right:18px}.bill{grid-template-columns:1fr 1fr}.restaurant .actions a{font-size:.875rem}.coast .coast-cover .venue-photo img{min-height:0}.coast .restaurant header{padding-bottom:18px}.restaurant summary{white-space:normal}.coast .family-drawer{margin-left:22px;margin-right:22px}.restaurant .venue-policy h4,.restaurant .venue-amenities h4{font-size:1.2rem}}
@media(max-width:370px){.wrap,.night .wrap,.luxe .wrap{width:calc(100% - 24px)}.restaurant .actions a{padding:9px 10px}.night .restaurant,.directory .restaurant{padding:18px}.night .hero h1{font-size:2.15rem}.comparison tbody tr{padding:14px;gap:10px}.bill{grid-template-columns:1fr}.luxe .dining-service,.seafood .catch-board .venue-menu{padding:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{.back-to-comparison{display:none}.ui-icon{color:inherit}}

body.luxe{--bg:#fbfaf7;--ink:#163b42;--accent:#a34229;--panel:#efe8df;--line:#c8b9a6;--muted:#53666a;--heading:Georgia,serif}.luxe .wrap{width:min(1200px,calc(100% - 48px))}.luxe .masthead{align-items:flex-start;flex-direction:row;text-align:left;justify-content:space-between;padding:26px 0;border-bottom:1px solid var(--line)}.luxe .brand{font-size:1rem;letter-spacing:.12em}.luxe .hero{text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding:48px 0}.luxe .hero h1{font-size:clamp(3rem,5.6vw,5.8rem);font-weight:400;margin:20px 0;max-width:14ch}.luxe .hero .lead{margin:0;font-size:1.12rem}.luxe .hero img{height:440px;border-radius:180px 180px 0 0}.luxe .hero-photo{margin:0}.luxe .hero-links{justify-content:flex-start;margin:24px 0}.luxe .fine-preface{max-width:850px;margin:35px 0 50px}.luxe .fine-preface h2{font-size:2.3rem}.luxe .restaurant{border:0;border-top:1px solid var(--line);padding:38px 0}.luxe .restaurant header{display:flex;text-align:left;align-items:center;gap:20px}.luxe .restaurant header .number{margin:0;font-size:1.2rem;border:1px solid var(--line);border-radius:50%;padding:15px}.luxe .restaurant h3{font-weight:400;font-size:2.8rem;margin-top:8px}.luxe .atelier-story{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:42px;align-items:start;margin:28px 0}.luxe .atelier-story .review-copy{font-size:1.05rem;line-height:1.85}.luxe .atelier-story .venue-photo img{height:400px;object-fit:contain;background:var(--panel)}.luxe .restaurant .facts{display:grid;grid-template-columns:repeat(4,1fr);background:transparent;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.luxe .atelier-details{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:28px 0}.luxe .atelier-details>div{background:var(--panel);padding:28px;min-width:0}.luxe .atelier-details h4{font-weight:400;font-size:1.4rem}.luxe .atelier-map{margin:28px 0}.luxe .atelier-map .venue-map{height:300px}.luxe .service-fold{padding:18px 0;border-top:1px solid var(--line)}.luxe .service-fold>summary{font-family:Georgia;font-size:1.25rem}.luxe .service-fold>div{padding-top:20px}.luxe .restaurant>.actions{justify-content:flex-start}.luxe .restaurant>.review-note{max-width:none;margin:22px 0;background:transparent;border-left:3px solid var(--accent)}.luxe .comparison{padding:26px;background:#163b42;color:white}.luxe .comparison .kicker,.luxe .comparison caption,.luxe .comparison .scroll-hint{color:#ead4b6}.luxe .comparison .table-scroll{color:var(--ink)}.luxe .comparison tbody tr{color:var(--ink)}.luxe .back-to-comparison{justify-content:flex-start}.luxe .practical-grid{grid-template-columns:1fr 1fr 1fr}.luxe .practical h2{text-align:left}@media(max-width:900px){.luxe .masthead{flex-direction:column}.luxe .hero,.luxe .atelier-story,.luxe .atelier-details{grid-template-columns:1fr}.luxe .hero img{height:300px;max-width:550px}.luxe .hero{padding:28px 0;gap:24px}.luxe .atelier-story .venue-photo{grid-row:1}.luxe .atelier-story .venue-photo img{height:300px}.luxe .restaurant .facts{grid-template-columns:1fr 1fr}.luxe .practical-grid{grid-template-columns:1fr}.luxe .restaurant h3{font-size:2.15rem}.luxe .atelier-details>div{padding:22px}}


/* Ordinals have a dedicated visual slot, never glued to venue names. */
.comparison tbody th a[href^="#restaurant-"]{display:flex;align-items:baseline;gap:.7rem;line-height:1.55;min-width:0}
.comparison tbody th .table-number{display:inline-block;flex:0 0 2ch;min-width:2ch;margin:0!important;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--muted);font-size:.875em}
.travel .restaurant header .number{display:inline-flex;align-items:center;justify-content:center;min-width:2.4rem;min-height:2.4rem;flex:0 0 auto;padding:.3rem;border:1px solid var(--line);font:600 1rem/1.2 Arial,sans-serif}
.travel .restaurant header{gap:1rem}


body.luxe{--bg:#fff;--ink:#302743;--accent:#7043a2;--panel:#f4effb;--line:#ddd2ed;--muted:#685b76;--heading:Arial,sans-serif;background:#fff;font-family:Arial,sans-serif}
.luxe .wrap{width:min(1240px,calc(100% - 40px))}.luxe .masthead{display:flex;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.luxe .brand{font:800 .95rem Arial;letter-spacing:.05em}.luxe .nav a{font-size:.875rem;padding:10px;text-decoration:none;border:0}.luxe .hero{display:block;text-align:left;padding:40px 0 22px}.luxe .hero h1{font:850 clamp(2.6rem,5.6vw,5rem)/1.05 Arial;letter-spacing:-.055em;max-width:19ch;margin:14px 0}.luxe .hero .lead{font-size:1.05rem;max-width:82ch}.luxe .hero-links{margin:22px 0}.luxe .hero-links a{border:0;border-radius:6px;background:var(--accent);color:white;text-decoration:none}.luxe .fine-preface{max-width:none;margin:24px 0;background:var(--panel);border-radius:12px;padding:28px}.luxe .fine-preface h2{font:750 1.8rem Arial}.luxe .comparison{background:var(--ink);border-radius:12px;padding:28px;color:white}.luxe .comparison .kicker,.luxe .comparison caption,.luxe .comparison .scroll-hint{color:#e5d6ff}.luxe .restaurant{border:1px solid var(--line);border-radius:12px;padding:28px;margin:30px 0;background:#fff}.luxe .restaurant>header{gap:16px;align-items:center}.luxe .restaurant .number{border:0;border-radius:8px;padding:14px;background:var(--panel);font:700 1rem Arial}.luxe .restaurant h3{font:800 2rem Arial;letter-spacing:-.04em}.luxe .restaurant .facts{border:0;background:var(--panel);padding:20px;border-radius:8px;margin:24px 0}.luxe .atelier-story{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:30px}.luxe .atelier-story .venue-photo img{height:350px;object-fit:cover;border-radius:10px}.luxe .atelier-story .review-copy{font-size:1rem}.luxe .atelier-details>div{background:#faf8fd;border:1px solid var(--line);border-radius:8px;padding:24px}.luxe h2{font:750 1.85rem/1.3 Arial}.luxe .atelier-details h4,.luxe h4{font:700 1.12rem/1.4 Arial}.luxe .service-fold>summary{font:650 1rem/1.5 Arial}.luxe .service-fold{border-top:1px solid var(--line)}.luxe .venue-map{border-radius:8px}.luxe .salon-cover{margin:28px 0}.luxe .salon-cover img{width:100%;height:200px;object-fit:cover;border-radius:12px}.luxe .salon-cover figcaption{font-size:.85rem;color:var(--muted)}.luxe .practical{border-radius:12px}.luxe .menu-section{border-radius:12px}.luxe .actions a{border-radius:6px}.luxe footer{margin-top:36px;background:var(--panel);border:0;padding:26px;border-radius:12px}
@media(max-width:900px){.luxe .masthead{display:block}.luxe .brand{display:block;margin-bottom:12px}.luxe .atelier-story{grid-template-columns:1fr}.luxe .restaurant{padding:20px}.luxe .restaurant h3{font-size:1.8rem}.luxe .hero h1{font-size:2.7rem}.luxe .fine-preface{padding:22px}.luxe .comparison{padding:18px}}


/* Relocated cover captions must stay in their own figure, never over another block. */
body .article-cover,body .dinner-cover,body .route-cover,body .directory-cover,body .salon-cover,body .coastal-cover,body .seafood-cover{position:relative;min-width:0}
body .article-cover .photo-credit,body .dinner-cover .photo-credit,body .route-cover .photo-credit,body .directory-cover .photo-credit,body .salon-cover .photo-credit,body .coastal-cover .photo-credit,body .seafood-cover .photo-credit{position:static;inset:auto;display:block;width:auto;max-width:none;background:transparent;color:var(--muted);padding:0;margin:10px 0 0;line-height:1.6;text-align:left;font-size:.875rem}
body .article-cover img,body .dinner-cover img,body .route-cover img,body .directory-cover img,body .salon-cover img,body .coastal-cover img,body .seafood-cover img{display:block;max-width:100%}
/* Prevent inherited generic paragraph widths from leaving unnatural narrow columns. */
.restaurant .actions{gap:10px}
.restaurant .source-note,.restaurant .map-caption{overflow-wrap:anywhere}
.restaurant details>summary{min-height:48px}
@media(max-width:600px){.map-info{padding:20px}.map-placeholder{padding:24px 20px}.map-placeholder strong{font-size:1.7rem}.map-placeholder button{max-width:100%;white-space:normal}.map-canvas{min-height:300px}.comparison h2{font-size:1.5rem}.practical h2{font-size:1.6rem}.restaurant .facts{gap:18px}}

.luxe .comparison caption{background:#fff;color:var(--ink);padding:12px 16px;text-align:left}
.luxe .map-placeholder strong{font-family:Arial,sans-serif;font-size:1.75rem}
