:root{--ink:#231d18;--coffee:#593725;--rust:#a64628;--cream:#f4eee4;--paper:#fffaf2;--white:#fffefb;--sage:#aab5a0;--clay:#d97e58;--sand:#d9bd87;--muted:#6f655c;--line:#d8ccbd;--focus:#176b73;--shadow:0 1.25rem 3.5rem rgba(68,42,25,.13);--serif:Georgia,"Times New Roman",serif;--sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer}[hidden]{display:none!important}.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}:focus-visible{outline:.2rem solid var(--focus);outline-offset:.2rem}
.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;padding:.75rem 1rem;border-radius:.25rem;color:white;background:var(--ink);transform:translateY(-160%);transition:transform .2s}.skip-link:focus{transform:none}.site-header{position:sticky;z-index:20;top:0;border-bottom:1px solid rgba(89,55,37,.18);background:rgba(244,238,228,.94);backdrop-filter:blur(.75rem)}.nav-shell{width:min(100% - 2rem,76rem);min-height:4.75rem;margin:auto;display:flex;align-items:center;gap:2rem}.wordmark{min-height:2.75rem;display:flex;align-items:center;font:700 1.55rem/1 var(--serif);letter-spacing:-.055em}.wordmark i{color:var(--rust);font-style:normal}.nav-links{margin-left:auto;display:flex;gap:1.65rem}.nav-links a{min-height:2.75rem;display:flex;align-items:center;color:var(--muted);font-size:.83rem;font-weight:700}.nav-links a:hover{color:var(--rust)}
.bag-button,.button{min-height:2.75rem;border:1px solid var(--ink);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:800}.bag-button{min-width:6.2rem;gap:.55rem;background:transparent}.bag-button:hover{color:white;background:var(--ink)}.bag-count{min-width:1.3rem;height:1.3rem;padding:0 .3rem;border-radius:999px;display:grid;place-items:center;color:white;background:var(--rust);font-size:.68rem}
.hero{width:min(100% - 2rem,76rem);margin:auto;padding:clamp(3.5rem,7vw,7rem) 0 clamp(4rem,8vw,7.5rem);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(20rem,.92fr);align-items:center;gap:clamp(2rem,7vw,6rem)}.eyebrow{margin:0 0 1.15rem;color:var(--rust);font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.hero h1{max-width:44rem;margin:0;font:700 clamp(3.55rem,7.3vw,7.35rem)/.86 var(--serif);letter-spacing:-.075em}.hero h1 em{color:var(--coffee);font-style:normal}.hero-copy{max-width:30rem;margin:1.75rem 0 2rem;color:var(--muted);font-size:clamp(1rem,1.6vw,1.15rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem}.button{min-height:3rem;padding:.76rem 1.15rem}.primary{color:white;background:var(--coffee);border-color:var(--coffee)}.primary:hover{background:var(--rust);border-color:var(--rust)}.secondary:hover{color:white;background:var(--ink)}
.hero-art{min-height:clamp(24rem,43vw,34rem);position:relative;overflow:hidden;border-radius:48% 48% 1.1rem 1.1rem;background:var(--sage);box-shadow:var(--shadow);isolation:isolate}.hero-art:before{content:"";position:absolute;width:74%;aspect-ratio:1;top:8%;left:13%;border-radius:50%;background:#dbc897}.hero-art:after{content:"B";position:absolute;inset:12% 0 auto;color:rgba(89,55,37,.94);font:700 clamp(14rem,25vw,21rem)/1 var(--serif);text-align:center;letter-spacing:-.08em}.roast-stamp{width:7.25rem;aspect-ratio:1;position:absolute;z-index:2;right:1.2rem;bottom:1.4rem;border:1px solid #ffffff80;border-radius:50%;display:grid;place-items:center;color:white;background:var(--rust);font-size:.67rem;font-weight:900;line-height:1.18;letter-spacing:.09em;text-align:center;text-transform:uppercase;transform:rotate(8deg)}
.catalog{border-top:1px solid var(--line);background:var(--paper)}.catalog-shell{width:min(100% - 2rem,76rem);margin:auto;padding:clamp(3.5rem,6vw,5.5rem) 0}.section-heading{margin-bottom:2rem;display:flex;align-items:end;justify-content:space-between;gap:2rem}.section-heading h2{margin:0;font:700 clamp(2.5rem,5vw,4rem)/.95 var(--serif);letter-spacing:-.055em}.section-heading p{max-width:22rem;margin:0;color:var(--muted)}.filters{margin:0 0 1.75rem;display:flex;gap:.55rem;overflow-x:auto;padding-bottom:.25rem}.filter{min-height:2.75rem;flex:none;padding:.62rem .95rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:white;font-size:.78rem;font-weight:800}.filter:hover{border-color:var(--coffee);color:var(--coffee)}.filter[aria-pressed=true]{border-color:var(--ink);color:white;background:var(--ink)}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}.product-card{overflow:hidden;border:1px solid var(--line);border-radius:.9rem;background:white;transition:.22s}.product-card:hover{border-color:#ba9d84;box-shadow:0 1rem 2.4rem rgba(69,43,26,.12);transform:translateY(-.3rem)}.product-visual{min-height:13.5rem;position:relative;display:grid;place-items:center;overflow:hidden}.product-visual:after{content:"";width:9rem;height:11rem;position:absolute;border:1px solid #231d182e;border-radius:.4rem .4rem 1.4rem 1.4rem;background:#fffaf233;transform:rotate(-5deg)}.visual-sage{background:var(--sage)}.visual-clay{background:var(--clay)}.visual-sand{background:var(--sand)}.product-number{z-index:1;font:700 5rem/1 var(--serif)}.tag{position:absolute;z-index:2;top:.75rem;left:.75rem;padding:.3rem .5rem;border-radius:.22rem;background:#fffefbe6;font-size:.65rem;font-weight:900;text-transform:uppercase}.card-body{padding:1.1rem}.product-title-row,.card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.product-title-row h3{margin:0;font:700 1.3rem/1.15 var(--serif)}.price{font-weight:900}.description{min-height:2.8rem;margin:.55rem 0 1.05rem;color:var(--muted);font-size:.84rem}.meta{color:var(--muted);font-size:.72rem;font-weight:700}.add-button{min-height:2.75rem;padding:.62rem .8rem;border:1px solid var(--ink);border-radius:.4rem;color:white;background:var(--ink);font-size:.76rem;font-weight:900}.add-button:hover{color:var(--ink);background:transparent}.empty-state{padding:3rem;border:1px dashed var(--line);border-radius:.9rem;text-align:center}.empty-state h3{margin:0;font:700 1.6rem var(--serif)}.empty-state p{color:var(--muted)}.text-button{padding:.35rem 0;border:0;border-bottom:1px solid;background:transparent;font-weight:800}
.promises{width:min(100% - 2rem,76rem);margin:auto;padding:2rem 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.promise{padding:1.5rem;background:var(--cream)}.promise strong{font:700 1.15rem var(--serif)}.promise p{margin:.45rem 0 0;color:var(--muted);font-size:.8rem}footer{padding:1rem 1rem 6rem;color:var(--muted);font-size:.72rem;text-align:center}
.bag-summary{position:fixed;z-index:30;right:1rem;bottom:1rem;min-height:3.25rem;padding:.8rem 1rem;border:1px solid #ffffff29;border-radius:.6rem;display:flex;align-items:center;gap:.7rem;color:white;background:var(--ink);box-shadow:var(--shadow);font-size:.78rem;font-weight:700}.bag-summary b{color:#f1bd61}.bag-panel{position:fixed;z-index:40;top:5.75rem;right:1rem;width:min(25rem,calc(100% - 2rem));max-height:calc(100vh - 7rem);overflow:auto;padding:1.25rem;border:1px solid var(--line);border-radius:.9rem;background:var(--white);box-shadow:var(--shadow)}.bag-panel-head{display:flex;align-items:center;justify-content:space-between}.bag-panel h2{margin:0;font:700 2rem var(--serif)}.icon-button{width:2.75rem;height:2.75rem;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:1.5rem}.bag-empty{color:var(--muted)}.bag-items{margin:1rem 0;padding:0;list-style:none}.bag-items li{padding:.8rem 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem}.bag-items li>span{display:flex;flex-direction:column}.bag-items li>span:last-child{align-items:end}.bag-items small{color:var(--muted)}.bag-items button{padding:.2rem 0;border:0;border-bottom:1px solid;background:transparent;color:var(--rust);font-size:.72rem}.bag-panel-foot{padding-top:1rem;border-top:2px solid var(--ink);display:grid;grid-template-columns:1fr auto;gap:.5rem}.bag-panel-foot .text-button{grid-column:1/-1;justify-self:start}.bag-panel-foot p{grid-column:1/-1;margin:.5rem 0 0;color:var(--muted);font-size:.75rem}
@media(max-width:58rem){.hero{grid-template-columns:1fr .82fr;gap:2.5rem}.product-grid{grid-template-columns:repeat(2,1fr)}.product-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:44rem){.site-header{position:relative}.nav-shell{min-height:4.25rem;flex-wrap:wrap;gap:.65rem}.nav-links{order:3;width:100%;margin:-.25rem 0 0;border-top:1px solid var(--line);justify-content:space-between}.nav-links a{min-width:5.5rem;justify-content:center;font-size:.75rem}.bag-button{margin-left:auto}.hero{padding:3rem 0 3.75rem;display:block}.hero h1{font-size:clamp(3.65rem,17vw,5.4rem)}.hero-art{min-height:22rem;margin-top:2.75rem}.section-heading{display:block}.section-heading p{margin-top:.8rem}.product-grid{grid-template-columns:1fr}.product-card:last-child{grid-column:auto;display:block}.promises{grid-template-columns:1fr}.bag-summary{right:1rem;left:1rem;justify-content:center}.bag-panel{top:1rem;max-height:calc(100vh - 2rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}
