:root { --gold:#c89d3c; --gold-light:#f3d884; --ink:#070707; --muted:#a9a49b; --line:rgba(232,202,125,.2); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:#f7f3e9; font-family:"DM Sans",sans-serif; }
a { color:inherit; text-decoration:none; }
.hero { min-height:100svh; overflow:hidden; position:relative; display:grid; place-items:center; padding:74px 24px 60px; border-bottom:1px solid var(--line); background:radial-gradient(ellipse at 50% 48%,#1a160e 0%,#090909 46%,#050505 100%); }
.hero::before { content:""; position:absolute; inset:14px; border:1px solid rgba(220,181,79,.18); pointer-events:none; }
.hero::after { content:""; position:absolute; width:min(74vw,880px); aspect-ratio:1; border:1px solid rgba(237,199,100,.11); border-radius:50%; top:50%; left:50%; transform:translate(-50%,-49%); }
.topbar { position:absolute; z-index:3; top:29px; left:clamp(28px,5vw,80px); right:clamp(28px,5vw,80px); display:flex; align-items:center; justify-content:space-between; font-size:.62rem; letter-spacing:.15em; font-weight:700; }.wordmark { color:#e8d6a2; }.wordmark span { color:var(--gold); margin:0 4px; }.topbar-link { color:#c2b48c; transition:color .2s; }.topbar-link:hover { color:var(--gold-light); }.topbar-link span { font-size:1rem; margin-left:4px; }
.hero-content { position:relative; z-index:1; max-width:740px; text-align:center; display:flex; align-items:center; flex-direction:column; }
.logo { width:min(300px,74vw); height:auto; margin:-64px 0 -56px; filter:drop-shadow(0 15px 35px rgba(211,159,35,.16)); }
.eyebrow { color:var(--gold-light); font-size:.68rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; margin:0 0 18px; }
h1,h2 { font-family:"Playfair Display",Georgia,serif; font-weight:600; letter-spacing:-.04em; margin:0; line-height:1.04; }
h1 { font-size:clamp(2.65rem,6.4vw,5.45rem); }
h1 em,h2 em { color:var(--gold-light); font-weight:600; }
.intro { max-width:500px; color:#c9c4b8; font-size:clamp(1rem,2vw,1.12rem); line-height:1.6; margin:27px auto 31px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:26px; background:linear-gradient(105deg,#a97920,#f5df8e,#b47d1e); color:#130d04; padding:16px 21px 16px 27px; border-radius:0; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.13em; transition:transform .2s, filter .2s; }
.button span { font-size:1.2rem; line-height:.7; }.button:hover { transform:translateY(-2px); filter:brightness(1.1); }
.scroll-link { position:absolute; bottom:33px; left:50%; transform:translateX(-50%); z-index:1; color:#c5ad6a; white-space:nowrap; font-size:.68rem; text-transform:uppercase; letter-spacing:.14em; }.scroll-link span { margin-left:10px; font-size:1.1rem; }
.glow { position:absolute; border-radius:50%; filter:blur(70px); opacity:.18; }.glow-one { width:350px; height:350px; background:#a87916; top:-110px; left:-110px; }.glow-two { width:300px; height:300px; background:#80601a; right:-90px; bottom:-80px; }
.selection { padding:clamp(90px,11vw,160px) max(24px,7vw); max-width:1500px; margin:auto; }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:50px; }.section-heading h2,.contact h2 { font-size:clamp(2.4rem,5vw,4.5rem); }.section-heading > p { color:var(--muted); max-width:325px; line-height:1.65; margin:0 0 4px; }
.product-grid { display:grid; grid-template-columns:1.08fr 1fr 1fr; grid-auto-rows:265px; gap:13px; }.product-card { overflow:hidden; position:relative; background:#191919; }.product-card.tall { grid-row:span 2; }.product-card.wide { grid-column:span 2; }.product-card img { width:100%; height:100%; display:block; object-fit:cover; filter:saturate(.68) brightness(.7); transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s; }.product-card:hover img { transform:scale(1.055); filter:saturate(.94) brightness(.86); }.product-card::before { content:""; z-index:1; position:absolute; inset:12px; border:1px solid rgba(244,219,141,.23); opacity:0; transition:opacity .35s; }.product-card:hover::before { opacity:1; }.product-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.8)); }.card-copy { position:absolute; z-index:2; left:23px; right:22px; bottom:22px; display:flex; justify-content:space-between; align-items:end; }.card-copy span { color:var(--gold-light); font-size:.58rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }.card-copy h3 { font-family:"Playfair Display",serif; font-weight:600; font-size:clamp(1.15rem,2vw,1.72rem); line-height:1.05; margin:0; text-align:right; }
.contact { background:linear-gradient(115deg,#10100e,#17130a); border-top:1px solid var(--line); padding:clamp(64px,9vw,130px) max(24px,12vw); display:grid; grid-template-columns:1.05fr 1fr; gap:80px; align-items:center; }.contact h2 { max-width:570px; }.button-outline { margin-top:33px; background:transparent; color:var(--gold-light); border:1px solid rgba(232,202,125,.55); }.details { display:grid; gap:0; border-top:1px solid var(--line); font-style:normal; }.details a { padding:21px 0; border-bottom:1px solid var(--line); display:flex; flex-direction:column; gap:6px; color:#f1eddf; font-size:clamp(1rem,1.5vw,1.17rem); transition:color .2s; }.details a:hover { color:var(--gold-light); }.details span { color:#a9a49b; font-size:.65rem; text-transform:uppercase; letter-spacing:.16em; font-weight:700; }.details b { color:var(--gold-light); font-weight:400; margin-left:5px; }
footer { padding:23px; text-align:center; color:#817d74; font-size:.68rem; letter-spacing:.04em; }
@media (max-width:700px) { .hero { padding-top:79px; }.hero::before { inset:9px; }.hero::after { width:125vw; }.topbar { top:22px; left:24px; right:24px; }.logo { width:min(260px,76vw); margin:-47px 0 -46px; }.scroll-link { bottom:24px; }.section-heading,.contact { display:block; }.section-heading > p { margin-top:24px; }.product-grid { grid-template-columns:1fr 1fr; grid-auto-rows:210px; gap:8px; }.product-card.tall { grid-row:span 2; }.product-card.wide { grid-column:span 2; }.contact { padding-top:74px; padding-bottom:75px; }.details { margin-top:55px; }.card-copy { left:13px; right:13px; bottom:13px; }.card-copy h3 { font-size:1.08rem; }.card-copy span { display:none; } }
@media (max-width:380px) { .product-grid { grid-auto-rows:180px; } }
