.card img,.hero>img{background:#fbf7ef}
.detail img.detail-photo{width:100%;height:auto;aspect-ratio:4 / 5;object-fit:contain;background:#fff;border:1px solid var(--line)}
.section .catalog-heading{font-size:clamp(1.25rem,3vw,1.5rem);margin-bottom:0}
#product-questions{scroll-margin-top:100px}
@media(min-width:701px){.featured-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.hero>img{height:200px}.hero{padding-block:16px 32px;gap:16px}}

/* r4: clearer navigation, calmer reading rhythm, and one link per product. */
nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:6px}
nav a:hover,.footer-grid a:not(.brand):hover{ text-decoration:underline;text-underline-offset:4px}
#main{scroll-margin-top:100px}
.hero>img{object-fit:contain}
.card-link{display:grid;grid-template-rows:auto auto auto 1fr auto;height:100%;border-radius:10px}
.card img{height:auto;aspect-ratio:4 / 5;object-fit:contain;border:1px solid var(--line);border-radius:10px}
.card .text-link{justify-self:start;align-self:end;color:var(--red)}
.card-link:hover h3{color:var(--red)}
.filters button{min-height:44px}
.back-link{color:var(--red)}
.detail{margin-top:16px}
.detail .large{line-height:1.3}
.detail .actions .button{margin-top:12px}
.label-note{max-width:55ch}
.stockist{min-height:0;padding-block:clamp(48px,8vw,96px)}
.legal{max-width:76ch}
.legal .lead{font-size:1.125rem}
.legal .legal-copy{border-top:1px solid var(--line);margin-top:32px}
.legal p{line-height:1.75}
.footer-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px 40px;align-items:start}
.footer-grid>div{gap:4px 20px}
.footer-grid>div:nth-child(3){display:grid;overflow-wrap:anywhere}
.footer-grid a:not(.brand){display:inline-flex;min-height:44px;align-items:center}
@media(max-width:700px){
 #main{scroll-margin-top:76px}
 #menu{min-height:44px}
 nav a{padding-inline:8px}
 .hero>img{height:clamp(220px,66vw,310px)}
 .hero h1{line-height:1.12}
 .card .eyebrow{font-size:11px;letter-spacing:.1em}
 .card h3{line-height:1.2}
 .footer-grid{grid-template-columns:1fr;gap:8px}
 .footer-grid>div{gap:0 16px}
}

.language-switch{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding-inline:12px;border:1px solid var(--line);border-radius:24px;color:var(--ink);font-size:14px;font-weight:700;white-space:nowrap}
.language-switch:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){
 .header-inner{gap:8px}
 #menu{margin-left:auto;padding-inline:4px;white-space:nowrap}
 .language-switch{padding-inline:10px}
}
@media(max-width:360px){
 .header-inner{gap:5px}
 .header-inner .brand{gap:5px}
 .header-inner .brand img{height:40px;max-width:40px}
 .header-inner .brand span{font-size:13px}
 #menu{padding-inline:2px}
 .language-switch{font-size:13px;padding-inline:7px}
}

.brand-hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center;gap:clamp(22px,4vw,64px);padding-block:clamp(28px,5vw,76px)}
.brand-hero h1{font-size:clamp(2.9rem,5.4vw,5.2rem);line-height:1.03;letter-spacing:-.05em;color:var(--red)}
.brand-hero .brand-intro{margin:20px 0 0;max-width:30ch}
.brand-film{margin:0;min-width:0}
.brand-film video{display:block;width:100%;height:auto;aspect-ratio:800 / 570;object-fit:contain;background:#f1eee3}
.brand-film figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font-size:12px;font-weight:700;letter-spacing:.06em;color:#075f57}
.film-play{min-height:44px;padding:8px 14px;border-radius:999px;border:1px solid #748b81;background:transparent;color:inherit;white-space:nowrap}
.brand-ribbon{background:var(--red);color:#fffdf5;text-align:center;font-weight:700;letter-spacing:.14em;font-size:13px;padding:16px}
.packaging-gallery h2{margin-bottom:16px}
.packaging-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.packaging-card{margin:0;min-width:0}
.packaging-card>div{aspect-ratio:4 / 5;padding:10%;display:grid;place-items:center;background:#dfebe3}
.packaging-card:nth-child(2)>div{background:#f1ded7}
.packaging-card:nth-child(3)>div{background:#f3e7cc}
.packaging-card img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.packaging-card h3{font-size:clamp(1rem,2vw,1.35rem);margin-top:14px}
@media(max-width:700px){
 .brand-hero{grid-template-columns:1fr;gap:20px}
 .brand-hero h1{font-size:clamp(2.6rem,11vw,4rem)}
 .brand-film{grid-row:1}
 .packaging-grid{gap:8px}
 .packaging-card>div{padding:6%}
}

.scan-guide>section{scroll-margin-top:108px;padding-block:18px;border-top:1px solid var(--line)}
.scan-guide h2,.quality-feedback h2{margin-bottom:12px;font-size:clamp(1.25rem,3vw,1.75rem)}
.scan-pending{font-weight:700}
.scan-guide .scan-shortcuts{position:static;display:flex;flex-wrap:wrap;gap:8px;padding:0;box-shadow:none;margin:12px 0}
.scan-guide .scan-shortcuts a{display:inline-flex;align-items:center;min-height:44px;padding:6px 12px;border:1px solid var(--line);border-radius:20px;text-decoration:underline;text-underline-offset:3px}
.quality-feedback{margin-top:18px}
#crab-roe-preview{scroll-margin-top:88px}
@media(max-width:700px){.scan-guide>section,#crab-roe-preview{scroll-margin-top:74px}}

.membership-preview{margin-block:8px 12px}
.membership-preview summary{min-height:44px;width:fit-content;padding-block:10px;color:var(--ink);font-weight:700;cursor:pointer}
.membership-preview summary:focus-visible{outline:3px solid var(--red);outline-offset:3px}

.detail .sku-photo-placeholder{display:grid;place-content:center;justify-items:center;gap:12px;aspect-ratio:4/5;border:1px solid var(--line);border-radius:12px;background:var(--cream)}
.detail .sku-photo-placeholder img{width:min(120px,35vw);height:auto;aspect-ratio:auto;background:transparent}

.stockist-filter{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-block:24px}
.stockist-filter label{font-weight:700}
.stockist-filter select{font:inherit;color:var(--ink);background:var(--cream);border:1px solid #748b81;border-radius:8px;min-height:44px;max-width:100%;padding:6px 10px}
.stockist-filter select:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.stockist-list article{padding-block:20px;border-top:1px solid var(--line)}
.stockist-list h2{font-size:clamp(1.25rem,3vw,1.75rem);margin-bottom:8px}

.catalog-group{margin-block:2rem 3rem}
.catalog-group>h3{margin-bottom:1rem}
.catalog-group .card h4{margin:0;font-size:clamp(1rem,2vw,1.3rem);overflow-wrap:anywhere}
.catalog-meta{margin-block:.5rem .25rem;font-weight:700;font-size:.9rem}
.catalog-placeholder{background:#f0e8da}

.catalog-upcoming{margin-block:.5rem 1rem}
.upcoming-group{margin-block:2rem}
.upcoming-group ul{margin:1rem 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.7rem}
.upcoming-group li{display:grid;gap:.25rem;border:1px solid var(--line);border-radius:8px;padding:.85rem 1rem;overflow-wrap:anywhere}
.upcoming-meta{font-size:.92rem}
