/* =====================================================================
   KORA — readable, human typography
   Playfair Display for headings, Lato for everything else.
   No tracked-out capitals, no outlined text, no decorative underlines.
   ===================================================================== */
:root{
  --serif:'Playfair Display', Georgia, 'Times New Roman', serif;
  --sans:'Lato', 'Helvetica Neue', Arial, sans-serif;
}
body{font-family:var(--sans);font-size:17px;line-height:1.7;color:#3B2A20}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;line-height:1.15}
h1{font-size:clamp(2.4rem,5.2vw,4.4rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}
h3{font-size:clamp(1.25rem,1.8vw,1.5rem)}
.hero h1{font-size:clamp(2.7rem,6.4vw,5.6rem);font-weight:600;line-height:1.05}
.lead{font-size:1.12rem;line-height:1.75}
p{max-width:68ch}
.center p,.sec-head.center p,.confirm p{margin-left:auto;margin-right:auto}

/* one calm label style instead of tiny spaced-out capitals */
.eyebrow,.eyebrow.dot{font-family:var(--sans);font-size:.95rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--clay);gap:0;margin-bottom:.6em}
.eyebrow.dot::before{display:none}
.is-dark .eyebrow,.eyebrow.light,.continent .eyebrow,.hero .eyebrow{color:var(--gold)}

/* everything that was small caps → normal sentence case */
.btn,.link-arrow,.play-link,.announce,.nav-link,.tool,.sr-item small,.hero-scroll,.value b,.bar-meta span,.map-pin span,.mp-ing,
.jstep-tag,.badge,.pcard-col,.pcard-taste,.pcard-add,.stock,.recipe-meta,details.recipe-more summary,.recipe-cols h4,.phone-ui small,
.news-form button,.trust-grid strong,.ft-col h3,.col-tabs a,.filters h2,.fgroup>p,.shop-bar p,.pinfo-taste,.pfacts small,.tab-list button,
.os-node small,.step,.box-table th,.summary h2,.sum-block label,.field label,.secure,.pay-status,.ing-flav,.status-badge,.process-sticky .ps-label,
.pstep-n,.lane-label,.planned-tag,.farmer-body small,.batch-card small,.heart-inline,.pp-label,.pp-stats small,.stamp-in small,.stamp em,
.reward-pts,.order-st,.mega-link small,.kpi small,.mm-num,.cursor-ring em{
  text-transform:none!important;letter-spacing:0!important}

/* buttons: friendly, readable, rounded */
.btn{font-family:var(--sans);font-size:1rem;font-weight:700;padding:.85em 1.6em;border-radius:999px}
.btn-sm{font-size:.9rem;padding:.6em 1.15em}
.pcard-add{font-size:.88rem;font-weight:700;height:40px;padding:0 16px}
/* links: plain text with an arrow, no drawn underline */
.link-arrow{font-size:1rem;font-weight:700;background:none;padding-bottom:0;color:var(--brown)}
.link-arrow:hover{background:none;color:var(--clay)}
.is-dark .link-arrow,.link-arrow.light{color:var(--gold)}
.link-u{text-decoration:none;font-weight:700;color:var(--brown)}
.link-u:hover{color:var(--clay)}
.play-link{font-size:1rem;font-weight:700}
/* navigation */
.nav-link{font-size:.98rem;font-weight:700}
.nav-link::after{display:none}
.nav-link:hover,.nav-link.is-active{color:var(--clay)}
.header-over .site-header:not(.is-scrolled) .nav-link:hover,.header-over .site-header:not(.is-scrolled) .nav-link.is-active{color:var(--gold)}
.tool{font-size:.95rem;font-weight:700}
.announce{font-size:.9rem;font-weight:400}
.mmenu-nav a{font-family:var(--serif);font-weight:600}
.mm-num{display:none}

/* no hollow / outlined text anywhere */
.marquee-item.outline{color:var(--clay);-webkit-text-stroke:0}
.marquee-item{font-family:var(--serif);font-weight:600;font-size:clamp(1.8rem,4vw,3.2rem)}
.jstep-n{color:var(--gold);-webkit-text-stroke:0;font-size:2.2rem}
.col-banner span,.story-num{color:var(--gold);-webkit-text-stroke:0}
.err-page .big{color:var(--clay);-webkit-text-stroke:0}
.round-badge{display:none}
.hero-scroll{display:none}

/* small text set in the sans for easy reading */
.pcard-title,.mega-link span:last-child,.di b,.bt-prod b,.ticket b,.reward b,.tier-row b,.acc-hello b,.farmer-body b,
.hero-chip b,.phone-ui b,.sr-item b,.ccard b,.sticky-buy b,.next-stamp h3,.os-node small{font-family:var(--sans);font-weight:700;letter-spacing:0}
.pcard-title{font-size:1.12rem;line-height:1.3}
.pcard-col{font-size:.85rem;font-weight:700;color:var(--clay)}
.pcard-taste{font-size:.9rem;color:var(--muted)}
.pcard-price,.di-price{font-weight:700}
.pinfo-price strong,.drawer-sub strong,.sum-row.total strong{font-family:var(--sans);font-weight:800}
.pinfo-taste{font-size:1rem;font-weight:700}
.pfacts b{font-family:var(--sans);font-weight:700;font-size:1.1rem}
.pfacts small{font-size:.85rem}
.badge{font-size:.78rem;font-weight:700;border-radius:999px;padding:4px 11px}
.stock{font-size:.8rem;font-weight:700}
.bar-meta b{font-family:var(--sans);font-weight:800}
.bar-meta span{font-size:.95rem;font-weight:700}
.value b,.trust-grid strong{font-size:1rem;font-weight:700}
.value span,.trust-grid span{font-size:.92rem}
.ft-col h3{font-size:1rem;font-weight:700}
.field label{font-size:.92rem;font-weight:700}
.field label small{font-size:.85rem}
.tab-list button{font-size:1rem;font-weight:700}
.col-tabs a{font-size:.92rem;font-weight:700}
.fgroup>p,.filters h2,.summary h2,.sum-block label{font-size:.95rem;font-weight:700}
.step{font-size:.88rem;font-weight:700}
.box-table th{font-size:.88rem;font-weight:700}
.recipe-meta{font-size:.88rem;font-weight:700}
.jstep-tag,.status-badge,.lane-label,.planned-tag,.order-st,.pay-status{font-size:.82rem;font-weight:700}
.pp-label{font-size:.95rem;font-weight:700}
.pp-stats small{font-size:.85rem}
.pp-stats b,.stamp-in b{font-family:var(--sans);font-weight:800}
.stamp-in b{font-size:.8rem}
.stamp em{font-size:.8rem;font-weight:700}
.reward-pts{font-size:.9rem;font-weight:700}
.kl-word{font-family:var(--serif);font-weight:600}
.pp-mrz{display:none}
.ft-tag,.continent-quote,.pp-line{font-family:var(--serif);font-style:italic;font-weight:400}

/* calmer motion: headings fade in as one piece instead of word-by-word */
[data-split] .w>span{transform:none!important;transition:none}
[data-split]{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform 1s var(--ease)}
[data-split].is-in{opacity:1;transform:none}
.no-js [data-split]{opacity:1;transform:none}
/* no custom cursor */
.cursor,.has-cursor .cursor{display:none!important}

@media (max-width:640px){
  body{font-size:16px}
  .btn{font-size:.98rem}
}
.path-num{display:none}
.crumbs{letter-spacing:0;font-size:.9rem}

/* Macadamia story: plays on its own (no pinning) */
.scrolly-pin{height:auto;min-height:min(86vh,760px);padding-top:clamp(50px,7vw,90px);padding-bottom:clamp(50px,7vw,90px)}
.scrolly-steps{display:grid;height:auto}
.s-step{position:relative;inset:auto;grid-area:1/1;transform:translateY(24px);transition:opacity .8s,transform 1s var(--ease)}
.s-step.is-on{transform:none}
.s-dots{display:flex!important;gap:10px;margin-top:26px}
.s-dots i{width:46px;height:4px;border-radius:2px;background:rgba(43,26,20,.12);cursor:pointer;position:relative;overflow:hidden}
.s-dots i::after{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left}
.s-dots i.is-done::after{transform:scaleX(1);animation:none}
.s-dots i.is-on::after{animation:stepfill 4.2s linear forwards}
@keyframes stepfill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.scrolly-steps:hover~.s-dots i.is-on::after{animation-play-state:paused}
@media (max-width:980px){
  .scrolly-pin{min-height:0;grid-template-columns:1fr}
  .scrolly-stage{max-width:420px;margin:0 auto;width:100%}
  .s-step{opacity:0;margin-bottom:0;pointer-events:none}
  .s-step.is-on{opacity:1;pointer-events:auto}
}
@media (prefers-reduced-motion:reduce){.s-step{opacity:1;position:relative;grid-area:auto}}
@media (max-width:640px){.scrolly-stage{max-width:300px}.scrolly-pin{gap:6px;padding-top:40px}}

/* Page heroes: moving background + words on top */
.phero-live{min-height:min(74vh,660px);align-items:center;padding-top:calc(var(--hdr) + var(--ann) + 40px);padding-bottom:clamp(50px,7vw,90px)}
.phero-live .phero-bg{overflow:hidden}
.phero-live .phero-bg::after{background:linear-gradient(90deg,rgba(28,16,11,.86) 0%,rgba(28,16,11,.6) 45%,rgba(28,16,11,.25) 100%),linear-gradient(0deg,rgba(28,16,11,.55),transparent 45%)}
.phero-bg img.kb{animation:kenburns 24s ease-in-out infinite alternate;transform-origin:60% 40%}
.phero-bg video{transform:scale(1.04)}
@keyframes kenburns{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.16) translate(-2%,-1.5%)}}
.phero-live-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;width:100%}
.phero-live:not(.has-float) .phero-live-grid{grid-template-columns:1fr}
.phero-live-copy{max-width:640px}
.phero-live h1{color:#fff;max-width:13em}
.phero-live .lead{color:rgba(255,255,255,.88)}
.phero-live .crumbs,.phero-live .crumbs a{color:rgba(255,255,255,.75)}
.phero-live .link-arrow{color:var(--gold)}
.phero-live .search-inline{background:rgba(255,255,255,.95);border-color:transparent}
.phero-float{display:grid;place-items:center}
.phero-float img{max-height:430px;width:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.5));animation:herofloat 6s ease-in-out infinite}
@keyframes herofloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-16px) rotate(1.5deg)}}
@media (max-width:980px){
  .phero-live-grid{grid-template-columns:1fr}
  .phero-float img{max-height:240px}
  .phero-live{min-height:0}
}
@media (prefers-reduced-motion:reduce){.phero-bg img.kb,.phero-float img{animation:none}}
.phero-live .status-badge{background:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(6px)}

/* hero products take turns */
.phero-float{position:relative;display:grid;place-items:center;min-height:430px;animation:herofloat 6s ease-in-out infinite}
.phero-float img{grid-area:1/1;max-height:430px;max-width:100%;object-fit:contain;animation:none;opacity:0;transform:translateY(30px) scale(.92) rotate(-4deg);transition:opacity .9s ease,transform 1.2s cubic-bezier(.22,1,.36,1)}
.phero-float img.is-on{opacity:1;transform:none}
.phero-float img.is-out{opacity:0;transform:translateY(-30px) scale(.94) rotate(4deg)}
@media (max-width:980px){.phero-float{min-height:250px}.phero-float img{max-height:240px}}
@media (prefers-reduced-motion:reduce){.phero-float{animation:none}}
