@charset "UTF-8";
:root{--paper:#f8f6ed;--white:#fffdf8;--forest:#183c2f;--muted:#627166;--line:#d9ddcf;--coral:#ce6346;--lime:#e8edce;--peach:#f2daca;--radius:18px;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px}body{margin:0;background:var(--paper);color:var(--forest);font-family:var(--sans);font-size:15px;line-height:1.55}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}a:hover{text-decoration-color:var(--coral)}button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b64d32;outline-offset:4px}button{border:0}svg{display:block}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-1.6px}h3{font-weight:600}button[hidden],[hidden]{display:none!important}.shell{max-width:1280px;width:calc(100% - 96px);margin-inline:auto}.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}.skip-link{position:fixed;z-index:20;top:10px;left:10px;transform:translateY(-150%);padding:10px 16px;background:var(--forest);color:white;border-radius:8px}.skip-link:focus{transform:translateY(0)}.site-header{height:98px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;line-height:1.04;letter-spacing:-.6px;text-decoration:none}.brand-mark{font-family:var(--serif);font-size:64px;font-weight:700;line-height:.8;position:relative;width:34px}.brand-mark>span{position:absolute;color:var(--coral);top:-10px;right:-7px;font-size:43px}.brand-dot{color:var(--coral)}.main-nav{display:flex;align-items:center;gap:34px;font-size:14px}.main-nav a{text-decoration:none}.main-nav a:hover,.text-button:hover{text-decoration:underline;text-underline-offset:4px}.text-button{padding:0;background:transparent}.shortlist-button{display:flex;align-items:center;gap:9px;padding:10px 13px;background:transparent;border:1px solid var(--line);border-radius:30px;font-size:14px}.shortlist-button svg{width:18px;height:18px}.shortlist-button[aria-pressed=true]{background:var(--forest);color:var(--white);border-color:var(--forest)}.count{min-width:23px;height:23px;border-radius:50%;background:var(--lime);color:var(--forest);display:inline-flex;align-items:center;justify-content:center;font-size:12px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;padding-top:35px;padding-bottom:35px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:1.8px;font-weight:700}.hero .eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:10px}.small-spark{font-size:20px;color:var(--coral);line-height:1}h1{font-size:clamp(45px,4.7vw,65px);line-height:1.02;letter-spacing:-2.8px}h1 em{color:var(--coral);font-weight:400}.hero-description{font-size:14px;max-width:405px;line-height:1.65;margin-top:18px;color:#526356}.hero-link{display:inline-flex;gap:26px;align-items:center;font-size:14px;margin-top:16px;text-decoration:none;border-bottom:1px solid #8b9c83;padding-bottom:4px}.hero-link span{font-size:20px;line-height:1}.hero-art{height:270px;position:relative;display:flex;align-items:center;justify-content:center}.bowl-art{width:100%;height:100%;overflow:visible}.art-note{position:absolute;right:8px;top:6px;font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.2;transform:rotate(8deg)}.art-caption{position:absolute;bottom:0;right:32px;font-size:12px;text-transform:uppercase;letter-spacing:1.7px}.discovery{padding-top:24px;border-top:1px solid var(--line)}.discovery-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.discovery-heading .eyebrow{margin-bottom:5px}h2{font-size:35px;line-height:1.15}.region-control{display:flex;align-items:center;gap:10px;font-size:12px}.region-control label{color:var(--muted)}select{cursor:pointer;max-width:100%;background:transparent;border:1px solid var(--line);border-radius:8px;min-height:42px;padding:7px 30px 7px 12px}.region-control select{font-size:14px;background:var(--white);min-width:142px}.filter-bar{display:flex;gap:10px;align-items:center}.search-field{position:relative;flex:1}.search-field svg{width:19px;height:19px;position:absolute;left:15px;top:13px;color:var(--muted)}.search-field input{width:100%;height:46px;background:var(--white);border:1px solid var(--line);border-radius:9px;padding:10px 12px 10px 44px;font-size:14px}.search-field input::placeholder{color:#748175}.availability-filter select{height:46px;font-size:12px;background:var(--white)}.share-button{display:flex;align-items:center;gap:7px;background:transparent;white-space:nowrap;font-size:12px;padding:12px}.share-button svg{height:17px;width:17px}.category-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.category-list button{font-size:12px;min-height:36px;padding:7px 14px;border:1px solid var(--line);border-radius:30px;background:transparent;transition:background .15s,border-color .15s}.category-list button:hover{background:var(--lime)}.category-list button[aria-pressed=true]{background:var(--forest);color:var(--white);border-color:var(--forest)}.results-meta{display:flex;gap:16px;align-items:center;margin-block:18px 13px;font-size:12px;color:var(--muted);min-height:20px}.results-meta #reset-filters{margin-left:auto;color:var(--forest);font-size:12px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.product-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:relative;transition:transform .15s,box-shadow .15s}.product-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #183c2f0c}.card-art{height:185px;position:relative;display:flex;align-items:center;justify-content:center;background:var(--tile,#e9ead3);overflow:hidden}.card-art svg{height:175px;width:100%;max-width:330px;transition:transform .25s}.product-card:hover .card-art svg{transform:rotate(-2deg) scale(1.025)}.art-button{width:100%;padding:0;border:0;background:transparent}.category-caption{position:absolute;left:16px;top:15px;font-size:12px;font-weight:600;letter-spacing:.45px;padding:4px 7px;border-radius:4px;background:#fffdf88c}.save-button{position:absolute;z-index:1;right:13px;top:12px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid #fff9;background:#fffdf8df;box-shadow:0 2px 5px #183c2f08}.save-button svg{width:17px;height:17px}.save-button[aria-pressed=true]{background:var(--forest);color:var(--white);border-color:var(--forest)}.card-copy{padding:18px 19px 17px}.maker{font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.product-card h3{font-family:var(--serif);font-size:23px;letter-spacing:-.5px;line-height:1.17}.card-title{background:transparent;font:inherit;padding:0;text-align:left}.card-title:hover{text-decoration:underline;text-underline-offset:4px}.card-description{font-size:12px;color:#58685c;line-height:1.6;margin-top:9px;min-height:38px}.card-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px}.tag{font-size:12px;padding:3px 7px;background:#f0f1e8;border-radius:4px;white-space:nowrap}.card-footer{margin-top:16px;padding-top:12px;border-top:1px solid #e6e8dc;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px}.availability-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px}.availability-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:#5b7845;flex:none}.availability-badge.limited:before{background:#b9792c}.availability-badge.limited{color:#805822}.card-market{color:var(--muted);font-size:12px;text-align:right}.shelf-note{font-size:12px;color:var(--muted);margin-top:20px;line-height:1.7}.shelf-note>span{color:var(--coral);font-size:18px;vertical-align:-2px;margin-right:4px}.empty-state,.loading-note{grid-column:1/-1;padding:52px 24px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius);background:#fffdf860}.empty-state h3{font-family:var(--serif);font-size:28px;font-weight:400;margin-bottom:8px}.empty-state p{font-size:14px;max-width:440px;margin:0 auto 20px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;border-radius:8px;padding:12px 18px;min-height:46px;font-size:14px;text-decoration:none}.button-dark{color:var(--white);background:var(--forest)}.button-light{color:var(--forest);background:var(--paper)}.button-outline{background:transparent;border:1px solid var(--line)}.button:hover{filter:brightness(.96)}.approach{display:grid;grid-template-columns:1fr 1.4fr;gap:90px;border-top:1px solid var(--line);padding-top:46px;margin-top:52px;padding-bottom:46px}.approach .eyebrow{margin-bottom:13px}.approach h2{font-size:39px}.approach-copy p{font-size:14px;color:#58685c;margin-bottom:14px;line-height:1.7}.approach summary{font-size:12px;font-weight:600;cursor:pointer}.approach dl{font-size:12px;margin:16px 0 0}.approach dt{font-weight:700;margin-top:10px}.approach dd{margin-left:0;color:var(--muted)}.partner-strip{background:var(--forest);color:var(--paper);border-radius:18px;padding:32px 38px;display:flex;justify-content:space-between;align-items:center;gap:28px}.partner-strip .eyebrow{color:#d0daa7;margin-bottom:8px}.partner-strip h2{font-size:32px}.partner-strip p:not(.eyebrow){font-size:12px;color:#d8dfcf;margin-top:9px}.partner-strip .button{flex:none}.site-footer{padding-top:40px;padding-bottom:27px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}.footer-brand{font-family:var(--serif);font-size:25px;text-decoration:none;letter-spacing:-1px}.site-footer p{font-size:12px;color:var(--muted);margin-top:5px}.footer-links{display:flex;gap:28px;font-size:12px}.footer-fine{width:100%;padding-top:17px;border-top:1px solid var(--line)}dialog{border:1px solid var(--line);border-radius:20px;background:var(--white);color:var(--forest);padding:0;max-height:calc(100dvh - 40px);box-shadow:0 30px 90px #142b3055}dialog::backdrop{background:#17382b85;backdrop-filter:blur(3px)}body:has(dialog[open]){overflow:hidden}.dialog-close{position:absolute;right:14px;top:14px;z-index:3;width:35px;height:35px;border:1px solid #d9ddcf;background:#fffdf8e8;border-radius:50%;font-size:25px;line-height:1}.product-dialog{width:min(800px,calc(100% - 36px))}.detail-layout{display:grid;grid-template-columns:280px 1fr}.detail-side{background:var(--tile,#e9ead3);padding:64px 22px 26px;display:flex;flex-direction:column;align-items:center}.detail-side svg{width:100%;margin:auto}.detail-side .illustration-note{font-size:12px;color:#53634d;margin-top:20px;text-align:center}.detail-side .availability-badge{font-size:12px;margin-top:15px}.detail-body{padding:37px 31px 29px}.detail-body h2{font-size:36px;line-height:1.08;margin:7px 0 12px}.detail-body .description{font-size:14px;line-height:1.65;color:#536356}.detail-body h3{font-size:12px;margin:21px 0 6px}.detail-body .meal-idea{background:#f0f2e6;border-radius:10px;padding:13px 14px;margin-top:20px}.meal-idea h3{margin:0 0 4px}.detail-body p{font-size:12px;line-height:1.7}.detail-body .detail-notes{color:#59675b}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.detail-actions .button{font-size:12px;gap:12px;padding:10px 13px;min-height:42px}.detail-check{font-size:12px!important;color:var(--muted);margin-top:15px}.source-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:12px}.detail-body .claims-note{font-size:12px;color:var(--muted);margin-top:10px}.text-dialog{width:min(500px,calc(100% - 32px));padding:38px}.text-dialog h2{font-size:38px;line-height:1.12;margin:10px 0 19px}.text-dialog h3{font-size:15px;margin:20px 0 6px}.text-dialog p{font-size:14px;line-height:1.75;margin-top:13px;color:#536356}.text-dialog .eyebrow{font-size:12px;margin:0}.text-dialog .button{margin-top:22px}.dialog-callout{background:#f0f2e6;border-radius:10px;padding:16px;margin:20px 0}.dialog-callout strong{font-size:14px}.dialog-callout p{font-size:12px;margin-top:5px}.text-dialog .small-copy{font-size:12px;overflow-wrap:anywhere}.text-dialog label{display:block;font-size:12px;margin-top:20px;margin-bottom:6px}.text-dialog input{border:1px solid var(--line);border-radius:7px;background:var(--paper);padding:11px;width:100%;font-size:12px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);z-index:10;max-width:calc(100% - 32px);background:var(--forest);color:var(--paper);border:1px solid #ffffff30;border-radius:9px;padding:12px 18px;font-size:12px;box-shadow:0 4px 16px #183c2f25;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}
.tone-peach{--tile:#f0dccb}.tone-sage{--tile:#e0e6ce}.tone-lilac{--tile:#e6dfe9}.tone-oat{--tile:#eae2ca}.share-button:disabled{opacity:.4;cursor:default}
@media(min-width:1450px){.hero{padding-block:45px}.hero-art{height:300px}.card-art{height:202px}}
@media(max-width:1000px){.shell{width:calc(100% - 56px)}.main-nav{gap:20px}.main-nav .nav-explore{display:none}.hero{gap:10px}.art-note{right:0;top:12px;font-size:15px}.hero-art{height:240px}.product-grid{gap:16px}.card-copy{padding:16px}.product-card h3{font-size:22px}.card-art{height:165px}.card-art svg{height:150px}.card-footer{align-items:flex-start}.approach{gap:40px}}
@media(max-width:760px){.shell{width:calc(100% - 36px)}.site-header{height:81px;gap:10px}.brand{font-size:17px}.brand-mark{font-size:55px}.main-nav{display:none}.shortlist-button{font-size:12px;padding:8px 11px}.hero{padding-block:29px 27px;grid-template-columns:1.15fr .85fr;gap:8px}h1{font-size:45px;letter-spacing:-2px}.hero-description{font-size:12px;margin-top:13px}.hero .eyebrow{font-size:12px;letter-spacing:1.3px}.hero-art{height:215px}.bowl-art{width:140%;height:auto;max-width:none;flex-shrink:0}.art-note{top:0;right:0;font-size:14px}.art-caption{display:none}.hero-link{font-size:12px;gap:12px}.discovery{padding-top:21px}.discovery-heading{gap:12px}.discovery-heading h2{font-size:28px}.discovery-heading .eyebrow{font-size:12px}.region-control{display:block}.region-control label{font-size:12px;display:block;margin-bottom:2px}.region-control select{font-size:12px;min-width:115px;padding-right:20px;min-height:36px}.filter-bar{flex-wrap:wrap}.search-field{flex-basis:calc(100% - 45px);order:1}.share-button{order:2;padding:12px}.share-button span{display:none}.availability-filter{order:3}.availability-filter select{height:35px;min-height:35px;font-size:12px;padding-block:4px}.category-list{margin-top:10px;gap:6px}.category-list button{padding:6px 11px;font-size:12px;min-height:34px}.results-meta{margin-top:14px;flex-wrap:wrap;gap:6px 12px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card-art{height:160px}.card-art svg{height:140px}.category-caption{font-size:12px;left:10px;top:13px;padding:3px 5px;max-width:calc(100% - 53px)}.save-button{right:9px;top:9px;width:31px;height:31px}.card-copy{padding:15px 13px}.product-card h3{font-size:22px}.card-description{font-size:12px}.card-tags{gap:4px}.tag{font-size:12px;padding:3px 5px}.card-footer{flex-wrap:wrap;gap:6px;margin-top:13px;padding-top:10px}.card-market{font-size:12px}.availability-badge{font-size:12px}.shelf-note{font-size:12px}.approach{grid-template-columns:1fr;gap:20px;padding-block:30px;margin-top:34px}.approach h2{font-size:33px}.approach h2 br{display:none}.approach-copy p{font-size:12px}.partner-strip{padding:26px;display:block}.partner-strip h2{font-size:29px}.partner-strip .button{margin-top:21px}.partner-strip .eyebrow{font-size:12px}.site-footer{padding-top:29px;gap:20px}.footer-links{gap:18px;flex-wrap:wrap}.footer-fine{margin-top:0!important}.detail-layout{grid-template-columns:1fr}.detail-side{padding:15px;min-height:200px;position:relative;display:block}.detail-side svg{height:180px;margin:auto;max-width:280px}.detail-side .illustration-note{margin:0;font-size:12px}.detail-side .availability-badge{position:absolute;left:17px;top:17px;margin:0;font-size:12px}.detail-body{padding:25px}.detail-body h2{font-size:33px}.text-dialog{padding:33px 25px}.text-dialog h2{font-size:33px}}
@media(max-width:420px){.shell{width:calc(100% - 28px)}.hero{grid-template-columns:1fr;position:relative;padding-top:25px;min-height:320px;overflow:hidden}.hero-copy{position:relative;z-index:1;max-width:265px}.hero-description{max-width:235px;padding-right:0}.hero-art{position:absolute;right:-55px;top:65px;width:180px;height:150px;opacity:.24;pointer-events:none}.art-note{display:none}.hero-link{margin-top:13px}h1{font-size:45px}.discovery-heading h2{font-size:25px}.region-control select{min-width:105px;font-size:12px}.category-list button{font-size:12px;padding:6px 9px}.product-grid{gap:10px}.card-art{height:137px}.card-art svg{height:125px}.card-copy{padding:12px 11px}.product-card h3{font-size:20px}.card-description{font-size:12px}.maker{font-size:12px}.card-tags{margin-top:9px}.card-footer{font-size:12px}.availability-badge{font-size:12px}.category-caption{font-size:12px;letter-spacing:0}.tag{font-size:12px}.partner-strip{padding:23px}.partner-strip h2{font-size:27px}.brand{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.product-card:hover{transform:none}}

/* Readable discovery controls and product descriptions on small screens. */
body { font-size: 16px; }
.hero-description, .card-description, .approach-copy, .text-dialog p { font-size: 1rem; }
.category-list button, .region-control, .availability-filter select, .results-meta, .search-field input { font-size: .875rem; }
.approach h2 br { display: block; }
@media (max-width: 560px) {
  .product-grid { grid-template-columns: 1fr; }
  .card-description { font-size: 1rem; }
  .card-title { font-size: 1.5rem; }
  .card-art { height: 160px; }
  .category-list button { font-size: .875rem; }
  .hero { padding-block: 22px; }
}

.availability-badge { font-size: .875rem; }

/* Account and buying controls share the discovery page's typography. */
.account-shortlist {margin: 1rem 0 1.5rem; padding: 1rem; border: 1px solid #ced4c6; border-radius: 12px; display:flex; align-items:center; gap:1rem; flex-wrap:wrap}
.account-shortlist[hidden] {display:none}
.account-shortlist p {flex-basis:100%; margin:0}
.offers-panel,.reviews-panel {margin-top:2rem; padding-top:1.5rem; border-top:1px solid #d9d7c9}
.offer-card,.reader-review {padding:1rem; margin:1rem 0; border:1px solid #d9d7c9; border-radius:12px; background:#fffcf5}
.offer-card p,.offer-locations p,.reader-review p {font-size:14px; line-height:1.6; overflow-wrap:anywhere}
.offers-panel label,.review-form label {display:block; margin:1rem 0; font-size:14px; font-weight:600}
.offers-panel input,.review-form select,.review-form textarea {display:block; width:100%; margin:.5rem 0; padding:.7rem; border:1px solid #77856e; border-radius:6px; font:inherit; color:inherit; background:#fffdf7}
.offers-panel button {margin:.5rem .5rem .5rem 0; padding:.65rem .8rem; border:1px solid #345843; border-radius:6px; background:#f4f2e8; color:#183c2f; font:inherit; cursor:pointer}
.review-form .button {margin:.5rem .5rem 0 0}
.review-status {padding:.7rem; background:#ebeecf; border-radius:6px; font-size:14px}
@media(max-width:700px) { .main-nav {gap:.8rem} #account-link {font-size:14px} .account-shortlist .button {width:100%} }

.sponsored-finds {padding-top:2rem; padding-bottom:2rem; border-top:1px solid #d9d7c9}
.sponsored-finds[hidden] {display:none}
#sponsored-list {display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem}
.sponsor-card {padding:1.25rem; border:1px solid #bac4af; border-radius:12px; background:#efefdd}
.sponsor-label {font-size:14px; font-weight:700; color:#36523d}
.sponsor-card h3 {font-size:22px}
.offer-actions {display:flex; flex-wrap:wrap; gap:.75rem; align-items:center}
.offer-card h4 {margin:0 0 .5rem}
@media(min-width:761px) {
  .detail-side {align-self:start; position:sticky; top:0}
  .detail-side svg {margin:0}
}
@media(max-width:760px) {
  .site-header {height:auto; min-height:100px; flex-wrap:wrap; padding-block:15px; row-gap:8px}
  .main-nav {display:flex; order:3; flex-basis:100%; justify-content:flex-end}
  .main-nav > :not(#account-link) {display:none}
  #account-link {font-size:14px; overflow-wrap:anywhere}
}

/* Plain source and privacy pages share the discovery identity. */
.info-page { max-width: 850px; padding: 48px 24px 80px; margin: auto; }
.info-page h1 { font-size: clamp(2.3rem, 6vw, 4rem); margin: 32px 0; }
.info-page h2 { margin: 32px 0 12px; }
.info-page p { line-height: 1.7; }
.directory-link { margin-top: 24px; }
.main-nav [hidden] { display: none; }
