:root{
  --bone:#F6F1E8;--ink:#1A1614;--plum:#4A2240;--plum-2:#5B2A4E;--rose:#B76E79;
  --saddle:#9C6A43;--linen:#D9CCBC;--muted:#6F6460;--blush:#E8C4C4;--sage:#8A9A7B;--oxblood:#6E2C2C;--body2:#4A3A44;
  --serif:'DM Serif Display',Georgia,serif;--wordmark:'Palatino Linotype','Book Antiqua',Palatino,Georgia,serif;--sans:Montserrat,'Century Gothic',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bone);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--plum);text-decoration:none}a:hover{color:var(--rose)}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;color:var(--plum)}
p{margin:0}
.wrap{max-width:1240px;margin:0 auto;padding-left:48px;padding-right:48px}
@media(max-width:640px){.wrap{padding-left:20px;padding-right:20px}}

.announce{padding:10px 48px;background:var(--plum);color:var(--linen);font-size:11px;letter-spacing:3px;text-transform:uppercase;text-align:center}
@media(max-width:640px){.announce{padding:10px 16px;letter-spacing:2px}}

header.nav{padding:22px 48px;border-bottom:1px solid var(--linen);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
@media(max-width:640px){header.nav{padding:18px 20px}}
.wordmark{font-family:var(--wordmark);font-weight:700;font-size:22px;letter-spacing:3px;text-transform:uppercase;color:var(--plum);display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.wordmark .amp{color:var(--rose);font-style:italic;font-weight:400;font-size:28px;letter-spacing:0}
nav.links{display:flex;flex-wrap:wrap;gap:28px;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:600}
nav.links a{color:var(--ink)}nav.links a.on{color:var(--rose)}nav.links a:hover{color:var(--rose)}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:14px 26px;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:600;border:0;cursor:pointer;font-family:var(--sans);transition:opacity .15s}
.btn:hover{opacity:.88}
.btn-plum{background:var(--plum);color:var(--bone)}.btn-plum:hover{color:var(--bone)}
.btn-rose{background:var(--rose);color:var(--bone)}.btn-rose:hover{color:var(--bone)}
.btn-bone{background:var(--bone);color:var(--plum)}.btn-bone:hover{color:var(--plum)}
.btn-line{border:1.5px solid var(--plum);color:var(--plum);background:transparent;min-height:44px;padding:12px 22px}
.btn-line-bone{border:1.5px solid var(--bone);color:var(--bone);background:transparent}.btn-line-bone:hover{color:var(--bone)}
.btn-sm{min-height:44px;padding:12px 20px}

.kicker{font-size:12px;letter-spacing:4px;text-transform:uppercase;font-weight:600;color:var(--saddle)}
.kicker.rose{color:var(--rose)}.kicker.oxblood{color:var(--oxblood)}.kicker.linen{color:var(--linen)}
.h-hero{font-size:76px;line-height:1}
.h-hero-sm{font-size:68px;line-height:1}
.h-sec{font-size:48px;line-height:1.05}
.h-panel{font-size:44px;line-height:1.1}
.h-row{font-size:36px}
.h-mini{font-size:24px;line-height:1.25}
@media(max-width:820px){.h-hero,.h-hero-sm{font-size:48px}.h-sec{font-size:36px}.h-panel{font-size:34px}.h-row{font-size:28px}}
.lede{font-size:19px;max-width:540px;color:var(--body2)}
.rule{width:64px;height:2px;background:var(--rose);margin-top:8px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}

.hero{padding:88px 48px 72px;display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.hero>.copy{flex:1 1 540px;min-width:0;display:flex;flex-direction:column;gap:22px}
.hero>.pics{flex:1 1 380px;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:640px){.hero{padding:56px 20px 48px}}
.ph{display:flex;align-items:flex-end;padding:16px;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);background:var(--linen)}
.ph.wide{grid-column:span 2;aspect-ratio:16/10}
.ph.sq{aspect-ratio:1/1}
.ph.blush{background:var(--blush);color:var(--oxblood)}
.ph.sage{background:var(--sage);color:var(--bone)}
.ph.bone{background:var(--bone)}

.divider{display:flex;align-items:center;gap:20px;padding:24px 0}
.divider span{flex:1;height:1px;background:var(--linen)}

.split{display:flex;flex-wrap:wrap}
.split>div{flex:1 1 480px;min-width:0;padding:72px 48px;display:flex;flex-direction:column;gap:20px}
@media(max-width:640px){.split>div{padding:56px 20px}}
.split .blush{background:var(--blush)}
.split .plum{background:var(--plum);color:var(--bone)}
.split .plum h2{color:var(--bone)}
.split .plum p{color:var(--linen)}
.split p{max-width:480px;color:var(--body2)}
.mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}
.mini-grid .t{display:flex;flex-direction:column;gap:8px}
.mini-grid .box{aspect-ratio:4/5;background:var(--bone);border:1px solid var(--linen)}
.mini-grid b{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600}
.mini-grid small{font-size:12px;color:var(--muted)}
.list{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.list li{display:flex;gap:12px;align-items:baseline}
.list li span:first-child{color:var(--rose)}
.list b{font-weight:600}

.story{padding:96px 48px;display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.story>.head{flex:0 1 360px;min-width:0;display:flex;flex-direction:column;gap:12px}
.story>.body{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:20px;font-size:18px}
.story .quote{font-family:var(--serif);font-size:26px;line-height:1.3;color:var(--saddle);font-style:italic}
@media(max-width:640px){.story{padding:64px 20px}}

.band{padding:72px 48px;color:var(--bone)}
.band.saddle{background:var(--saddle)}.band.sage{background:var(--sage)}.band.plum{background:var(--plum)}.band.blush{background:var(--blush);color:var(--ink)}
.band h2{color:inherit}
.band .inner{max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;gap:48px;align-items:center}
@media(max-width:640px){.band{padding:56px 20px}}
.ph.oxblood{background:var(--oxblood);color:var(--bone);flex:0 1 320px;min-width:0;aspect-ratio:4/3}

.voice{padding:56px 48px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.voice>div{font-family:var(--serif);font-size:24px;line-height:1.25;color:var(--plum)}
.voice.on-sage>div{color:var(--bone)}
.voice small{display:block;font-family:var(--sans);font-size:13px;opacity:.9;margin-top:8px}
@media(max-width:820px){.voice{grid-template-columns:1fr;padding:48px 20px}}

.account{padding:80px 48px 96px;max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:20px;text-align:center;align-items:center}
.account p{color:var(--body2);max-width:520px}
form.inline{display:flex;flex-wrap:wrap;gap:10px;width:100%;max-width:560px;margin-top:8px}
form.inline input{flex:1 1 280px;min-width:0;min-height:48px;padding:12px 16px;border:1.5px solid var(--plum);background:var(--bone);font-family:var(--sans);font-size:15px;color:var(--ink)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media(max-width:1000px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px}
@media(max-width:900px){.grid3{grid-template-columns:1fr}}
.product{display:flex;flex-direction:column;gap:10px;min-width:0;color:var(--ink)}
.product .ph{aspect-ratio:4/5}
.product b{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600}
.product small{font-size:13px;color:var(--muted)}
.product .price{font-family:var(--serif);font-size:20px;color:var(--saddle)}
.product .btn{align-self:flex-start;margin-top:4px}
.rowhead{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.rowhead span.line{flex:1;height:1px;background:var(--linen);min-width:40px}
.rowhead .kicker{letter-spacing:3px}
.section{padding:64px 48px 16px;display:flex;flex-direction:column;gap:28px}
@media(max-width:640px){.section{padding:48px 20px 8px}}

.svc{display:flex;flex-direction:column;gap:10px;padding-top:24px;border-top:1px solid var(--linen);min-width:0}
.svc h3{font-size:28px;line-height:1.1}
.svc .kicker{letter-spacing:2px}
.svc p{font-size:15px;line-height:1.6;color:var(--body2)}

.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media(max-width:900px){.tiers{grid-template-columns:1fr}}
.tier{display:flex;flex-direction:column;gap:14px;padding:32px;background:var(--bone);min-width:0}
.tier.plum{background:var(--plum);color:var(--bone)}
.tier .price{font-family:var(--serif);font-size:40px;color:var(--plum)}
.tier.plum .price{color:var(--bone)}
.tier .price small{font-family:var(--sans);font-size:15px;color:var(--muted)}
.tier.plum .price small{color:var(--linen)}
.tier p{font-size:14px;line-height:1.6;color:var(--body2)}
.tier.plum p{color:var(--linen)}
.tier .kicker{letter-spacing:3px}

.sheet{display:flex;flex-direction:column;background:var(--bone);color:var(--ink);padding:28px 32px;flex:1 1 360px;min-width:0}
.sheet h3{font-size:24px;padding-bottom:12px;border-bottom:1.5px solid var(--rose)}
.sheet .r{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--linen);font-size:14px}
.sheet .r:last-child{border-bottom:0}
.sheet .r em{font-family:var(--serif);font-style:normal;color:var(--saddle)}

form.stack{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:14px}
form.stack label{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--plum)}
form.stack input,form.stack textarea{min-height:48px;padding:12px 14px;border:1.5px solid var(--plum);background:var(--bone);font-family:var(--sans);font-size:15px;color:var(--ink)}
form.stack textarea{resize:vertical}
form.stack .btn{align-self:flex-start}
.hp{display:none}

footer{padding:48px 48px 0;border-top:1px solid var(--linen);margin-top:auto}
@media(max-width:640px){footer{padding:40px 20px 0}}
footer .cols{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;font-size:13px;color:var(--muted);padding-bottom:32px}
footer .cols>div{display:flex;flex-direction:column;gap:6px}
footer .cols .menu{letter-spacing:2px;text-transform:uppercase;font-size:11px;font-weight:600}
footer .cols .menu a{color:var(--ink)}
footer .tag{align-self:flex-end;font-style:italic}
footer .wordmark{font-size:20px}
footer .wordmark .amp{font-size:24px}
.fringe{display:flex;gap:6.5px;align-items:flex-start;height:22px;overflow:hidden;border-top:1.5px solid var(--rose)}
.fringe i{display:block;width:1.5px;background:var(--rose);flex:0 0 auto}

.thanks{padding:96px 48px;max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:20px;align-items:center;text-align:center;min-height:50vh;justify-content:center}

/* ---------- bag drawer ---------- */
.bag-overlay{position:fixed;inset:0;background:rgba(26,22,20,.45);opacity:0;pointer-events:none;transition:opacity .2s;z-index:50}
.bag-overlay.on{opacity:1;pointer-events:auto}
.bag{position:fixed;top:0;right:0;height:100%;width:min(440px,100%);background:var(--bone);border-left:1px solid var(--linen);transform:translateX(100%);transition:transform .25s;z-index:51;display:flex;flex-direction:column}
.bag.on{transform:none}
.bag-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--linen)}
.bag-x{background:none;border:0;font-size:28px;line-height:1;color:var(--plum);cursor:pointer;min-width:44px;min-height:44px}
.bag-body{flex:1;overflow:auto;padding:8px 24px}
.bag-empty{padding:40px 0;color:var(--muted);font-style:italic}
.bag-row{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--linen);align-items:flex-start}
.bag-ph{width:64px;height:80px;flex:0 0 auto}
.bag-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.bag-info b{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600}
.bag-info small{font-size:12px;color:var(--muted)}
.bag-qty{display:flex;align-items:center;gap:8px;margin-top:6px}
.bag-qty button{min-width:32px;min-height:32px;border:1px solid var(--linen);background:var(--bone);color:var(--plum);cursor:pointer;font-family:var(--sans)}
.bag-qty .bag-rm{border:0;background:none;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-left:6px}
.bag-price{font-family:var(--serif);font-size:18px;color:var(--saddle);white-space:nowrap}
.bag-foot{padding:20px 24px 28px;border-top:1.5px solid var(--rose);display:flex;flex-direction:column;gap:12px}
.bag-sub{display:flex;justify-content:space-between;font-family:var(--serif);font-size:22px;color:var(--plum)}
.bag-note{font-size:12px;color:var(--muted)}
.product .buy{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}
.product select.size{min-height:44px;padding:0 10px;border:1.5px solid var(--plum);background:var(--bone);font-family:var(--sans);font-size:13px;color:var(--ink)}
.bag-count{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;background:var(--rose);color:var(--bone);border-radius:10px;font-size:11px;padding:0 6px}
