/* September refinement: lounge-led hero, sans-serif titles and warm neutrals. */
h1,h2,h3,.category-card h3,.steps h3,.article-card h3,.footer-statement {
    font-family:var(--heading);
    font-weight:500;
}
h1,h2 { letter-spacing:-.04em; }
em { font-weight:inherit; }
.category-card h3 { font-size:24px; }
.article-card h3 { font-size:24px; line-height:1.3; }
.header { background:#fff; color:var(--ink); }
.header-inner { max-width:1600px; padding:0 40px 0 0; min-height:84px; gap:24px; }
.brand { align-self:stretch; display:flex; align-items:center; justify-content:center; flex-basis:265px; background:#242321; padding:12px 28px; }
.main-nav { gap:26px; }
.main-nav a { font-weight:500; }
.header .icon-button img { filter:none; }
.bag-count { color:#fff; }
.hero { display:flex; position:relative; isolation:isolate; max-width:none; min-height:550px; background:#38302a; color:#fff; overflow:hidden; }
.hero-copy { position:relative; z-index:2; width:100%; max-width:1440px; margin-inline:auto; padding:64px 48px 54px; justify-content:center; align-items:flex-start; }
.hero .eyebrow { color:#f3e8db; margin-bottom:26px; }
.hero .eyebrow:after { background:#d67d59; margin-top:15px; }
.hero h1 { max-width:850px; font-size:clamp(46px,4.6vw,66px); line-height:1.08; letter-spacing:-.045em; text-wrap:balance; }
.hero h1 em { color:inherit; }
.hero-copy>p { max-width:455px; margin-top:24px; margin-bottom:25px; font-size:17px; line-height:1.65; }
.hero-actions { gap:28px; margin-top:0; }
.hero-actions .text-link { color:#fff; }
.hero-actions .button { background:#a73325; border-color:#db9e8c; }
.hero-actions .button:hover { background:#8f281e; border-color:#fff; }
.hero-location { color:#e1d7cc; margin-top:28px; }
.hero-location .small-line { background:#d9ad90; }
.hero-visual { position:absolute; inset:0; z-index:-1; min-height:0; height:100%; }
.hero-visual>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 57%; }
.hero-visual:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(20,17,14,.76),rgba(20,17,14,.44) 41%,rgba(20,17,14,.06) 75%); }
.hero-visual figcaption { z-index:1; }
.hero a:focus-visible { outline-color:#fff; }
.assurances { background:#2d2b28; color:#fff; border:0; }
.assurances>.wrap { padding-block:25px; }
.assurances>.wrap>div { border-color:#68615a; }
.assurances h2 { font-size:19px; letter-spacing:-.025em; }
.assurances p { color:#ded7ce; }
.assurances img { filter:invert(1); opacity:.9; }
.story-copy h2 { font-size:clamp(32px,3vw,46px); }
.step-number { font-weight:400; }
.footer h2,.cart-line h2 { font-family:var(--sans); }
@media(min-width:1600px) { .hero-copy { padding-block:82px; } }
@media(max-width:1100px) {
    .header-inner { padding-right:28px; gap:20px; }
    .brand { flex-basis:245px; }
    .menu-toggle { display:grid; }
    .main-nav { display:none; position:absolute; top:100%; left:0; right:0; background:#fff; padding:18px 28px 26px; flex-direction:column; align-items:stretch; gap:0; border-top:1px solid var(--line); box-shadow:0 12px 20px #0001; }
    .main-nav.is-open { display:flex; }
    .main-nav a { font-size:18px; padding:14px 0; }
    .hero-copy { padding-inline:32px; }
    .hero h1 { font-size:58px; }
    .assurances h2 { font-size:17px; }
}
@media(max-width:760px) {
    .header-inner { padding:0 20px 0 0; min-height:74px; gap:15px; }
    .brand { flex:0 0 194px; padding:12px 18px; }
    .hero { min-height:590px; }
    .hero-copy { padding:58px 24px 62px; justify-content:flex-end; }
    .hero h1 { font-size:clamp(40px,8.8vw,58px); max-width:680px; line-height:1.13; }
    .hero .eyebrow { font-size:9px; margin-bottom:22px; }
    .hero-copy>p { font-size:16px; max-width:460px; margin-top:22px; }
    .hero-actions { gap:22px; }
    .hero-location { margin-top:24px; font-size:9px; letter-spacing:.025em; }
    .hero-visual { height:100%; }
    .hero-visual>img { object-position:58% center; }
    .hero-visual:after { background:linear-gradient(0deg,rgba(20,17,14,.88),rgba(20,17,14,.6) 57%,rgba(20,17,14,.1)); }
    .assurances>.wrap { padding-block:9px; }
    .assurances h2 { font-size:18px; }
    .assurances>.wrap>div { padding-block:17px; }
    .category-card h3 { font-size:22px; }
    .article-card h3 { font-size:22px; }
    .story-copy h2 { font-size:36px; }
    .cta h2 { font-size:34px; }
}
@media(max-width:380px) {
    .header-inner { padding-right:12px; gap:10px; }
    .brand { flex-basis:153px; padding-inline:11px; }
    .hero-copy { padding-inline:20px; }
    .hero h1 { font-size:34px; }
    .hero-actions { gap:16px; }
    .category-card h3 { font-size:20px; }
    .story-copy h2 { font-size:32px; }
}
