
:root{--bg:#08080A;--paper:#F5F1E8;--gold:#D4A55A;--blood:#7A1C1C;--muted:#A8A29A}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--paper);font-family:'Instrument Serif',serif;overflow-x:hidden;cursor:none}
a,button,input,textarea{cursor:none}
h1,h2{font-family:'Cinzel Decorative',serif}
.mono{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.15em;text-transform:uppercase}
.gold{color:var(--gold)}
.noise{position:fixed;inset:0;pointer-events:none;opacity:0.04;z-index:9999;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.9"/></filter><rect width="100%" height="100%" filter="url(%23n)"/></svg>')}
#cursor{position:fixed;width:10px;height:10px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:10000;mix-blend-mode:screen;transition:transform 0.12s ease}
#cursor-follow{position:fixed;width:36px;height:36px;border:1px solid rgba(212,165,90,0.4);border-radius:50%;pointer-events:none;z-index:9999;transition:transform 0.18s ease, width 0.2s, height 0.2s}
#cursor.hover{transform:scale(3);opacity:0.6}
#cursor-follow.hover{width:54px;height:54px;border-color:var(--gold);background:rgba(212,165,90,0.08)}
#progress{position:fixed;top:0;left:0;height:2px;background:var(--gold);z-index:10001;width:100%;transform-origin:left;transform:scaleX(0)}
header{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;background:rgba(8,8,10,0.86);backdrop-filter:blur(12px);border-bottom:1px solid rgba(212,165,90,0.15)}
nav.desktop a{color:var(--paper);text-decoration:none;margin:0 12px;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;position:relative}
nav.desktop a::after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--gold);transition:.3s}
nav.desktop a:hover::after{width:100%}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none}
.hamburger span{width:22px;height:1px;background:var(--paper);display:block}
.mobile-nav{display:none;position:fixed;inset:0;background:var(--bg);z-index:99;padding:90px 8vw;flex-direction:column;gap:22px}
.mobile-nav.open{display:flex}
.hero{position:relative;min-height:86vh;display:flex;align-items:flex-end;padding:8vh 5vw;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:-2;object-fit:cover;width:100%;height:100%;opacity:0.5}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;padding:20px 5vw}
.card{background:rgba(255,255,255,0.03);border:1px solid rgba(212,165,90,0.14);overflow:hidden;transition:.35s}
.card:hover{transform:translateY(-5px);border-color:var(--gold)}
.card img{width:100%;height:210px;object-fit:cover;opacity:0.85}
.card-body{padding:18px}
.btn{display:inline-flex;border:1px solid var(--gold);color:var(--gold);padding:10px 18px;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;text-decoration:none;transition:.25s;background:transparent}
.btn:hover{background:var(--gold);color:var(--bg)}
.btn-ghost{border-color:rgba(245,241,232,0.18);color:var(--paper)}
.form{display:flex;flex-direction:column;gap:12px;max-width:500px}
.form input,.form textarea{background:rgba(245,241,232,0.05);border:1px solid rgba(212,165,90,0.18);padding:12px;color:var(--paper);font-family:inherit}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--gold)}
.badge{display:inline-block;padding:3px 9px;background:var(--blood);color:white;font-size:10px;letter-spacing:0.12em}
@media(max-width:900px){nav.desktop{display:none}.hamburger{display:flex}body{cursor:auto}a,button,input,textarea{cursor:auto}#cursor,#cursor-follow{display:none!important}.hero{min-height:68vh}}
