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

:root {
  --gold: #C9A84C;
  --gold-light: #E2C87A;
  --gold-dim: rgba(201,168,76,0.15);
  --black: #070707;
  --dark: #0e0e0e;
  --dark2: #151515;
  --dark3: #1d1d1d;
  --white: #f4f1eb;
  --muted: rgba(244,241,235,0.5);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }

body {
  background: var(--black);
  color: var(--white);
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  overflow-x: hidden;
  cursor: none;
}

body::after {
  content:'';
  position:fixed; inset:0;
  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='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  pointer-events:none; z-index:9000; opacity:.32;
}

.cursor { position:fixed; width:8px; height:8px; background:var(--gold); border-radius:50%; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); transition:width .25s,height .25s; }
.cursor-ring { position:fixed; width:34px; height:34px; border:1px solid rgba(201,168,76,.4); border-radius:50%; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); transition:width .3s,height .3s; }
.cursor.expand,.cursor-ring.expand{}

/* ─── NAV ─── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:800;
  display:flex; justify-content:space-between; align-items:center;
  padding:28px 64px;
  transition:padding .4s, background .5s, border-color .4s;
  border-bottom:1px solid transparent;
}
nav.scrolled {
  background:rgba(7,7,7,.96);
  backdrop-filter:blur(16px);
  padding:16px 64px;
  border-bottom-color:rgba(201,168,76,.12);
}

/* Logo — stacked FELDER / Development */
.logo { text-decoration:none; display:flex; flex-direction:column; line-height:1; }
.logo-top {
  font-family:'Cormorant Garamond', serif;
  font-size:1.65rem; font-weight:600; letter-spacing:.35em;
  color:var(--white); text-transform:uppercase;
}
.logo-bottom {
  font-family:'Montserrat', sans-serif;
  font-size:.5rem; font-weight:400; letter-spacing:.5em;
  color:var(--gold); text-transform:uppercase; margin-top:3px;
}

.nav-links { display:flex; align-items:center; gap:36px; list-style:none; }
.nav-links a {
  font-size:.62rem; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(244,241,235,.55); text-decoration:none;
  transition:color .3s; position:relative;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-4px; left:0; width:0; height:1px;
  background:var(--gold); transition:width .3s;
}
.nav-links a:hover, .nav-links a.active { color:var(--gold); }
.nav-links a:hover::after, .nav-links a.active::after { width:100%; }

.nav-cta {
  font-size:.6rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold); border:1px solid var(--gold);
  padding:10px 26px; text-decoration:none;
  transition:background .3s, color .3s;
}
.nav-cta:hover { background:var(--gold); color:var(--black); }

.nav-toggle { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:none; }
.nav-toggle span { display:block; width:24px; height:1px; background:var(--white); transition:transform .3s,opacity .3s; }

/* ─── PAGE HERO ─── */
.page-hero {
  position:relative; height:90vh; min-height:580px;
  display:flex; flex-direction:column;
  justify-content:flex-end; padding:0 64px 80px;
  overflow:hidden;
}
.page-hero-bg {
  position:absolute; inset:0;
  background:linear-gradient(160deg, rgba(7,7,7,.9) 40%, rgba(201,168,76,.05) 100%);
}
.page-hero-grid {
  position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(0deg,transparent,transparent 79px,rgba(201,168,76,.035) 79px,rgba(201,168,76,.035) 80px),
    repeating-linear-gradient(90deg,transparent,transparent 79px,rgba(201,168,76,.035) 79px,rgba(201,168,76,.035) 80px);
}
.hero-tag {
  position:relative; z-index:2;
  font-size:.56rem; letter-spacing:.45em; text-transform:uppercase;
  color:var(--gold); margin-bottom:20px;
  display:flex; align-items:center; gap:14px;
  opacity:0; animation:fadeUp .9s .2s forwards;
}
.hero-tag::before { content:''; width:30px; height:1px; background:var(--gold); }
.page-hero h1 {
  position:relative; z-index:2;
  font-family:'Cormorant Garamond', serif;
  font-size:clamp(3rem,7vw,7rem);
  font-weight:300; line-height:1.02; letter-spacing:-.01em;
  opacity:0; animation:fadeUp .9s .4s forwards;
}
.page-hero h1 em { font-style:italic; color:var(--gold); }
.page-hero h1 .ghost {
  -webkit-text-stroke:1px rgba(244,241,235,.2);
  color:transparent;
}
.page-hero .hero-sub {
  position:relative; z-index:2;
  font-size:.76rem; line-height:2.1; color:var(--muted);
  max-width:480px; margin-top:20px;
  opacity:0; animation:fadeUp .9s .6s forwards;
}
.hero-divider {
  position:absolute; bottom:0; left:0; right:0; height:1px;
  background:linear-gradient(to right,transparent,rgba(201,168,76,.3),transparent);
}
.hero-scroll {
  position:absolute; right:64px; bottom:44px; z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:8px;
  opacity:0; animation:fadeUp .9s .9s forwards;
}
.hero-scroll span { font-size:.48rem; letter-spacing:.3em; text-transform:uppercase; color:rgba(244,241,235,.22); }
.scroll-bar { width:1px; height:48px; background:linear-gradient(to bottom,var(--gold),transparent); animation:pulse 2.2s ease-in-out infinite; }

/* ─── SECTIONS ─── */
.section { padding:110px 64px; }
.section-alt { background:var(--dark); }
.section-dark2 { background:var(--dark2); }

.eyebrow {
  font-size:.56rem; letter-spacing:.42em; text-transform:uppercase;
  color:var(--gold); margin-bottom:18px;
  display:flex; align-items:center; gap:14px;
}
.eyebrow::before { content:''; width:28px; height:1px; background:var(--gold); }

.section-title {
  font-family:'Cormorant Garamond', serif;
  font-size:clamp(2.2rem,4.5vw,4rem);
  font-weight:300; line-height:1.1; margin-bottom:20px;
}
.section-title em { font-style:italic; color:var(--gold); }
.section-body { font-size:.76rem; line-height:2.1; color:var(--muted); max-width:560px; }
.section-body + .section-body { margin-top:14px; }

/* Two-col */
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.two-col.rev { direction:rtl; }
.two-col.rev > * { direction:ltr; }

/* Visual placeholder box */
.visual-box {
  position:relative; height:520px;
  border:1px solid rgba(201,168,76,.18);
  background:var(--dark2); overflow:hidden;
}
.visual-box-fill {
  width:100%; height:100%;
  background:
    linear-gradient(135deg,rgba(201,168,76,.06) 0%,transparent 60%),
    repeating-linear-gradient(45deg,rgba(201,168,76,.025) 0,rgba(201,168,76,.025) 1px,transparent 1px,transparent 28px);
  display:flex; align-items:center; justify-content:center;
}
.visual-mono {
  font-family:'Cormorant Garamond', serif;
  font-size:8rem; font-weight:300;
  color:rgba(201,168,76,.1); user-select:none;
}
.visual-accent {
  position:absolute; bottom:-16px; right:-16px;
  width:120px; height:120px;
  border:1px solid rgba(201,168,76,.12);
}
.visual-tag {
  position:absolute; top:28px; left:28px;
  font-size:.54rem; letter-spacing:.3em; text-transform:uppercase;
  color:var(--gold); border:1px solid rgba(201,168,76,.3);
  padding:6px 14px;
}

/* Cards */
.cards-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1px; background:rgba(201,168,76,.07); }
.card {
  background:var(--dark2); padding:48px 38px;
  transition:background .3s; position:relative; overflow:hidden;
}
.card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:var(--gold); transform:scaleX(0); transform-origin:left;
  transition:transform .4s;
}
.card:hover { background:var(--dark3); }
.card:hover::before { transform:scaleX(1); }
.card-icon { font-size:2rem; margin-bottom:22px; display:block; }
.card h3 { font-family:'Cormorant Garamond', serif; font-size:1.55rem; font-weight:400; margin-bottom:12px; }
.card p { font-size:.73rem; line-height:1.95; color:var(--muted); }

/* Process steps */
.steps { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); }
.step {
  padding:50px 36px;
  border-right:1px solid rgba(201,168,76,.08);
}
.step:last-child { border-right:none; }
.step-num {
  font-family:'Cormorant Garamond', serif;
  font-size:3.8rem; font-weight:300;
  color:rgba(201,168,76,.14); line-height:1; margin-bottom:18px; display:block;
}
.step h4 { font-family:'Cormorant Garamond', serif; font-size:1.25rem; font-weight:400; margin-bottom:10px; }
.step p { font-size:.71rem; line-height:1.9; color:var(--muted); }

/* Stats bar */
.stats-bar {
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(201,168,76,.1);
  border-bottom:1px solid rgba(201,168,76,.1);
  background:var(--dark2);
}
.stat { padding:52px 24px; text-align:center; border-right:1px solid rgba(201,168,76,.07); }
.stat:last-child { border-right:none; }
.stat-num { font-family:'Cormorant Garamond', serif; font-size:3.2rem; font-weight:300; color:var(--gold); display:block; line-height:1; }
.stat-label { font-size:.56rem; letter-spacing:.25em; text-transform:uppercase; color:var(--muted); margin-top:8px; display:block; }

/* CTA band */
.cta-band {
  padding:100px 64px; text-align:center;
  background:linear-gradient(160deg,var(--dark) 0%,rgba(201,168,76,.04) 100%);
  border-top:1px solid rgba(201,168,76,.1);
  border-bottom:1px solid rgba(201,168,76,.1);
}
.cta-band h2 { font-family:'Cormorant Garamond', serif; font-size:clamp(2rem,4vw,3.5rem); font-weight:300; margin-bottom:16px; }
.cta-band h2 em { font-style:italic; color:var(--gold); }
.cta-band p { font-size:.76rem; line-height:2; color:var(--muted); margin-bottom:40px; }
.btn-group { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* Buttons */
.btn-gold {
  display:inline-block; background:var(--gold); color:var(--black);
  padding:15px 44px; font-size:.6rem; font-weight:600;
  letter-spacing:.25em; text-transform:uppercase; text-decoration:none;
  transition:background .3s, transform .3s;
}
.btn-gold:hover { background:var(--gold-light); transform:translateY(-2px); }

.btn-outline {
  display:inline-block; border:1px solid rgba(244,241,235,.22); color:var(--white);
  padding:15px 44px; font-size:.6rem; font-weight:400;
  letter-spacing:.25em; text-transform:uppercase; text-decoration:none;
  transition:border-color .3s, color .3s;
}
.btn-outline:hover { border-color:var(--gold); color:var(--gold); }

/* Testimonial */
.testimonial {
  border-left:2px solid var(--gold); padding:0 0 0 32px; margin:40px 0;
}
.testimonial blockquote {
  font-family:'Cormorant Garamond', serif;
  font-size:1.5rem; font-weight:300; font-style:italic; line-height:1.5;
  color:var(--white); margin-bottom:16px;
}
.testimonial cite { font-size:.62rem; letter-spacing:.2em; color:var(--gold); text-transform:uppercase; }

/* ─── FOOTER ─── */
footer {
  background:var(--dark2); padding:80px 64px 40px;
  border-top:1px solid rgba(201,168,76,.1);
}
.footer-top { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:56px; margin-bottom:56px; }
.footer-brand .logo-top { font-family:'Cormorant Garamond', serif; font-size:1.5rem; font-weight:600; letter-spacing:.35em; color:var(--white); text-transform:uppercase; }
.footer-brand .logo-bottom { font-size:.46rem; letter-spacing:.5em; color:var(--gold); text-transform:uppercase; margin-top:3px; font-family:'Montserrat', sans-serif; }
.footer-tagline { font-size:.7rem; line-height:1.9; color:var(--muted); margin-top:16px; max-width:240px; }
.footer-col h5 { font-size:.56rem; letter-spacing:.38em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:12px; }
.footer-col ul a { font-size:.7rem; color:var(--muted); text-decoration:none; transition:color .3s; }
.footer-col ul a:hover { color:var(--gold); }
.footer-bottom {
  padding-top:30px; border-top:1px solid rgba(201,168,76,.07);
  display:flex; justify-content:space-between; align-items:center;
}
.footer-bottom p { font-size:.58rem; letter-spacing:.1em; color:rgba(244,241,235,.22); }

/* ─── Animations ─── */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes pulse {
  0%,100% { opacity:.25; }
  50%      { opacity:.9; }
}
.reveal { opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }
.reveal-delay-4 { transition-delay:.4s; }

/* ─── Responsive ─── */
@media (max-width:960px) {
  nav { padding:20px 28px; }
  nav.scrolled { padding:14px 28px; }
  .nav-links { display:none; flex-direction:column; position:fixed; inset:0; top:70px; background:rgba(7,7,7,.98); padding:60px 36px; gap:28px; z-index:799; }
  .nav-links.open { display:flex; }
  .nav-cta { display:none; }
  .nav-toggle { display:flex; }
  .page-hero { padding:0 28px 60px; }
  .section { padding:70px 28px; }
  .two-col { grid-template-columns:1fr; gap:40px; }
  .two-col.rev { direction:ltr; }
  .stats-bar { grid-template-columns:repeat(2,1fr); }
  .footer-top { grid-template-columns:1fr 1fr; gap:40px; }
  .cta-band { padding:70px 28px; }
  .steps { grid-template-columns:1fr 1fr; }
  .footer-bottom { flex-direction:column; gap:10px; text-align:center; }
}
@media (max-width:520px) {
  .steps { grid-template-columns:1fr; }
  .stats-bar { grid-template-columns:1fr 1fr; }
  .footer-top { grid-template-columns:1fr; }
}
