:root{--hf:'Cormorant Garamond',Georgia,serif;--bf:Inter,system-ui,sans-serif;--line:#DAD7D1;--mut:#6B6862;--paper:#FFFFFF}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:400 1rem/1.7 var(--bf);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--hf);font-weight:500;color:var(--ink);line-height:1.1;margin:0 0 .5em;letter-spacing:.005em}
h1{font-size:clamp(2.6rem,6vw,4.6rem)}h2{font-size:clamp(2rem,4vw,3.1rem)}h3{font-size:1.5rem}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.sec{padding:112px 0}
.eyebrow{display:block;font:500 .75rem var(--bf);letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
.center{text-align:center}.rte{max-width:680px}.mut{color:var(--mut)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.btn{display:inline-block;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:16px 38px;font:500 .78rem var(--bf);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}.btn.ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn.block{width:100%;text-align:center}
.announce{background:var(--ink);color:#E9E5DC;text-align:center;padding:10px 20px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.hdr{background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.hdr .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:84px;gap:16px}
.logo{font:600 1.9rem var(--hf);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--ink)}
.nav{display:flex;gap:28px;flex-wrap:wrap}.nav.r{justify-content:flex-end}
.nav a{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:4px 0;border-bottom:1px solid transparent}
.nav a:hover{border-color:var(--accent)}
@media(max-width:760px){.hdr .wrap{grid-template-columns:1fr;justify-items:center;padding:14px 20px}.nav,.nav.r{justify-content:center;gap:18px}.sec{padding:72px 0}}
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;background:#15171A center/cover;color:#fff}
.hero .wrap{padding-top:120px;padding-bottom:96px;width:100%}
.hero h1{color:#fff;max-width:13ch;font-size:clamp(3rem,8vw,6.6rem);line-height:1}
.hero p{max-width:50ch;font-size:1.1rem;opacity:.88;margin:0 0 36px}
.hero .btns{display:flex;gap:14px;flex-wrap:wrap}
.trust{border-bottom:1px solid var(--line);background:var(--paper)}
.trust .grid{padding:34px 0;gap:32px}
.trust b{display:block;font:600 .74rem var(--bf);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);margin-bottom:4px}
.trust span{font-size:.9rem;color:var(--mut)}
.grid{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:56px;flex-wrap:wrap}.head h2{margin:0}
.card{display:block;text-decoration:none;color:inherit}
.card-img{position:relative;aspect-ratio:4/5;background:#E8E5DF;overflow:hidden}
.card-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s,transform .8s}
.card-img img.alt{opacity:0}.card:hover .card-img img.alt{opacity:1}.card:hover .card-img img{transform:scale(1.03)}
.card h3{font:500 .85rem var(--bf);letter-spacing:.14em;text-transform:uppercase;margin:20px 0 6px;color:var(--ink)}
.price{margin:0;color:var(--mut);font-size:.95rem}.price s{opacity:.7;margin-left:6px}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--ink);color:#E4E0D7}
.split .img{min-height:520px;background:#24272B center/cover}
.split .txt{padding:96px 72px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.split h2{color:#fff}.split p{max-width:46ch;margin:0 0 32px}
.split.flip .img{order:2}
@media(max-width:860px){.split{grid-template-columns:1fr}.split .txt{padding:64px 28px}.split.flip .img{order:0}.split .img{min-height:340px}}
.crafts{background:var(--paper)}
.craft{border-top:1px solid var(--ink);padding-top:22px}
.craft .n{font:500 1rem var(--hf);color:var(--accent);letter-spacing:.1em}
.craft h3{margin:10px 0 10px}.craft p{margin:0;color:var(--mut)}
.quote{margin:0;padding:0}.quote p{font:500 1.5rem/1.4 var(--hf);color:var(--ink);margin:0 0 20px}
.quote cite{font-style:normal;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}
.stars{color:var(--accent);letter-spacing:.2em;margin-bottom:14px}
details{border-top:1px solid var(--line);padding:20px 0;max-width:780px}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{font:500 .8rem var(--bf);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;color:var(--ink)}
details p{color:var(--mut);margin:12px 0 0}
.pdp{display:grid;grid-template-columns:1.25fr 1fr;gap:72px;align-items:start}
.pdp .gal{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pdp .gal img:first-child{grid-column:1/-1}
.pdp .info{position:sticky;top:110px}
.pdp .info h1{font-size:clamp(2.2rem,4vw,3.2rem)}
.pdp .pr{font-size:1.3rem;margin:0 0 24px}
@media(max-width:900px){.pdp{grid-template-columns:1fr;gap:32px}.pdp .info{position:static}}
.opts{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.opts input{position:absolute;opacity:0}
.opts label{border:1px solid var(--line);padding:11px 20px;font-size:.82rem;letter-spacing:.08em;cursor:pointer;background:var(--paper)}
.opts input:checked+label{border-color:var(--ink);background:var(--ink);color:#fff}
.opts input:focus-visible+label{outline:2px solid var(--accent);outline-offset:3px}
.opts input:disabled+label{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.qty{display:flex;gap:12px;margin-bottom:14px}.qty input{width:84px;padding:14px;border:1px solid var(--line);background:var(--paper);font:inherit;text-align:center}
.assure{list-style:none;padding:0;margin:28px 0;font-size:.9rem;color:var(--mut)}
.assure li{padding:6px 0 6px 26px;position:relative}.assure li:before{content:"";position:absolute;left:2px;top:15px;width:12px;height:6px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.cart table{width:100%;border-collapse:collapse}
.cart th{font:500 .72rem var(--bf);letter-spacing:.18em;text-transform:uppercase;color:var(--mut);text-align:left;padding:12px 0;border-bottom:1px solid var(--ink)}
.cart td{padding:22px 0;border-bottom:1px solid var(--line);vertical-align:middle}
.cart input[type=number]{padding:12px;border:1px solid var(--line);background:var(--paper);font:inherit}
.cart .tot{text-align:right;margin-top:32px}.cart .tot .btn{margin-left:8px}
.ftr{background:var(--ink);color:#B9B5AC;padding:96px 0 32px}
.ftr h3{font:500 .74rem var(--bf);letter-spacing:.22em;text-transform:uppercase;color:#fff;margin-bottom:20px}
.ftr ul{list-style:none;padding:0;margin:0}.ftr li{padding:5px 0}
.ftr a{text-decoration:none}.ftr a:hover{color:#fff}
.ftr .brand{font:600 1.8rem var(--hf);letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:14px}
.ftr .grid{grid-template-columns:2fr 1fr 1fr 2fr}
@media(max-width:860px){.ftr .grid{grid-template-columns:1fr 1fr}}
.nl{display:flex;margin-top:6px}.nl input[type=email]{flex:1;min-width:0;padding:14px;background:transparent;border:1px solid #4A4D52;color:#fff;font:inherit}
.nl button{background:var(--accent);border:0;color:#fff;padding:0 22px;font:500 .72rem var(--bf);letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.ftr small{display:block;margin-top:64px;padding-top:24px;border-top:1px solid #34373C;font-size:.78rem}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.cat{position:relative;display:block;aspect-ratio:3/4;background:linear-gradient(160deg,#15171A,#2C2F34);overflow:hidden;text-decoration:none;color:#fff}
.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.cat:hover img{transform:scale(1.04)}
.cat:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,11,13,.85))}
.cat-txt{position:absolute;left:28px;right:28px;bottom:28px;z-index:2;display:block}
.cat-txt b{display:block;font:500 2rem/1.1 var(--hf);margin-bottom:6px}
.cat-txt i{font-style:normal;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.cat:hover .cat-txt i{color:#D9BE8B}
