@import url('fonts.css');

:root{
  --bg:#F6F0EC;
  --text:#2A2226;
  --accent:#6B1E2C;
  --accent-dark:#4E1420;
  --cream:#FBF8F6;
  --tan:#E9D6CF;
  --tan-dark:#D9BDB4;
  --border:#E2D3CC;
  --muted:#5A5254;
  --muted2:#77706F;
  --muted3:#4A4245;
  --dark:#2A2226;
  --dark-border:#4A4245;
  --dark-text:#CBBFBC;
  --dark-text2:#9C8E8B;
  --error:#9B2335;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Jost',-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-dark)}
input,select,textarea,button{font-family:inherit;font-size:15px}
input:focus,select:focus,textarea:focus{outline:1px solid var(--accent)}
p{text-wrap:pretty}
h1,h2,h3{text-wrap:balance;font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif}
img{display:block;width:100%;height:100%;object-fit:cover}
button{font-family:inherit}

.wrap{min-height:100vh;display:flex;flex-direction:column}

/* Announcement bar */
.announce{background:var(--dark);color:var(--tan);font-size:13px;letter-spacing:.04em;padding:9px 6vw;display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:center}
.announce .sep{color:var(--dark-text2)}
.announce a{color:var(--tan)}

/* Header */
header.site{position:sticky;top:0;z-index:40;background:rgba(246,240,236,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.header-inner{max-width:1320px;margin:0 auto;padding:12px 6vw 0;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:flex;flex-direction:column;color:var(--text);line-height:1}
.logo .main{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;font-weight:500;letter-spacing:.01em}
.logo .main em{font-style:italic;color:var(--accent)}
.logo .sub{font-size:9px;letter-spacing:.32em;color:var(--muted2);margin-top:3px}
.header-actions{display:flex;gap:8px;align-items:center}
.btn-outline{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);padding:10px 16px;background:transparent;cursor:pointer}
.btn-cart{display:flex;align-items:center;gap:8px;background:var(--accent);color:var(--bg);border:0;padding:11px 16px;cursor:pointer;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.btn-cart:hover{background:var(--accent-dark)}
.cart-badge{background:var(--bg);color:var(--accent);border-radius:20px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;padding:0 6px}
nav.mainnav{max-width:1320px;margin:0 auto;padding:4px 6vw 0;display:flex;gap:26px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
nav.mainnav a{flex:none;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:10px 0;border-bottom:2px solid transparent}
nav.mainnav a.active{color:var(--accent);border-bottom-color:var(--accent)}
nav.mainnav a:hover{color:var(--accent)}

main{flex:1}
.container{max-width:1320px;margin:0 auto;padding:0 6vw}
.kicker{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.center{text-align:center}

/* Hero */
.hero{max-width:1320px;margin:0 auto;padding:72px 6vw 88px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:56px;align-items:center}
.hero h1{font-weight:400;font-size:clamp(48px,6.4vw,92px);line-height:.98;margin:0 0 28px;letter-spacing:-.01em}
.hero h1 em{font-style:italic;color:var(--accent)}
.hero p.lead{font-size:19px;line-height:1.65;color:var(--muted);max-width:520px;margin:0 0 36px;font-weight:300}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.btn-primary{background:var(--accent);color:var(--bg);padding:16px 28px;font-size:14px;letter-spacing:.1em;text-transform:uppercase;display:inline-block;border:0;cursor:pointer}
.btn-primary:hover{background:var(--accent-dark);color:var(--bg)}
.btn-ghost{border:1px solid var(--text);color:var(--text);padding:16px 28px;font-size:14px;letter-spacing:.1em;text-transform:uppercase;display:inline-block}
.btn-ghost:hover{color:var(--text)}
.hero-facts{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:48px;padding-top:28px;border-top:1px solid var(--border);font-size:14px;color:var(--muted)}
.hero-facts b{font-weight:500;color:var(--text)}
.hero-media{position:relative;height:clamp(420px,52vw,640px)}
.hero-media .img1{position:absolute;inset:0 0 0 12%;background:var(--tan);overflow:hidden}
.hero-media .img2{position:absolute;left:0;bottom:40px;width:42%;height:42%;border:8px solid var(--bg);background:var(--tan-dark);overflow:hidden}
.hero-badge{position:absolute;right:20px;top:20px;background:var(--bg);padding:14px 18px;font-size:13px;line-height:1.5;pointer-events:none}
.hero-badge .t{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;font-size:11px}

.marquee{background:var(--accent);color:#F3E4DE;padding:22px 6vw;overflow:hidden}
.marquee-inner{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 36px;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:24px}

/* Section headers */
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-bottom:56px}
.section-head h2{font-weight:400;font-size:clamp(36px,4vw,56px);margin:0;line-height:1.05}
.section-head p{max-width:440px;color:var(--muted);line-height:1.7;margin:0}
.link-more{font-size:13px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--accent);padding-bottom:4px}

/* Services grid (home) */
.section{max-width:1320px;margin:0 auto;padding:110px 6vw 40px}
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:28px}
.svc-card{display:flex;flex-direction:column;color:var(--text);background:var(--cream);border:1px solid var(--border)}
.svc-card:hover{border-color:var(--accent)}
.svc-card .thumb{aspect-ratio:4/5;background:var(--tan);overflow:hidden}
.svc-card .body{padding:26px 24px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.svc-card .num{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;color:var(--accent);font-size:20px}
.svc-card h3{font-weight:500;font-size:28px;margin:0}
.svc-card p{margin:0;color:var(--muted);line-height:1.6;font-size:15px;flex:1}
.svc-card .more{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:8px}

/* About split */
.about-split{max-width:1320px;margin:0 auto;padding:90px 6vw;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:64px;align-items:center}
.about-split .media{height:clamp(380px,44vw,560px);background:var(--tan-dark);overflow:hidden}
.about-split h2{font-weight:400;font-size:clamp(34px,3.6vw,52px);margin:0 0 24px;line-height:1.08}
.about-split p{line-height:1.8;color:var(--muted);margin:0 0 18px}
.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-top:1px solid var(--border);padding-top:28px;margin-bottom:32px}
.stat-row .n{font-family:'Cormorant Garamond',Georgia,serif;font-size:42px;color:var(--accent)}
.stat-row .l{font-size:13px;color:var(--muted2)}

/* Steps band */
.steps-band{background:var(--tan);padding:100px 6vw}
.steps-band h2{font-weight:400;font-size:clamp(34px,4vw,54px);margin:0 0 56px}
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:36px}
.step{border-top:1px solid var(--accent);padding-top:22px}
.step .n{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:44px;color:var(--accent);line-height:1;margin-bottom:14px}
.step h3{font-size:18px;font-weight:500;margin:0 0 10px;font-family:'Jost',sans-serif}
.step p{margin:0;line-height:1.7;color:var(--muted3);font-size:15px}

/* Products */
.section-shop{max-width:1320px;margin:0 auto;padding:110px 6vw 60px}
.grid-prod{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:28px}
.prod-card{display:flex;flex-direction:column;gap:14px}
.prod-card .thumb{position:relative;aspect-ratio:1/1;background:var(--tan);overflow:hidden}
.prod-card .badge{position:absolute;top:12px;left:12px;background:var(--bg);color:var(--accent);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;pointer-events:none}
.prod-card .cat{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2)}
.prod-card h3{font-weight:500;font-size:24px;margin:-6px 0 0}
.prod-card .desc{margin:0;font-size:14px;line-height:1.6;color:var(--muted);flex:1}
.prod-card .row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto}
.prod-card .price{font-size:17px}
.btn-add{background:transparent;border:1px solid var(--accent);color:var(--accent);padding:10px 16px;cursor:pointer;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.btn-add:hover{background:var(--accent);color:var(--bg)}
.btn-add.solid{background:var(--accent);border:0;color:var(--bg);padding:11px 18px}
.btn-add.solid:hover{background:var(--accent-dark)}

/* Testimonials */
.testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:28px}
.testi{margin:0;background:var(--cream);border:1px solid var(--border);padding:36px 32px;display:flex;flex-direction:column;gap:20px}
.testi .stars{color:var(--accent);letter-spacing:.2em}
.testi blockquote{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;line-height:1.45;font-style:italic;flex:1}
.testi figcaption{font-size:14px;color:var(--muted)}
.testi figcaption b{font-weight:500;color:var(--text)}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:32px}
.blog-grid.wide{gap:48px 32px}
.blog-card{color:var(--text);display:flex;flex-direction:column;gap:14px}
.blog-card .thumb{aspect-ratio:3/2;background:var(--tan);overflow:hidden}
.blog-card .meta{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.blog-card h3{font-weight:500;font-size:26px;line-height:1.2;margin:0}
.blog-card p{margin:0;color:var(--muted);line-height:1.65;font-size:15px}
.blog-card .more{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}

/* Service page */
.svc-hero{max-width:1320px;margin:0 auto;padding:64px 6vw 80px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:56px;align-items:center}
.svc-hero .kicker{font-size:12px;letter-spacing:.24em}
.svc-hero h1{font-weight:400;font-size:clamp(44px,5.4vw,78px);line-height:1;margin:0 0 26px}
.svc-hero p.lead{font-size:19px;line-height:1.65;color:var(--muted);margin:0 0 34px;font-weight:300}
.svc-hero .media{height:clamp(360px,44vw,560px);background:var(--tan);overflow:hidden}
.svc-intro{background:var(--cream);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:80px 6vw}
.svc-intro-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px}
.svc-intro-inner p{margin:0;font-size:18px;line-height:1.8;color:var(--muted3)}
.svc-list{max-width:1320px;margin:0 auto;padding:100px 6vw 60px}
.svc-list h2{font-weight:400;font-size:clamp(34px,4vw,54px);margin:0 0 48px}
.list-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:0 56px}
.list-item{display:flex;justify-content:space-between;gap:24px;padding:22px 0;border-bottom:1px solid var(--border)}
.list-item .name{font-size:18px;font-weight:500;margin-bottom:4px}
.list-item .desc{font-size:14px;color:var(--muted2);line-height:1.5}
.list-item .price{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;color:var(--accent);white-space:nowrap}
.note-small{font-size:13px;color:var(--muted2);margin-top:20px}

.gallery-grid{max-width:1320px;margin:0 auto;padding:100px 6vw 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}
.gallery-grid .g{aspect-ratio:4/5;background:var(--tan-dark);overflow:hidden}

/* Calculator */
.calc{max-width:1320px;margin:0 auto;padding:40px 6vw 80px}
.calc-box{background:var(--dark);color:#F3E4DE;padding:clamp(32px,5vw,64px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:48px}
.calc-box .kicker{color:var(--tan-dark);margin-bottom:16px}
.calc-box h2{font-weight:400;font-size:clamp(32px,3.4vw,46px);margin:0 0 18px;color:var(--bg)}
.calc-box p{line-height:1.7;color:var(--dark-text);margin:0 0 28px}
.calc-total-box{border-top:1px solid var(--dark-border);padding-top:24px}
.calc-total-box .l{font-size:14px;color:var(--dark-text)}
.calc-total{font-family:'Cormorant Garamond',Georgia,serif;font-size:60px;color:var(--bg);line-height:1.1}
.calc-eta{font-size:14px;color:var(--dark-text);margin-bottom:22px}
.express-toggle{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid var(--muted2);color:#F3E4DE;padding:12px 16px;cursor:pointer;margin-bottom:22px}
.chk-box{width:18px;height:18px;border:1px solid var(--tan-dark);background:transparent;display:inline-block;flex:none}
.chk-box.on{background:var(--tan)}
.calc-cta{display:inline-block;background:var(--tan);color:var(--text);padding:14px 24px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.calc-items{display:flex;flex-direction:column}
.calc-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--dark-border)}
.calc-item .name{color:var(--bg)}
.calc-item .price{font-size:13px;color:var(--dark-text2)}
.qty-controls{display:flex;align-items:center;gap:12px}
.qty-btn{width:34px;height:34px;background:transparent;border:1px solid var(--muted2);color:#F3E4DE;cursor:pointer;font-size:18px}
.qty-val{min-width:18px;text-align:center;color:#F3E4DE}

/* FAQ */
.faq-section{max-width:900px;margin:0 auto;padding:80px 6vw 110px}
.faq-section h2{font-weight:400;font-size:clamp(32px,3.6vw,48px);margin:0 0 40px}
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;background:transparent;border:0;padding:24px 0;cursor:pointer;text-align:left;font-size:18px;color:var(--text)}
.faq-sign{font-size:24px;color:var(--accent);font-weight:300}
.faq-a{margin:0 0 24px;line-height:1.75;color:var(--muted);display:none}
.faq-item.open .faq-a{display:block}

/* Article */
.article{max-width:820px;margin:0 auto;padding:56px 6vw 110px}
.article .back{font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.article .meta{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2);margin:36px 0 16px}
.article h1{font-weight:400;font-size:clamp(40px,5vw,64px);line-height:1.05;margin:0 0 24px}
.article .excerpt{font-size:20px;line-height:1.65;color:var(--muted);margin:0 0 40px;font-weight:300}
.article .cover{aspect-ratio:16/9;background:var(--tan);margin-bottom:48px;overflow:hidden}
.article h2{font-weight:500;font-size:32px;margin:40px 0 14px}
.article p{font-size:18px;line-height:1.85;color:#3A3235;margin:0 0 20px}
.tip-box{background:var(--tan);padding:32px 36px;margin:40px 0}
.tip-box .kicker{font-size:12px;letter-spacing:.24em;margin-bottom:10px}
.tip-box p{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;line-height:1.45;font-style:italic;color:var(--text)}
.article-cta{border-top:1px solid var(--border);padding-top:32px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center}
.article-cta p{margin:0;color:var(--muted);max-width:460px;line-height:1.6;font-size:16px}

/* Shop page */
.shop-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:28px;margin-bottom:40px}
.shop-head h1{font-weight:400;font-size:clamp(44px,5.4vw,76px);line-height:1;margin:0 0 20px}
.shop-head p{font-size:18px;line-height:1.7;color:var(--muted);margin:0}
.cat-filters{display:flex;flex-wrap:wrap;gap:8px}
.cat-btn{background:var(--bg);color:var(--text);border:1px solid var(--text);padding:9px 16px;cursor:pointer;font-size:13px;letter-spacing:.06em}
.cat-btn.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.shop-perks{margin-top:80px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:28px;border-top:1px solid var(--border);padding-top:40px}
.shop-perks .t{font-weight:500;margin-bottom:6px}
.shop-perks .d{font-size:14px;color:var(--muted);line-height:1.6}

/* Prices */
.price-group{margin-bottom:64px}
.price-group-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px;border-bottom:1px solid var(--text);padding-bottom:14px;margin-bottom:6px}
.price-group-head h2{font-weight:500;font-size:36px;margin:0}

/* About team */
.values-band{background:var(--cream);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:90px 6vw}
.values-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:48px}
.values-grid .t{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:30px;color:var(--accent);margin-bottom:12px}
.values-grid p{margin:0;line-height:1.75;color:var(--muted3)}
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:32px}
.team-card{display:flex;flex-direction:column;gap:12px}
.team-card .thumb{aspect-ratio:4/5;background:var(--tan);overflow:hidden}
.team-card h3{font-weight:500;font-size:28px;margin:6px 0 0}
.team-card .role{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.team-card p{margin:0;color:var(--muted);line-height:1.65}

/* Contact */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:56px;align-items:start}
.contact-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:28px}
.contact-info-grid .lbl{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted2);margin-bottom:8px}
.contact-info-grid .val{line-height:1.6;font-size:17px}
.contact-media{height:360px;background:var(--border);overflow:hidden}
.contact-form-box{background:var(--cream);border:1px solid var(--border);padding:clamp(28px,4vw,44px)}
.contact-form-box h2{font-weight:500;font-size:34px;margin:0 0 8px}
.contact-form-box .sub{margin:0 0 24px;color:var(--muted);line-height:1.6}
.field-col{display:flex;flex-direction:column;gap:14px}
.field{padding:14px;border:1px solid var(--tan-dark);background:var(--bg);width:100%}
.slots-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.slot-btn{padding:11px 0;border:1px solid var(--accent);background:var(--bg);color:var(--text);cursor:pointer}
.slot-btn.active{background:var(--accent);color:var(--bg)}
.consent-row{display:flex;gap:12px;align-items:flex-start;position:relative;cursor:pointer;text-align:left;color:var(--text);font-size:14px;line-height:1.55}
.consent-row input[type=checkbox]{position:absolute;opacity:0;width:18px;height:18px;margin:0;cursor:pointer}
.consent-row .chk-box{margin-top:2px}
.consent-row input[type=checkbox]:checked ~ .chk-box{background:var(--accent)}
.form-err{color:var(--error);font-size:14px}
.success-box{text-align:center;padding:40px 0}
.success-box .t{font-family:'Cormorant Garamond',Georgia,serif;font-size:40px;color:var(--accent);margin-bottom:12px}
.success-box p{line-height:1.7;color:var(--muted);margin:0}

/* Checkout */
.checkout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px;align-items:start}
.checkout-col{display:flex;flex-direction:column;gap:32px}
.checkout-col h2{font-size:14px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;margin:0 0 18px;font-family:'Jost',sans-serif}
.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}
.option-list{display:flex;flex-direction:column;gap:10px}
.option-btn{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--border);background:var(--cream);cursor:pointer;text-align:left;color:var(--text);width:100%}
.option-btn.active{border-color:var(--accent)}
.radio-dot{width:16px;height:16px;border-radius:50%;border:1px solid var(--accent);background:transparent;flex:none;display:inline-block}
.radio-dot.on{background:var(--accent)}
.option-btn .lbl1{display:block;font-weight:500}
.option-btn .lbl2{font-size:13px;color:var(--muted2)}
.option-flex{flex:1}
.summary-box{background:var(--cream);border:1px solid var(--border);padding:32px;position:sticky;top:110px}
.summary-box h2{font-weight:500;font-size:30px;margin:0 0 20px}
.summary-line{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--border);font-size:15px}
.summary-row{display:flex;justify-content:space-between;padding:4px 0;font-size:15px;color:var(--muted)}
.summary-total{display:flex;justify-content:space-between;padding:16px 0;border-top:1px solid var(--text);font-size:20px}
.vat-note{font-size:12px;color:var(--muted2);margin-bottom:18px}
.place-order{width:100%;background:var(--accent);color:var(--bg);border:0;padding:18px;cursor:pointer;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.place-order:hover{background:var(--accent-dark)}

/* Legal */
.legal-grid{max-width:1200px;margin:0 auto;padding:56px 6vw 110px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:48px;align-items:start}
.legal-nav{display:flex;flex-direction:column;gap:2px;position:sticky;top:110px}
.legal-nav .h{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted2);margin-bottom:12px}
.legal-nav a{padding:10px 14px;color:var(--text);font-size:15px}
.legal-nav a.active{background:var(--accent);color:var(--bg)}
.legal-body{grid-column:span 3;min-width:0;max-width:760px}
.legal-body h1{font-weight:400;font-size:clamp(38px,4.4vw,60px);line-height:1.05;margin:0 0 10px}
.legal-date{font-size:13px;color:var(--muted2);margin-bottom:28px}
.legal-intro{font-size:17px;line-height:1.8;color:var(--muted3);margin:0 0 32px}
.legal-section{margin-bottom:32px}
.legal-section h2{font-weight:500;font-size:28px;margin:0 0 12px;color:var(--accent)}
.legal-section p{font-size:16px;line-height:1.8;color:#3A3235;margin:0 0 10px}

/* CTA band */
.cta-band{background:var(--accent);color:#F3E4DE;padding:80px 6vw}
.cta-band-inner{max-width:1320px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px}
.cta-band h2{font-weight:400;font-size:clamp(34px,4vw,56px);margin:0 0 14px;color:var(--bg);line-height:1.05}
.cta-band p{margin:0;line-height:1.7;color:var(--tan)}
.btn-light{background:var(--bg);color:var(--accent);padding:16px 28px;font-size:14px;letter-spacing:.1em;text-transform:uppercase;display:inline-block}
.btn-border{border:1px solid var(--tan);color:var(--bg);padding:16px 28px;font-size:14px;letter-spacing:.1em;text-transform:uppercase;display:inline-block}

/* Footer */
footer.site{background:var(--dark);color:var(--dark-text);padding:80px 6vw 32px;font-size:15px}
.footer-inner{max-width:1320px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:44px;padding-bottom:56px;border-bottom:1px solid var(--dark-border)}
.footer-brand{grid-column:span 2;min-width:0;max-width:420px}
.footer-brand .logo{font-family:'Cormorant Garamond',Georgia,serif;font-size:34px;color:var(--bg);margin-bottom:12px}
.footer-brand .logo em{font-style:italic;color:var(--tan-dark)}
.footer-brand p{line-height:1.7;margin:0 0 24px}
.footer-col{display:flex;flex-direction:column;gap:10px}
.footer-col .h{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--bg);margin-bottom:6px}
.footer-col a,.footer-col button.linklike{color:var(--dark-text);background:transparent;border:0;padding:0;cursor:pointer;text-align:left;font-size:15px;font-family:inherit}
.nl-head{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--bg);margin-bottom:12px}
.nl-row{display:flex;gap:0}
.nl-input{flex:1;min-width:0;padding:13px;border:1px solid var(--dark-border);background:transparent;color:var(--bg)}
.nl-btn{background:var(--tan);color:var(--text);border:0;padding:0 18px;cursor:pointer;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.nl-consent{display:flex;gap:10px;align-items:flex-start;position:relative;margin-top:12px;cursor:pointer;text-align:left;color:var(--dark-text);font-size:13px;line-height:1.5}
.nl-consent input[type=checkbox]{position:absolute;opacity:0;width:15px;height:15px;margin:0;cursor:pointer}
.nl-consent .chk-box{width:15px;height:15px;margin-top:2px}
.nl-consent input[type=checkbox]:checked ~ .chk-box{background:var(--tan)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:28px;font-size:13px;color:var(--dark-text2);line-height:1.6}
.footer-bottom-right{display:flex;flex-wrap:wrap;gap:16px}

/* Cart drawer */
.cart-overlay{position:fixed;inset:0;background:rgba(42,34,38,.45);z-index:80;display:none}
.cart-overlay.show{display:block}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--bg);z-index:90;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(42,34,38,.18);transform:translateX(100%);transition:transform .25s ease}
.cart-drawer.show{transform:translateX(0)}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:26px 28px;border-bottom:1px solid var(--border)}
.cart-head h2{font-weight:500;font-size:32px;margin:0}
.cart-close{background:transparent;border:0;font-size:28px;cursor:pointer;color:var(--text);line-height:1}
.cart-body{flex:1;overflow:auto;padding:8px 28px}
.cart-empty{padding:48px 0;text-align:center;color:var(--muted)}
.cart-line{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--border)}
.cart-line .thumb{width:78px;height:78px;flex:none;background:var(--tan);overflow:hidden}
.cart-line .info{flex:1;display:flex;flex-direction:column;gap:8px}
.cart-line .row1{display:flex;justify-content:space-between;gap:10px}
.cart-line .row1 .nm{font-weight:500}
.cart-line .row2{display:flex;align-items:center;gap:10px}
.btn-remove{margin-left:auto;background:transparent;border:0;color:var(--muted2);cursor:pointer;font-size:13px;text-decoration:underline}
.cart-foot{padding:24px 28px;border-top:1px solid var(--border);background:var(--cream)}
.cart-foot .msg{font-size:13px;color:var(--muted);margin-bottom:8px}
.ship-bar{height:3px;background:var(--border);margin-bottom:18px}
.ship-bar-fill{height:3px;background:var(--accent)}
.cart-foot .subtotal{display:flex;justify-content:space-between;font-size:19px;margin-bottom:18px}
.cart-foot .subtotal b{font-weight:500}
.btn-checkout{display:block;text-align:center;background:var(--accent);color:var(--bg);padding:17px;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.btn-checkout:hover{background:var(--accent-dark);color:var(--bg)}

/* Toast */
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--dark);color:var(--bg);padding:14px 22px;z-index:100;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.2);display:none}
.toast.show{display:block}

/* Cookie banner */
.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;max-width:640px;background:var(--cream);border:1px solid var(--tan-dark);z-index:95;padding:26px 28px;box-shadow:0 20px 50px rgba(42,34,38,.18);display:none}
.cookie-banner.show{display:block}
.cookie-banner .title{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;margin-bottom:8px}
.cookie-banner p{margin:0 0 16px;font-size:14px;line-height:1.65;color:var(--muted3)}
.cookie-settings{display:none;flex-direction:column;gap:10px;margin-bottom:16px;font-size:14px}
.cookie-settings.show{display:flex}
.cookie-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border)}
.cookie-row.toggle{border:0;border-top:1px solid var(--border);background:transparent;cursor:pointer;text-align:left;color:var(--text);width:100%}
.toggle-switch{width:40px;height:22px;border-radius:12px;background:var(--border);position:relative;flex:none;display:inline-block}
.toggle-switch.on{background:var(--accent)}
.toggle-dot{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#FFF;transition:left .15s}
.toggle-switch.on .toggle-dot{left:21px}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px}
.btn-cookie-accept{background:var(--accent);color:var(--bg);border:0;padding:12px 20px;cursor:pointer;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.btn-cookie-necessary{background:transparent;color:var(--text);border:1px solid var(--text);padding:12px 20px;cursor:pointer;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.btn-cookie-link{background:transparent;color:var(--accent);border:0;padding:12px 8px;cursor:pointer;font-size:13px;text-decoration:underline}

@media (max-width: 680px){
  .footer-brand{grid-column:span 1}
  .legal-body{grid-column:span 1}
}
