:root{--black:#0b0b0b;--ink:#141414;--off:#f3f0ea;--silver:#b9bcc0;--muted:#8b8d90;--serif:'Cinzel',serif;--body:'Cormorant Garamond',serif;--sans:'Inter',system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--black);color:var(--off);font-family:var(--sans);font-weight:300;line-height:1.6}
img{max-width:100%;display:block}a{color:inherit}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#fff;color:#000;padding:.5rem 1rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:.08em}
h3{font-family:var(--serif);font-weight:400;letter-spacing:.12em;font-size:1.05rem}
.eyebrow{font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;color:var(--silver);margin-bottom:1rem}
.note{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:.8rem}
.btn{display:inline-block;padding:.95rem 2.2rem;border:1px solid var(--silver);color:var(--off);text-decoration:none;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;background:rgba(0,0,0,.25);cursor:pointer;transition:.3s;font-family:var(--sans)}
.btn:hover,.btn:focus-visible{background:var(--off);color:var(--black)}
/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:1.1rem clamp(1rem,4vw,3rem);transition:.4s;background:linear-gradient(rgba(0,0,0,.6),transparent)}
.nav.solid{background:rgba(8,8,8,.92);backdrop-filter:blur(8px);padding-block:.6rem;border-bottom:1px solid #222}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;font-family:var(--serif);letter-spacing:.25em;text-transform:uppercase;font-size:.95rem}
#menu{display:flex;gap:2rem}#menu a{text-decoration:none;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:#ddd}#menu a:hover{color:#fff}
.menu-btn{display:none;background:none;border:0;width:32px;height:24px;flex-direction:column;justify-content:space-around;cursor:pointer}.menu-btn span{height:1px;background:#fff;display:block}
/* hero */
.hero{position:relative;height:100vh;height:100svh;min-height:520px;overflow:hidden;background:#000}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;display:flex;align-items:flex-end;justify-content:center;visibility:hidden}
.slide.active{opacity:1;visibility:visible}
.slide .bg{position:absolute;inset:0;background-repeat:no-repeat;background-size:cover;transform:scale(1.06);transition:transform 7s ease}
.slide.active .bg{transform:scale(1)}
.slide.contain .bg{background-size:contain}
.slide.contain .blur{position:absolute;inset:-40px;background-size:cover;background-position:center;filter:blur(30px) brightness(.45)}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(0,0,0,.75))}
.caption{position:relative;z-index:2;text-align:center;padding:0 1.5rem 18vh;max-width:900px}
.caption h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,6vw,4.8rem);letter-spacing:.1em;line-height:1.1;margin-bottom:1rem;text-shadow:0 2px 20px rgba(0,0,0,.6)}
.caption p{font-family:var(--body);font-style:italic;font-size:clamp(1.1rem,2vw,1.5rem);margin-bottom:2rem;color:#e8e6e1}
.contain .caption{padding-bottom:12vh}
.arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;width:52px;height:52px;border-radius:50%;font-size:1.8rem;cursor:pointer;transition:.3s}
.arrow:hover,.arrow:focus-visible{background:rgba(255,255,255,.15)}.prev{left:2vw}.next{right:2vw}
.dots{position:absolute;bottom:5vh;left:50%;transform:translateX(-50%);display:flex;gap:.8rem;z-index:5}
.dots button{width:34px;height:2px;border:0;background:rgba(255,255,255,.35);cursor:pointer;padding:8px 0;background-clip:content-box}
.dots button[aria-selected=true]{background-color:#fff}
.scroll-cue{position:absolute;right:3vw;bottom:5vh;z-index:5;font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;writing-mode:vertical-rl;color:var(--silver)}
/* sections */
section:not(.hero){padding:clamp(4.5rem,10vw,8rem) clamp(1.25rem,5vw,4rem)}
.intro{text-align:center;max-width:860px;margin:auto;background:radial-gradient(circle at 50% 0,#1c1c1c,transparent 60%)}
.seal{margin:0 auto 2rem;opacity:.9}.rule{width:80px;height:1px;background:var(--silver);margin:1.8rem auto}
.lede{font-family:var(--body);font-size:clamp(1.2rem,2.2vw,1.55rem);line-height:1.7;color:#ddd}
.craft{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center;background:var(--off);color:var(--ink)}
.craft .eyebrow{color:#666}.craft-img img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.1)}
.pillars{list-style:none;margin-top:2.5rem;display:grid;gap:2rem}.pillars li{display:grid;grid-template-columns:3rem 1fr;column-gap:1rem;border-top:1px solid #ccc;padding-top:1.4rem}
.pillars span{grid-row:span 2;font-family:var(--serif);font-size:1.4rem;color:#888}.pillars p{font-family:var(--body);font-size:1.15rem;color:#444}
.collection{text-align:center}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem;text-align:left}
.ph{aspect-ratio:3/4;background:linear-gradient(145deg,#1b1b1b,#0e0e0e);border:1px solid #262626;display:grid;place-items:center;margin-bottom:1rem;transition:.4s}
.ph img{width:38%;opacity:.18}.card:hover .ph{border-color:var(--silver)}.card p{color:var(--muted);font-size:.85rem}
.insta{position:relative;text-align:center;background-size:cover;background-position:center;min-height:70vh;display:grid;place-items:center}
.insta::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.72)}.insta-inner{position:relative;max-width:620px}
.insta p:not(.eyebrow){font-family:var(--body);font-size:1.3rem;margin:1rem 0 2rem}
.newsletter{text-align:center;max-width:720px;margin:auto}.newsletter>p{font-family:var(--body);font-size:1.25rem;color:#ccc;margin:.8rem 0 2rem}
form{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}
input{flex:1 1 280px;padding:.95rem 1.1rem;background:transparent;border:1px solid #444;color:#fff;font:inherit}input:focus{outline:1px solid var(--silver)}
.msg{flex-basis:100%;font-size:.85rem;color:var(--silver)}
.footer{text-align:center;padding:4rem 1.5rem 2rem;border-top:1px solid #222;color:var(--muted);font-size:.85rem}
.footer img{margin:0 auto 1rem;opacity:.85}.f-brand{font-family:var(--serif);letter-spacing:.3em;text-transform:uppercase;color:var(--off);font-size:1.1rem}
.footer nav{display:flex;gap:2rem;justify-content:center;margin:1.5rem 0;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem}.footer nav a{text-decoration:none}.copy{font-size:.72rem}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 1s,transform 1s}.reveal.in{opacity:1;transform:none}
:focus-visible{outline:1px solid #fff;outline-offset:3px}
@media (max-width:900px){.craft{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}
 .menu-btn{display:flex}#menu{position:fixed;inset:0;background:rgba(5,5,5,.97);flex-direction:column;align-items:center;justify-content:center;gap:2rem;transform:translateX(100%);transition:.4s}
 #menu.open{transform:none}#menu a{font-size:1rem}.menu-btn{z-index:60}.arrow{display:none}.scroll-cue{display:none}.brand span{font-size:.8rem}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
@media (max-width:700px){.slide.contain .bg{background-size:140% auto}.caption{padding-bottom:16vh}}
