/* Culinara Brasil only: warm paper, bottle green, guava and sun-yellow. */
body.brazil { --paper:#faf8f1; --white:#fffdf8; --text:#24382c; --muted:#646b5e; --line:#dedfd1; background:var(--paper); }
.brazil [hidden] { display:none !important; }
.brazil .masthead { padding:22px max(5vw,calc((100vw - 1280px)/2)); background:var(--paper); gap:16px 30px; }
.brazil .logo { font-size:1.8rem; font-weight:400; letter-spacing:-.06em; }
.brazil .logo::before { content:'✳'; font-family:Georgia,serif; font-size:1.7rem; display:inline-block; margin-right:10px; color:#b25b38; }
.brazil .masthead p { font-size:.7rem; text-transform:uppercase; letter-spacing:.13em; margin-top:6px; }
.brazil .masthead nav a { font-size:.82rem; text-decoration:none; padding:8px 10px; }
.brazil .masthead a[aria-current=page] { text-decoration:underline; text-underline-offset:8px; }
.brazil h1,.brazil h2,.brazil h3 { font-family:Georgia,'Times New Roman',serif; font-weight:400; }
.brazil .eyebrow { letter-spacing:.15em; font-size:.67rem; line-height:1.7; }
.brazil-hero { display:grid; grid-template-columns:1fr 1fr; gap:5%; align-items:center; max-width:1280px; padding:66px 0 76px; margin:auto; width:90%; }
.brazil-hero h1 { font-size:clamp(3rem,5.5vw,5.1rem); line-height:1.06; letter-spacing:-.055em; margin:25px 0 24px; }
.brazil-hero h1 em { color:#ad583b; font-weight:400; }
.brazil .hero-intro { font-size:1rem; line-height:1.85; max-width:440px; }
.brazil .hero-actions { gap:16px; align-items:center; margin-top:26px; }
.brazil .hero-actions a { font-size:.8rem; padding:15px 20px; border-radius:2px; }
.brazil .hero-actions a:nth-child(2) { padding:8px 0; border:0; font-weight:400; text-decoration:underline; }
.hero-footnote { margin:32px 0 0; padding-left:14px; border-left:2px solid #d7ae57; font-size:.72rem; color:var(--muted); line-height:1.8; }
.hero-food { margin:0; transform:rotate(1deg); }
.hero-food > a { display:block; background:#e9dfc7; border-radius:48% 48% 5px 5px; overflow:hidden; }
.hero-food img { width:100%; height:420px; object-fit:cover; display:block; }
.hero-food figcaption { display:flex; justify-content:space-between; align-items:end; gap:20px; padding:17px 3px 0; font-size:.62rem; color:var(--muted); }
.hero-food figcaption .eyebrow { display:block; font-size:.56rem; }
.hero-food figcaption a { display:block; font-size:1.2rem; font-family:Georgia,serif; color:var(--accent); margin-top:5px; text-decoration:none; }
.table-note { padding:24px 5%; border-block:1px solid var(--line); display:flex; align-items:center; justify-content:center; gap:24px; background:#f0efdf; }
.table-note p { font-size:1.1rem; font-family:Georgia,serif; margin:0; }
.table-note a { font-size:.74rem; margin-left:30px; }
.sun-mark { color:#ad583b; font-size:2.3rem; }
.brazil .collection { max-width:1400px; margin:auto; padding:64px 5% 78px; }
.brazil .section-heading { border:0; margin-bottom:26px; gap:20px; align-items:end; }
.brazil .section-heading h2 { font-size:clamp(1.8rem,3vw,2.6rem); letter-spacing:-.035em; margin:9px 0 0; }
.text-link { font-size:.8rem; min-height:44px; display:flex; align-items:center; gap:22px; }
.brazil .cards { grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 26px; }
.brazil .card { border:0; background:transparent; border-radius:0; padding:0; }
.brazil .card:hover { transform:translateY(-3px); }
.brazil .card-main img { width:100%; max-height:none; aspect-ratio:3/2; object-fit:cover; border-radius:4px; margin:0; }
.food-image { overflow:hidden; border-radius:4px; background:#e9dfc7; }
.brazil .card-copy { padding:19px 0 0; }
.brazil .card small { font-size:.59rem; letter-spacing:.13em; }
.brazil .card h2 { font-size:1.65rem; margin:9px 0 6px; letter-spacing:-.03em; }
.brazil .card p { font-size:.84rem; line-height:1.6; margin:0 0 14px; }
.brazil .read-link { display:flex; justify-content:space-between; padding-bottom:13px; font-size:.72rem; font-weight:500; border-bottom:1px solid var(--line); }
.brazil .card-credit { border:0; padding-top:9px; font-size:.62rem; }
.brazil .card-credit summary { cursor:pointer; min-height:26px; color:var(--muted); }
.brazil .card-credit strong { font-weight:500; }
.brazil .card-credit > strong { display:inline-block; margin-top:8px; }
.pantry-banner { background:#224a39; color:#fffbed; display:grid; grid-template-columns:1fr 1fr; gap:9%; padding:58px max(5vw,calc((100vw - 1150px)/2)); }
.pantry-banner .eyebrow { color:#e4c784; }
.pantry-banner h2 { font-size:clamp(2.1rem,3.7vw,3.2rem); line-height:1.15; letter-spacing:-.035em; margin:17px 0; }
.pantry-banner p:not(.eyebrow) { font-size:.9rem; line-height:1.9; color:#d7e0d0; max-width:470px; }
.brazil .button { display:inline-block; padding:14px 18px; margin-top:12px; background:#eaca85; color:#203b2c; font-size:.8rem; text-decoration:none; }
.pantry-list { align-self:center; }
.pantry-list a { display:block; padding:24px 0; border-bottom:1px solid #57715c; text-decoration:none; font-family:Georgia,serif; font-size:1.35rem; }
.pantry-list a span { display:block; font-family:system-ui,sans-serif; font-size:.57rem; letter-spacing:.1em; color:#d7c38e; margin-bottom:12px; }
.pantry-list b { float:right; font-weight:400; }
.editorial-note { text-align:center; padding:66px 22px 72px; max-width:650px; margin:auto; }
.editorial-note h2 { font-size:2.3rem; letter-spacing:-.035em; margin:15px 0; }
.editorial-note p:not(.eyebrow) { font-size:.88rem; line-height:1.9; color:var(--muted); }
.editorial-note a { font-size:.8rem; display:inline-block; padding:12px; }
.brazil footer { background:#f0efdf; padding:28px 5%; font-size:.72rem; }
.brazil footer nav a { font-size:.75rem; }
.brazil .collection-page { min-height:70vh; }
.brazil .collection-page h1 { margin-bottom:16px; }
.collection-intro { max-width:620px; color:var(--muted); font-size:1rem; line-height:1.85; margin-bottom:32px; }
.recipe-tools { margin:32px 0; padding:25px; background:#eeedde; border:1px solid var(--line); border-radius:4px; }
.recipe-tools label { display:block; font-size:.8rem; font-weight:600; margin-bottom:10px; }
.recipe-tools input { display:block; width:100%; max-width:600px; background:var(--white); border:1px solid #8c9b88; padding:14px 16px; border-radius:2px; font:inherit; font-size:.9rem; color:var(--text); }
.recipe-tools input:focus-visible,.brazil button:focus-visible { outline:3px solid #ad583b; outline-offset:3px; }
.filters { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.filters button,.no-results button { font:inherit; font-size:.8rem; border:1px solid #aeb8a4; background:transparent; color:var(--accent); border-radius:30px; padding:11px 16px; cursor:pointer; }
.filters button[aria-pressed=true],.no-results button { background:var(--accent); border-color:var(--accent); color:#fff; }
.result-count { font-size:.7rem; color:var(--muted); margin-bottom:0; }
.no-results { padding:34px 0; }
.guide-mark { font-family:Georgia,serif; font-size:3rem; color:var(--accent); background:#eae9d7; border:1px solid var(--line); padding:30px; border-radius:4px; }
.brazil .article { max-width:860px; }
.brazil .article h1 { letter-spacing:-.035em; }
.brazil .recipe { border-radius:3px; border-color:#c9cfbb; padding:32px; }
.brazil .recipe h2 { font-size:1.9rem; }
.brazil .testing { background:#eeedde; font-size:.8rem; padding:10px 14px; }
.brazil .reviewed { font-size:.72rem; }
.brazil .recipe-actions a { color:white; font-size:.8rem; border-radius:2px; }
.brazil .recipe-actions button { padding:12px 16px; font:inherit; font-size:.8rem; color:var(--accent); background:transparent; border:1px solid var(--accent); cursor:pointer; border-radius:2px; }
.brazil .contents { background:#eeedde; border-radius:3px; }
@media(min-width:1500px) { .hero-food img { height:460px; } }
@media(max-width:900px) { .brazil-hero { gap:5%; }.hero-food img { height:340px; }.brazil .cards { gap:28px 18px; }.table-note { gap:16px; }.table-note a { margin-left:0; }.brazil .masthead { padding:20px 5%; } }
@media(max-width:700px) { .brazil-hero { grid-template-columns:1fr; padding:38px 0 42px; gap:32px; }.hero-copy h1 { font-size:3.45rem; }.hero-food { transform:none; }.hero-food img { height:auto; aspect-ratio:3/2; }.brazil .masthead { gap:12px; }.brazil .masthead nav { gap:0 7px; }.brazil .masthead nav a { padding:8px 4px; font-size:.77rem; }.brazil .hero-actions { gap:12px; }.hero-footnote { margin-top:22px; }.table-note { flex-wrap:wrap; gap:12px; padding:20px 5%; justify-content:flex-start; }.table-note p { font-size:.97rem; }.table-note a { padding:8px 0; }.sun-mark { font-size:1.8rem; }.brazil .cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 16px; }.brazil .card h2 { font-size:1.4rem; }.brazil .card p { font-size:.75rem; }.brazil .card small { font-size:.53rem; }.pantry-banner { grid-template-columns:1fr; gap:20px; padding:40px 6%; }.brazil .collection { padding:40px 5% 48px; }.brazil .section-heading { align-items:flex-start; }.brazil .article { padding:30px 5% 55px; }.brazil .article h1 { font-size:2.35rem; }.brazil .article .deck { font-size:1rem; }.brazil .recipe { padding:20px; }.recipe-tools { padding:19px; }.filters button { padding:10px 12px; font-size:.75rem; }.brazil footer nav { gap:0 12px; } }
@media(max-width:390px) { .hero-copy h1 { font-size:3rem; }.brazil .cards { grid-template-columns:1fr; }.brazil .card h2 { font-size:1.75rem; }.brazil .card p { font-size:.9rem; }.brazil .card small { font-size:.65rem; } }
@media print { .brazil .article { max-width:none; }.brazil .article figure,.recipe-tools { display:none; }.brazil .recipe { padding:12px; }.brazil .recipe-actions { display:none; } }
