
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');

:root{
  --cream:#f3efe4;
  --paper:#fbf8f1;
  --ink:#1f241c;
  --muted:#6f7168;
  --olive:#68704d;
  --terracotta:#a65031;
  --line:#d9d3c6;
  --white:#fffdf8;
  --serif:"Libre Caslon Display",Georgia,serif;
  --sans:"DM Sans",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.site-header{
  height:72px;display:flex;align-items:center;padding:0 3.4vw;gap:36px;
  border-bottom:1px solid rgba(31,36,28,.15);background:rgba(251,248,241,.94);
  position:sticky;top:0;z-index:30;backdrop-filter:blur(10px)
}
.brand{display:flex;align-items:center;gap:12px;min-width:210px}
.brand-mark{width:34px;height:34px;border:1px solid var(--ink);display:grid;place-items:center;font-size:9px;font-weight:600;letter-spacing:.08em}
.brand-name{font:400 20px/1 var(--serif)}
.desktop-nav{display:flex;gap:28px;margin-left:auto}
.desktop-nav a,.plain-action,.cart-link{font-size:12px}
.header-actions{display:flex;align-items:center;gap:18px}
.plain-action{border:0;background:none;padding:0}
.cart-link span{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:20px;background:var(--ink);color:var(--paper);font-size:10px;margin-left:4px}
.menu-toggle{display:none;margin-left:auto;border:0;background:none}
.search-panel{position:fixed;top:72px;left:0;right:0;z-index:29;background:var(--paper);border-bottom:1px solid var(--line);padding:18px 3.4vw}
.search-panel form{max-width:760px;margin:auto;display:grid;grid-template-columns:1fr auto}
.search-panel input{height:48px;border:1px solid var(--line);background:white;padding:0 14px}
.search-panel button{border:0;background:var(--ink);color:white;padding:0 22px}
.hero{display:grid;grid-template-columns:.86fr 1.14fr;min-height:520px;background:var(--cream)}
.hero-copy{padding:74px 5vw 64px 3.4vw;display:flex;flex-direction:column;justify-content:center}
.hero-copy h1{font:400 clamp(48px,5.3vw,76px)/.96 var(--serif);letter-spacing:-.035em;margin:0 0 22px;max-width:760px}
.hero-copy p{font-size:15px;line-height:1.7;color:var(--muted);max-width:590px;margin:0 0 28px}
.hero-actions{display:flex;align-items:center;gap:18px}
.hero-media{background:url('https://images.unsplash.com/photo-1547592180-85f173990554?auto=format&fit=crop&w=1500&q=90') center/cover no-repeat}
.btn{min-height:46px;padding:0 20px;border:0;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}
.btn-dark{background:var(--ink);color:white}
.btn-light{background:var(--paper);color:var(--ink)}
.full{width:100%}
.text-link{font-size:12px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:3px}
.category-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.category-strip a{padding:22px 3.4vw 22px 20px;border-right:1px solid var(--line);display:grid;grid-template-columns:28px 1fr;grid-template-areas:"num title" "num small";gap:3px 8px}
.category-strip a:last-child{border-right:0}
.category-strip span{grid-area:num;font-size:10px;color:var(--terracotta)}
.category-strip strong{grid-area:title;font:400 22px/1.1 var(--serif)}
.category-strip small{grid-area:small;color:var(--muted);font-size:10px}
.section{padding:58px 3.4vw}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}
.section-head h2,.story-copy h2,.bundle-copy h2,.shop-hero h1,.cart-page h1,.checkout-page h1{font:400 clamp(36px,3.6vw,54px)/1 var(--serif);letter-spacing:-.025em;margin:0 0 10px}
.section-head p,.story-copy p,.bundle-copy p,.shop-hero p,.checkout-intro{margin:0;color:var(--muted);line-height:1.65;max-width:620px}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.product-card{background:var(--white);border:1px solid var(--line)}
.product-image{height:305px;background-position:center;background-size:cover;position:relative;display:block}
.quick-add{position:absolute;right:12px;bottom:12px;border:0;background:var(--paper);color:var(--ink);padding:10px 12px;font-size:11px;font-weight:600}
.product-copy{padding:16px}
.product-top{display:flex;justify-content:space-between;gap:15px;align-items:center}
.product-top span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.product-top strong{font-size:13px}
.product-copy h3{font:400 25px/1.1 var(--serif);margin:9px 0 8px}
.product-copy p{font-size:12px;line-height:1.55;color:var(--muted);margin:0}
.editorial-split{display:grid;grid-template-columns:1.05fr .95fr;min-height:560px;background:var(--olive);color:white}
.story-image{background:url('https://images.unsplash.com/photo-1556910103-1c02745aae4d?auto=format&fit=crop&w=1300&q=88') center/cover no-repeat}
.story-copy{padding:70px 6vw;display:flex;flex-direction:column;justify-content:center}
.story-copy p{color:rgba(255,255,255,.76)}
.story-points{margin:28px 0;border-top:1px solid rgba(255,255,255,.22)}
.story-points>div{display:grid;grid-template-columns:150px 1fr;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.22);font-size:12px}
.story-points strong{font-weight:600}
.story-points span{color:rgba(255,255,255,.7)}
.bundle-callout{display:grid;grid-template-columns:.8fr 1.2fr;margin:60px 3.4vw;background:#e3d2be}
.bundle-copy{padding:54px}
.plain-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em}
.bundle-price{font:400 25px/1 var(--serif);margin:20px 0}
.bundle-image{min-height:430px;background:url('https://images.unsplash.com/photo-1606756790138-261d2b21cd75?auto=format&fit=crop&w=1300&q=88') center/cover no-repeat}
.visit-band{margin:0 3.4vw 60px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.visit-band div{display:flex;gap:18px;font-size:12px}
.visit-band span{color:var(--muted)}
.site-footer{padding:40px 3.4vw;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;background:#1f241c;color:white}
.footer-brand{display:flex;gap:14px;align-items:flex-start}
.footer-brand .brand-mark{border-color:white}
.footer-brand strong{font:400 24px/1 var(--serif)}
.footer-brand p{margin:8px 0;color:rgba(255,255,255,.64);font-size:11px}
.footer-col{display:flex;flex-direction:column;gap:9px;font-size:11px;color:rgba(255,255,255,.68)}
.footer-col strong{color:white;margin-bottom:4px}
.shop-hero{padding:54px 3.4vw 30px;border-bottom:1px solid var(--line)}
.shop-toolbar{padding:16px 3.4vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}
.category-tabs{display:flex;gap:7px;flex-wrap:wrap}
.category-tabs button{border:1px solid var(--line);background:transparent;padding:8px 11px;font-size:11px}
.category-tabs button.active{background:var(--ink);color:white;border-color:var(--ink)}
.shop-toolbar select{height:36px;border:1px solid var(--line);background:white;padding:0 9px;font-size:11px}
.shop-section{padding-top:24px}
.shop-summary{display:flex;justify-content:space-between;margin-bottom:16px;font-size:11px;color:var(--muted)}
.product-detail{display:grid;grid-template-columns:1.08fr .92fr;min-height:640px}
.product-detail-image{background-position:center;background-size:cover;min-height:640px}
.product-info{padding:70px 7vw 60px 5vw;display:flex;flex-direction:column;justify-content:center}
.product-info>span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.product-info h1{font:400 clamp(42px,4.3vw,62px)/1 var(--serif);margin:12px 0 14px}
.product-info .price{font-size:18px;margin-bottom:24px}
.product-info p{font-size:14px;line-height:1.7;color:var(--muted)}
.product-facts{margin:24px 0;border-top:1px solid var(--line)}
.product-facts div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;font-size:11px}
.product-buy{display:grid;grid-template-columns:92px 1fr;gap:10px;margin-top:8px}
.qty-control{display:grid;grid-template-columns:30px 1fr 30px;border:1px solid var(--line);background:white}
.qty-control button{border:0;background:none}
.qty-control input{width:100%;border:0;text-align:center}
.related-section{background:var(--cream)}
.cart-page,.checkout-page{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;padding:58px 3.4vw 70px}
.cart-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}
.cart-item{display:grid;grid-template-columns:130px 1fr auto;gap:18px;padding:18px 0;border-top:1px solid var(--line)}
.cart-thumb{height:115px;background-size:cover;background-position:center}
.cart-item h3{font:400 23px/1.1 var(--serif);margin:0 0 6px}
.cart-item p{font-size:11px;color:var(--muted);margin:0 0 12px}
.cart-item-actions{display:flex;align-items:center;gap:12px}
.cart-item-actions input{width:58px;height:34px;border:1px solid var(--line);text-align:center}
.remove-item{border:0;background:none;text-decoration:underline;font-size:11px}
.cart-item-price{font-size:13px;font-weight:600}
.empty-cart{padding:50px 0;border-top:1px solid var(--line)}
.empty-cart p{color:var(--muted);margin-bottom:20px}
.order-summary,.checkout-order{background:var(--cream);padding:26px;align-self:start;position:sticky;top:92px}
.order-summary h2,.checkout-order h2{font:400 28px/1.1 var(--serif);margin:0 0 22px}
.summary-line,.summary-total{display:flex;justify-content:space-between;gap:20px;font-size:12px;padding:12px 0;border-top:1px solid var(--line)}
.summary-total{font-size:15px;margin-top:6px}
.order-summary .btn{margin-top:18px}
.order-summary p,.checkout-disclaimer{font-size:10px;line-height:1.5;color:var(--muted)}
.checkout-form-wrap{max-width:780px}
.fulfillment-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0}
.fulfillment-toggle label{border:1px solid var(--line);padding:14px;background:white;display:flex;gap:10px;align-items:flex-start}
.fulfillment-toggle span{display:flex;flex-direction:column;gap:4px}
.fulfillment-toggle small{color:var(--muted)}
.checkout-form{margin-top:28px}
.checkout-form label{display:flex;flex-direction:column;gap:7px;margin-bottom:15px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.checkout-form input,.checkout-form textarea{border:1px solid var(--line);background:white;padding:12px;text-transform:none;letter-spacing:0}
.checkout-item{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:11px}
.form-status{font-size:11px;color:var(--muted)}
@media (max-width:900px){
  .desktop-nav,.header-actions{display:none}
  .menu-toggle{display:block}
  .site-header.menu-open .desktop-nav{display:flex;position:absolute;top:72px;left:0;right:0;background:var(--paper);flex-direction:column;padding:20px;gap:18px;border-bottom:1px solid var(--line)}
  .hero,.editorial-split,.product-detail,.cart-page,.checkout-page{grid-template-columns:1fr}
  .hero-media{min-height:420px}
  .category-strip{grid-template-columns:repeat(2,1fr)}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .bundle-callout{grid-template-columns:1fr}
  .bundle-image{min-height:360px}
  .site-footer{grid-template-columns:1fr 1fr}
  .product-detail-image{min-height:480px}
  .order-summary,.checkout-order{position:static}
}
@media (max-width:620px){
  .site-header{padding:0 20px}
  .brand{min-width:0}
  .brand-name{font-size:18px}
  .hero{min-height:auto}
  .hero-copy{padding:52px 20px}
  .hero-copy h1{font-size:48px}
  .hero-media{min-height:340px}
  .category-strip{grid-template-columns:1fr}
  .category-strip a{padding-left:20px}
  .section{padding:44px 20px}
  .section-head{align-items:flex-start;flex-direction:column}
  .product-grid{grid-template-columns:1fr}
  .product-image{height:285px}
  .editorial-split{grid-template-columns:1fr}
  .story-image{min-height:360px}
  .story-copy{padding:48px 20px}
  .story-points>div{grid-template-columns:1fr;gap:4px}
  .bundle-callout{margin:42px 20px}
  .bundle-copy{padding:34px 24px}
  .visit-band{margin:0 20px 45px;align-items:flex-start;flex-direction:column;gap:14px}
  .visit-band div{flex-direction:column;gap:6px}
  .site-footer{grid-template-columns:1fr;padding:34px 20px}
  .shop-hero{padding:42px 20px 25px}
  .shop-toolbar{padding:14px 20px;align-items:flex-start;flex-direction:column}
  .shop-section{padding-top:18px}
  .product-detail-image{min-height:380px}
  .product-info{padding:44px 20px}
  .product-buy{grid-template-columns:90px 1fr}
  .cart-page,.checkout-page{padding:42px 20px 60px;gap:30px}
  .cart-title{align-items:flex-start;flex-direction:column;gap:12px}
  .cart-item{grid-template-columns:95px 1fr}
  .cart-thumb{height:95px}
  .cart-item-price{grid-column:2}
  .form-row,.fulfillment-toggle{grid-template-columns:1fr}
}
