/* Concept H — one page. Homepage hero (.hero gradient, .display, .btn) + one-page layout. Only additions here. */
/* One page, not screen-tall homepage sections: undo the homepage's full-screen section height */
main > section.f-hero, main > section.f-detail, main > section.f-ohana{min-height:0;display:block}
/* HERO — homepage .hero, sized for a product page */
.f-hero .wrap{min-height:0;align-items:start;gap:56px;padding-top:30px;padding-bottom:64px}
.f-hero .copy{padding:0}
.f-hero .stage{min-height:0;height:auto}
.f-hero .kicker{margin-bottom:14px}
.f-hero h1{font-size:clamp(4rem,7.6vw,7.4rem)}
.f-hero .lede{margin:16px 0 12px}
.f-crumb{display:flex;flex-wrap:wrap;gap:8px;font-size:.9rem;color:#5b4a3a;margin-bottom:24px}
.f-crumb a{color:#5b4a3a;text-decoration:none}
.f-crumb a:hover,.f-crumb a:focus-visible{text-decoration:underline}
.f-crumb b{color:var(--ink)}
.f-status{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px}
.f-dot{width:10px;height:10px;border-radius:50%;background:currentColor}
.f-st-in{color:#1E7A3C}.f-st-week{color:var(--coral-deep)}.f-st-out{color:#6b6b6b}
.f-vars{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.f-var{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:2px solid rgba(160,56,160,.3);
  background:rgba(255,255,255,.6);color:var(--teal);font-weight:700;font-size:.92rem;text-decoration:none;transition:border-color .2s,background .2s}
.f-var:hover,.f-var:focus-visible{border-color:var(--teal);background:#fff}
.f-var.f-cur{background:var(--teal);border-color:var(--teal);color:#fff}
.f-awards{list-style:none;display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.f-awards li{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.75);border:1.5px solid #F5C518;border-radius:14px;padding:10px 18px 10px 10px}
.f-medal{flex:none;width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:1rem}
.f-awards b{display:block;font-size:.95rem}
.f-awards small{display:block;font-size:.82rem;color:#5b4a3a}
/* photo + thumbnails */
.f-main{width:100%;max-width:520px;margin-left:auto;aspect-ratio:4/5;border-radius:18px;overflow:hidden;border:2px solid #F5C518;box-shadow:0 18px 40px rgba(120,60,0,.2);background:#FFF4DC}
.f-main img{width:100%;height:100%;object-fit:cover}
.f-slot{width:100%;height:100%;display:flex;align-items:flex-end;padding:24px;background:linear-gradient(160deg,#FFF9EE,#FFE9BD)}
.f-slot span{font-size:.92rem;font-weight:600;color:#5b4a3a;border-left:3px solid var(--gold);padding-left:12px}
.f-thumbs{display:flex;gap:12px;max-width:520px;margin:14px 0 0 auto}
.f-thumb{width:84px;height:84px;padding:0;border:2px solid #fff;border-radius:12px;overflow:hidden;cursor:pointer;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.1);transition:border-color .2s}
.f-thumb img{width:100%;height:100%;object-fit:cover}
.f-thumb:hover,.f-thumb:focus-visible,.f-thumb.f-on{border-color:var(--teal)}
/* WHAT'S INSIDE — ingredients beside nutrition */
.f-detail{padding:80px 0}
.f-detail-grid{display:grid;grid-template-columns:380px minmax(0,1fr);gap:72px;align-items:start}
.f-ing .kicker{color:var(--coral)}
.f-ing h2{font-size:clamp(2.4rem,4vw,3.4rem);color:var(--teal);margin:10px 0 8px}
.f-ing h3{font-size:.84rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--coral-deep);margin:26px 0 8px}
.f-ing p{font-size:1.05rem;line-height:1.65}
.f-tag{display:inline-block;padding:6px 14px;border-radius:999px;background:#FCE4E4;color:#8A1F1F;font-weight:700;font-size:.95rem}
.f-src{margin-top:26px;font-size:.9rem!important;color:#5b4a3a}
.f-nf{background:#fff;border:2px solid #1C1C1C;padding:14px 16px;font-family:Helvetica,Arial,sans-serif;color:#1C1C1C;max-width:380px;width:100%;justify-self:start}
.f-nf h3{font-size:2.1rem;font-weight:900;line-height:1;border-bottom:1px solid #1C1C1C;padding-bottom:6px}
.f-n-serv{display:flex;justify-content:space-between;font-size:1rem;border-bottom:10px solid #1C1C1C;padding:6px 0}
.f-n-cal{display:flex;justify-content:space-between;align-items:flex-end;font-weight:900;font-size:1.9rem;line-height:1;border-bottom:5px solid #1C1C1C;padding:6px 0}
.f-n-cal span:first-child{font-size:1.25rem}
.f-n-dv{text-align:right;font-size:.85rem;border-bottom:1px solid #1C1C1C;padding:4px 0}
.f-n-row{display:flex;justify-content:space-between;font-size:.92rem;border-bottom:1px solid #1C1C1C;padding:4px 0}
.f-n-ind{padding-left:16px}.f-n-ind2{padding-left:32px}
.f-n-thick{border-bottom:10px solid #1C1C1C}
.f-n-foot{font-size:.8125rem;line-height:1.35;padding-top:8px}
/* SLIM OHANA — a link band, not the full form */
.f-ohana{padding:0 0 90px}
.f-ohana-card{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:34px 44px;border-radius:24px;background:var(--teal);color:#fff}
.f-ohana h2{font-size:clamp(2rem,3.4vw,2.8rem)}
.f-ohana p{margin-top:6px;opacity:.94;font-size:1.02rem}
@media (max-width:900px){
  .f-hero .wrap{gap:28px;padding-top:18px;padding-bottom:44px}
  .f-hero .copy{padding:0}
  .f-crumb{margin-bottom:14px;font-size:.85rem}
  .f-hero .kicker{margin-bottom:10px}
  .f-hero h1{font-size:clamp(3.4rem,16vw,4.8rem)}
  .f-hero .lede{margin:10px 0 8px}
  .f-status{margin-bottom:18px}
  .f-vars{margin-top:20px}
  .f-main,.f-thumbs{max-width:none;margin-left:0;margin-right:0}
  .f-thumb{width:72px;height:72px}
  .f-detail{padding:56px 0}
  .f-detail-grid{grid-template-columns:1fr;gap:36px}
  .f-nf{justify-self:center}
  .f-ohana{padding-bottom:60px}
  .f-ohana-card{flex-direction:column;align-items:center;text-align:center;padding:28px 24px}
}
/* award tiers: Blue Ribbon (NICRA) = Gold tier; 1st Place is a separate, higher award */
.f-aw-blue .f-medal{background:#1F4FB4;color:#fff}
.f-aw-blue{border-color:#1F4FB4!important}
.f-aw-gold .f-medal{background:var(--gold);color:var(--ink)}
.f-aw-silver .f-medal{background:#C7CCD3;color:#1C1C1C}
.f-aw-silver{border-color:#9AA3AE!important}
/* NICRA ribbons ↔ LA medals (owner, Oct 21): Blue = Gold tier · Red = Silver tier · White = Bronze tier; NICRA 1st Place is a separate award */
.f-aw-red .f-medal{background:#C62828;color:#fff}
.f-aw-red{border-color:#C62828!important}
.f-aw-white .f-medal{background:#fff;color:#1C1C1C;border:1.5px solid #9AA3AE}
.f-aw-white{border-color:#9AA3AE!important}
.f-aw-bronze .f-medal{background:#B0723A;color:#fff}
.f-aw-bronze{border-color:#B0723A!important}
