/* Ramsey Realtors Group — black + gold, gradient treatment */
:root{
  --ink:#0b0a08;
  --panel:#151209;
  --panel2:#1c1810;
  --gold:#b08d4a;
  --gold-deep:#987236;
  --cream:#f6dfa4;
  --text:#e7e1d3;
  --muted:#a89e88;
  --grad-gold:linear-gradient(135deg,#f6dfa4 0%,#c9a35c 45%,#987236 100%);
  --grad-panel:linear-gradient(160deg,#1e1a10 0%,#12100a 55%,#0b0a08 100%);
  --grad-hair:linear-gradient(90deg,transparent,#b08d4a 30%,#f6dfa4 50%,#b08d4a 70%,transparent);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--text);font-family:'Montserrat',sans-serif;font-weight:300;font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Playfair Display',serif;font-weight:400;line-height:1.18;color:var(--cream)}
a{color:var(--gold);text-decoration:none;overflow-wrap:anywhere}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(11,10,8,.88);backdrop-filter:blur(12px);border-bottom:1px solid rgba(176,141,74,.18)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1400px;margin:0 auto}
.brand{display:flex;align-items:center;gap:14px}
.brand img{height:52px;width:auto}
.brand-name{font-family:'Playfair Display',serif;font-size:20px;letter-spacing:.14em;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
nav.links{display:flex;gap:34px}
nav.links a{color:var(--text);font-size:13px;letter-spacing:.12em;text-transform:uppercase;transition:color .2s}
nav.links a:hover,nav.links a.on{color:var(--cream)}
.nav-cta{font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:11px 22px;border:1px solid var(--gold);color:var(--cream);border-radius:2px;transition:.25s}
.nav-cta:hover{background:var(--grad-gold);color:#0b0a08}
.nav-toggle{display:none}
.nav-burger{display:none;font-size:24px;color:var(--cream);cursor:pointer;padding:6px 10px;border:1px solid rgba(176,141,74,.4);border-radius:2px;line-height:1}
@media(max-width:920px){
  nav.links{display:none}
  .nav-burger{display:block}
  .nav{flex-wrap:wrap;position:relative}
  .nav-toggle:checked ~ nav.links{display:flex;flex-direction:column;gap:18px;position:absolute;top:100%;left:0;right:0;background:rgba(11,10,8,.98);padding:26px 32px;border-bottom:1px solid rgba(176,141,74,.3);z-index:60}
}

/* buttons */
.btn{display:inline-block;padding:15px 34px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;border-radius:2px;transition:.25s;border:1px solid transparent}
.btn-gold{background:var(--grad-gold);color:#141005;font-weight:400}
.btn-gold:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-line{border-color:rgba(176,141,74,.55);color:var(--cream)}
.btn-line:hover{border-color:var(--cream);background:rgba(176,141,74,.08)}

/* hero */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(1100px 600px at 82% -10%,rgba(152,114,54,.32),transparent 60%),
  radial-gradient(800px 500px at -10% 110%,rgba(152,114,54,.14),transparent 55%),
  var(--ink)}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-bg img,.hero-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.34;filter:saturate(.55) brightness(.8)}
.hero-bg img{animation:heropan 45s ease-in-out infinite alternate;transform-origin:center}
@keyframes heropan{from{transform:scale(1.02) translateX(-1.5%)}to{transform:scale(1.14) translateX(1.5%)}}
@media(prefers-reduced-motion:reduce){.hero-bg img{animation:none}}
.hero-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(10,10,10,.82),rgba(10,10,10,.55) 45%,var(--ink) 98%),
  radial-gradient(1100px 600px at 82% -10%,rgba(152,114,54,.30),transparent 60%)}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;padding:96px 32px 110px;max-width:1200px;margin:0 auto}
.kicker{font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.hero h1{font-size:clamp(44px,6vw,72px);margin-bottom:26px}
.hero h1 em{font-style:italic;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{font-size:19px;color:var(--muted);max-width:46ch;margin-bottom:40px}
.hero-ctas{display:flex;gap:18px;flex-wrap:wrap}
.hero-photo{position:relative}
.hero-photo img{border-radius:3px;box-shadow:0 40px 90px rgba(0,0,0,.6)}
.hero-photo::before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid rgba(176,141,74,.4);border-radius:3px;pointer-events:none}
@media(max-width:920px){.hero-inner{grid-template-columns:1fr;padding:64px 24px}}
.hero-inner.hero-solo{grid-template-columns:1fr;min-height:64vh;align-content:center;justify-items:center;text-align:center;padding-top:110px;padding-bottom:120px;max-width:1200px}
.hero-solo .lede{max-width:52ch;margin-left:auto;margin-right:auto}
.hero-solo .hero-ctas{justify-content:center}
.hero-solo h1{max-width:18ch;margin-left:auto;margin-right:auto}
.hero:has(.hero-solo) .hero-bg img,.hero:has(.hero-solo) .hero-bg video{opacity:.52;filter:saturate(.7) brightness(.85)}
.hero:has(.hero-solo) .hero-bg::after{background:
  linear-gradient(180deg,rgba(11,10,8,.72),rgba(11,10,8,.38) 45%,var(--ink) 99%),
  radial-gradient(1100px 600px at 82% -10%,rgba(152,114,54,.26),transparent 60%)}

/* sections */
section{padding:96px 0}
.hairline{height:1px;background:var(--grad-hair);opacity:.5}
.sec-head{margin-bottom:56px;max-width:720px}
.sec-head h2{font-size:clamp(32px,4vw,46px);margin:14px 0 18px}
.sec-head p{color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
@media(max-width:920px){.split{grid-template-columns:1fr}}
.panelbg{background:var(--grad-panel)}

/* cards */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
@media(max-width:920px){.grid3,.grid2{grid-template-columns:1fr}}
.card{background:var(--grad-panel);border:1px solid rgba(176,141,74,.2);border-radius:3px;padding:40px 34px;transition:.3s}
.card:hover{border-color:rgba(246,223,164,.5);transform:translateY(-4px)}
.card h3{font-size:24px;margin-bottom:12px}
.card p{color:var(--muted);font-size:15.5px}
.card .num{font-family:'Playfair Display',serif;font-size:40px;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:14px}
.card .tag{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.card-link{display:inline-block;margin-top:18px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream)}
.card .face{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;border-radius:3px;margin-bottom:22px;border:1px solid rgba(176,141,74,.3)}

/* listing cards */
.listing{background:var(--grad-panel);border:1px solid rgba(176,141,74,.2);border-radius:3px;overflow:hidden;transition:.3s}
.listing:hover{border-color:rgba(246,223,164,.5);transform:translateY(-4px)}
.listing .body{padding:28px}
.price{font-family:'Playfair Display',serif;font-size:28px;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.addr{color:var(--text);margin:6px 0 10px;font-size:16px}
.specs{color:var(--muted);font-size:13.5px;letter-spacing:.06em}
.status{display:inline-block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cream);border:1px solid rgba(176,141,74,.55);padding:5px 12px;border-radius:2px;margin-bottom:16px}

/* band */
.band{background:
  radial-gradient(900px 400px at 50% 120%,rgba(152,114,54,.28),transparent 65%),
  var(--panel);border-top:1px solid rgba(176,141,74,.2);border-bottom:1px solid rgba(176,141,74,.2)}
.band-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:70px 32px;max-width:1200px;margin:0 auto;flex-wrap:wrap}
.band h2{font-size:clamp(28px,3.4vw,40px)}

/* quote */
blockquote{border-left:2px solid;border-image:var(--grad-gold) 1;padding:8px 0 8px 30px;font-size:19px;font-style:italic;color:var(--text)}
blockquote footer{margin-top:14px;font-style:normal;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);background:none;border:none;padding:0}

/* forms */
form.lead{display:grid;gap:16px}
form.lead input,form.lead select,form.lead textarea{background:#0f0d09;border:1px solid rgba(176,141,74,.3);border-radius:2px;color:var(--text);padding:15px 16px;font-family:'Montserrat',sans-serif;font-size:15px;width:100%}
form.lead input:focus,form.lead select:focus,form.lead textarea:focus{outline:none;border-color:var(--cream)}
form.lead label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}

/* footer */
footer.site{background:linear-gradient(180deg,#0b0a08,#080705);border-top:1px solid rgba(176,141,74,.22);padding:70px 0 36px;margin-top:40px}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px;margin-bottom:50px}
@media(max-width:920px){.foot-grid{grid-template-columns:1fr}}
footer.site img.logo{height:110px;width:auto;margin-bottom:18px}
.foot-tag{font-family:'Playfair Display',serif;letter-spacing:.22em;font-size:15px;color:var(--cream)}
.foot-sub{font-style:italic;color:var(--muted);margin-top:6px}
footer.site h4{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-family:'Montserrat',sans-serif;font-weight:400}
footer.site ul{list-style:none}
footer.site li{margin-bottom:10px;font-size:15px;color:var(--muted)}
footer.site li a{color:var(--muted)}
footer.site li a:hover{color:var(--cream)}
.legal{border-top:1px solid rgba(176,141,74,.16);padding-top:28px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:#948a71}

/* founders cutout */
.cutout{position:relative;padding:24px}
.cutout::before{content:"";position:absolute;inset:0;background:radial-gradient(62% 55% at 50% 42%,rgba(152,114,54,.38),transparent 72%);pointer-events:none}
.cutout img{position:relative;filter:drop-shadow(0 24px 40px rgba(0,0,0,.55))}
.card .face.cutout-face{object-fit:contain;object-position:bottom;border:none;background:radial-gradient(62% 55% at 50% 45%,rgba(152,114,54,.30),transparent 72%)}
