:root {
  color-scheme: light;
  --bg: #faf9f6;
  --paper: #ffffff;
  --ink: #242723;
  --muted: #64685f;
  --line: #dedfd8;
  --accent: #a5352c;
  --accent-ink: #ffffff;
  --lime: #ffffff;
  --shadow: 0 3px 14px rgba(42, 32, 18, .04);
  --control-line: #7f8478;
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --radius-xl: 18px;
  --radius-lg: 14px;
  --radius-md: 8px;
  font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
  background: var(--bg);
  color: var(--ink);
}
* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg); }
body { margin: 0; min-height: 100vh; background: var(--bg); }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
a { color: inherit; text-underline-offset: .2em; }
button, input { font: inherit; }
button, .button-link { touch-action: manipulation; }
:focus-visible { outline: 3px solid #2b64ff; outline-offset: 3px; }
.app-shell { width: min(1120px, calc(100% - 32px)); margin: 0 auto; padding: 22px 0 64px; }
.site-bar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:34px; }
.brand { display:inline-flex; align-items:center; gap:10px; font-weight:900; letter-spacing:-.04em; text-decoration:none; font-size:1.18rem; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--ink); color:var(--lime); font-size:1.05rem; transform:rotate(-7deg); }
.site-note { color:var(--muted); font-size:.86rem; font-weight:700; }
.surface { background:rgba(255,253,247,.9); border:1px solid rgba(112,99,76,.18); box-shadow:var(--shadow); border-radius:var(--radius-xl); }
.eyebrow { margin:0 0 10px; font-size:.78rem; line-height:1.2; text-transform:uppercase; letter-spacing:.13em; font-weight:900; color:#7a3c2d; }
.display-title { margin:0; font-family:"Trebuchet MS", "Segoe UI", sans-serif; font-size:clamp(2.75rem, 5.8vw, 5.5rem); line-height:1.03; letter-spacing:-.055em; max-width:14ch; }
.lede { margin:22px 0 0; max-width:640px; color:#4f4c44; font-size:clamp(1.05rem, 2vw, 1.3rem); line-height:1.6; }
.home-hero, .discovery-hero { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:clamp(32px,5vw,72px); align-items:start; padding:40px 0 52px; border:0; border-radius:0; box-shadow:none; background:transparent; }

.language-grid { list-style:none; padding:0; margin:34px 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; position:relative; z-index:1; }
.language-grid a { display:flex; justify-content:space-between; align-items:center; min-height:68px; padding:16px 18px; border:1px solid var(--line); border-radius:16px; background:#fff; text-decoration:none; font-weight:850; }
.language-grid a::after { content:"→"; color:var(--accent); font-size:1.3rem; }
.trust-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.trust-pill { border:1px solid var(--line); background:rgba(255,255,255,.65); border-radius:999px; padding:8px 11px; color:var(--muted); font-size:.82rem; font-weight:750; }
.search-box { margin-top:30px; max-width:720px; position:relative; z-index:1; }
.search-controls { display:flex; gap:10px; }
.search-box label { display:block; margin-bottom:10px; font-size:.875rem; font-weight:650; }
.search-box input { flex:1; min-width:0; min-height:56px; border:1px solid var(--control-line); border-radius:8px; background:white; padding:0 17px; color:var(--ink); }
.search-box button, .primary-button { min-height:56px; padding:0 22px; border:0; border-radius:8px; background:var(--ink); color:white; font-weight:850; cursor:pointer; box-shadow:none; }

.text-link { display:inline-flex; margin-top:22px; color:var(--muted); font-weight:750; }
.food-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:24px; align-items:start; }
.food-hero { overflow:hidden; }
.food-media { min-height:360px; background:#dfd8c9; position:relative; display:grid; place-items:center; }
.food-media img { width:100%; height:100%; max-height:560px; object-fit:cover; display:block; }
.food-media-placeholder { min-height:360px; width:100%; display:grid; place-items:center; padding:32px; text-align:center; background:
  linear-gradient(135deg, rgba(199,255,74,.55), rgba(255,92,53,.24)),
  repeating-linear-gradient(45deg, transparent 0 18px, rgba(23,23,19,.035) 18px 36px); }
.placeholder-orbit { width:170px; height:170px; border:2px solid rgba(23,23,19,.34); border-radius:50%; display:grid; place-items:center; position:relative; font-size:3.4rem; }
.placeholder-orbit::before,.placeholder-orbit::after { content:""; position:absolute; border-radius:50%; background:var(--ink); }
.placeholder-orbit::before { width:22px; height:22px; top:-12px; left:36px; }
.placeholder-orbit::after { width:12px; height:12px; right:2px; bottom:32px; }
.food-copy { padding:clamp(24px,5vw,48px); }
.food-copy h1 { margin:0; font-size:clamp(2.8rem,7vw,5.7rem); line-height:.91; letter-spacing:-.065em; }
.food-copy .food-description { margin:18px 0 0; color:#545046; font-size:1.08rem; line-height:1.65; max-width:62ch; }
.kind-chip { display:inline-flex; margin-bottom:18px; border-radius:999px; padding:7px 10px; background:var(--lime); font-size:.74rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.vote-card { padding:26px; position:sticky; top:22px; }
.vote-card h2 { margin:0; font-size:clamp(1.65rem,3vw,2.25rem); letter-spacing:-.04em; }
.vote-copy { color:var(--muted); line-height:1.5; }
.vote-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:20px 0; }
.vote-grid button { min-height:58px; border:1px solid var(--line); border-radius:15px; background:#fff; color:var(--ink); font-weight:850; cursor:pointer; padding:10px; }
.vote-grid button[aria-pressed="true"] { background:var(--ink); color:var(--lime); border-color:var(--ink); }
.results-title { margin:24px 0 10px; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; font-weight:900; color:var(--muted); }
.result-list { display:grid; gap:10px; margin:0; }
.result-row { display:grid; grid-template-columns:82px 1fr 44px; align-items:center; gap:10px; }
.result-row dt { font-weight:750; font-size:.88rem; }
.result-row dd { margin:0; display:contents; }
.result-meter { width:100%; height:10px; border:0; border-radius:999px; overflow:hidden; background:#e9e3d6; }
.result-meter::-webkit-progress-bar { background:#e9e3d6; border-radius:999px; }
.result-meter::-webkit-progress-value { background:var(--accent); border-radius:999px; }
.result-meter::-moz-progress-bar { background:var(--accent); border-radius:999px; }
.result-number { text-align:right; font-weight:900; font-variant-numeric:tabular-nums; }
.next-food-section { grid-column:1/-1; padding:28px; margin-top:2px; }
.next-food-section h2 { margin:0 0 16px; font-size:1.45rem; }
.next-food-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.next-food-list a, .next-food-fallback { min-height:88px; display:flex; align-items:center; justify-content:space-between; padding:18px; background:white; border:1px solid var(--line); border-radius:16px; font-weight:850; text-decoration:none; }
.next-food-list a::after, .next-food-fallback::after { content:"→"; color:var(--accent); font-size:1.35rem; }
.next-food-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
.next-food-heading h2 { margin-bottom:0; }
.next-food-gallery-link { display:inline-flex; align-items:center; min-height:44px; color:var(--accent); font-size:.88rem; font-weight:700; }
.next-food-photo-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; list-style:none; padding:0; margin:0; }
.next-food-photo-link { display:block; height:100%; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; background:var(--paper); text-decoration:none; }
.next-food-photo-frame { aspect-ratio:4/3; background:var(--bg); display:grid; place-items:center; overflow:hidden; }
.next-food-photo-frame img { width:100%; height:100%; object-fit:cover; display:block; }
.next-food-photo-caption { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:15px; line-height:1.4; }
.next-food-photo-caption strong { overflow-wrap:anywhere; word-break:keep-all; }
.next-food-photo-caption>span { color:var(--accent); }
.next-food-photo-missing { font-size:.85rem; line-height:1.5; color:var(--muted); text-align:center; padding:12px; }
.next-food-related { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:12px; }
.next-food-related a { display:inline-flex; align-items:center; min-height:44px; font-weight:700; }
.vote-grid button[aria-disabled=true] { cursor:progress; opacity:.7; }
.vote-feedback { min-height:24px; }
.vote-error { border-left:3px solid var(--accent); padding:10px 12px; color:var(--ink); line-height:1.5; }
@media(max-width:700px) {
  .next-food-section { padding:20px; }
  .next-food-photo-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .next-food-photo-caption { padding:11px; font-size:.9rem; }
}
.search-page { padding:clamp(24px,5vw,48px); }
.search-page h1 { margin:0; font-size:clamp(2.4rem,6vw,4.8rem); letter-spacing:-.06em; }
.search-result-list { list-style:none; margin:28px 0 0; padding:0; display:grid; gap:10px; }
.search-result-list a { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:14px; align-items:center; padding:18px 20px; border:1px solid var(--line); border-radius:16px; background:white; text-decoration:none; font-size:1.05rem; font-weight:850; }
.search-result-list a::after { content:"→"; color:var(--ink); }
.search-result-list a > span:first-child { overflow-wrap:anywhere; }
.match-chip { color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.empty-state { margin-top:28px; border:1px dashed #b9ae98; border-radius:16px; padding:24px; color:var(--muted); }
.error-card { max-width:720px; margin:12vh auto 0; padding:40px; }
.error-card h1 { margin:0 0 14px; font-size:clamp(2.4rem,7vw,5rem); letter-spacing:-.06em; }
.error-card p { color:var(--muted); line-height:1.55; }
@media (max-width: 760px) {
  .app-shell { width:min(100% - 20px,1120px); padding-top:12px; }
  .site-note { display:none; }
  .language-grid { grid-template-columns:1fr 1fr; }
  .home-hero, .discovery-hero { grid-template-columns:1fr; gap:36px; padding:24px 8px 36px; }
  .search-controls { flex-direction:column; }
  .search-controls input { flex-basis:auto; width:100%; }
  .search-controls button { width:100%; }
  .food-layout { grid-template-columns:1fr; }
  .vote-card { position:static; }
  .food-media, .food-media-placeholder { min-height:260px; }
  .result-row { grid-template-columns:72px 1fr 40px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

/* Existing brand, quieter editorial hierarchy; no new assets or content. */
.site-bar { min-height:58px; padding-bottom:20px; margin-bottom:18px; border-bottom:1px solid var(--line); }
.site-note { margin-inline-start:auto; font-weight:400; }
.site-nav a { display:inline-flex; align-items:center; min-height:44px; padding-inline:12px; font-size:.875rem; font-weight:650; }
.brand { font-family:"Trebuchet MS", "Segoe UI", sans-serif; font-size:1.3rem; }
.brand-mark { transform:none; }
.hero-copy { min-width:0; }
.hero-copy .lede { font-size:1.125rem; max-width:48ch; }
.eyebrow { line-height:1.5; }
.language-picker { margin-top:30px; }
.field-label { margin:0; font-size:.875rem; font-weight:650; }
.language-grid { margin-top:10px; grid-template-columns:1fr 1fr; gap:10px; max-width:480px; }
.language-grid a { min-height:56px; padding:12px 16px; border-radius:8px; border-color:var(--control-line); }
.language-grid li:first-child a { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.language-grid li:first-child a::after { color:var(--lime); }
.language-grid a::after { color:var(--ink); }
.quiet-note { font-size:.875rem; color:var(--muted); line-height:1.55; margin-top:16px; }
.discovery-guide { background:var(--ink); color:var(--paper); padding:32px; border-radius:14px; }
.discovery-guide .eyebrow { color:var(--lime); font-size:.75rem; }
.discovery-guide h2 { font-family:"Trebuchet MS", "Segoe UI", sans-serif; margin:14px 0 30px; font-size:1.75rem; line-height:1.2; letter-spacing:-.03em; }
.discovery-steps { list-style:none; padding:0; margin:0; display:grid; gap:25px; }
.discovery-steps li { display:flex; align-items:start; gap:14px; }
.step-number { flex-shrink:0; font-size:.75rem; color:var(--lime); font-variant-numeric:tabular-nums; padding-top:5px; }
.discovery-steps h3 { margin:0 0 5px; font-size:1rem; line-height:1.5; font-weight:650; }
.discovery-steps p { margin:0; color:#d9d2c3; font-size:.875rem; line-height:1.55; }
.site-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:24px 0 0; border-top:1px solid var(--line); color:var(--muted); font-size:.8125rem; }
.skip-link { position:fixed; inset-block-start:8px; inset-inline-start:12px; z-index:100; padding:12px 18px; background:var(--ink); color:white; transform:translateY(-200%); }
.skip-link:focus { transform:none; }
#main-content:focus { outline:none; }
.breadcrumb { display:inline-flex; align-items:center; min-height:44px; margin-bottom:16px; font-size:.875rem; color:var(--muted); }
.results-summary { margin:24px 0 0; color:var(--muted); font-size:.875rem; font-variant-numeric:tabular-nums; }
.search-page { box-shadow:none; border:0; border-radius:0; background:transparent; padding:24px 0 40px; }
.search-page h1 { font-family:"Trebuchet MS", "Segoe UI", sans-serif; line-height:1.15; }
.search-result-list { gap:0; border-top:1px solid var(--control-line); }
.search-result-list a { background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; padding-inline:0; min-height:76px; }
.match-chip { font-size:.75rem; letter-spacing:.04em; }
.empty-state { background:var(--paper); border-style:solid; line-height:1.6; }
.recovery-link { display:inline-flex; align-items:center; min-height:48px; padding:12px 18px; border-radius:8px; background:var(--ink); color:white; text-decoration:none; font-weight:650; }
button:disabled { cursor:wait; opacity:.7; }
@media (hover:hover) and (pointer:fine) {
  .language-grid a:hover, .search-result-list a:hover, .next-food-list a:hover { background:#e8e1d4; }
  .language-grid li:first-child a:hover, .search-box button:hover, .recovery-link:hover { background:#35352c; }
  .vote-grid button:not([aria-pressed="true"]):hover { background:#e8e1d4; }
}
@media (prefers-reduced-motion:no-preference) {
  .search-box button, .recovery-link { transition:transform 150ms var(--ease-out); }
  .search-box button:not(:disabled):active, .recovery-link:active { transform:scale(.96); }
}
@media (max-width:760px) {
  .app-shell { width:calc(100% - 32px); padding-bottom:32px; }
  .site-bar { gap:8px; margin-bottom:8px; padding-bottom:12px; }
  .discovery-guide { padding:26px; }
  .search-page { padding:20px 8px 32px; }
  .search-result-list a { grid-template-columns:minmax(0,1fr) auto; }
  .search-result-list a::after { display:none; }
  .site-footer { font-size:.75rem; }
}

/* When rights-cleared media is absent, prioritize the food and its controls. */
.food-media:has(.food-media-placeholder) { min-height:180px; }
.food-media-placeholder { min-height:180px; background:var(--paper); padding:24px; border-block-end:1px solid var(--line); }
.placeholder-orbit { width:auto; height:auto; border:0; border-radius:0; font-size:2rem; }
.placeholder-orbit::before, .placeholder-orbit::after { display:none; }
.food-copy h1 { font-family:"Trebuchet MS", "Segoe UI", sans-serif; font-size:clamp(2.25rem,5vw,4.5rem); line-height:1.1; letter-spacing:-.04em; }
.text-link { min-height:44px; align-items:center; }

/* Browse first: photography carries the color; chrome stays quiet. */
.app-shell { width:min(1200px,calc(100% - 80px)); }
.site-bar { margin-bottom:0; }
.brand { font-family:"Segoe UI",sans-serif; letter-spacing:-.035em; }
.brand-mark { color:white; border-radius:10px; }
.site-note { font-weight:400; }
.eyebrow { color:var(--accent); }
.browse-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; padding:36px 0 34px; }
.browse-intro h1 { margin:0; font-family:Georgia,"Times New Roman",serif; font-weight:400; font-size:clamp(2.5rem,4.6vw,4rem); line-height:1.12; letter-spacing:-.04em; }
.browse-lede { margin:14px 0 0; color:var(--muted); font-size:1rem; line-height:1.55; }
.browse-how { margin:0 0 4px; font-size:.875rem; color:var(--muted); line-height:1.7; }
.shelf-heading { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.shelf-heading h2 { margin:0; font-size:1rem; font-weight:650; }
.preview-caption { margin:0; color:var(--muted); font-size:.75rem; }
.food-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; padding:0; margin:0; list-style:none; }
.food-tile { display:block; text-decoration:none; border-radius:10px; }
.tile-image { aspect-ratio:3/2; overflow:hidden; border-radius:12px; background:var(--line); }
.tile-image img { width:100%; height:100%; display:block; object-fit:cover; outline:1px solid rgba(0,0,0,.1); outline-offset:-1px; }
/* A failed approved real-food image keeps card dimensions and food identity intact. */
.browse-page .tile-image-fallback { width:100%; height:100%; min-height:0; padding:12px; display:grid; place-items:center; text-align:center; background:#e8ede6; color:#405747; overflow-wrap:anywhere; }
.browse-page .tile-image-fallback span { max-width:18ch; font-size:clamp(.69rem,1.3vw,.85rem); line-height:1.45; font-weight:750; }

.tile-copy { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px; }
.tile-pairing { margin:0 0 6px; color:var(--muted); font-size:.8125rem; line-height:1.5; }
.tile-copy h3 { margin:0; font-size:clamp(1.25rem,2.2vw,1.625rem); letter-spacing:-.025em; line-height:1.25; overflow-wrap:anywhere; }
.tile-arrow { display:grid; place-items:center; flex-shrink:0; width:42px; height:42px; border:1px solid var(--control-line); border-radius:50%; font-size:1.25rem; color:var(--ink); }
.tile-invitation { margin:12px 0 0; font-size:.875rem; color:var(--muted); line-height:1.5; }
.tile-invitation span { color:var(--accent); margin-inline-start:8px; font-weight:650; }
.shelf-search { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:40px; align-items:center; padding:30px 0; margin-top:38px; border-block:1px solid var(--line); }
.shelf-search h2 { margin:0; font-size:1.1rem; font-weight:650; }
.shelf-search p { margin:8px 0 0; font-size:.875rem; color:var(--muted); line-height:1.55; }
.shelf-search .search-box { margin:0; }
.shelf-search .search-box input,.shelf-search .search-box button { min-height:48px; }
.browse-languages { display:flex; align-items:center; flex-wrap:wrap; gap:10px 20px; padding:22px 0 32px; color:var(--muted); font-size:.8125rem; }
.browse-languages a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; }
.browse-languages a[aria-current="page"] { color:var(--ink); text-decoration:underline; text-underline-offset:6px; }
.food-preview-image { margin:0; width:100%; }
.food-preview-image img { aspect-ratio:3/2; object-fit:cover; max-height:none; outline:1px solid rgba(0,0,0,.1); outline-offset:-1px; }
.food-preview-image figcaption { padding:10px 20px; color:var(--muted); background:var(--paper); font-size:.75rem; line-height:1.5; }
.kind-chip { background:#f0eee8; color:var(--muted); }
.vote-grid button[aria-pressed="true"] { color:white; }
@media (hover:hover) and (pointer:fine) {
  .food-tile:hover h3 { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
  .food-tile:hover .tile-arrow { background:var(--ink); color:white; border-color:var(--ink); }
  .browse-languages a:hover { text-decoration:underline; }
}
@media (max-width:760px) {
  .app-shell { width:calc(100% - 32px); }
  .browse-intro { display:block; padding:26px 0 28px; }
  .browse-intro .eyebrow { font-size:.6875rem; letter-spacing:.09em; }
  .browse-how { display:none; }
  .shelf-heading { margin-bottom:14px; }
  .food-gallery { grid-template-columns:1fr; gap:30px; }
  .tile-copy { margin-top:14px; }
  .tile-image { border-radius:10px; }
  .tile-copy h3 { font-size:1.5rem; }
  .shelf-search { grid-template-columns:1fr; gap:20px; margin-top:30px; padding:26px 0; }
  .shelf-search .search-controls { flex-direction:row; gap:8px; }
  .shelf-search .search-controls button { width:auto; padding-inline:16px; flex-shrink:0; }
  .browse-languages { gap:8px 16px; padding-bottom:22px; }
  .food-media { min-height:0; }
}
@media (max-width:359px) {
  .shelf-search .search-controls { flex-direction:column; }
  .shelf-search .search-controls button { width:100%; }
}

/* Quiet sister-site link beside the existing brand and navigation. */
.site-note { margin-inline-start: auto; }
.sister-site-link { color: var(--muted); font-size: .8125rem; font-weight: 600; white-space: nowrap; text-decoration: none; display: inline-flex; align-items: center; gap: 5px; min-height: 44px; }
@media (hover: hover) { .sister-site-link:hover { color: var(--ink); text-decoration: underline; } }


/* Approved photo-first discovery: scoped to the browsing page; P0 detail/vote CSS stays unchanged. */
.browse-page .food-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px 14px; }
.browse-page .tile-image { aspect-ratio: 4 / 3; }
.browse-page .tile-copy { margin-top: 10px; gap: 8px; }
.browse-page .tile-copy h3 { font-size: clamp(.98rem, 1.55vw, 1.22rem); }
.browse-page .tile-arrow { width: 32px; height: 32px; font-size: 1rem; }
.browse-page .tile-invitation { margin: 6px 0 0; font-size: .8rem; }
.browse-page .gallery-pagination { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:48px; margin:20px 0 0; font-size:.9rem; }
.browse-page .gallery-pagination a { display:inline-flex; min-height:44px; align-items:center; padding:8px 13px; border:1px solid var(--control-line); border-radius:8px; text-decoration:none; }
.browse-page .gallery-pagination a:hover { background:var(--line); }
.browse-page .empty-state p { margin:10px 0 0; }
@media (max-width: 960px) {
  .browse-page .food-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .browse-page .food-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 10px; }
  .browse-page .tile-copy h3 { font-size: .99rem; }
  .browse-page .tile-image { aspect-ratio: 1 / 1; }
  .browse-page .tile-arrow { display:none; }
  .browse-page .tile-invitation { font-size: .76rem; }
  .browse-page .tile-invitation span { margin-inline-start:0; }
  .browse-page .browse-intro { padding:22px 0 20px; }
}


/* Subtle, accessible image licenses. Cards remain photography + food name first. */
.photo-credit-details{margin:10px 0 15px;font-size:.77rem;line-height:1.55;color:var(--muted);background:#f8f8f4;border:1px solid var(--line);border-radius:7px;padding:5px 10px}
.photo-credit-details summary{cursor:pointer;min-height:34px;display:list-item;padding:7px 1px;font-weight:700}
.photo-credit-details[open] summary{border-bottom:1px solid var(--line);margin-bottom:9px}
.photo-credit-details ul{padding-left:20px;margin:7px 0 9px}
.photo-credit-details li{margin:8px 0;overflow-wrap:anywhere}
.photo-credit-details li a{color:var(--accent);font-weight:700}
.photo-credit-details:focus-within{outline-offset:2px}

/* Product-shell regression: restored home remains separate from Explore and creation. */
.site-nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:2px 4px}
.site-nav a{white-space:nowrap}
@media(max-width:760px){
 .site-bar{align-items:flex-start;flex-wrap:wrap;gap:3px 8px}
 .site-nav{justify-content:flex-start;width:100%;gap:0 4px}
 .site-nav a{font-size:.78rem;padding-inline:9px;min-height:44px}
}

/* Restore the approved Weird Food brand shell; never feature-salience drift into submission. */
.site-bar .brand{font-family:Inter,'Pretendard',system-ui,sans-serif;letter-spacing:-.065em;font-size:1.48rem;font-weight:950}
.site-bar .brand-mark{background:#fb6339;color:#202522;border:2px solid #202522;border-radius:10px;transform:rotate(-9deg);width:36px;height:36px;font-size:1.18rem}
.site-bar .brand-accent{color:#fb6339}

/* Real, editor-released food explainers — readable but subordinate to photo and vote. */
.wf-food-editorial{grid-column:1/-1;margin:18px 0;padding:clamp(22px,3.5vw,38px);max-width:none;line-height:1.7}
.wf-food-editorial h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.5rem,2.4vw,2.1rem);letter-spacing:-.025em;margin:0 0 18px}
.wf-food-editorial h3{font-size:1.02rem;letter-spacing:-.01em;margin:21px 0 8px}
.wf-food-editorial p{max-width:75ch;margin:0 0 13px;color:#47524a}
.wf-food-editorial-summary{font-size:1.08rem;font-weight:680;color:#202922!important}
.wf-food-faq{border-top:1px solid #d8ddd4;margin-top:25px;padding-top:8px}
.wf-food-faq-item{border-bottom:1px solid #eceee7;padding:8px 0}
.wf-food-faq-item h4{font-size:.95rem;margin:4px 0 7px}
.wf-food-research-source{font-size:.78rem;margin:25px 0 0!important;overflow-wrap:anywhere}
.wf-food-research-source a{font-weight:750;text-decoration:underline;text-underline-offset:3px;color:#2c645a}
@media(max-width:700px){.wf-food-editorial{padding:20px 15px;line-height:1.65}.wf-food-editorial h2{font-size:1.45rem}}

/* Locale picker: actual navigation, not a faux 'Languages' link to /en/.
   Works without JavaScript and stays inside narrow viewports. */
.site-language-menu{position:relative;align-self:center;min-width:0;font-size:.83rem}
.site-language-menu summary{display:flex;align-items:center;gap:5px;min-height:44px;padding:0 10px;cursor:pointer;list-style:none;font-weight:650;white-space:nowrap}
.site-language-menu summary::-webkit-details-marker{display:none}
.site-language-menu summary::after{content:'⌄';font-size:.95rem;transition:transform .12s}
.site-language-menu[open] summary::after{transform:rotate(180deg)}
.site-language-options{position:absolute;right:0;top:calc(100% + 4px);z-index:80;min-width:174px;background:white;border:1px solid #b8c6b8;box-shadow:0 14px 32px #151f1324;border-radius:10px;padding:6px}
.site-nav .site-language-options a{display:flex;align-items:center;min-height:44px;padding:9px 12px;color:#28362b;border-radius:7px;text-decoration:none}
.site-nav .site-language-options a[aria-current="page"]{background:#e4ed9c;font-weight:850}
.site-nav .site-language-options a:hover{background:#f3f5ec}
.site-language-menu:focus-within{z-index:81}
@media(max-width:760px){
 .site-language-menu summary{padding-inline:9px}
 .site-language-options{right:auto;left:0;max-width:min(190px,calc(100vw - 30px))}
}

/* Main content starts above the fold on compact phones.
   The logo already acts as Home: avoid a redundant mobile home tab and
   let Explore, Play, Tier lists and language fit on a single row. */
@media(max-width:760px){
  .site-bar{padding-bottom:7px;margin-bottom:3px}
  .site-nav{justify-content:flex-start;flex-wrap:nowrap;gap:0 2px;width:100%;min-width:0}
  .site-nav>a:first-child{display:none}
  .site-nav .sister-site-link{display:none}
  .site-nav>a{padding-inline:7px;font-size:clamp(.71rem,3vw,.83rem)}
  .site-language-menu{margin-inline-start:auto}
}

/* Reviewed AI representative images are visibly distinguished from real photos. */
.food-media,.next-food-photo-frame,.play-contender,.play-champion,.tl-food{position:relative}
.food-image-origin{position:absolute;inset:9px auto auto 9px;z-index:1;max-width:calc(100% - 18px);padding:3px 6px;border:1px solid #d4d8d0;border-radius:4px;background:#fffdf5;color:#242723;font:600 11px/1.4 system-ui,sans-serif;pointer-events:none}

/* Sharing stays secondary to the food and vote; no popup or social tracker. */
.food-share{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:20px;font-size:.83rem;color:var(--muted)}
.food-share-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 14px;border:1px solid var(--control-line);border-radius:8px;background:transparent;color:var(--ink);font-weight:650;cursor:pointer}
.food-share-button:hover{background:#f0f1e9}
.food-share-button:disabled{cursor:progress;opacity:.6}
.food-share-fallback{flex-basis:100%;min-width:0}
.food-share-fallback label{display:block;margin-bottom:5px}
.food-share-fallback input{width:100%;min-width:0;min-height:44px;padding:9px;border:1px solid var(--control-line);border-radius:6px;background:white;color:var(--ink);font-size:16px}
