:root {
  --wine: #4b0b0e;
  --wine-deep: #280608;
  --wine-soft: #711b1e;
  --gold: #d89242;
  --gold-pale: #f0c985;
  --paper: #f7eddb;
  --paper-deep: #ead7b7;
  --ink: #2f1a12;
  --muted: #71584b;
  --shadow: 0 18px 48px rgba(27, 6, 4, .18);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); font-family: Georgia, "Times New Roman", serif; background: #ead5af; }
a { color: inherit; }
img { display: block; max-width: 100%; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; background: #fff; padding: .8rem 1rem; border-radius: .5rem; }
.skip-link:focus { top: 1rem; }
.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; }
.eyebrow { margin: 0 0 .7rem; color: var(--gold); font: 700 .73rem/1.2 Arial, sans-serif; letter-spacing: .2em; text-transform: uppercase; }

.home { min-height: 100vh; background: linear-gradient(rgba(43,8,7,.26),rgba(43,8,7,.2)), url("assets/identite-bistrot.jpg") center/cover fixed; }
.home::before { content: ""; position: fixed; inset: 0; pointer-events: none; background: radial-gradient(circle at 30% 10%, transparent 0 15%, rgba(37,4,4,.34) 88%); }
.home-shell { position: relative; width: min(1180px, calc(100% - 32px)); margin: 32px auto; }
.hero { min-height: 620px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; overflow: hidden; border: 1px solid rgba(244,199,122,.5); border-radius: 30px; color: var(--paper); background: linear-gradient(115deg, rgba(40,4,7,.98) 0 52%, rgba(66,10,10,.74) 72%, rgba(66,10,10,.35)), url("assets/identite-bistrot.jpg") center/cover; box-shadow: var(--shadow); }
.hero-copy { position: relative; z-index: 2; padding: clamp(2.2rem, 6vw, 5.8rem); }
.hero h1 { margin: 0; color: var(--gold-pale); font-size: clamp(4rem, 9vw, 8.3rem); font-weight: 400; line-height: .72; letter-spacing: -.06em; text-shadow: 0 4px 18px rgba(0,0,0,.42); }
.hero h1 span { display: block; margin: 0 0 .5rem .3rem; color: #f5d8a1; font: 500 clamp(1.3rem, 3vw, 2.2rem)/1 Arial, sans-serif; letter-spacing: .25em; text-transform: uppercase; }
.intro { max-width: 34rem; margin: 2.3rem 0; color: #f9ead0; font-size: clamp(1.08rem, 2vw, 1.35rem); line-height: 1.55; }
.primary-button { display: inline-flex; align-items: center; gap: 1rem; padding: 1rem 1.35rem; border-radius: 999px; color: #32100a; background: linear-gradient(135deg, #f2cd8e, #d68a36); font: 700 .91rem Arial, sans-serif; text-decoration: none; box-shadow: 0 8px 25px rgba(0,0,0,.28); transition: transform .2s, box-shadow .2s; }
.primary-button:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,0,0,.34); }
.emblem-wrap { align-self: stretch; display: grid; place-items: center; padding: 3rem; }
.emblem { width: min(440px, 100%); aspect-ratio: 1; object-fit: cover; border-radius: 50%; border: 2px solid rgba(239,191,112,.72); box-shadow: 0 0 0 10px rgba(66,10,10,.55), 0 25px 60px rgba(0,0,0,.5); mix-blend-mode: screen; opacity: .82; }
.choice-card { display: grid; grid-template-columns: .85fr 1.15fr; gap: 2.5rem; align-items: center; margin: 30px 0; padding: clamp(1.6rem, 4vw, 3.3rem); border: 1px solid rgba(80,35,14,.17); border-radius: 28px; background: rgba(250,240,222,.96); box-shadow: var(--shadow); }
.choice-card h2, .original-card h2 { margin: 0 0 .8rem; color: var(--wine); font-size: clamp(2rem, 4vw, 3rem); }
.choice-card p:not(.eyebrow), .original-card p:not(.eyebrow) { color: var(--muted); font-size: 1.05rem; line-height: 1.65; }
.choice-actions { display: grid; gap: 1rem; }
.menu-tile { display: flex; align-items: center; gap: 1rem; padding: 1.15rem; border-radius: 18px; border: 1px solid rgba(83,15,16,.13); color: var(--paper); background: linear-gradient(135deg, var(--wine), var(--wine-soft)); text-decoration: none; box-shadow: 0 10px 28px rgba(55,7,8,.16); transition: transform .2s; }
.menu-tile:hover { transform: translateX(4px); }
.menu-tile.secondary { color: var(--wine); background: #fffaf0; }
.menu-tile.wine-tile { background: linear-gradient(135deg, #6d1820, #38080c); }
.menu-tile.drinks-tile { color: #152b38; background: linear-gradient(135deg, #f3ba64, #f3e0a1 52%, #79c8c6); }
.tile-icon { display: grid; flex: 0 0 48px; height: 48px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font: 700 1.1rem Arial, sans-serif; }
.menu-tile strong, .menu-tile small { display: block; font-family: Arial, sans-serif; }
.menu-tile strong { font-size: 1rem; }
.menu-tile small { margin-top: .25rem; opacity: .76; }

.site-footer { position: relative; display: flex; justify-content: space-between; gap: 1rem; width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 1.4rem 0 2.2rem; color: #f5e4c3; font-family: Arial, sans-serif; line-height: 1.55; }
.site-footer p { margin: 0; }
.domain { opacity: .78; }

/* Accueil multilingue */
.multilingual-home { min-height: 100vh; background: radial-gradient(circle at 15% 5%, #fffdf7 0 8%, transparent 28%), radial-gradient(circle at 90% 0, #f5dcd0 0 7%, transparent 27%), linear-gradient(135deg, #e4f1ee, #f6ecde 48%, #efd9c9); }
.multilingual-home::before { display: none; }
.portal-shell { width: min(1180px, calc(100% - 28px)); margin: 22px auto 34px; }
.portal-hero { display: flex; align-items: center; justify-content: center; gap: clamp(1.2rem, 4vw, 3rem); min-height: 250px; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid rgba(77,57,35,.13); border-radius: 28px; background: rgba(255,252,246,.86); box-shadow: 0 18px 48px rgba(62,49,31,.1); }
.portal-emblem { width: clamp(120px, 17vw, 210px); aspect-ratio: 1; object-fit: cover; border-radius: 50%; border: 7px solid #f6ebd8; box-shadow: 0 0 0 1px rgba(93,50,24,.18), 0 13px 32px rgba(69,42,22,.16); }
.portal-heading { max-width: 660px; }
.portal-heading h1 { margin: 0; color: #6a281d; font-size: clamp(3.2rem, 8vw, 6.6rem); font-weight: 400; line-height: .75; letter-spacing: -.065em; }
.portal-heading h1 span { display: block; margin: 0 0 .55rem .25rem; color: #b2763c; font: 700 clamp(.95rem, 2vw, 1.35rem)/1 Arial, sans-serif; letter-spacing: .25em; text-transform: uppercase; }
.portal-heading > p:not(.eyebrow) { margin: 1.5rem 0 0; color: #71584b; font-size: 1.1rem; line-height: 1.55; }
.portal-intro { max-width: 760px; margin: 3.5rem auto 2rem; text-align: center; }
.portal-intro h2 { margin: 0; color: #173f4d; font-size: clamp(2.2rem, 5vw, 4rem); font-weight: 400; letter-spacing: -.04em; }
.portal-intro > p:not(.eyebrow) { margin: .8rem 0 0; color: #6e6960; font: 1rem/1.55 Arial, sans-serif; }
.portal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.35rem; }
.portal-card { --portal-accent: #c87455; overflow: hidden; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid rgba(52,66,58,.13); border-top: 5px solid var(--portal-accent); border-radius: 24px; background: rgba(255,253,248,.92); box-shadow: 0 14px 38px rgba(53,55,43,.09); }
.wine-portal-card { --portal-accent: #a94e59; }
.cocktails-portal-card { --portal-accent: #e09a42; }
.drinks-portal-card { --portal-accent: #5aa9a4; }
.portal-card-title { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; min-height: 108px; margin-bottom: 1rem; }
.portal-card-title .eyebrow { color: var(--portal-accent); margin-bottom: .35rem; }
.portal-card-title h3 { margin: 0; color: #173f4d; font-size: clamp(1.65rem, 3vw, 2.25rem); font-weight: 500; }
.portal-card-title p:not(.eyebrow) { margin: .35rem 0 0; color: #776b61; font: .88rem/1.45 Arial, sans-serif; }
.portal-icon { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 18px; color: #fff; background: var(--portal-accent); box-shadow: 0 9px 20px color-mix(in srgb, var(--portal-accent), transparent 68%); font-size: 1.45rem; }
.language-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.language-choice { display: flex; min-width: 0; align-items: center; gap: .7rem; padding: .82rem; border: 1px solid rgba(28,80,90,.13); border-radius: 15px; background: #f7f7f1; text-decoration: none; }
.language-choice.active { color: #173f4d; background: linear-gradient(135deg, #eef7f4, #fff7e7); box-shadow: 0 6px 18px rgba(39,85,87,.08); transition: transform .2s, box-shadow .2s; }
.language-choice.active:hover { transform: translateY(-2px); box-shadow: 0 10px 23px rgba(39,85,87,.14); }
.language-choice.pending { color: #817c73; cursor: default; opacity: .67; }
.language-choice strong, .language-choice small { display: block; overflow: hidden; font-family: Arial, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.language-choice strong { font-size: .87rem; }
.language-choice small { margin-top: .18rem; font-size: .68rem; opacity: .75; }
.flag-emoji { flex: 0 0 auto; font-size: 1.45rem; line-height: 1; filter: drop-shadow(0 2px 3px rgba(0,0,0,.12)); }
.translation-note { margin: 1.4rem 0 0; color: #756e63; font: italic .82rem/1.5 Arial, sans-serif; text-align: center; }
.portal-footer { color: #5c5349; }

.menu-page { min-height: 100vh; background: radial-gradient(circle at 50% -10%, #fff9ed 0, var(--paper) 45%, var(--paper-deep) 100%); }
.menu-header { position: sticky; top: 0; z-index: 20; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 70px; padding: .65rem max(1rem, calc((100% - 1180px)/2)); border-bottom: 1px solid rgba(226,166,78,.45); color: #f8e8cc; background: rgba(55,5,8,.96); backdrop-filter: blur(12px); box-shadow: 0 5px 20px rgba(41,4,5,.18); }
.back-button, .pdf-button { justify-self: start; padding: .65rem .9rem; border: 1px solid rgba(244,204,138,.4); border-radius: 999px; font: 700 .8rem Arial, sans-serif; text-decoration: none; }
.pdf-button { justify-self: end; }
.mini-brand { color: var(--gold-pale); font-size: 1.75rem; font-weight: 700; letter-spacing: -.04em; text-decoration: none; }
.mini-brand span { margin-right: .35rem; font: 700 .58rem Arial, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.menu-intro { padding: 4.2rem 1rem 1.7rem; text-align: center; }
.menu-intro h1 { margin: 0; color: var(--wine); font-size: clamp(2.8rem, 7vw, 5.6rem); font-weight: 400; letter-spacing: -.05em; }
.menu-intro > p:not(.eyebrow) { color: var(--muted); font-family: Arial, sans-serif; }
.wine-intro { background: radial-gradient(circle at 50% 10%, rgba(142,36,48,.08), transparent 55%); }
.wine-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wine-section { position: relative; overflow: hidden; }
.wine-section::before { content: ""; position: absolute; width: 110px; height: 110px; right: -65px; top: -65px; border: 1px solid rgba(118,23,30,.17); border-radius: 50%; }
.rose-section { border-top: 4px solid #d88988; }
.white-section { border-top: 4px solid #d4b05c; }
.red-section { border-top: 4px solid #71151d; }
.bubbles-section { border-top: 4px solid #d8a64f; }
.spirits-section { border-top: 4px solid #5e331d; }
.search-box { display: flex; align-items: center; gap: .65rem; width: min(520px, 100%); margin: 2rem auto 1.2rem; padding: .9rem 1rem; border: 1px solid rgba(87,17,18,.2); border-radius: 999px; background: rgba(255,255,255,.7); box-shadow: 0 8px 26px rgba(70,27,10,.08); }
.search-box span { color: var(--wine); font: 700 1.3rem Arial, sans-serif; }
.search-box input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font: 1rem Arial, sans-serif; }
.category-nav { display: flex; gap: .55rem; justify-content: center; overflow-x: auto; max-width: 100%; padding: .3rem 1rem .8rem; scrollbar-width: thin; }
.category-nav a { flex: 0 0 auto; padding: .6rem .85rem; border: 1px solid rgba(83,15,16,.2); border-radius: 999px; color: var(--wine); background: rgba(255,255,255,.4); font: 700 .76rem Arial, sans-serif; text-decoration: none; }
.menu-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem; width: min(1120px, calc(100% - 28px)); margin: 0 auto 3rem; align-items: start; }
.menu-section { scroll-margin-top: 95px; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid rgba(95,43,19,.15); border-radius: 22px; background: rgba(255,251,243,.78); box-shadow: 0 12px 35px rgba(68,29,8,.08); }
.menu-section[hidden] { display: none; }
.menu-section h2 { margin: 0 0 1.1rem; padding-bottom: .65rem; border-bottom: 1px solid rgba(182,116,48,.45); color: var(--wine); font-size: clamp(1.55rem, 3vw, 2.1rem); font-weight: 500; }
.menu-section h2 small { font-size: .6em; color: var(--muted); }
.feature-section { color: #faecd3; background: linear-gradient(145deg, rgba(62,7,9,.97), rgba(104,20,22,.95)); }
.feature-section h2, .feature-section .subheading { color: var(--gold-pale); }
.feature-section .dish { border-color: rgba(244,201,135,.18); }
.feature-section .dish p, .feature-section .section-note { color: #e7cfaa; }
.dish { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: start; padding: .82rem 0; border-bottom: 1px dashed rgba(109,66,37,.18); }
.dish:last-child { border-bottom: 0; }
.dish h3 { margin: 0; font-size: 1rem; line-height: 1.35; }
.dish p { margin: .25rem 0 0; color: var(--muted); font: .86rem/1.45 Arial, sans-serif; }
.dish > strong { color: var(--gold); font: 700 .92rem/1.35 Arial, sans-serif; white-space: nowrap; }
.subheading { margin: 1.3rem 0 .25rem; color: var(--wine); font: 700 .76rem Arial, sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.section-note { margin: -.4rem 0 1rem; color: var(--muted); font: italic .9rem/1.45 Georgia, serif; }
.no-results { grid-column: 1/-1; padding: 3rem; text-align: center; color: var(--muted); }
.original-card { display: grid; grid-template-columns: 1fr minmax(220px, 360px); gap: 2rem; align-items: center; width: min(1120px, calc(100% - 28px)); margin: 0 auto 3rem; padding: clamp(1.4rem, 4vw, 3rem); border-radius: 26px; background: #fff9ed; box-shadow: var(--shadow); }
.original-card a { display: block; overflow: hidden; max-height: 340px; border-radius: 14px; box-shadow: 0 12px 30px rgba(37,7,5,.25); }
.original-card img { width: 100%; }
.menu-footer { display: block; width: 100%; padding: 2rem max(1rem, calc((100% - 1120px)/2)); color: #e8d2ac; background: var(--wine-deep); text-align: center; font-size: .82rem; }
.menu-footer p + p { margin-top: .45rem; opacity: .75; }

.drinks-page { background: radial-gradient(circle at 50% 0, #fffdf7, #f1e8d9 68%, #e7d6bb); }
.drinks-header { color: #173849; background: rgba(255,252,244,.96); border-bottom-color: rgba(27,102,123,.18); box-shadow: 0 5px 20px rgba(27,75,91,.09); }
.drinks-header .back-button, .drinks-header .pdf-button { border-color: rgba(24,84,101,.24); }
.drinks-header .mini-brand { color: #b56b2d; }
.drinks-intro { min-height: 430px; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 1.7rem; color: #173849; background: radial-gradient(circle at 16% 18%, rgba(255,255,255,.82) 0 8%, transparent 30%), radial-gradient(circle at 85% 16%, rgba(255,225,210,.72) 0 10%, transparent 34%), linear-gradient(135deg, #dceff0 0%, #f4eadc 48%, #f7dcd0 100%); box-shadow: inset 0 -1px rgba(255,255,255,.72); }
.drinks-intro-copy { margin: 0 auto; padding: 2rem 1rem 0; }
.drinks-intro h1 { color: #173849; font-size: clamp(3.5rem, 8vw, 6.8rem); text-shadow: 0 3px 16px rgba(255,255,255,.72); }
.drinks-intro h1 small { display: block; color: #c97837; font-size: .42em; letter-spacing: .05em; }
.drinks-intro > p, .drinks-intro-copy > p:not(.eyebrow) { color: #486a73 !important; }
.drinks-search { margin-top: 1.35rem; border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.96); box-shadow: 0 12px 32px rgba(0,0,0,.2); }
.drinks-intro .category-nav a { color: #1b596b; border-color: rgba(27,89,107,.22); background: rgba(255,255,255,.8); }
.drinks-content { width: min(1180px, calc(100% - 28px)); margin: 2.2rem auto 3rem; }
.cocktail-section { --section-accent: #d96757; scroll-margin-top: 88px; position: relative; overflow: hidden; margin-bottom: 2rem; padding: clamp(1.35rem, 3.5vw, 2.7rem); border: 1px solid rgba(72,36,18,.13); border-radius: 28px; color: var(--ink); background: rgba(255,252,246,.94); box-shadow: 0 20px 55px rgba(70,35,12,.11); }
.cocktail-section::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, var(--section-accent), color-mix(in srgb, var(--section-accent), #f6ce7a 58%)); }
.mocktail-section { --section-accent: #45a89d; }
.spritz-section { --section-accent: #e9a238; }
.section-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: end; margin-bottom: 1.65rem; }
.section-heading h2 { margin: 0; color: #142d3b; font-size: clamp(2.15rem, 5vw, 3.65rem); font-weight: 400; letter-spacing: -.035em; }
.section-heading .eyebrow { color: var(--section-accent); }
.section-heading > strong { align-self: center; padding: .7rem 1rem; border: 1px solid color-mix(in srgb, var(--section-accent), transparent 55%); border-radius: 999px; color: #16303e; background: color-mix(in srgb, var(--section-accent), white 86%); font: 800 1rem Arial, sans-serif; white-space: nowrap; }
.cocktail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.cocktail-card.dish { position: relative; display: block; overflow: hidden; min-width: 0; padding: 0; border: 1px solid rgba(32,93,108,.14); border-radius: 21px; color: var(--ink); background: linear-gradient(155deg, #ffffff, #f8f2e8); box-shadow: 0 12px 30px rgba(63,82,72,.1); transition: transform .24s ease, box-shadow .24s ease; }
.cocktail-card.dish:hover { transform: translateY(-4px); box-shadow: 0 19px 38px rgba(8,28,39,.21); }
.alcohol-grid .cocktail-card::after, .mocktail-section .cocktail-card::after { position: absolute; z-index: 2; right: .8rem; top: .8rem; padding: .5rem .68rem; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: #112c39; background: rgba(255,244,214,.94); box-shadow: 0 5px 16px rgba(0,0,0,.22); font: 800 .77rem Arial, sans-serif; }
.alcohol-grid .cocktail-card::after { content: "9,90 €"; }
.mocktail-section .cocktail-card::after { content: "7,90 €"; }
.cocktail-card[hidden] { display: none; }
.cocktail-photo { display: none; }
.cocktail-photo::after { content: none; }
.alcohol-grid .cocktail-photo { display: grid; width: 100%; height: auto; aspect-ratio: 1; place-items: center; padding: 2.4rem; border-bottom: 1px solid rgba(32,93,108,.11); background: linear-gradient(155deg, #eef7f4, #fff7e9 62%, #f7dfd7); }
.alcohol-grid .cocktail-photo img { width: auto; max-width: 68%; height: auto; max-height: 72%; object-fit: contain; object-position: center; filter: drop-shadow(0 12px 12px rgba(43,67,65,.16)); }
.mocktail-section .cocktail-photo.mocktail-cutout { display: grid; width: 100%; height: auto; aspect-ratio: 1; place-items: center; padding: 2.4rem; border-bottom: 1px solid rgba(32,93,108,.11); background: linear-gradient(155deg, #e8f5ef, #fff8dc 58%, #e4f1ee); }
.mocktail-section .cocktail-photo.mocktail-cutout img { width: auto; max-width: 68%; height: auto; max-height: 72%; object-fit: contain; object-position: center; filter: drop-shadow(0 12px 12px rgba(43,67,65,.15)); }
.spritz-section .cocktail-photo.spritz-cutout { display: grid; width: 100%; height: auto; aspect-ratio: 1; place-items: center; padding: 2.4rem; border-bottom: 1px solid rgba(32,93,108,.11); background: linear-gradient(155deg, #fff1d9, #f9e5d3 55%, #e7f2ed); }
.spritz-section .cocktail-photo.spritz-cutout img { width: auto; max-width: 68%; height: auto; max-height: 72%; object-fit: contain; object-position: center; filter: drop-shadow(0 12px 12px rgba(77,65,43,.15)); }
.cocktail-photo.alcohol { background-image: url("assets/cocktails-alcool.jpg"); background-size: 300% auto; }
.cocktail-photo.mocktail { background-image: url("assets/cocktails-sans-alcool.jpg"); background-size: 300% auto; }
.cocktail-photo.spritz { background-image: url("assets/spritz-boissons.jpg"); background-size: 300% auto; }
.cocktail-photo.c1 { background-position-x: 0%; }.cocktail-photo.c2 { background-position-x: 50%; }.cocktail-photo.c3 { background-position-x: 100%; }
.cocktail-photo.r1 { background-position-y: 11%; }.cocktail-photo.r2 { background-position-y: 42%; }.cocktail-photo.r3 { background-position-y: 77%; }
.spritz-grid .cocktail-photo.r1 { background-position-y: 11%; }.spritz-grid .cocktail-photo.r2 { background-position-y: 42%; }
.cocktail-copy { min-height: 190px; padding: 1.55rem 1.25rem 1.35rem; border-top: 5px solid var(--section-accent); }
.cocktail-copy h3 { display: flex; justify-content: space-between; gap: .5rem; margin: 0 0 .75rem; color: #174e5f; font-size: 1.42rem; line-height: 1.15; }
.cocktail-copy h3 strong { color: #bd6e2d; font: 700 .83rem Arial, sans-serif; white-space: nowrap; }
.cocktail-copy h3 small { font-size: .7em; }
.cocktail-copy p { margin: 0; color: #5e6e6c; font: .9rem/1.6 Arial, sans-serif; }
.cocktail-copy > small { display: block; margin-top: .55rem; color: #a35d2b; font: italic .75rem Arial, sans-serif; }
.drinks-list-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.4rem; align-items: start; }
.drinks-footer { color: #315b66; background: #e5f0ed; border-top: 1px solid rgba(34,95,108,.14); }

@media (max-width: 800px) {
  .home { background-attachment: scroll; }
  .home-shell { margin: 14px auto; }
  .hero { min-height: auto; grid-template-columns: 1fr; }
  .hero-copy { padding: 3.2rem 1.5rem 1rem; text-align: center; }
  .hero h1 { font-size: clamp(4rem, 20vw, 6.5rem); }
  .intro { margin: 1.7rem auto; }
  .emblem-wrap { padding: 1rem 3rem 3rem; }
  .emblem { width: min(330px, 100%); }
  .choice-card { grid-template-columns: 1fr; gap: 1.2rem; }
  .site-footer { display: block; text-align: center; }
  .domain { margin-top: .7rem !important; }
  .menu-grid { grid-template-columns: 1fr; }
  .wine-grid { grid-template-columns: 1fr; }
  .menu-intro { padding-top: 3rem; }
  .original-card { grid-template-columns: 1fr; }
  .original-card a { max-height: 480px; }
  .portal-grid { grid-template-columns: 1fr; }
  .portal-hero { justify-content: flex-start; }
  .cocktail-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .drinks-list-grid { grid-template-columns: 1fr; }
  .cocktail-copy { min-height: 170px; }
}

@media (max-width: 520px) {
  .menu-header { min-height: 62px; }
  .back-button span { display: none; }
  .mini-brand { font-size: 1.25rem; }
  .mini-brand span { display: none; }
  .category-nav { justify-content: flex-start; }
  .menu-section { border-radius: 17px; }
  .dish { gap: .65rem; }
  .portal-shell { margin-top: 12px; }
  .portal-hero { display: block; text-align: center; }
  .portal-emblem { width: 125px; margin: 0 auto 1.5rem; }
  .portal-heading h1 { font-size: clamp(3.7rem, 19vw, 5.5rem); }
  .portal-intro { margin-top: 2.7rem; }
  .portal-card-title { min-height: auto; }
  .language-grid { grid-template-columns: 1fr; }
  .cocktail-grid { grid-template-columns: 1fr; }
  .cocktail-section { border-radius: 21px; }
  .section-heading { align-items: flex-start; }
  .section-heading > strong { font-size: .82rem; }
  .cocktail-copy { min-height: auto; }
  .alcohol-grid .cocktail-photo,
  .mocktail-section .cocktail-photo.mocktail-cutout,
  .spritz-section .cocktail-photo.spritz-cutout { height: auto; padding: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
