/* Common restaurant portal. Mobile is the default; venue pages keep their brands. */
.common-home{--bg:oklch(100% 0 0);--surface:oklch(97% 0 0);--fg:oklch(23% .003 80);--muted:oklch(47% 0 0);--border:oklch(87% 0 0);--accent:oklch(63% .258 29);--font-display:Georgia,serif;--gutter:clamp(20px,3.2vw,48px);background:var(--bg);color:var(--fg)}
.common-home *, .common-home *::before,.common-home *::after{box-sizing:border-box}
.common-home h1,.common-home h2,.common-home h3{font-family:var(--font-display)!important;text-wrap:balance}
.common-home .container{width:100%;max-width:1240px;margin-inline:auto;padding-inline:var(--gutter)}
.common-home .topnav,.common-home .pagefoot{--bg:oklch(23% .003 80);--fg:oklch(100% 0 0);--muted:oklch(83% 0 0);--border:oklch(41% 0 0);background:var(--bg);color:var(--fg)}
.common-home .topnav-inner{min-height:76px;padding-block:8px}
.common-home .restaurant-switcher{gap:12px!important}
.common-home .restaurant-choice{color:var(--fg)}
.common-home .mobile-toggle{color:var(--fg);width:44px;min-height:44px}
.common-home .common-intro{padding-block:38px 32px}
.common-home .common-intro .eyebrow{font:12px/1.5 Manrope,'Segoe UI',sans-serif;color:var(--muted);letter-spacing:.08em;margin:0 0 16px}
.common-home .common-intro h1{font-size:clamp(38px,5.5vw,72px);line-height:1.08;letter-spacing:-.035em;margin:0;max-width:15ch}
.common-home .common-intro .lead{font:15px/1.75 Manrope,'Segoe UI',sans-serif;color:var(--muted);max-width:52ch;margin:20px 0 0}
.common-home .restaurant-list{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:48px}
.common-home .restaurant-card{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;border:1px solid var(--border);background:var(--bg)}
.common-home .restaurant-visual{display:block;position:relative;aspect-ratio:3/2;overflow:hidden;min-width:0;background:var(--surface)}
.common-home .restaurant-visual img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.common-home .restaurant-visual:hover img{transform:scale(1.025)}
.common-home .restaurant-body{padding:24px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0}
.common-home .restaurant-logo{height:65px;max-width:145px;width:auto;object-fit:contain;object-position:left center;margin:0 0 20px}
.common-home .restaurant-summary{font:16px/1.65 Manrope,'Segoe UI',sans-serif;color:var(--fg);margin:0 0 8px}
.common-home .restaurant-body .restaurant-location{font:13px/1.6 Manrope,'Segoe UI',sans-serif;color:var(--muted);margin:0 0 24px}
.common-home .restaurant-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:auto}
.common-home .restaurant-actions .btn{min-height:48px;justify-content:center;padding:10px 12px;font-size:13px!important;border-radius:0;white-space:normal;text-align:center;background:var(--fg);border-color:var(--fg);color:var(--bg)}
.common-home .restaurant-actions .btn-secondary{background:var(--bg);color:var(--fg);border-color:var(--border)}
.common-home .restaurant-actions .btn:hover{opacity:.8}
.common-home .restaurant-card.meat .restaurant-actions .btn:first-child{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.common-home .restaurant-phone{font:13px/1.5 Manrope,'Segoe UI',sans-serif;display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:10px;color:var(--muted)}
.common-home .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.common-home .section{padding-block:48px;background:var(--bg);border-top:1px solid var(--border)}
.common-home .section-heading,.common-home .news-heading{margin-bottom:26px}
.common-home .section h2{font-size:clamp(30px,3.5vw,46px);line-height:1.15}
.common-home .dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}
.common-home .dish-card h3{font-size:22px;line-height:1.2}
.common-home .dish-card figure{aspect-ratio:4/3;margin-bottom:14px}
.common-home .dish-card .dish-price{font-size:12px;line-height:1.6}
.common-home .menu-links{display:grid;grid-template-columns:1fr;gap:10px}
.common-home .menu-links a{justify-content:space-between;font-size:14px;min-height:48px}
.common-home .mixed-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.common-home .mixed-photos button,.common-home .mixed-photos button:nth-child(n){grid-column:auto;aspect-ratio:4/3}
.common-home .mixed-photos button:first-child,.common-home .mixed-photos button:last-child{grid-column:1/-1;aspect-ratio:3/2}
.common-home .shared-cards.drinks-cards{grid-template-columns:1fr;gap:28px}
.common-home .drink-card figure{height:auto;aspect-ratio:3/2;margin-bottom:16px}
.common-home .drink-card-title h3{font-size:28px}
.common-home .news-track{gap:16px;min-width:0;scroll-snap-type:x mandatory}
.common-home .news-track>.news-card{flex:0 0 86%;width:86%;min-width:0;scroll-snap-align:start}
.common-home .news-track .photo-frame{height:150px}
.common-home .news-control{width:44px;height:44px;color:var(--fg);border-color:var(--border)}
.common-home .visit-grid{grid-template-columns:1fr;gap:24px}
.common-home .visit-heading{align-items:flex-start;flex-wrap:wrap}
.common-home .visit-heading h3{font-size:30px}
.common-home .visit-cuisine{color:var(--muted)}
.common-home .visit-info{padding:24px}
.common-home .visit-map{height:220px}
.common-home .visit-booking{background:var(--fg);color:var(--bg);border-color:var(--fg);width:100%;min-height:48px;border-radius:0}
.common-home .portal-callback{grid-template-columns:1fr;gap:24px;margin-top:32px;padding-top:32px}
.common-home .portal-callback .callback-fields{grid-template-columns:1fr;gap:0}
.common-home .portal-callback .input{background:var(--surface);color:var(--fg);border-color:var(--border);min-height:54px;border-radius:0;font-size:16px;color-scheme:light}
.common-home .portal-callback select option{background:var(--bg);color:var(--fg)}
.common-home .portal-callback .callback-submit{width:100%;min-height:50px;justify-content:center;border-radius:0}
.common-home .contact-detail .visit-phone{min-height:44px}
.common-home dialog{max-width:calc(100vw - 32px);background:var(--bg);color:var(--fg)}
.common-home dialog .input{color-scheme:light;background:var(--surface);font-size:16px;min-height:48px}
.common-home .pagefoot .row-between{flex-direction:column;align-items:flex-start;gap:20px}
.common-home .footer-links{gap:12px 24px}
.common-home a:focus-visible,.common-home button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
/* Tablets keep venue cards vertical. Desktop gets photo + details in each row. */
@media(min-width:744px){.common-home .common-intro{padding-block:64px 44px}.common-home .restaurant-list{gap:36px;padding-bottom:64px}.common-home .restaurant-card{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.common-home .restaurant-visual{aspect-ratio:auto;min-height:360px}.common-home .restaurant-body{padding:32px}.common-home .restaurant-actions{margin-top:20px}.common-home .restaurant-phone{margin-top:14px}.common-home .section{padding-block:64px}.common-home .shared-cards.drinks-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.common-home .menu-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.common-home .news-track>.news-card{flex-basis:calc((100% - 16px)/2);width:calc((100% - 16px)/2)}.common-home .visit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.common-home .portal-callback{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px}}
@media(min-width:1024px){.common-home .restaurant-body{padding:44px}.common-home .restaurant-visual{min-height:380px}.common-home .restaurant-logo{height:82px;margin-bottom:28px}.common-home .dish-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.common-home .mixed-photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.common-home .mixed-photos button:first-child,.common-home .mixed-photos button:last-child{grid-column:auto;aspect-ratio:4/3}.common-home .news-track>.news-card{flex-basis:calc((100% - 32px)/3);width:calc((100% - 32px)/3)}.common-home .pagefoot .row-between{flex-direction:row;align-items:center}}
@media(prefers-reduced-motion:reduce){.common-home .restaurant-visual img{transition:none}}

/* Restaurant journal: one photographic cover, then two full-width brand chapters. */
.journal-home{--cover-ink:oklch(18% 0 0);--cover-type:oklch(100% 0 0)}
.journal-home .journal-cover{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:530px;height:min(78svh,780px);background:var(--cover-ink);color:var(--cover-type)}
.journal-home .journal-cover::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 10%,color-mix(in srgb,var(--cover-ink) 25%,transparent) 35%,color-mix(in srgb,var(--cover-ink) 94%,transparent) 100%)}
.journal-home .journal-cover-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.journal-home .journal-cover-content{padding-block:54px 30px}
.journal-home .journal-cover .eyebrow{color:var(--cover-type);font:12px/1.5 Manrope,'Segoe UI',sans-serif;letter-spacing:.1em;margin:0 0 18px}
.journal-home .journal-cover h1{font-size:clamp(46px,7.6vw,104px);line-height:1.04;letter-spacing:-.045em;margin:0;max-width:14ch;color:var(--cover-type)}
.journal-home .journal-cover-lead{font:15px/1.6 Manrope,'Segoe UI',sans-serif;margin:20px 0 24px;color:var(--cover-type)}
.journal-home .cover-links{display:flex;flex-wrap:wrap;gap:12px}
.journal-home .cover-links a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 18px;min-height:48px;border:1px solid var(--cover-type);font:14px Manrope,'Segoe UI',sans-serif;color:var(--cover-type)}
.journal-home .cover-links a:hover{background:var(--cover-type);color:var(--cover-ink)}
.journal-home .cover-caption{font:11px/1.5 Manrope,'Segoe UI',sans-serif;margin:26px 0 0;color:color-mix(in srgb,var(--cover-type) 80%,transparent)}
.journal-home .journal-venue{background:var(--bg);color:var(--fg);padding-block:44px;border:0}
.journal-home .journal-venue-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:30px}
.journal-home .journal-venue-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.journal-home .journal-kicker{font:12px/1.6 Manrope,'Segoe UI',sans-serif;letter-spacing:.07em;color:var(--muted);margin:0 0 24px}
.journal-home .journal-logo{height:96px;max-width:190px;width:auto;object-fit:contain;object-position:left center;margin-bottom:28px}
.journal-home .journal-description{font:400 clamp(25px,3.2vw,42px)/1.3 Georgia,serif;letter-spacing:-.015em;margin:0 0 22px;color:var(--fg)}
.journal-home .journal-address{font:14px/1.7 Manrope,'Segoe UI',sans-serif;margin:0 0 20px;color:var(--muted)}
.journal-home .journal-venue-actions{display:flex;gap:24px;flex-wrap:wrap;align-items:center}
.journal-home .journal-venue-actions .btn{background:var(--fg);color:var(--bg);border:1px solid var(--fg);min-height:48px;border-radius:0;padding:12px 18px;font-size:14px!important}
.journal-home .journal-venue-actions .btn:hover{opacity:.8}
.journal-home .journal-call{font:14px Manrope,'Segoe UI',sans-serif;min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}
.journal-home .journal-venue-photo{position:relative;display:block;width:100%;aspect-ratio:4/3;min-width:0;overflow:hidden;background:var(--surface)}
.journal-home .journal-venue-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.journal-home .journal-torro{--bg:oklch(24% .005 20);--fg:oklch(100% 0 0);--muted:oklch(81% 0 0);--border:oklch(47% 0 0);--surface:oklch(29% .005 20)}
.journal-home .journal-torro .journal-description{font-family:Baltica,Georgia,serif}
.journal-home .journal-torro .journal-venue-actions .btn{background:var(--accent);border-color:var(--accent);color:var(--fg)}
.journal-home .journal-torro .journal-logo{height:112px}
.journal-home .journal-torro .journal-venue-photo{aspect-ratio:1}
.journal-home .section{padding-block:54px;border:0}
.journal-home .section-heading{border-top:1px solid var(--border);padding-top:22px;align-items:baseline}
.journal-home .mixed-photos{gap:24px 16px}
.journal-home .mixed-photos button:nth-child(n){aspect-ratio:auto;display:flex;flex-direction:column;gap:10px;overflow:visible;color:var(--muted);text-align:left}
.journal-home .mixed-photos button img{height:auto;aspect-ratio:4/3;width:100%;object-fit:cover}
.journal-home .mixed-photos button:first-child img,.journal-home .mixed-photos button:last-child img{aspect-ratio:3/2}
.journal-home .journal-photo-caption{display:block;font:10px/1.6 Manrope,'Segoe UI',sans-serif;letter-spacing:.07em}
.journal-home .drink-card{padding:0;border:0;background:none;color:var(--fg);text-align:left;cursor:zoom-in}
.journal-home .news-card{padding:0;border:0;background:none;text-align:left;color:var(--fg);font:inherit;cursor:pointer}
.journal-home .news-card h3{font-size:24px;line-height:1.25;margin:12px 0}
.journal-home .news-card p{font-size:14px;line-height:1.7;color:var(--muted)}
.journal-home .journal-read{display:inline-flex;align-items:center;min-height:44px;font:13px Manrope,'Segoe UI',sans-serif;border-bottom:1px solid var(--border)}
.journal-home .journal-news-dialog{width:680px;padding:36px 24px;max-height:90svh;overflow:auto}
.journal-home .journal-news-dialog h2{font-size:clamp(30px,4vw,44px);line-height:1.15;padding-right:20px}
.journal-home .journal-news-dialog>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin-block:24px}
.journal-home .journal-news-dialog>p{line-height:1.7}
.journal-home .journal-news-dialog .close-dialog{font:30px/1 Georgia,serif;min-width:44px;min-height:44px;color:var(--fg)}
.journal-home .news-heading{border-top:1px solid var(--border);padding-top:22px}
@media(min-width:744px){.journal-home .journal-venue{padding-block:64px}.journal-home .journal-venue-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:44px;align-items:center}.journal-home .journal-venue-photo{aspect-ratio:1.2}.journal-home .journal-torro .journal-venue-copy{grid-column:2;grid-row:1}.journal-home .journal-torro .journal-venue-photo{grid-column:1;grid-row:1;aspect-ratio:1.2}.journal-home .journal-cover-content{padding-bottom:54px}.journal-home .section{padding-block:64px}.journal-home .journal-news-dialog{padding:48px}}
@media(min-width:1024px){.journal-home .journal-venue{padding-block:88px}.journal-home .journal-venue-grid{gap:80px}.journal-home .journal-logo{height:115px;max-width:220px}.journal-home .journal-torro .journal-logo{height:145px}.journal-home .mixed-photos{grid-template-columns:repeat(12,minmax(0,1fr));gap:32px 24px}.journal-home .mixed-photos button:nth-child(n){grid-column:span 4}.journal-home .mixed-photos button:first-child{grid-column:span 7}.journal-home .mixed-photos button:nth-child(2){grid-column:span 5}.journal-home .mixed-photos button:nth-child(2) img{aspect-ratio:1.07}.journal-home .mixed-photos button:last-child{grid-column:span 12}.journal-home .mixed-photos button:last-child img{aspect-ratio:2.7}}
