*{margin:0;padding:0;box-sizing:border-box;}

body{
font-family:Georgia,"Times New Roman",serif;
background:#faf9f6;
color:#1a1a1a;
line-height:1.65;
}

header{
padding:18px 6%;
display:flex;
justify-content:space-between;
align-items:center;
background:rgba(255,255,255,.92);
backdrop-filter:blur(8px);
box-shadow:0 1px 0 rgba(0,0,0,.06);
position:sticky;
top:0;
z-index:200;
}

.logo-link{
display:flex;
align-items:center;
gap:12px;
text-decoration:none;
color:inherit;
}

.logo-img{
height:40px;
width:auto;
max-width:160px;
display:block;
object-fit:contain;
}

footer .logo-img{
height:48px;
max-width:200px;
}

.logo-text{
font-size:20px;
font-weight:700;
letter-spacing:.12em;
font-family:Arial,sans-serif;
}

nav{
display:flex;
align-items:center;
gap:8px;
flex-wrap:wrap;
justify-content:flex-end;
}

nav a{
padding:8px 14px;
text-decoration:none;
color:#3d3d3d;
font-weight:600;
font-size:14px;
font-family:Arial,sans-serif;
border-radius:999px;
transition:background .2s,color .2s;
}

nav a:hover{
background:rgba(0,0,0,.06);
color:#111;
}

nav a[aria-current="page"]{
background:rgba(28,25,23,.08);
color:#1c1917;
}

.hero{
min-height:78vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
padding:56px 20px 72px;
background:
  radial-gradient(ellipse 120% 80% at 50% -20%,rgba(255,183,77,.18),transparent 55%),
  linear-gradient(165deg,#fff8f0 0%,#f5f0e8 45%,#eef6f2 100%);
}

.hero-content{max-width:720px;}

.hero-badge{
display:inline-block;
font-family:Arial,sans-serif;
font-size:11px;
font-weight:700;
letter-spacing:.14em;
text-transform:uppercase;
color:#6b5344;
background:rgba(255,255,255,.75);
border:1px solid rgba(107,83,68,.2);
padding:8px 16px;
border-radius:999px;
margin-bottom:22px;
}

.hero h1{
font-size:clamp(32px,5vw,52px);
font-weight:700;
line-height:1.15;
margin-bottom:16px;
color:#1c1917;
}

.hero .tagline{
font-size:clamp(18px,2.4vw,22px);
font-weight:400;
color:#4a4540;
margin-bottom:20px;
font-style:italic;
}

.hero p.lead{
font-size:17px;
color:#5c5650;
max-width:560px;
margin:0 auto 28px;
font-family:Arial,sans-serif;
}

.buttons{
display:flex;
justify-content:center;
gap:12px;
flex-wrap:wrap;
}

.btn{
padding:14px 28px;
border-radius:999px;
text-decoration:none;
font-weight:700;
font-size:14px;
font-family:Arial,sans-serif;
display:inline-block;
border:2px solid transparent;
transition:transform .15s,box-shadow .2s,background .2s;
cursor:pointer;
font:inherit;
}

button.btn{font-family:Arial,sans-serif;}

.btn:active{transform:scale(.98);}

.btn-primary{
background:#1c1917;
color:#fff;
box-shadow:0 4px 20px rgba(28,25,23,.25);
}

.btn-primary:hover{background:#292524;}

.btn-secondary{
border-color:rgba(28,25,23,.25);
color:#1c1917;
background:rgba(255,255,255,.6);
}

.btn-secondary:hover{
background:#fff;
border-color:#1c1917;
}

.btn-ghost{
background:transparent;
border:2px solid rgba(28,25,23,.2);
color:#1c1917;
}

.btn-ghost:hover{border-color:#1c1917;background:rgba(255,255,255,.5);}

.btn-block{width:100%;text-align:center;}

.section{padding:72px 6%;}

.section-inner{
max-width:1040px;
margin:0 auto;
text-align:center;
}

.section h2{
font-size:clamp(26px,3.5vw,36px);
margin-bottom:14px;
color:#1c1917;
}

.section .intro{
max-width:640px;
margin:0 auto 40px;
color:#5c5650;
font-size:17px;
font-family:Arial,sans-serif;
}

.pillars{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
gap:20px;
margin-top:8px;
text-align:left;
}

.pillar{
background:#fff;
padding:28px 24px;
border-radius:20px;
border:1px solid rgba(0,0,0,.06);
box-shadow:0 8px 30px rgba(0,0,0,.04);
}

.pillar h3{
font-size:18px;
margin-bottom:10px;
color:#1c1917;
font-family:Arial,sans-serif;
}

.pillar p{
font-size:15px;
color:#57534e;
font-family:Arial,sans-serif;
}

.pillar-icon{
font-size:28px;
margin-bottom:12px;
line-height:1;
}

.products-section{
background:linear-gradient(180deg,#f0ebe3 0%,#faf9f6 100%);
padding-bottom:100px;
}

.page-title{
text-align:left;
max-width:1040px;
margin:0 auto 8px;
padding:0 6%;
padding-top:32px;
}

.page-title h1{
font-size:clamp(28px,4vw,40px);
color:#1c1917;
}

.page-title p{
font-family:Arial,sans-serif;
color:#57534e;
margin-top:8px;
max-width:560px;
}

.store-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:28px;
margin-top:24px;
text-align:left;
}

.store-card{
display:flex;
flex-direction:column;
width:100%;
padding:0;
border:none;
cursor:pointer;
text-align:left;
font:inherit;
color:inherit;
background:#fff;
border-radius:22px;
overflow:hidden;
border:1px solid rgba(0,0,0,.07);
box-shadow:0 12px 40px rgba(0,0,0,.06);
transition:transform .2s,box-shadow .2s;
}

.store-card:hover{
transform:translateY(-4px);
box-shadow:0 20px 48px rgba(0,0,0,.1);
}

.store-card:focus-visible{
outline:3px solid #fbbf24;
outline-offset:3px;
}

.store-card__media{
position:relative;
aspect-ratio:4/3;
background:linear-gradient(145deg,#f5f5f4,#e7e5e4);
overflow:hidden;
}

.store-card__media img{
position:relative;
z-index:1;
width:100%;
height:100%;
object-fit:cover;
display:block;
transition:opacity .2s;
}

.store-card__media img.is-broken{
opacity:0;
z-index:0;
}

.store-card__fallback{
position:absolute;
inset:0;
z-index:0;
display:flex;
align-items:center;
justify-content:center;
font-size:clamp(56px,15vw,96px);
pointer-events:none;
opacity:.45;
}

.store-card__meta{
padding:20px 22px 22px;
}

.store-card__title{
display:block;
font-size:22px;
font-family:Arial,sans-serif;
font-weight:700;
margin-bottom:8px;
color:#1c1917;
}

.store-card__meta p{
font-size:14px;
color:#78716c;
font-family:Arial,sans-serif;
line-height:1.5;
margin-bottom:12px;
}

.store-card__prices{
font-family:Arial,sans-serif;
font-size:15px;
font-weight:700;
color:#1c1917;
margin-bottom:12px !important;
}

.store-card__cta{
font-family:Arial,sans-serif;
font-size:13px;
font-weight:700;
color:#92400e;
letter-spacing:.04em;
}

body.store-modal-open{
overflow:hidden;
}

.product-modal{
position:fixed;
inset:0;
z-index:320;
display:none;
align-items:flex-end;
justify-content:center;
padding:0;
}

.product-modal.is-open{
display:flex;
}

.product-modal__backdrop{
position:absolute;
inset:0;
background:rgba(28,25,23,.55);
backdrop-filter:blur(4px);
cursor:pointer;
}

.product-modal__dialog{
position:relative;
z-index:1;
width:100%;
max-width:520px;
max-height:min(92vh,880px);
overflow:auto;
background:#fff;
border-radius:22px 22px 0 0;
box-shadow:0 -12px 48px rgba(0,0,0,.2);
display:flex;
flex-direction:column;
animation:modalUp .28s ease-out;
}

@media(min-width:640px){
.product-modal.is-open{align-items:center;padding:20px;}
.product-modal__dialog{
border-radius:22px;
max-height:90vh;
animation:modalIn .26s ease-out;
}
}

@keyframes modalUp{
from{transform:translateY(24px);opacity:.9;}
to{transform:translateY(0);opacity:1;}
}

@keyframes modalIn{
from{transform:scale(.96);opacity:.9;}
to{transform:scale(1);opacity:1;}
}

.product-modal__close{
position:absolute;
top:12px;
right:12px;
z-index:4;
width:44px;
height:44px;
border:none;
border-radius:50%;
background:rgba(255,255,255,.92);
font-size:26px;
line-height:1;
cursor:pointer;
color:#1c1917;
box-shadow:0 2px 12px rgba(0,0,0,.12);
}

.product-modal__close:hover{background:#fff;}

.product-modal__media{
position:relative;
aspect-ratio:16/10;
background:#f5f5f4;
}

.product-modal__media img{
position:relative;
z-index:1;
width:100%;
height:100%;
object-fit:cover;
display:block;
}

.product-modal__media img.is-broken{
opacity:0;
z-index:0;
}

.product-modal__media .store-card__fallback{
font-size:72px;
opacity:.4;
}

.product-modal__body{padding:22px 22px 28px;}

.product-modal__body h2{
font-size:24px;
font-family:Arial,sans-serif;
margin-bottom:10px;
color:#1c1917;
}

.product-modal__body > p{
font-size:15px;
color:#57534e;
font-family:Arial,sans-serif;
margin-bottom:20px;
line-height:1.55;
}

.size-fieldset{
border:none;
margin:0 0 18px;
padding:0;
}

.size-fieldset legend{
font-family:Arial,sans-serif;
font-size:13px;
font-weight:700;
color:#44403c;
margin-bottom:10px;
}

.size-chips{
display:flex;
flex-wrap:wrap;
gap:10px;
}

.size-chips input{
position:absolute;
opacity:0;
width:0;height:0;
pointer-events:none;
}

.size-chips label{
display:inline-flex;
flex-direction:column;
align-items:center;
gap:4px;
padding:12px 18px;
border-radius:999px;
border:2px solid #d6d3d1;
background:#fafaf9;
font-family:Arial,sans-serif;
font-size:14px;
font-weight:600;
cursor:pointer;
transition:border-color .15s,background .15s;
}

.size-chips .chip-label{font-size:14px;}
.size-chips .chip-price{
font-size:13px;
font-weight:800;
color:#92400e;
}

.size-chips input:checked + label .chip-price{color:#fde68a;}

.size-chips input:focus-visible + label{
outline:2px solid #fbbf24;
outline-offset:2px;
}

.size-chips input:checked + label{
border-color:#1c1917;
background:#1c1917;
color:#fff;
}

.modal-stepper-wrap{
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
flex-wrap:wrap;
margin-top:8px;
}

.modal-stepper-wrap > span{
font-family:Arial,sans-serif;
font-size:14px;
color:#57534e;
}

.modal-subtotal{
margin-top:14px;
font-family:Arial,sans-serif;
font-size:15px;
font-weight:700;
color:#1c1917;
}

.product-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:24px;
margin-top:24px;
text-align:left;
}

.product-card{
background:#fff;
border-radius:22px;
overflow:hidden;
border:1px solid rgba(0,0,0,.07);
box-shadow:0 12px 40px rgba(0,0,0,.06);
}

.product-card-head{
padding:22px 22px 16px;
border-bottom:1px solid rgba(0,0,0,.06);
}

.product-card-head h3{
font-size:22px;
margin-bottom:6px;
font-family:Arial,sans-serif;
}

.product-card-head .emoji{
font-size:36px;
display:block;
margin-bottom:8px;
}

.product-card-head p{
font-size:14px;
color:#78716c;
font-family:Arial,sans-serif;
}

.variant-rows{
padding:16px 22px 22px;
display:flex;
flex-direction:column;
gap:12px;
}

.variant-row{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
flex-wrap:wrap;
}

.variant-row label{
font-family:Arial,sans-serif;
font-weight:600;
font-size:14px;
color:#44403c;
}

.stepper{
display:inline-flex;
align-items:center;
border:1px solid #d6d3d1;
border-radius:14px;
overflow:hidden;
background:#fafaf9;
}

.stepper button{
width:44px;
height:44px;
border:none;
background:#fff;
font-size:22px;
line-height:1;
cursor:pointer;
color:#1c1917;
transition:background .15s;
font-family:Arial,sans-serif;
}

.stepper button:hover{background:#f5f5f4;}
.stepper button:focus-visible{outline:2px solid #fbbf24;outline-offset:-2px;}
.stepper button:disabled{
opacity:.35;
cursor:not-allowed;
background:#fafaf9;
}

.stepper .step-val{
min-width:40px;
text-align:center;
font-family:Arial,sans-serif;
font-weight:700;
font-size:16px;
padding:0 8px;
}

.cart-strip{
position:fixed;
left:0;
right:0;
bottom:0;
z-index:150;
padding:14px 6%;
background:rgba(28,25,23,.96);
color:#fafaf9;
display:flex;
align-items:center;
justify-content:center;
gap:16px;
flex-wrap:wrap;
box-shadow:0 -8px 32px rgba(0,0,0,.2);
}

.cart-strip p{
font-family:Arial,sans-serif;
font-size:15px;
margin:0;
}

.cart-strip strong{color:#fde68a;}

.checkout-page{
padding-bottom:120px;
}

.order-layout{
max-width:720px;
margin:0 auto;
padding:0 6% 48px;
}

.checkout-steps{
display:flex;
flex-direction:column;
gap:28px;
text-align:left;
}

.step-card{
background:#fff;
border-radius:20px;
border:1px solid rgba(0,0,0,.08);
box-shadow:0 8px 28px rgba(0,0,0,.05);
padding:24px 22px 26px;
}

.step-card h2{
font-size:13px;
font-family:Arial,sans-serif;
letter-spacing:.08em;
text-transform:uppercase;
color:#78716c;
margin-bottom:16px;
display:flex;
align-items:center;
gap:10px;
}

.step-num{
display:inline-flex;
align-items:center;
justify-content:center;
width:28px;
height:28px;
border-radius:50%;
background:#1c1917;
color:#fde68a;
font-weight:800;
font-size:14px;
letter-spacing:0;
}

.bag-empty{
font-family:Arial,sans-serif;
color:#57534e;
padding:8px 0 4px;
}

.bag-list{
list-style:none;
margin:0;
padding:0;
}

.bag-row{
display:flex;
align-items:center;
justify-content:space-between;
gap:14px;
flex-wrap:wrap;
padding:14px 0;
border-bottom:1px solid #e7e5e4;
font-family:Arial,sans-serif;
font-size:15px;
}

.bag-row:last-child{border-bottom:none;}

.bag-row__main{
flex:1;
min-width:160px;
}

.bag-row__name{
display:block;
color:#292524;
font-weight:600;
margin-bottom:4px;
}

.bag-row__math{
display:block;
font-size:13px;
color:#78716c;
font-weight:600;
}

.order-bag-total{
margin-top:16px;
padding-top:14px;
border-top:2px solid #e7e5e4;
font-family:Arial,sans-serif;
font-size:17px;
font-weight:800;
color:#1c1917;
}

.order-form label{
display:block;
font-family:Arial,sans-serif;
font-size:13px;
font-weight:600;
margin-bottom:6px;
color:#44403c;
}

.order-form input,
.order-form textarea{
width:100%;
padding:12px 14px;
border-radius:12px;
border:1px solid #d6d3d1;
background:#fff;
color:#1c1917;
font-size:15px;
font-family:Arial,sans-serif;
margin-bottom:14px;
}

.order-form input::placeholder,
.order-form textarea::placeholder{color:#a8a29e;}

.order-form input:focus,
.order-form textarea:focus{
outline:2px solid #fbbf24;
outline-offset:1px;
border-color:#a8a29e;
}

.order-form textarea{min-height:88px;resize:vertical;}

.form-row-2{
display:grid;
grid-template-columns:1fr 1fr;
gap:12px;
}

@media(max-width:560px){
.form-row-2{grid-template-columns:1fr;}
}

.form-hint{
font-size:13px;
color:#78716c;
margin:-6px 0 14px;
font-family:Arial,sans-serif;
}

.order-form button[type="submit"]{
width:100%;
padding:16px;
border:none;
border-radius:999px;
background:#1c1917;
color:#fff;
font-weight:800;
font-size:15px;
font-family:Arial,sans-serif;
cursor:pointer;
margin-top:8px;
transition:filter .2s,transform .15s;
}

.order-form button[type="submit"]:hover{filter:brightness(1.08);}
.order-form button[type="submit"]:active{transform:scale(.99);}

.form-status{
font-family:Arial,sans-serif;
font-size:14px;
margin-top:14px;
text-align:center;
color:#44403c;
}

.advanced-toggle{
font-family:Arial,sans-serif;
font-size:13px;
color:#92400e;
background:none;
border:none;
cursor:pointer;
text-decoration:underline;
padding:0;
margin:8px 0 10px;
}

.advanced-box{
display:none;
margin-bottom:12px;
}

.advanced-box.is-open{display:block;}

.social-links{
display:flex;
justify-content:center;
align-items:center;
gap:18px;
flex-wrap:wrap;
margin-top:28px;
}

.social-links a{
display:inline-flex;
align-items:center;
justify-content:center;
width:44px;
height:44px;
border-radius:50%;
background:rgba(0,0,0,.06);
color:#333;
text-decoration:none;
transition:background .2s,color .2s,transform .15s;
}

.social-links a:hover{
background:rgba(0,0,0,.1);
transform:translateY(-2px);
}

.social-links svg{width:22px;height:22px;}

footer .social-links{
margin-top:24px;
margin-bottom:8px;
}

footer .social-links a{
background:rgba(255,255,255,.1);
color:#fff;
}

footer .social-links a:hover{background:rgba(255,255,255,.18);}

.contact-anchor{
scroll-margin-top:88px;
height:0;
overflow:hidden;
pointer-events:none;
}

footer{
background:#0c0a09;
color:#fff;
text-align:center;
padding:44px 20px;
cursor:default;
}

footer a{cursor:pointer;}

footer p{
color:#a8a29e;
margin:8px 0;
font-family:Arial,sans-serif;
font-size:14px;
}

footer a{color:#fcd34d;text-decoration:none;}
footer a:hover{text-decoration:underline;}

@media(max-width:768px){
.hero{padding-top:40px;}
nav a{padding:8px 10px;font-size:13px;}
}
