@import url("fonts.css");

:root{
  --bg:#f8f5f0; --ink:#2b2622; --ink-soft:#524a43; --ink-body:#3d3631; --ink-mute:#6b625a;
  --gold:#8c6d45; --gold-dark:#5e482c; --gold-light:#c9ab80;
  --dark:#25201c; --dark-ink:#efe8de; --dark-ink-soft:#cfc5b8; --dark-ink-mute:#b9ae9f; --dark-line:#4a423b;
  --cream:#efe8de; --cream2:#f6f1ea; --card:#fffdf9;
  --border:#e3dbd0; --border2:#d9cfc1;
  --max:1320px; --err:#9b2c1f;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Jost',system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.65}
img{max-width:100%;display:block;object-fit:cover}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--gold-dark)}
input,select,textarea,button{font-family:inherit;font-size:16px}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
::selection{background:#e8dccb}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:400;margin:0}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
button{cursor:pointer}
.serif{font-family:'Cormorant Garamond',serif}
.wrap{max-width:var(--max);margin:0 auto;padding-left:5vw;padding-right:5vw}
.wrap-narrow{max-width:980px;margin:0 auto;padding-left:5vw;padding-right:5vw}
.wrap-article{max-width:780px;margin:0 auto;padding-left:5vw;padding-right:5vw}
.wrap-legal{max-width:1100px;margin:0 auto;padding-left:5vw;padding-right:5vw}

@keyframes sdFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.fade-in{animation:sdFade .4s ease}

/* ===== Top bar ===== */
.topbar{background:var(--dark);color:#e9e1d5;font-size:13px;letter-spacing:.04em;padding:8px 5vw;display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between}
.topbar a{color:#e9e1d5}
.topbar-left{display:flex;flex-wrap:wrap;gap:6px 24px}

/* ===== Header ===== */
header.site{position:sticky;top:0;z-index:40;background:rgba(248,245,240,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.header-inner{max-width:var(--max);margin:0 auto;padding:16px 5vw;display:flex;flex-wrap:wrap;align-items:center;gap:14px 32px;justify-content:space-between}
.logo{background:none;border:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;color:var(--ink);text-decoration:none}
.logo-title{font-family:'Cormorant Garamond',serif;font-size:30px;line-height:1;font-weight:500;letter-spacing:.01em}
.logo-title em{font-weight:400;font-style:italic;color:var(--gold)}
.logo-sub{font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-mute);margin-top:4px}
nav.mainnav{display:flex;flex-wrap:wrap;gap:4px 22px;align-items:center}
nav.mainnav a{background:none;border:0;border-bottom:1px solid transparent;padding:4px 0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
nav.mainnav a:hover{color:var(--gold)}
nav.mainnav a.active{color:var(--gold);border-bottom-color:var(--gold)}
.header-actions{display:flex;gap:10px;align-items:center}
.cart-btn{display:flex;align-items:center;gap:10px;background:none;border:1px solid var(--ink);color:var(--ink);padding:9px 14px;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.cart-btn:hover{background:var(--ink);color:var(--bg)}
.cart-count{background:var(--gold);color:#fff;min-width:22px;height:22px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;letter-spacing:0}
.btn-dark{background:var(--ink);border:1px solid var(--ink);color:var(--bg);padding:9px 16px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;display:inline-block}
.btn-dark:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.navtoggle{display:none;background:none;border:1px solid var(--ink);padding:9px 12px;font-size:13px}

/* ===== Buttons ===== */
.btn{border:0;padding:16px 26px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;display:inline-block}
.btn-primary{background:var(--ink);color:var(--bg)}
.btn-primary:hover{background:var(--gold);color:#fff}
.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn-outline:hover{background:var(--cream)}
.btn-sm{padding:13px 20px;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;border:0;background:var(--ink);color:var(--bg)}
.btn-sm:hover{background:var(--gold)}
.link-arrow{background:none;border:0;border-bottom:1px solid var(--gold);color:var(--gold);padding:4px 0;font-size:13px;letter-spacing:.16em;text-transform:uppercase;display:inline-block}

/* ===== Sections ===== */
.eyebrow{margin:0 0 12px;font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.eyebrow-lg{margin:0 0 14px;font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
section{padding:0}
.sec{padding:104px 5vw}
.sec-sm{padding:56px 5vw}
.sec-cream{background:var(--cream)}
.sec-dark{background:var(--dark);color:var(--dark-ink)}
.h1{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(44px,6vw,80px);line-height:1.02}
.h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(36px,4.4vw,58px);line-height:1.08}
.h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:28px;line-height:1.15}
.lead{font-size:18px;color:var(--ink-soft)}
.muted{color:var(--ink-soft)}

/* ===== Hero ===== */
.hero{padding:72px 5vw 88px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:56px;align-items:center}
.hero h1{font-size:clamp(46px,6.4vw,88px);line-height:1.02;letter-spacing:-.01em}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.hero-stats{display:flex;flex-wrap:wrap;gap:32px;margin-top:48px;padding-top:28px;border-top:1px solid var(--border)}
.hero-stats .num{font-family:'Cormorant Garamond',serif;font-size:40px;line-height:1}
.hero-stats .lbl{font-size:13px;color:var(--ink-mute);letter-spacing:.06em}
.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:14px}
.hero-grid .tall{grid-row:span 2;min-height:540px}
.ph{background:#ebe4da;position:relative;overflow:hidden}
.ph img{width:100%;height:100%}

.marquee{background:var(--dark);color:var(--cream);padding:20px 5vw}
.marquee-inner{max-width:var(--max);margin:0 auto;display:flex;flex-wrap:wrap;gap:10px 40px;justify-content:space-between;font-family:'Cormorant Garamond',serif;font-size:22px;font-style:italic}

/* ===== Grids ===== */
.row-between{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1px;background:var(--border);border:1px solid var(--border)}
.service-card{background:var(--card);padding:36px 30px;display:flex;flex-direction:column;gap:14px}
.service-no{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--gold);font-style:italic}
.service-price{margin-top:auto;font-size:13px;letter-spacing:.08em;color:var(--ink-mute)}

.steps-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:64px}
.step{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:26px 0;border-bottom:1px solid var(--border2)}
.step-no{font-family:'Cormorant Garamond',serif;font-size:44px;line-height:1;color:var(--gold)}
.step h3{font-weight:500;font-size:26px;margin:0 0 6px}

.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}
.portfolio-grid.full{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:56px 28px}
.pf-card .ph{aspect-ratio:4/5}
.portfolio-grid.full .ph{aspect-ratio:4/3}
.pf-tag{font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.pf-tags{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}

.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:40px}
figure{margin:0;padding-top:28px;border-top:1px solid var(--dark-line)}
blockquote{margin:0;font-family:'Cormorant Garamond',serif;font-size:24px;line-height:1.4;font-style:italic}
figcaption{margin-top:20px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light)}

.two-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px}
.card{background:var(--card);border:1px solid var(--border);padding:44px;display:flex;flex-direction:column;gap:16px}
.card h3{font-size:40px}

.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:24px}
.shop-grid.full{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:40px 24px}
.product h3{font-size:24px}
.shop-grid.full .product h2{margin:4px 0 0;font-weight:500;font-size:25px;line-height:1.15}
.product-cat{align-self:flex-start;background:var(--card);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px;color:var(--gold);position:absolute;top:12px;left:12px}
.product .ph{aspect-ratio:1;position:relative}

.cta-final{padding:120px 5vw;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:40px;align-items:end}
.cta-final h2{font-size:clamp(40px,5.4vw,76px);line-height:1.02}

/* ===== Services page ===== */
.service-detail{padding:56px 5vw;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px}
.service-detail .ph{aspect-ratio:5/4}
.service-detail h2{font-size:clamp(34px,3.6vw,48px);margin:6px 0 16px}
.service-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 24px;margin:0 0 26px}
.service-items li{display:flex;gap:10px;font-size:15.5px}
.service-items li span:first-child{color:var(--gold)}
.service-foot{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid var(--border)}
.service-foot .price{font-family:'Cormorant Garamond',serif;font-size:26px}

.extras-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1px;background:var(--border2);border:1px solid var(--border2)}
.extra{background:var(--cream2);padding:28px}
.extra h3{margin:0 0 8px;font-weight:500;font-size:24px}

/* ===== Pricing page ===== */
.pkg-grid{padding:0 5vw 96px;max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px}
.pkg{border:1px solid var(--border2);padding:40px 34px;display:flex;flex-direction:column;gap:16px}
.pkg.light{background:var(--card);color:var(--ink)}
.pkg.dark{background:var(--dark);color:var(--dark-ink)}
.pkg-tag{font-size:12.5px;letter-spacing:.24em;text-transform:uppercase}
.pkg h2{font-size:40px;line-height:1.05}
.pkg-price{font-family:'Cormorant Garamond',serif;font-size:30px}
.pkg-items{display:flex;flex-direction:column;gap:10px;padding-top:20px;margin-top:6px}
.pkg-items li{display:flex;gap:10px;font-size:15px}
.pkg-btn{margin-top:auto;border:0;padding:14px 20px;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;text-align:left}
.pkg.light .pkg-items{border-top:1px solid var(--border)}
.pkg.dark .pkg-items{border-top:1px solid var(--dark-line)}
.pkg.light .pkg-btn{background:var(--ink);color:var(--bg)}
.pkg.dark .pkg-btn{background:var(--gold-light);color:var(--dark)}

.calc-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:48px;max-width:var(--max);margin:0 auto}
.calc-label{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin:30px 0 10px;display:block}
input[type=range]{width:100%;accent-color:var(--gold)}
.pkg-pick-row{display:flex;flex-wrap:wrap;gap:8px}
.pill{border:1px solid var(--ink);background:transparent;padding:11px 16px;font-size:14px;cursor:pointer}
.pill.active{background:var(--ink);color:var(--bg)}
.addon-row{display:flex;gap:12px;align-items:center;cursor:pointer;font-size:15.5px}
.addon-row input{width:18px;height:18px;accent-color:var(--gold)}
.calc-result{background:var(--dark);color:var(--dark-ink);padding:44px;display:flex;flex-direction:column;gap:18px;align-self:start}
.calc-result .total{font-family:'Cormorant Garamond',serif;font-size:clamp(44px,5vw,64px);line-height:1}
.calc-lines{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--dark-line);padding-top:18px}
.calc-lines div{display:flex;justify-content:space-between;gap:16px;font-size:15px}
.calc-result .btn-sm{background:var(--gold-light);color:var(--dark);text-align:left;padding:15px 22px}
.calc-result .btn-sm:hover{background:#e0c79f}

/* ===== About ===== */
.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:36px}
.value-item{border-top:1px solid var(--ink);padding-top:20px}
.value-item h3{margin:0 0 8px;font-weight:500;font-size:26px}
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:28px}
.team-card .ph{aspect-ratio:3/4}
.team-card h3{margin:4px 0 0;font-weight:500;font-size:26px}
.team-role{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}

/* ===== Magazine ===== */
.mag-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:48px 28px}
.mag-card .ph{aspect-ratio:3/2}
.mag-meta{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.mag-card h2{margin:0;font-weight:500;font-size:30px;line-height:1.12}
.mag-card:hover h2{color:var(--gold)}
.read-more{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);align-self:flex-start}

.article-body p{margin:0 0 18px;font-size:17px;color:var(--ink-body)}
.article-body h2{margin:36px 0 12px;font-weight:500;font-size:30px}
.article-lead{margin:0 0 36px;font-size:20px;color:var(--ink-soft);font-family:'Cormorant Garamond',serif;font-style:italic;line-height:1.5}
.article-hero{aspect-ratio:16/9;margin-bottom:40px}
.article-cta{margin-top:48px;padding:32px;background:var(--cream);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}
.back-link{background:none;border:0;padding:0;color:var(--gold);font-size:13px;letter-spacing:.14em;text-transform:uppercase}

/* ===== Checklist ===== */
.progress-row{margin:36px 0 12px;display:flex;justify-content:space-between;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}
.progress-track{height:4px;background:var(--border)}
.progress-bar{height:4px;background:var(--gold);transition:width .3s}
.check-group{margin-top:44px}
.check-group h2{margin:0 0 12px;font-weight:500;font-size:30px}
.check-task{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--border);cursor:pointer}
.check-task input{width:20px;height:20px;margin-top:3px;accent-color:var(--gold)}
.check-task span.done{color:#8a8078;text-decoration:line-through}

/* ===== FAQ ===== */
.faq-item{border-top:1px solid var(--border2)}
.faq-q{width:100%;display:flex;justify-content:space-between;gap:20px;align-items:center;background:none;border:0;padding:24px 0;cursor:pointer;text-align:left;color:var(--ink)}
.faq-q span:first-child{font-family:'Cormorant Garamond',serif;font-size:25px;font-weight:500;line-height:1.25}
.faq-sign{font-size:26px;color:var(--gold);line-height:1}
.faq-a{margin:0 0 26px;color:var(--ink-soft);max-width:780px;display:none}
.faq-item.open .faq-a{display:block}

/* ===== Contact ===== */
.contact-grid{padding:80px 5vw 104px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:64px;max-width:var(--max);margin:0 auto}
.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;border-top:1px solid var(--border2);padding-top:28px;margin-top:36px}
.contact-info .lbl{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.contact-map{margin-top:36px;aspect-ratio:16/9}
.form-card{background:var(--card);border:1px solid var(--border);padding:40px;align-self:start}
form{display:flex;flex-direction:column;gap:18px}
.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
label.field{display:flex;flex-direction:column;gap:6px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}
label.field input,label.field select,label.field textarea{border:0;border-bottom:1px solid #b8ad9f;background:transparent;padding:10px 0;font-size:16px;color:var(--ink);outline:none}
.checkout-field input,.checkout-field select{border:1px solid var(--border2);background:var(--card);padding:12px;font-size:16px;color:var(--ink)}
label.field textarea{border:1px solid var(--border2);padding:12px;resize:vertical}
.check-inline{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--ink-soft);cursor:pointer}
.check-inline input{width:18px;height:18px;margin-top:2px;accent-color:var(--gold)}
.form-err{color:var(--err);font-size:14px}
.form-note{margin:0;font-size:12.5px;color:var(--ink-mute)}
.thanks{background:var(--card);border:1px solid var(--border);padding:40px}
.thanks h2{font-size:40px;margin:0 0 12px}

/* ===== Shop ===== */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.filter-btn{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:9px 16px;font-size:13px;letter-spacing:.08em;cursor:pointer}
.filter-btn.active{background:var(--ink);color:var(--bg)}
.product{display:flex;flex-direction:column;gap:10px}
.product-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:8px}
.product-price{font-size:18px}
.product-vat{font-size:12px;color:var(--ink-mute)}
.btn-add{background:var(--ink);color:var(--bg);border:0;padding:10px 15px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.btn-add:hover{background:var(--gold)}

/* ===== Checkout ===== */
.checkout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px}
.checkout-col{display:flex;flex-direction:column;gap:30px}
fieldset{border:0;padding:0;margin:0}
fieldset legend{font-family:'Cormorant Garamond',serif;font-size:28px;margin-bottom:12px;padding:0}
.checkout-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.radio-row{display:flex;flex-direction:column;gap:10px}
.radio-opt{display:flex;gap:12px;align-items:center;border:1px solid var(--border2);background:var(--card);padding:14px 16px;cursor:pointer}
.radio-opt.checked{border-color:var(--ink)}
.radio-opt input{accent-color:var(--gold)}
.radio-note{font-size:13px;color:var(--ink-mute)}
.summary{background:var(--card);border:1px solid var(--border);padding:32px;align-self:start;display:flex;flex-direction:column;gap:14px}
.summary h2{font-size:30px;margin:0 0 6px}
.summary-line{display:flex;justify-content:space-between;gap:16px;font-size:15px;padding-bottom:10px;border-bottom:1px solid #eee7dd}
.summary-tot{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--ink);padding-top:14px}
.summary-tot .lbl{font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.summary-tot .val{font-family:'Cormorant Garamond',serif;font-size:34px}
.summary-vat{font-size:13px;color:var(--ink-mute);text-align:right}
.empty-cart{font-size:18px;color:var(--ink-soft)}

/* ===== Legal ===== */
.legal-layout{padding:72px 5vw 104px;display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:start;max-width:1100px;margin:0 auto}
.legal-nav{display:flex;flex-direction:column;gap:2px;position:sticky;top:120px}
.legal-nav-title{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.legal-nav a{text-align:left;background:transparent;border:0;border-left:2px solid var(--border);padding:10px 14px;font-size:15px;color:var(--ink);display:block}
.legal-nav a.active{background:var(--cream);border-left-color:var(--gold)}
.legal-article h1{font-size:clamp(38px,4.6vw,58px);line-height:1.06;margin:0 0 10px}
.legal-updated{margin:0 0 36px;font-size:14px;color:var(--ink-mute)}
.legal-section{margin-bottom:30px}
.legal-section h2{margin:0 0 10px;font-weight:500;font-size:26px}
.legal-section p{margin:0 0 10px;font-size:15.5px;color:var(--ink-body)}

/* ===== Footer ===== */
footer.site{background:var(--dark);color:#d9d0c3;padding:80px 5vw 32px;font-size:14.5px}
.footer-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:40px}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:32px;color:#f3ede4;line-height:1}
.footer-logo em{color:var(--gold-light);font-style:italic}
.footer-col{display:flex;flex-direction:column;gap:8px}
.footer-title{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);margin-bottom:6px}
.footer-col a,.footer-col button{background:none;border:0;padding:0;text-align:left;color:#d9d0c3;font-size:14.5px}
.footer-col a:hover,.footer-col button:hover{color:#fff}
.footer-legal{display:flex;flex-direction:column;gap:4px;color:var(--dark-ink-mute)}
.footer-legal strong{color:#f3ede4;font-weight:400}
.footer-bottom{max-width:var(--max);margin:56px auto 0;padding-top:24px;border-top:1px solid var(--dark-line);display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;font-size:13px;color:#a2968a}

/* ===== Cart drawer ===== */
.cart-overlay{position:fixed;inset:0;background:rgba(37,32,28,.45);z-index:60;display:none}
.cart-overlay.open{display:block}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--bg);z-index:61;display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.15);transform:translateX(100%);transition:transform .25s ease}
.cart-drawer.open{transform:translateX(0)}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid var(--border)}
.cart-close{background:none;border:0;font-size:28px;cursor:pointer;color:var(--ink);line-height:1}
.cart-items{flex:1;overflow:auto;padding:12px 28px}
.cart-item{display:grid;grid-template-columns:64px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--border);align-items:center}
.cart-item-thumb{width:64px;height:64px;background:#ebe4da;object-fit:cover}
.qty-row{display:flex;align-items:center;gap:8px;margin-top:8px}
.qty-btn{width:28px;height:28px;border:1px solid #b8ad9f;background:none;cursor:pointer}
.remove-btn{background:none;border:0;color:var(--gold);font-size:13px;cursor:pointer;margin-left:6px}
.cart-foot{padding:24px 28px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}
.cart-sub-row{display:flex;justify-content:space-between;font-size:16px}
.ship-note{font-size:13.5px;color:var(--ink-mute)}
.cart-empty-note{color:var(--ink-mute);margin:24px 0}

/* ===== Toast ===== */
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:14px 22px;z-index:70;font-size:14.5px;display:none}
.toast.show{display:block;animation:sdFade .25s ease}

/* ===== Cookie banner ===== */
.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:65;max-width:620px;background:var(--card);border:1px solid var(--border2);box-shadow:0 20px 50px rgba(37,32,28,.18);padding:26px 28px;display:none}
.cookie-banner.show{display:block}
.cookie-banner h2{margin:0 0 8px;font-weight:500;font-size:26px}
.cookie-banner p{margin:0 0 18px;font-size:14.5px;color:var(--ink-soft)}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px}
.cookie-actions button{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;padding:12px 18px;cursor:pointer}
.cookie-accept{background:var(--ink);color:var(--bg);border:0}
.cookie-necessary{background:none;color:var(--ink);border:1px solid var(--ink)}
.cookie-detail{background:none;color:var(--gold);border:0;padding:12px 6px}

@media (max-width:820px){
  nav.mainnav{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:2px;order:3}
  nav.mainnav.open{display:flex}
  .navtoggle{display:inline-block}
  .header-inner{position:relative}
  .legal-layout{grid-template-columns:1fr}
  .legal-nav{position:static;flex-direction:row;flex-wrap:wrap}
}
