@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --black:#0A0A0A;--black-2:#111111;--black-3:#1A1A1A;
  --gold:#C9A96E;--gold-light:#E2C98A;--gold-pale:#FDF6E9;
  --white:#FFFFFF;--white-2:#F5F5F5;--white-3:#E8E8E8;
  --text-dark:#0A0A0A;--text-muted:#777777;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--black);color:var(--white);cursor:none;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.35;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E")}

/* CURSOR */
.cur-dot,.cur-ring{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%)}
.cur-dot{width:7px;height:7px;background:var(--gold);transition:transform .08s}
.cur-ring{width:26px;height:26px;border:1.5px solid var(--gold);transition:transform .18s}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:20px 48px;display:flex;align-items:center;justify-content:space-between;transition:background .3s,backdrop-filter .3s,border-bottom .3s}
nav.scrolled{background:rgba(10,10,10,.93);backdrop-filter:blur(14px);border-bottom:.5px solid rgba(201,169,110,.18)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:600;letter-spacing:2px;color:var(--white);text-decoration:none}
.nav-logo span{color:var(--gold)}
.nav-links{display:flex;gap:26px;list-style:none}
.nav-links a{font-size:11px;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.65);text-decoration:none;transition:color .2s}
.nav-links a:hover,.nav-links a.current{color:var(--gold)}
.nav-cta{font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--black);background:var(--gold);padding:10px 22px;text-decoration:none;transition:background .2s,transform .15s}
.nav-cta:hover{background:var(--gold-light);transform:translateY(-1px)}
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px}
.nav-burger span{width:22px;height:1.5px;background:var(--gold)}

/* MOBILE NAV DRAWER */
.mobile-drawer{position:fixed;top:0;right:-100%;width:78%;max-width:320px;height:100vh;background:var(--black-2);z-index:1100;transition:right .3s ease;padding:100px 32px 40px;border-left:.5px solid rgba(201,169,110,.2)}
.mobile-drawer.open{right:0}
.mobile-drawer a{display:block;font-size:14px;font-weight:400;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.7);text-decoration:none;padding:16px 0;border-bottom:.5px solid rgba(255,255,255,.06)}
.mobile-drawer a.current{color:var(--gold)}
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1050;opacity:0;pointer-events:none;transition:opacity .3s}
.drawer-overlay.open{opacity:1;pointer-events:auto}

/* PAGE HERO (for non-home pages) */
.page-hero{padding:160px 48px 80px;position:relative;overflow:hidden}
.page-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(201,169,110,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(201,169,110,.035) 1px,transparent 1px);background-size:64px 64px}
.page-hero-inner{max-width:1100px;margin:0 auto;position:relative;z-index:1}
.page-eyebrow{font-size:10px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:18px;display:block}
.page-title{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,5.5vw,72px);font-weight:300;line-height:1.1;margin-bottom:20px}
.page-title em{font-style:italic;color:var(--gold)}
.page-sub{font-size:15px;font-weight:300;line-height:1.8;color:rgba(255,255,255,.55);max-width:560px}

/* MARQUEE */
.marquee-band{background:var(--gold);overflow:hidden;padding:13px 0}
.marquee-track{display:flex;animation:marquee 32s linear infinite;white-space:nowrap}
.marquee-item{font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--black);padding:0 26px;flex-shrink:0}
.marquee-sep{color:rgba(10,10,10,.3)}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* SECTION COMMONS */
section{position:relative}
.inner{max-width:1100px;margin:0 auto;width:100%}
.s-eye{font-size:10px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:block}
.s-title{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4vw,58px);font-weight:300;line-height:1.1}
.s-title em{font-style:italic;color:var(--gold)}

.btn-primary{font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--black);background:var(--gold);padding:15px 32px;text-decoration:none;display:inline-block;transition:background .2s,transform .15s;border:none;cursor:pointer;font-family:'DM Sans',sans-serif}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px)}
.btn-ghost{font-size:11px;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.65);border:.5px solid rgba(255,255,255,.22);padding:15px 32px;text-decoration:none;display:inline-block;transition:border-color .2s,color .2s}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-dark{font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--white);background:var(--black);padding:15px 36px;text-decoration:none;display:inline-block;transition:background .2s,transform .15s}
.btn-dark:hover{background:#1A1A1A;transform:translateY(-2px)}

/* CTA BANNER (shared across pages) */
.cta-banner{background:var(--gold);padding:84px 48px;position:relative;overflow:hidden}
.cta-banner::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(10,10,10,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(10,10,10,.07) 1px,transparent 1px);background-size:40px 40px}
.cta-inner{max-width:680px;margin:0 auto;text-align:center;position:relative;z-index:1}
.cta-title{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4.5vw,54px);font-weight:300;color:var(--black);line-height:1.15;margin-bottom:18px}
.cta-sub{font-size:13px;font-weight:300;color:rgba(10,10,10,.6);margin-bottom:36px;line-height:1.8}

/* FOOTER */
footer{background:var(--black);border-top:1px solid var(--gold);padding:64px 48px 40px}
.footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;color:var(--white);letter-spacing:2px;display:block;margin-bottom:14px}
.footer-logo span{color:var(--gold)}
.footer-tagline{font-size:12px;font-weight:300;line-height:1.8;color:rgba(255,255,255,.32);max-width:240px}
.f-col-title{font-size:9px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.f-links{list-style:none;display:flex;flex-direction:column;gap:9px}
.f-links a{font-size:12px;font-weight:300;color:rgba(255,255,255,.38);text-decoration:none;transition:color .2s}
.f-links a:hover{color:var(--gold)}
.footer-bottom{max-width:1100px;margin:0 auto;padding-top:20px;border-top:.5px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.f-copy{font-size:10px;font-weight:300;color:rgba(255,255,255,.2);letter-spacing:.5px}
.f-email{font-size:10px;font-weight:300;color:var(--gold);text-decoration:none}

/* REVEAL */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* MOBILE */
@media(max-width:900px){
  nav{padding:16px 20px}
  .nav-links{display:none}
  .nav-burger{display:flex}
  .page-hero,.cta-banner,footer{padding-left:20px;padding-right:20px}
  .page-hero{padding-top:130px}
  .footer-inner{grid-template-columns:1fr 1fr;gap:28px}
}
