:root { --forest:#103e31; --forest-deep:#082d24; --paper:#f9f5ec; --paper-soft:#fffdf7; --ink:#18392e; --muted:#5d7066; --line:#dddccd; --gold:#ffc941; --terracotta:#b44331; --radius:20px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:94px; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",system-ui,sans-serif; line-height:1.5; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #bd5d13; outline-offset:5px; }
section,article[id] { scroll-margin-top:0; }
.skip-link { position:fixed; top:-100px; left:15px; z-index:20; padding:12px 18px; background:var(--gold); color:var(--forest-deep); }
.skip-link:focus { top:10px; }
.menu-page { width:min(1240px,calc(100% - 48px)); margin:auto; padding:24px 0 32px; }
.masthead { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-bottom:18px; }
.brand { display:inline-flex; align-items:center; gap:12px; text-decoration:none; font-size:1.45rem; font-weight:800; }
.brand img { width:54px; height:54px; object-fit:contain; border-radius:12px; }
.header-pdf { padding:12px 0 12px 16px; font-size:.9rem; font-weight:700; text-decoration:none; }
.header-pdf span { margin-left:8px; }
.menu-nav { position:sticky; top:12px; z-index:10; display:flex; width:fit-content; max-width:100%; gap:5px; margin:0 auto 24px; padding:6px; border:1px solid #315345; border-radius:50px; color:var(--paper-soft); background:var(--forest-deep); box-shadow:0 8px 24px #082d241c; }
.menu-nav a { display:flex; align-items:center; justify-content:center; gap:5px; min-height:44px; padding:10px 22px; border-radius:30px; font-size:.92rem; font-weight:700; text-decoration:none; white-space:nowrap; transition:background .2s,color .2s; }
.menu-nav a:hover,.menu-nav a[aria-current] { background:var(--gold); color:var(--forest-deep); }
.menu-nav a span { font-size:.7rem; }
.hero { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border-radius:var(--radius); background:var(--forest-deep); color:var(--paper-soft); }
.hero-copy { padding:clamp(28px,4vw,58px); align-self:center; }
.hero-brandmark { display:flex; align-items:center; gap:13px; margin-bottom:26px; font-weight:800; font-size:1.12rem; }
.hero-brandmark img { width:66px; height:66px; border:2px solid var(--gold); border-radius:14px; }
.hero-brandmark small { display:block; color:#dfd6b7; font-size:.73rem; font-weight:500; }
.kicker,.special-kicker { margin:0 0 15px; color:#995022; font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.hero .kicker,.drinks-intro .kicker,.review-copy .kicker { color:var(--gold); }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:"DM Serif Display",Georgia,serif; font-weight:400; }
h1 { margin-bottom:22px; font-size:clamp(3.2rem,5.5vw,5.3rem); line-height:1.08; }
h1 em,h2 em { color:var(--gold); font-style:italic; }
.hero-lede { max-width:350px; margin:0 0 24px; color:#e8e7d6; font-size:1.05rem; line-height:1.65; }
.hero-rule { width:64px; height:2px; margin-bottom:26px; background:var(--gold); }
.hero-photo { position:relative; min-width:0; min-height:500px; }
.hero-photo img { width:100%; height:100%; object-fit:cover; }
.hero-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#082d243d,transparent 35%); pointer-events:none; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:18px; min-height:48px; padding:13px 21px; border-radius:8px; font-size:.95rem; font-weight:800; text-decoration:none; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-gold { color:var(--forest-deep); background:var(--gold); }
.button-gold:hover { background:#ffdb73; }
.hero-drinks-link { display:inline-block; padding:12px 0; color:var(--paper-soft); font-size:.9rem; text-underline-offset:5px; }
.photo-rail { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:18px 0 48px; }
.photo-rail figure { position:relative; min-width:0; margin:0; overflow:hidden; border-radius:14px; background:var(--forest-deep); }
.photo-rail img { width:100%; aspect-ratio:4 / 3; object-fit:cover; }
.photo-rail figcaption { position:absolute; inset:auto 0 0; padding:35px 18px 15px; color:white; background:linear-gradient(transparent,#08231bea); font-size:1rem; font-weight:700; }
.photo-rail figcaption span { margin-right:10px; color:var(--gold); font-size:.75rem; }
.menu-board { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:36px 40px; padding:36px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper-soft); }
.board-intro { grid-column:1 / -1; display:grid; grid-template-columns:.55fr 1.25fr 1fr; align-items:center; gap:28px; padding-bottom:30px; border-bottom:1px solid var(--line); }
.halal-tag { position:relative; isolation:isolate; display:inline-flex; align-items:center; justify-content:center; overflow:visible; margin-left:5px; padding:4px 7px; border:1px solid var(--gold); border-radius:999px; color:var(--paper-soft); background:var(--forest); box-shadow:0 0 0 2px rgba(255,201,65,.16),0 0 10px rgba(255,201,65,.3); font-size:.58rem; font-weight:900; letter-spacing:.04em; line-height:1; text-align:center; text-transform:uppercase; vertical-align:middle; white-space:nowrap; }
.halal-tag::before { content:""; position:absolute; inset:-3px; z-index:-1; border:1px solid rgba(255,205,76,.85); border-radius:inherit; box-shadow:0 0 9px rgba(255,201,65,.45); animation:halal-ring 2.6s ease-out infinite; pointer-events:none; }
.halal-tag::after { content:"✦"; position:absolute; top:-7px; right:-4px; z-index:1; color:#ffe18a; font-size:.9em; line-height:1; text-shadow:0 0 5px #ffc941,0 0 11px #ffb700; transform-origin:center; animation:halal-spark 1.8s ease-in-out infinite; pointer-events:none; }
@keyframes halal-ring { 0% { transform:scale(.94); opacity:0; } 24% { opacity:.85; } 100% { transform:scale(1.12); opacity:0; } }
@keyframes halal-spark { 0%,100% { transform:rotate(0) scale(.7); opacity:.55; } 50% { transform:rotate(90deg) scale(1.2); opacity:1; } }
.board-intro .kicker { margin-bottom:0; }
.board-intro h2 { margin:0; font-size:clamp(2.5rem,4vw,3.8rem); line-height:1.1; }
.board-intro h2 em { color:var(--terracotta); }
.board-intro > p:last-child { margin:0; color:var(--muted); }
.menu-group,.rice-gallery { min-width:0; }
.group-heading,.gallery-heading { display:flex; align-items:center; gap:13px; margin-bottom:12px; }
.group-number { color:var(--terracotta); font-size:.85rem; font-weight:800; }
.group-heading h3,.gallery-heading h3 { margin:0; font-size:1.55rem; line-height:1.25; font-weight:800; }
.group-heading h3 em { display:block; color:var(--muted); font-size:.95rem; font-weight:500; font-style:normal; }
.group-line { flex:1; height:1px; background:var(--line); }
.menu-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:center; min-height:66px; padding:14px 0; border-bottom:1px solid var(--line); }
.menu-row span { font-size:1rem; font-weight:500; line-height:1.45; }
.menu-row strong.price-on-request { color:#b3261e; background:#f9e9dd; font-size:.92rem; }
.menu-row strong { min-width:58px; max-width:92px; padding:8px 10px; border-radius:7px; color:var(--forest); background:#edf0e5; font-size:1.05rem; font-weight:800; text-align:center; line-height:1.35; }
.group-agoulou .menu-row strong,.group-riz .menu-row strong.price-on-request { color:#b3261e; background:#f9e9dd; font-size:.92rem; }
.menu-row strong { color:#993426; background:#f9e9dd; }
.gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.gallery-grid figure { min-width:0; margin:0; overflow:hidden; border-radius:12px; background:var(--forest-deep); }
.gallery-grid img { width:100%; aspect-ratio:4 / 3; object-fit:cover; }
.gallery-grid figcaption { padding:12px; color:var(--paper-soft); font-size:.83rem; font-weight:600; }
.specials { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.special-card,.extra-list { padding:24px; border-radius:14px; color:var(--paper-soft); background:var(--forest-deep); }
.special-kicker { color:#eee0ba; font-size:.7rem; }
.special-card h3 { margin-bottom:14px; font-size:1.4rem; line-height:1.3; }
.special-card strong,.extra-list > strong { color:var(--gold); font-size:1.8rem; }
.special-extra { background:#a73728; }
.special-card p { margin:0; }
.extra-list > span { display:block; margin-bottom:10px; font-size:1.25rem; font-weight:700; line-height:1.3; }
.extra-list p { margin:12px 0 0; font-size:.9rem; color:#e8e7d6; }
.drinks-board { margin-top:48px; overflow:hidden; border:1px solid #527443; border-radius:var(--radius); background:#072e24; color:var(--paper-soft); }
.drinks-intro { position:relative; padding:52px 44px; min-height:370px; isolation:isolate; background:url("assets/images/web/drinks-marketing-background.webp") center 8% / cover no-repeat; }
.drinks-intro::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#05291df5 12%,#062d23da 43%,#052c2320 100%); }
.drinks-hero-logo { position:absolute; right:36px; top:30px; width:106px; border:3px solid var(--gold); border-radius:18px; overflow:hidden; box-shadow:0 8px 24px #0005; }
.drinks-hero-logo img { width:100%; }
.drinks-intro h2 { margin-bottom:18px; line-height:1; }
.drinks-intro h2 span { display:block; padding-bottom:8px; font-size:2rem; }
.drinks-intro h2 em { display:block; color:var(--gold); font-family:Impact,"Arial Black",sans-serif; font-size:clamp(3.6rem,7vw,6.6rem); letter-spacing:.025em; font-style:normal; text-transform:uppercase; text-shadow:3px 3px #8e461b; }
.drinks-intro > p:not(.kicker) { color:#fff8e3; margin-bottom:22px; font-size:1rem; }
.drinks-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:24px; padding:28px; }
.drink-group { min-width:0; overflow:hidden; border:1px solid #48704e; border-radius:16px; background:#0d382a; }
.drink-juice { grid-column:1; grid-row:1; border-color:#bf9b40; }
.drink-soft { grid-column:2; grid-row:1 / span 3; }
.drink-alcohol { grid-column:1; grid-row:2; }
.drink-punch { grid-column:1; grid-row:3; }
.drink-heading { display:flex; align-items:center; gap:12px; padding:24px 24px 15px; }
.drink-mark { display:grid; flex-shrink:0; place-items:center; width:34px; height:34px; border:1px solid #bb9f52; border-radius:50%; color:var(--gold); font-size:.75rem; font-weight:800; }
.drink-heading h3 { margin:0; font-size:1.55rem; line-height:1.25; }
.drink-format { margin:0 24px 12px; padding:10px 12px; border:1px solid #897539; border-radius:8px; color:#ffe7a1; background:#ffd2480d; font-size:.9rem; line-height:1.5; }
.drink-list { padding:0 24px 16px; }
.drink-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:15px; padding:13px 0; border-bottom:1px solid #41614e; font-size:1.02rem; line-height:1.5; }
.drink-row:last-child { border-bottom:0; }
.drink-row strong { color:var(--gold); font-size:1.1rem; font-weight:800; white-space:nowrap; }
.drink-row small { display:block; margin-top:3px; color:#dfdfc7; font-size:.87rem; }
.drink-photo { width:100%; background-image:url("assets/images/web/drinks-marketing-background.webp"); background-repeat:no-repeat; border-top:1px solid #527443; }
.drink-photo-soft { aspect-ratio:2.89; background-size:222.22% auto; background-position:7.3% 93.6%; }
.drink-photo-alcohol { aspect-ratio:4.68; background-size:232.56% auto; background-position:93% 56.3%; }
.drink-photo-juice { aspect-ratio:1.55; background-size:454.55% auto; background-position:66.7% 95%; }
.drink-photo-punch { aspect-ratio:2.1; background-size:526.32% auto; background-position:95% 96%; }
.drinks-note { margin:0; padding:0 28px 26px; color:#e5dcc0; font-size:.86rem; text-align:center; }
.drinks-note span { margin:0 8px; color:var(--gold); }
.review-section { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:40px; margin-top:36px; border-radius:var(--radius); color:var(--paper-soft); background:var(--forest-deep); }
.review-copy h2 { margin-bottom:14px; font-size:2.8rem; line-height:1.1; }
.review-copy p:not(.kicker) { color:#e4e3cb; }
.qr-pair { display:flex; gap:28px; padding:16px; }
.qr-link { display:flex; flex-direction:column; align-items:center; gap:9px; text-decoration:none; font-size:.76rem; font-weight:700; white-space:nowrap; }
.qr-link img { width:80px; height:80px; background:white; border-radius:4px; }
.footer { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:32px 0 0; color:var(--muted); font-size:.86rem; }
.footer p { margin:0; }
.footer-address { color:var(--forest); font-weight:700; line-height:1.35; text-underline-offset:4px; }
.footer-address small { color:var(--muted); font-size:.76rem; font-weight:600; }
.footer-phone { color:var(--forest); font-weight:800; white-space:nowrap; text-underline-offset:4px; }
.footer-hours { color:var(--forest); line-height:1.35; white-space:nowrap; }
.footer-hours strong { color:var(--forest); }
.footer-hours small { color:var(--muted); font-size:.76rem; font-weight:700; }
.footer > a:last-child { padding:12px 0; font-weight:700; text-underline-offset:4px; }
.footer-brand { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--forest); font-size:1.1rem; font-weight:800; }
.footer-brand img { width:48px; height:48px; object-fit:contain; border-radius:9px; }
.footer-brand small { display:block; color:var(--muted); font-size:.76rem; font-weight:500; }
.is-ready [data-reveal] { transition:opacity .45s,transform .45s; }
.is-ready [data-reveal].is-pending { opacity:0; transform:translateY(14px); }
@media (max-width:900px) {
  .menu-page { width:calc(100% - 32px); }
  .hero-copy { padding:30px; }
  h1 { font-size:3.8rem; }
  .hero-photo { min-height:460px; }
  .board-intro { grid-template-columns:1fr 1fr; }
  .board-intro .kicker { grid-column:1 / -1; }
  .menu-board { padding:28px; column-gap:28px; }
  .specials { grid-template-columns:1fr; }
  .drinks-grid { gap:16px; padding:20px; }
  .drink-heading { padding:20px 18px 14px; }
  .drink-list { padding:0 18px 15px; }
  .drink-format { margin-right:18px; margin-left:18px; }
  .drink-heading h3 { font-size:1.35rem; }
  .footer { flex-wrap:wrap; }
}
@media (max-width:640px) {
  html { scroll-padding-top:88px; }
  .menu-page { width:calc(100% - 24px); padding-top:12px; }
  .masthead { gap:8px; padding:0 2px 14px; }
  .brand { gap:9px; font-size:1.18rem; }
  .brand img { width:46px; height:46px; border-radius:10px; }
  .header-pdf { font-size:.8rem; }
  .menu-nav { top:8px; width:100%; justify-content:space-between; gap:0; padding:5px; margin-bottom:16px; }
  .menu-nav a { gap:3px; padding:10px 8px; font-size:.78rem; min-height:44px; }
  .menu-nav a span { display:none; }
  .hero { display:flex; flex-direction:column; border-radius:18px; }
  .hero-copy { width:100%; padding:27px 23px 30px; }
  .hero-brandmark { margin-bottom:21px; font-size:1rem; }
  .hero-brandmark img { width:58px; height:58px; }
  .hero .kicker { font-size:.67rem; }
  h1 { font-size:clamp(2.7rem,11.3vw,4rem); margin-bottom:18px; }
  .hero-lede { font-size:1rem; margin-bottom:19px; }
  .hero-rule { display:none; }
  .hero-actions { gap:10px 20px; }
  .button { padding:12px 16px; gap:13px; font-size:.88rem; }
  .hero-drinks-link { font-size:.85rem; }
  .hero-photo { min-height:0; height:235px; }
  .hero-photo img { object-position:center 52%; }
  .photo-rail { gap:9px; margin:12px 0 30px; }
  .photo-rail img { aspect-ratio:1; }
  .photo-rail figcaption { position:static; padding:9px 7px; background:var(--forest-deep); font-size:.7rem; line-height:1.4; }
  .photo-rail figcaption span { display:none; }
  .menu-board { grid-template-columns:minmax(0,1fr); gap:30px; padding:25px 19px; border-radius:18px; }
  .board-intro { display:block; padding-bottom:24px; }
  .board-intro .kicker { margin-bottom:12px; }
  .board-intro h2 { font-size:3rem; margin-bottom:14px; }
  .board-intro > p:last-child { font-size:.95rem; }
  .group-heading h3,.gallery-heading h3 { font-size:1.45rem; }
  .menu-row { gap:12px; padding:15px 0; }
  .menu-row span { font-size:1rem; }
  .menu-row strong.price-on-request { color:#b3261e; background:#f9e9dd; font-size:.92rem; }
.menu-row strong { padding:7px 8px; font-size:1rem; min-width:54px; max-width:78px; }
  .gallery-grid figcaption { font-size:.78rem; padding:10px; }
  .specials { grid-column:1; gap:12px; }
  .special-card,.extra-list { padding:22px; }
  .drinks-board { margin-top:30px; border-radius:18px; }
  .drinks-intro { min-height:380px; padding:100px 24px 28px; background-size:auto 600px; background-position:71% 0; }
  .drinks-intro::before { background:linear-gradient(90deg,#062b23ee,#062b23a6 65%,#062b2360); }
  .drinks-hero-logo { width:74px; top:20px; right:23px; border-radius:12px; }
  .drinks-intro .kicker { position:absolute; top:46px; left:24px; font-size:.78rem; }
  .drinks-intro h2 span { font-size:1.65rem; }
  .drinks-intro h2 em { font-size:clamp(2.85rem,13vw,4.5rem); }
  .drinks-intro > p:not(.kicker) { font-size:1rem; }
  .drinks-grid { display:flex; flex-direction:column; gap:18px; padding:16px 12px 20px; }
  .drink-group { width:100%; }
  .drink-heading { padding:21px 20px 16px; }
  .drink-heading h3 { font-size:1.5rem; }
  .drink-list { padding:0 20px 16px; }
  .drink-row { padding:13px 0; font-size:1rem; }
  .drink-row strong { font-size:1.1rem; }
  .drink-format { margin:0 20px 10px; font-size:.88rem; }
  .drinks-note { padding:0 20px 24px; font-size:.78rem; }
  .review-section { display:block; margin-top:28px; padding:28px 23px; border-radius:18px; }
  .review-copy h2 { font-size:2.2rem; }
  .review-copy .kicker { font-size:.69rem; }
  .qr-pair { justify-content:flex-start; gap:25px; padding:28px 0 0; }
  .qr-link img { width:72px; height:72px; }
  .footer { gap:22px; padding:28px 6px 0; }
  .footer-brand { flex-basis:100%; margin-bottom:10px; }
  .footer > a:last-child { font-size:.8rem; }
}
@media (max-width:350px) {
  .brand { font-size:1rem; }
  .menu-nav a { padding:9px 6px; font-size:.71rem; }
  .hero-copy { padding:24px 19px; }
  .menu-board { padding-left:15px; padding-right:15px; }
  .drink-heading,.drink-list { padding-left:16px; padding-right:16px; }
  .drink-row { gap:10px; }
  .drinks-intro { padding-left:20px; padding-right:20px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none !important; animation:none !important; }
  .is-ready [data-reveal].is-pending { opacity:1; transform:none; }
}

/* Photos réelles et mise en avant de la vidéo verticale */
.photo-rail figure img,.gallery-grid figure img,.juice-gallery img { transition:transform .55s cubic-bezier(.2,.75,.25,1),filter .35s; }
.photo-rail figure:hover img,.gallery-grid figure:hover img,.juice-gallery figure:hover img { transform:scale(1.045); filter:saturate(1.08); }
.photo-rail figure { box-shadow:0 12px 28px #082d2418; }
.gallery-grid img { aspect-ratio:1 / 1; }
.juice-gallery { display:flex; gap:12px; overflow-x:auto; padding:2px 20px 18px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#b58d35 #0d382a; }
.juice-gallery figure { flex:0 0 min(42%,180px); min-width:0; margin:0; overflow:hidden; border:1px solid #5b704b; border-radius:13px; background:#f8f5eb; scroll-snap-align:start; }
.juice-gallery img { width:100%; aspect-ratio:4 / 3; object-fit:cover; }
.juice-gallery figcaption { min-height:40px; padding:9px 10px; color:var(--forest-deep); font-size:.82rem; font-weight:800; line-height:1.25; }
.video-feature { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,350px); justify-content:center; align-items:center; gap:clamp(28px,7vw,90px); margin:44px auto 0; padding:38px clamp(22px,6vw,74px); overflow:hidden; border:1px solid #c6a147; border-radius:var(--radius); color:var(--paper-soft); background:radial-gradient(ellipse at 12% 100%,#a6432b 0,transparent 43%),linear-gradient(125deg,#092d24,#174c38 70%,#28543b); }
.video-copy { max-width:500px; }
.video-copy .kicker { color:var(--gold); }
.video-copy h2 { margin-bottom:17px; font-size:clamp(2.35rem,4vw,3.7rem); line-height:1.08; }
.video-copy p:last-child { max-width:34ch; margin:0; color:#eee9d7; font-size:1.05rem; }
.video-frame { position:relative; width:min(100%,310px); justify-self:center; margin:0; padding:7px; overflow:hidden; border:1px solid #ffc9419e; border-radius:25px; background:#061c17; box-shadow:0 22px 50px #001b155e,0 0 0 5px #ffc94112; }
.video-frame video { display:block; width:100%; aspect-ratio:9 / 16; object-fit:cover; border-radius:19px; background:#061c17; }
.video-frame figcaption { position:absolute; inset:auto 7px 7px; padding:27px 12px 12px; border-radius:0 0 19px 19px; color:white; background:linear-gradient(transparent,#061c17c9); font-size:.75rem; font-weight:700; letter-spacing:.04em; pointer-events:none; }
@media(max-width:640px) {
  .photo-rail { display:flex; gap:12px; overflow-x:auto; margin:12px -2px 28px; padding:0 2px 12px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .photo-rail::-webkit-scrollbar { display:none; }
  .photo-rail figure { flex:0 0 76%; scroll-snap-align:center; border-radius:15px; }
  .photo-rail img { aspect-ratio:1.28 / 1; }
  .photo-rail figcaption { position:absolute; inset:auto 0 0; padding:32px 15px 13px; background:linear-gradient(transparent,#08231bea); font-size:.92rem; }
  .gallery-grid { gap:9px; }
  .gallery-grid img { aspect-ratio:1 / 1; }
  .juice-gallery { gap:10px; padding:2px 16px 16px; margin-right:-1px; }
  .juice-gallery figure { flex-basis:46%; }
  .juice-gallery figcaption { font-size:.8rem; }
  .video-feature { grid-template-columns:1fr; gap:22px; margin-top:28px; padding:28px 20px 24px; border-radius:18px; }
  .video-copy h2 { font-size:2.35rem; }
  .video-copy p:last-child { font-size:.98rem; }
  .video-frame { width:min(72%,290px); }
}
@media(prefers-reduced-motion:reduce) {
  .photo-rail figure img,.gallery-grid figure img,.juice-gallery figure img { transition:none; }
}

.footer-credit { flex-basis:100%; margin:0; padding-top:14px; border-top:1px solid var(--line); color:var(--muted); font-size:.76rem; text-align:center; }
.footer-credit a { color:var(--forest); font-weight:800; text-decoration-thickness:1px; text-underline-offset:3px; }
.footer-credit a:hover { color:var(--terracotta); }
