:root{--ink:#f6f4ef;--bg:#08080b;--dim:#a7a49c;--gold:#d8b877;--line:rgba(255,255,255,.10);
--f-display:"Fraunces",Georgia,serif;--f-body:"Inter",system-ui,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:#111;padding:10px 14px;z-index:99;border-radius:8px}
.grain{position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.05;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}
.cursor{position:fixed;width:26px;height:26px;border:1px solid var(--gold);border-radius:50%;pointer-events:none;z-index:70;
transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s;mix-blend-mode:difference}
.nav{display:flex;justify-content:space-between;align-items:center;padding:26px clamp(20px,5vw,64px);position:relative;z-index:5}
.brand{font-family:var(--f-display);font-size:20px;letter-spacing:.02em;display:flex;align-items:center;gap:10px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--gold);display:inline-block}
nav{display:flex;gap:26px;align-items:center;font-size:13px;letter-spacing:.02em;color:var(--dim)}
nav a:hover{color:var(--ink)}
.pill{border:1px solid var(--line);padding:9px 18px;border-radius:999px;color:var(--ink);transition:.3s}
.pill:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.hero{padding:clamp(60px,12vh,140px) clamp(20px,5vw,64px) 40px;position:relative}
.eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:26px}
h1{font-family:var(--f-display);font-weight:300;font-size:clamp(44px,9vw,132px);line-height:.98;letter-spacing:-.02em;max-width:16ch}
h1 em{font-style:italic;color:var(--gold)}
.lede{margin-top:26px;max-width:46ch;color:var(--dim);font-size:clamp(15px,1.6vw,19px);line-height:1.7}
.cta{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:999px;background:var(--ink);color:var(--bg);
font-size:14px;font-weight:500;transition:transform .3s,box-shadow .3s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(246,244,239,.16)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{background:rgba(255,255,255,.06);box-shadow:none}
.marquee{margin-top:clamp(50px,9vh,100px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;
padding:16px 0;font-family:var(--f-display);font-size:clamp(18px,2.4vw,30px);color:var(--dim);white-space:nowrap}
.marquee div{display:inline-block;animation:roll 34s linear infinite}
@keyframes roll{to{transform:translateX(-50%)}}
section{padding:clamp(60px,10vh,120px) clamp(20px,5vw,64px)}
h2{font-family:var(--f-display);font-weight:300;font-size:clamp(30px,4.4vw,56px);letter-spacing:-.01em;margin-bottom:38px}
h2 em{font-style:italic;color:var(--gold)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.card{border:1px solid var(--line);border-radius:18px;padding:18px;background:rgba(255,255,255,.02);transition:transform .4s,border-color .4s}
.card:hover{transform:translateY(-5px);border-color:rgba(216,184,119,.45)}
.thumb{height:190px;border-radius:12px;margin-bottom:16px;background:linear-gradient(135deg,#1a1a22,#0d0d12)}
.t1{background:linear-gradient(135deg,#2a2118,#0d0d12 70%)}
.t2{background:linear-gradient(135deg,#14212a,#0d0d12 70%)}
.t3{background:linear-gradient(135deg,#221a2a,#0d0d12 70%)}
.card h3{font-family:var(--f-display);font-size:22px;font-weight:400;margin-bottom:6px}
.card p{color:var(--dim);font-size:14px;line-height:1.6}
.list{list-style:none;border-top:1px solid var(--line)}
.list li{display:flex;gap:22px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line);font-size:clamp(16px,2vw,22px)}
.list span{font-size:11px;color:var(--gold);letter-spacing:.2em}
.contact{text-align:center}
.contact p{margin:16px 0 30px;color:var(--dim)}
footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:26px clamp(20px,5vw,64px) calc(34px + env(safe-area-inset-bottom));
border-top:1px solid var(--line);color:var(--dim);font-size:12px;letter-spacing:.06em}
.reveal{opacity:0;transform:translateY(26px)}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.marquee div{animation:none}}
@media (max-width:760px){nav a:not(.pill){display:none}.cursor{display:none}}
