:root{--bg:#faf6ef;--surface:#ffffff;--surface-2:#f4eee2;--ink:#1d241c;--muted:#6c7568;--line:#e8e0d1;--brand:#1f5a3a;--brand-2:#2e7d52;--brand-ink:#163f29;--gold:#c2972f;--gold-soft:#f1e4c2;--radius:16px;--radius-sm:10px;--max:1180px;--shadow:0 1px 2px rgba(31,40,28,.04),0 8px 30px rgba(31,40,28,.06);--shadow-lg:0 20px 50px rgba(31,40,28,.14);--serif:"Fraunces",Georgia,"Times New Roman",serif;--sans:"Inter",ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--brand-ink);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;line-height:1.1}.container{max-width:var(--max);margin:0 auto;padding:0 22px}.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:var(--gold)}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:8px;background:var(--brand);color:#fff!important;padding:13px 22px;border-radius:999px;font-weight:600;font-size:.98rem;border:0;cursor:pointer;text-decoration:none!important;transition:transform .15s ease,background .15s ease,box-shadow .15s}.btn:hover{background:var(--brand-ink);transform:translateY(-1px);box-shadow:var(--shadow)}.btn.secondary{background:transparent;color:var(--brand-ink)!important;border:1.5px solid var(--brand)}.btn.secondary:hover{background:var(--brand);color:#fff!important}.btn.gold{background:var(--gold);color:#241c05!important}.btn.gold:hover{background:#a9821f}.btn.block{width:100%;justify-content:center}.site-header{position:sticky;top:0;z-index:30;background:#faf6efd1;backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}.site-header .container{display:flex;align-items:center;gap:20px;padding:14px 22px}.logo{font-family:var(--serif);font-weight:600;font-size:1.4rem;color:var(--brand-ink);letter-spacing:-.02em}.logo span{color:var(--gold)}.nav{display:flex;gap:20px;align-items:center;margin-left:auto;flex-wrap:wrap}.nav a{color:var(--ink);font-weight:500;font-size:.93rem}.nav a:hover{color:var(--brand);text-decoration:none}.search-mini{display:flex;gap:0;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}.search-mini input{padding:9px 14px;border:0;outline:0;min-width:180px;font-size:.9rem;background:transparent}.search-mini button{border:0;background:var(--brand);color:#fff;padding:0 16px;cursor:pointer;font-weight:600}.hero{position:relative;overflow:hidden;background:radial-gradient(1100px 500px at 78% -10%,#dff0e4,#dff0e400 60%),linear-gradient(180deg,#f6efe1 0%,var(--bg) 70%);border-bottom:1px solid var(--line)}.hero .container{padding:74px 22px 64px;max-width:920px}.hero h1{font-size:clamp(2.3rem,5vw,3.7rem);margin:.4rem 0 .5rem}.hero .lede{font-size:1.2rem;color:#3b4537;max-width:640px;margin:0}.hero .cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.trust-strip{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.trust-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 15px;font-size:.85rem;font-weight:600;box-shadow:var(--shadow)}.trust-chip .dot{width:9px;height:9px;border-radius:50%}.dot-certified{background:var(--brand-2)}.dot-brand{background:#2f6db0}.dot-facility{background:#5b54b8}.dot-labeled{background:var(--gold)}.stat-line{margin-top:22px;font-size:.92rem;color:var(--muted)}.stat-line b{color:var(--ink)}.section{padding:56px 0}.section.tight{padding:34px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.section-head h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:.2rem 0 0}.section-head p{margin:.3rem 0 0;color:var(--muted)}.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.cat{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:150px;border-radius:var(--radius);padding:18px;color:#fff!important;overflow:hidden;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s}.cat:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);text-decoration:none}.cat .cname{font-family:var(--serif);font-size:1.3rem;font-weight:600;position:relative}.cat small{position:relative;opacity:.92;font-weight:400;margin-top:2px}.cat:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000000d,#00000073)}.cat>*{position:relative;z-index:1}.g-cookies-sweets{background:linear-gradient(135deg,#7b4b3a,#b9745a)}.g-crackers-chips{background:linear-gradient(135deg,#a9802a,#d6b15a)}.g-bars-bites{background:linear-gradient(135deg,#9a5a2b,#d08b4e)}.g-baking-mixes{background:linear-gradient(135deg,#8a7233,#c2a558)}.g-pasta-grains{background:linear-gradient(135deg,#3f6b3f,#6fa45f)}.g-breakfast-cereal{background:linear-gradient(135deg,#36607e,#6fa0bd)}.g-bread-bakery{background:linear-gradient(135deg,#9c5a3c,#cf8e63)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:22px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);text-decoration:none}.card .shot{aspect-ratio:1/1;width:100%;object-fit:cover;background:var(--surface-2)}.tile{aspect-ratio:1/1;width:100%;display:flex;flex-direction:column;justify-content:space-between;padding:18px;color:#fff;position:relative}.tile:after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 20% 0%,#ffffff2e,#fff0 60%)}.tile .tbrand{position:relative;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;opacity:.95}.tile .tname{position:relative;font-family:var(--serif);font-size:1.3rem;font-weight:600;line-height:1.12}.tile .tcat{position:relative;font-size:.74rem;opacity:.85}.card .body{padding:15px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}.card .brand{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.card h3{margin:0;font-size:1.05rem;font-family:var(--serif);font-weight:600;line-height:1.2}.card .foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:6px}.card .price{font-weight:700;font-size:1.05rem}.card .go{font-size:.84rem;color:var(--brand);font-weight:600}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:700;border:1px solid transparent;width:fit-content}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.9}.badge-certified{background:#eaf5ee;color:#1f5a3a;border-color:#cfe7d8}.badge-brand_certified{background:#e9f1fb;color:#1f4f86;border-color:#cfe0f4}.badge-dedicated_facility{background:#eeecfb;color:#403a8e;border-color:#dcd7f2}.badge-labeled_gf{background:#f7efd8;color:#86601f;border-color:#ecdcae}.cert{display:inline-block;background:#eaf5ee;color:var(--brand-ink);border:1px solid #cfe7d8;border-radius:999px;padding:3px 10px;font-size:.74rem;font-weight:700}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{background:var(--surface-2);border-radius:999px;padding:2px 9px;font-size:.72rem;color:var(--muted)}.capture{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--brand-ink),var(--brand-2));color:#fff;border-radius:calc(var(--radius) + 4px);padding:40px;box-shadow:var(--shadow-lg)}.capture h2{color:#fff;margin:0 0 6px;font-size:1.7rem}.capture p{margin:0;opacity:.92}.capture form{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;max-width:520px}.capture input{flex:1;min-width:220px;padding:13px 16px;border-radius:999px;border:0;font-size:1rem}.assure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.assure-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.assure-card .h{display:flex;align-items:center;gap:9px;font-weight:700;margin-bottom:6px}.assure-card p{margin:0;color:var(--muted);font-size:.9rem}.breadcrumb{font-size:.85rem;color:var(--muted);margin:18px 0}.pdp{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:start;margin-bottom:20px}.pdp .media{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.pdp .media img{width:100%;aspect-ratio:1/1;object-fit:cover}.pdp .tile{aspect-ratio:1/1}.pdp h1{font-size:clamp(1.8rem,3.5vw,2.6rem);margin:.3rem 0 .5rem}.assurance-box{background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand-2);border-radius:12px;padding:16px 18px;margin:16px 0;box-shadow:var(--shadow)}.assurance-box .claim{font-family:var(--serif);font-style:italic;font-size:1.08rem;color:#2c332e;margin:8px 0}.assurance-box .src{font-size:.85rem;color:var(--muted)}.disclosure{background:#fbf6e9;border:1px solid var(--gold-soft);border-radius:12px;padding:12px 16px;font-size:.86rem;color:#6b5a2d}.layout-2{display:grid;grid-template-columns:264px 1fr;gap:30px;align-items:start}.filters{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;position:sticky;top:90px;box-shadow:var(--shadow)}.filters h3{margin:.4rem 0 .5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:var(--sans)}.filters select,.filters input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:12px;font-size:.92rem;background:#fff}.site-footer{border-top:1px solid var(--line);background:#fff;margin-top:50px;padding:46px 0 28px;font-size:.92rem;color:var(--muted)}.site-footer .cols{display:flex;gap:48px;flex-wrap:wrap;justify-content:space-between}.site-footer .logo{font-size:1.3rem;margin-bottom:8px}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--brand)}.site-footer strong{color:var(--ink)}.ftc{background:var(--surface-2);border-top:1px solid var(--line);padding:12px 0;font-size:.8rem;color:var(--muted);text-align:center}table.admin{width:100%;border-collapse:collapse}table.admin th,table.admin td{border-bottom:1px solid var(--line);padding:9px;text-align:left;font-size:.9rem;vertical-align:top}.stat{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:0 10px 10px 0;box-shadow:var(--shadow)}.stat b{display:block;font-size:1.6rem;font-family:var(--serif)}.prose h1{font-size:2.2rem;margin:.2em 0 .4em}.prose h2{font-size:1.4rem;margin:1.4em 0 .4em;font-family:var(--serif)}.prose p,.prose li{color:#33392f}.prose ul{padding-left:1.2em}.prose code{background:var(--surface-2);padding:1px 6px;border-radius:6px}@media(max-width:780px){.layout-2{grid-template-columns:1fr}.pdp{grid-template-columns:1fr;gap:24px}.nav{gap:12px}.search-mini{order:5;width:100%}}.picks{background:linear-gradient(180deg,#fff,var(--bg));border-bottom:1px solid var(--line)}.pick-tag{display:inline-flex;align-items:center;gap:7px;background:var(--gold-soft);color:#6b4e12;border:1px solid #e7cf94;border-radius:999px;padding:4px 12px;font-size:.74rem;font-weight:700;letter-spacing:.04em}.buybar{position:sticky;bottom:0;z-index:25;margin-top:26px;background:#ffffffeb;backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:12px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.buybar .bb-name{font-weight:600;font-family:var(--serif);font-size:1.05rem;flex:1;min-width:160px}.buybar .bb-price{font-weight:700;font-size:1.15rem}.buybar .btn{white-space:nowrap}@media(max-width:560px){.buybar{position:fixed;left:12px;right:12px;bottom:12px;margin:0}.buybar .bb-name{display:none}}.hero{background-color:var(--brand-ink);background-size:cover;background-position:center;color:#fff;border-bottom:0}.hero h1{color:#fff}.hero .lede{color:#eaf1ea}.hero .eyebrow{color:var(--gold-soft)}.hero .stat-line{color:#dbe7d9}.hero .stat-line b{color:#fff}.hero .trust-chip{background:#ffffff24;border-color:#ffffff47;color:#fff;box-shadow:none}.hero .btn.secondary{color:#fff!important;border-color:#fffc}.hero .btn.secondary:hover{background:#ffffff29;color:#fff!important}.cat>:not(.cat-photo){position:relative;z-index:2}.cat .cat-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.cat:after{z-index:1;background:linear-gradient(180deg,#0000002e,#0000009e)}.photo-credit{margin-top:14px;font-size:.78rem;color:var(--muted)}
