:root{--blush:#f5e4df;--paper:#fbf1ed;--ink:#3a2528;--soft:#7b5f61;--rose:#b78a8a;--gold:#a97b4f;--goldl:#e8c99a;--wine:#2f1a1e;--line:rgba(58,37,40,.14);--ok:#4e7a5a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;font-weight:300;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;margin:0;line-height:1.1}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
img{display:block;max-width:100%;height:auto}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.script{font-family:'Pinyon Script','Snell Roundhand',cursive;font-weight:400}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;z-index:99;border-radius:6px}
.skip:focus{left:8px}
/* top bar + header */
.ann{background:var(--ink);color:var(--paper);text-align:center;font-size:13px;padding:8px 12px;letter-spacing:.04em}
.ann a{text-decoration:underline}
header.top{position:sticky;top:0;z-index:20;background:rgba(251,241,237,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.mono{width:36px;height:36px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-family:'Pinyon Script',cursive;font-size:23px;line-height:1;padding-top:3px}
.brand b{font-weight:400;letter-spacing:.26em;font-size:12.5px;white-space:nowrap}
nav.main{display:flex;gap:26px;font-size:14px}
nav.main a{text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
nav.main a:hover,nav.main a[aria-current]{border-color:var(--gold)}
.cartbtn{border:1px solid var(--ink);background:none;border-radius:999px;padding:7px 16px;font-size:14px;display:flex;gap:8px;align-items:center;white-space:nowrap}
.cartbtn span{background:var(--ink);color:var(--paper);border-radius:999px;min-width:20px;height:20px;display:grid;place-items:center;font-size:12px}
.subnav{display:none;gap:8px;overflow-x:auto;padding:8px 20px 10px;border-top:1px solid var(--line);scrollbar-width:none}
.subnav a{flex:none;text-decoration:none;font-size:14px;border:1px solid var(--line);border-radius:999px;padding:5px 16px}
@media(max-width:820px){nav.main{display:none}.subnav{display:flex}.brand b{letter-spacing:.18em;font-size:11.5px}}
/* buttons */
.btn{display:inline-block;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:14px 30px;border-radius:999px;text-decoration:none;font-size:14px;letter-spacing:.06em;text-align:center}
.btn:hover{background:#523438}
.btn.alt{background:none;color:var(--ink)}
.btn.alt:hover{background:var(--blush)}
.btn.wa{background:#1f7a4d;border-color:#1f7a4d;color:#fff}
.btn.wa:hover{background:#18633e}
.btn.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn.wide{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}
/* hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:52px 0 36px}
.hero h1{font-size:clamp(46px,7.2vw,92px);letter-spacing:.005em}
.hero h1 .script{font-size:1.22em;color:var(--rose);display:inline-block;margin:0 .05em}
.hero .lead{max-width:30em;color:var(--soft);margin:22px 0 28px;font-size:17px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.chips{display:flex;gap:8px 18px;flex-wrap:wrap;margin-top:26px;font-size:14px;color:var(--soft)}
.chips span::before{content:"✦";color:var(--gold);margin-right:7px}
.heroart{position:relative}
.slides{position:relative;aspect-ratio:4/5;border-radius:220px 220px 6px 6px;overflow:hidden;background:var(--blush)}
.slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s}
.slides img.on{opacity:1}
.cap{position:absolute;left:14px;bottom:14px;z-index:2;background:rgba(251,241,237,.95);border-radius:999px;padding:9px 18px;font-size:14px;text-decoration:none}
.cap b{font-weight:500}
.seal{position:absolute;z-index:3;left:-30px;top:44px;width:132px;height:132px;border-radius:50%;background:var(--ink);color:var(--paper)}
.seal svg{width:100%;height:100%;animation:spin 22s linear infinite}
.seal text{fill:var(--paper);font-size:10.4px;letter-spacing:.2em;font-family:'Jost',sans-serif}
.seal i{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-family:'Pinyon Script',cursive;font-size:44px;color:var(--goldl);padding-top:6px}
@keyframes spin{to{transform:rotate(360deg)}}
.badge{position:absolute;z-index:3;top:20px;right:-8px;width:104px;height:104px;border-radius:50%;background:#8f6439;color:#fff;display:grid;place-items:center;text-align:center;line-height:1.15;font-size:13px;transform:rotate(10deg);box-shadow:0 6px 18px rgba(58,37,40,.25)}
.badge b{display:block;font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600}
@media(max-width:820px){.hero{grid-template-columns:1fr;gap:30px;padding-top:26px}.slides{aspect-ratio:1/1;border-radius:6px}.seal{left:8px;top:auto;bottom:-26px;width:104px;height:104px}.seal i{font-size:34px}.badge{right:8px;top:12px;width:88px;height:88px}.badge b{font-size:22px}}
.ticker{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:34px 0 0;padding:14px 0;white-space:nowrap}
.ticker div{display:inline-block;animation:tick 32s linear infinite;font-family:'Cormorant Garamond',serif;font-size:24px}
.ticker span{margin:0 26px;color:var(--rose)}
@keyframes tick{to{transform:translateX(-50%)}}
/* sections */
.sh{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:60px 0 24px;flex-wrap:wrap}
.sh h2{font-size:clamp(32px,4.6vw,50px)}
.sh h2 .script{font-size:1.3em;color:var(--rose);margin:0 .08em}
.sh a{font-size:14px}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tile{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--blush);display:block;text-decoration:none;color:#fff;border-radius:160px 160px 4px 4px}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.tile:hover img{transform:scale(1.05)}
.tile div{position:absolute;left:0;right:0;bottom:0;padding:48px 16px 18px;background:linear-gradient(transparent,rgba(58,37,40,.7));text-align:center}
.tile h3{font-size:28px}
.tile small{font-size:13px;opacity:.92}
.tile.soon{background:linear-gradient(160deg,#f1d9d3,#e3bfb8);color:var(--ink)}
.tile.soon div{background:none}
.tile.soon .st{position:absolute;inset:0;display:grid;place-items:center;font-size:44px;opacity:.7;padding-bottom:50px}
@media(max-width:820px){.tiles{grid-template-columns:repeat(2,1fr)}.tile{border-radius:110px 110px 4px 4px}}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 18px;align-items:start}
@media(max-width:980px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.grid{grid-template-columns:repeat(2,1fr);gap:22px 12px}}
.card{position:relative}
.card .ph{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:var(--blush);border-radius:4px}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card:hover img{transform:scale(1.04)}
.card h3{font-size:21px;margin-top:12px;line-height:1.2}
.card h3 a{text-decoration:none}
.card .pr{color:var(--soft);font-size:15px;margin-top:2px}
.tag{position:absolute;top:10px;left:10px;background:var(--paper);font-size:12px;padding:3px 10px;border-radius:999px;pointer-events:none}
.pw{position:relative}
.plus{position:absolute;right:10px;bottom:10px;width:42px;height:42px;border-radius:50%;border:0;background:var(--paper);font-size:24px;line-height:1;box-shadow:0 2px 10px rgba(58,37,40,.22);z-index:2}
.plus:hover,.plus:active{background:var(--ink);color:var(--paper)}
/* gift band (dark) */
.dark{background:var(--wine);color:var(--paper);border-radius:6px;margin:72px 0 0;padding:44px 32px;text-align:center}
.dark h2{font-size:clamp(34px,5vw,56px)}
.dark h2 .script{color:var(--goldl);font-size:1.25em}
.dark p{color:rgba(251,241,237,.75);margin:12px auto 24px;max-width:34em}
.dark .cta{justify-content:center}
.dark .btn.alt{color:var(--paper);border-color:rgba(251,241,237,.5)}
.dark .btn.alt:hover{background:rgba(251,241,237,.1)}
.band{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--blush);border-radius:6px;margin:64px 0 0;overflow:hidden}
.band img{width:100%;height:100%;min-height:300px;object-fit:cover}
.band>div{padding:38px;align-self:center}
.band h2{font-size:clamp(32px,4.5vw,50px)}
.band h2 .script{color:var(--rose);font-size:1.25em}
.band p{color:var(--soft);margin:14px 0 24px}
@media(max-width:720px){.band{grid-template-columns:1fr}.band img{min-height:0;aspect-ratio:4/3}.band>div{padding:24px}}
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.why div{background:#fff;border:1px solid var(--line);border-radius:6px;padding:22px}
.why h3{font-size:24px;margin-bottom:6px}
.why p{margin:0;color:var(--soft);font-size:15px}
@media(max-width:820px){.why{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.why{grid-template-columns:1fr}}
.faq{max-width:760px}
.faq details{border-bottom:1px solid var(--line);padding:16px 0}
.faq summary{cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:500}
.faq p{color:var(--soft);margin:10px 0 0}
.intro{max-width:46em;color:var(--soft);margin:0 0 20px;font-size:17px}
/* toolbar */
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:22px}
.fchips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:none;border-radius:999px;padding:7px 18px;font-size:14px;text-decoration:none;display:inline-block}
.chip[aria-pressed=true],.chip[aria-current]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
select,input,textarea{font:inherit;font-weight:300;padding:11px 14px;border:1px solid var(--line);background:#fff;border-radius:6px;color:var(--ink);width:100%}
.toolbar select{width:auto;padding:8px 12px}
.count{color:var(--soft);font-size:14px}
/* product page */
.crumbs{font-size:13px;color:var(--soft);padding:18px 0 4px}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.pd{display:grid;grid-template-columns:1fr 1fr;gap:52px;padding:10px 0 30px}
.pd .pic img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
.pd h1{font-size:clamp(34px,5vw,56px)}
.pd .price{font-size:26px;margin:10px 0 14px;font-family:'Cormorant Garamond',serif;font-weight:500}
.pd .lead{color:var(--soft);max-width:34em;margin:0 0 18px}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;margin:4px 0 16px}
.qty button{background:none;border:0;width:42px;height:42px;font-size:20px}
.qty span{min-width:28px;text-align:center}
.buy{display:grid;gap:10px;max-width:360px}
.perks{list-style:none;margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--line);font-size:14px;color:var(--soft);display:grid;gap:6px}
.perks li::before{content:"✦";color:var(--gold);margin-right:8px}
.pd details{border-top:1px solid var(--line);padding:14px 0;max-width:460px}
.pd details:last-of-type{border-bottom:1px solid var(--line)}
.pd summary{cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:22px}
.pd details p,.pd details li{color:var(--soft);font-size:15px}
.pd details ul{margin:8px 0 0;padding-left:18px}
@media(max-width:820px){.pd{grid-template-columns:1fr;gap:22px}}
.sticky{display:none}
@media(max-width:820px){.sticky{display:flex;gap:10px;align-items:center;position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--paper);border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px))}.sticky .p{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;white-space:nowrap}.sticky .btn{padding:12px 16px;flex:1}.sticky .btn.wa{flex:none;padding:12px 14px}body.has-sticky{padding-bottom:76px}}
/* cart drawer */
.veil{position:fixed;inset:0;background:rgba(58,37,40,.4);z-index:40;opacity:0;pointer-events:none;transition:opacity .25s}
.veil.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(430px,100%);background:var(--paper);z-index:41;transform:translateX(100%);transition:transform .3s;display:flex;flex-direction:column}
.drawer.on{transform:none}
.dh{display:flex;justify-content:space-between;align-items:center;padding:16px 22px}
.dh h2{font-size:30px}
.x{background:none;border:0;font-size:28px;line-height:1;padding:4px 8px}
.ship{padding:0 22px 12px;font-size:14px}
.bar2{height:6px;border-radius:99px;background:var(--blush);overflow:hidden;margin-top:6px}
.bar2 i{display:block;height:100%;background:var(--gold);width:0;transition:width .4s}
.lines{flex:1;overflow:auto;padding:0 22px}
.line{display:grid;grid-template-columns:72px 1fr auto;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}
.line img{width:72px;height:90px;object-fit:cover;border-radius:3px}
.line h3{font-size:19px}
.line .qty{margin:6px 0 0}.line .qty button{width:30px;height:30px;font-size:17px}
.up{padding:14px 0}
.up h3{font-size:20px;margin-bottom:8px}
.upr{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:6px 0;font-size:14px}
.upr img{width:48px;height:60px;object-fit:cover;border-radius:3px}
.upr button{border:1px solid var(--ink);background:none;border-radius:999px;padding:5px 14px;font-size:13px}
.foot{padding:16px 22px 22px;border-top:1px solid var(--line)}
.row{display:flex;justify-content:space-between;margin:4px 0}
.row.big{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:500;margin-top:10px}
.empty{padding:40px 0;text-align:center;color:var(--soft)}
/* checkout */
.co{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;padding:16px 0 60px}
.co h1,.pg h1{font-size:clamp(34px,5vw,54px);margin-bottom:16px}
label{display:block;font-size:14px;margin:14px 0 4px}
.pay{display:grid;gap:10px;margin-top:6px}
.pay label{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:6px;padding:14px;margin:0;cursor:pointer;background:#fff}
.pay input{width:auto;margin-top:5px}
.pay small{display:block;color:var(--soft)}
.sum{background:var(--blush);border-radius:6px;padding:22px;align-self:start;position:sticky;top:84px}
.sum .line{grid-template-columns:56px 1fr auto}
.sum .line img{width:56px;height:70px}
.err{color:#a3303a;font-size:14px;margin-top:10px;min-height:1.2em}
@media(max-width:820px){.co{grid-template-columns:1fr}.sum{position:static;order:-1}}
.done{max-width:620px;margin:40px auto 80px;text-align:center}
.done h1{font-size:clamp(36px,6vw,56px)}
.done .box{background:var(--blush);border-radius:6px;padding:22px;margin:24px 0;text-align:left;white-space:pre-wrap;font-size:14px}
.done .btns{display:grid;gap:10px}
/* pages */
.pg{padding:30px 0 50px}
.story{max-width:680px;font-size:18px;color:var(--soft)}
.story p{margin:0 0 18px}
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:40px 0 0}
.vals div{background:var(--blush);border-radius:6px;padding:24px}
.vals h3,.steps h3{font-size:26px;margin-bottom:6px}
.vals p,.steps p{margin:0;color:var(--soft);font-size:15px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:s}
.steps div{counter-increment:s;border-top:1px solid var(--ink);padding-top:14px}
.steps div::before{content:counter(s);font-family:'Cormorant Garamond',serif;font-size:40px;color:var(--rose);line-height:1}
.ab-top{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.ab-top img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 56%;border-radius:200px 200px 6px 6px}
.ab-top h1{font-size:clamp(44px,7vw,80px)}
.ab-top .script{color:var(--rose);font-size:1.25em}
.lead2{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,3vw,30px);line-height:1.3;color:var(--soft);margin:18px 0 0;max-width:22em}
@media(max-width:820px){.ab-top,.vals,.steps{grid-template-columns:1fr}.ab-top img{border-radius:6px}}
table{width:100%;border-collapse:collapse;font-size:14px;background:#fff}
td,th{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
/* footer */
footer.ft{background:var(--wine);color:rgba(251,241,237,.78);margin-top:80px;padding:50px 0 30px;font-size:14px}
.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.fg h2{font-family:'Jost',sans-serif;font-size:13px;letter-spacing:.16em;color:var(--goldl);font-weight:400;margin-bottom:12px}
.fg a{display:block;text-decoration:none;padding:3px 0}
.fg a:hover{text-decoration:underline}
.fg p{margin:0 0 10px}
.fb{border-top:1px solid rgba(251,241,237,.15);margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px}
.fb button{background:none;border:0;color:inherit;text-decoration:underline;opacity:.7;padding:0;font-size:13px}
@media(max-width:820px){.fg{grid-template-columns:1fr 1fr}}
/* chat + toast */
.chat{position:fixed;left:16px;bottom:16px;z-index:30;background:#1f7a4d;color:#fff;text-decoration:none;font-size:14px;padding:11px 18px;border-radius:999px;box-shadow:0 6px 20px rgba(58,37,40,.3)}
body.has-sticky .chat{display:none}
.toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:11px 20px;border-radius:999px;font-size:14px;z-index:60;opacity:0;pointer-events:none;transition:opacity .25s}
.toast.on{opacity:1}
/* owner */
.ord{background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px;margin-bottom:12px}
.ord .t{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ord pre{white-space:pre-wrap;font:inherit;font-size:14px;color:var(--soft);margin:8px 0}
.ord select{width:auto;padding:6px 10px}
.mini{background:none;border:1px solid var(--line);border-radius:999px;padding:5px 14px;font-size:13px;text-decoration:none}
.note{background:#fff;border-left:3px solid var(--gold);padding:12px 16px;font-size:14px;color:var(--soft);margin:14px 0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 26px}
.stat{background:var(--blush);border-radius:6px;padding:16px}
.stat b{display:block;font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:500;line-height:1.1}
@media(max-width:720px){.stats{grid-template-columns:repeat(2,1fr)}}
.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.seal svg,.ticker div{animation:none!important}html{scroll-behavior:auto}}
