/* Realtor website (snapwire.ai/<slug>). Theme vars (--navy/--gold/--serif/--sans)
   are baked per-agent by an inline <style>; this file is layout + light/dark. */
:root{
  --ink:#12243B; --soft:#475467; --muted:#8A94A6; --line:#E5EAF1;
  --bg:#FFFFFF; --bg-alt:#F5F7FB; --paper:#FFFFFF;
}
body.theme-dark{
  --ink:#EEF2F7; --soft:#AEB6C2; --muted:#7E8898; --line:#243042;
  --bg:#0E1622; --bg-alt:#121E2E; --paper:#14202F;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
.eyebrow.light{color:rgba(255,255,255,.85)}
.eyebrow.gold{color:var(--gold)}
h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:-.02em;line-height:1.08}
.lede{font-size:18px;color:var(--soft)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:600;font-size:15px;padding:13px 24px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:.18s}
.btn-accent{background:var(--gold);color:#1B1304}
.btn-accent:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--gold)}
.btn-ghost-light{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.45);color:#fff}
.btn-ghost-light:hover{background:rgba(255,255,255,.2)}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:.25s}
.nav-in{height:64px;display:flex;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--serif);font-weight:600;font-size:20px}
.brand-logo{height:30px;width:auto;max-width:130px;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:24px}
.nav-links a:not(.btn){font-size:14px;color:var(--soft)}
.nav-links a:not(.btn):hover{color:var(--ink)}
.nav .btn{padding:9px 16px;font-size:14px}
@media(max-width:760px){.nav-links a:not(.btn){display:none}}

/* hero */
.hero{position:relative;min-height:82vh;display:flex;align-items:flex-end;color:#fff;
  background:var(--hero-bg) center/cover no-repeat;overflow:hidden}
/* Layered overlay: vertical depth for legibility + a left-side wash so the bottom-left copy pops */
.hero-overlay{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,16,28,.30) 0%,rgba(8,16,28,.18) 34%,rgba(8,16,28,.60) 80%,rgba(8,16,28,.90) 100%),
             linear-gradient(90deg,rgba(8,16,28,.46) 0%,rgba(8,16,28,0) 58%)}
.hero-in{position:relative;z-index:2;padding:128px 24px 68px;text-shadow:0 1px 24px rgba(0,0,0,.32)}
.hero-name{font-size:clamp(42px,7vw,84px);letter-spacing:-.025em;margin:14px 0 8px}
.hero-broker{font-size:16px;color:rgba(255,255,255,.88);font-weight:500}
.hero-bio{max-width:54ch;margin-top:18px;font-size:18px;line-height:1.62;color:rgba(255,255,255,.88)}
.hero-cta{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap;text-shadow:none}

/* sections */
.section{padding:88px 0}
.section.alt{background:var(--bg-alt)}
.sec-head{max-width:720px;margin:0 auto 44px;text-align:center}
.sec-head h2{font-size:clamp(28px,4vw,42px);margin-top:12px}

/* about */
.about-grid{display:grid;grid-template-columns:340px 1fr;gap:48px;align-items:center}
@media(max-width:780px){.about-grid{grid-template-columns:1fr;gap:28px}}
.about-photo img,.about-photo .about-initials{width:100%;object-fit:cover;box-shadow:0 24px 60px rgba(18,36,59,.18)}
.about-photo.is-portrait img,.about-photo.is-portrait .about-initials{aspect-ratio:4/5;border-radius:18px}
.about-photo.is-round img,.about-photo.is-round .about-initials{aspect-ratio:1/1;border-radius:50%;max-width:300px;margin:0 auto}
.about-initials{display:grid;place-items:center;background:var(--bg-alt);color:var(--navy);font-family:var(--serif);font-size:72px;font-weight:600}
.about-text h2{font-size:clamp(26px,3.4vw,38px);margin:10px 0 16px}
.about-contact{display:flex;flex-direction:column;gap:6px;margin-top:18px;font-weight:600;color:var(--gold-deep)}
.about-socials{display:flex;gap:12px;margin-top:18px}
.about-socials a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--ink);transition:.18s}
.about-socials a:hover{border-color:var(--gold);color:var(--gold-deep)}

/* listings grid */
.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:900px){.listing-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.listing-grid{grid-template-columns:1fr}}
.lcard{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--paper);transition:.2s}
.lcard:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(18,36,59,.14);border-color:var(--gold)}
.lcard-img{aspect-ratio:3/2;background:var(--bg-alt) center/cover no-repeat}
.lcard-body{padding:16px 18px}
.lcard-price{font-family:var(--serif);font-size:22px;font-weight:700}
.lcard-addr{font-weight:600;margin-top:2px}
.lcard-city{color:var(--muted);font-size:14px}
.lcard-specs{color:var(--soft);font-size:13px;margin-top:8px}

/* reviews */
.gbadge{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}
.gbadge b{font-size:15px}.gbadge .gstars{color:#FBBC05;letter-spacing:1px}.gbadge .gmuted{color:var(--muted);font-size:13px}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:900px){.review-grid{grid-template-columns:1fr}}
.rcard{border:1px solid var(--line);border-radius:16px;padding:24px;background:var(--paper)}
.rcard .rstars{color:var(--gold);letter-spacing:2px;margin-bottom:10px}
.rcard blockquote{font-size:16px;color:var(--ink);font-style:italic;line-height:1.6}
.rcard figcaption{margin-top:14px;font-weight:600;color:var(--soft);font-size:14px}
.rcard figcaption span{color:var(--muted);font-weight:500}

/* financing */
.financing{background:linear-gradient(165deg,var(--navy),var(--navy-2));color:#fff}
.financing .eyebrow.gold{color:var(--gold)}
.fin-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:start;max-width:920px;margin:0 auto}
@media(max-width:780px){.fin-grid{grid-template-columns:1fr}}
.calc-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:24px}
.calc-row{margin-bottom:16px}
.calc-row label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px}
.calc-label{font-size:13px;color:rgba(255,255,255,.72)}
.calc-value{font-size:15px;font-weight:600;color:var(--gold)}
input[type=range]{-webkit-appearance:none;width:100%;height:4px;border-radius:2px;background:rgba(255,255,255,.2);outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--gold);cursor:pointer}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--gold);cursor:pointer;border:0}
.seg{display:flex;gap:6px}
.seg-btn{flex:1;padding:9px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.8);border-radius:9px;cursor:pointer;font-family:inherit;font-weight:600;font-size:13px}
.seg-btn.is-active{background:var(--gold);color:#1B1304;border-color:var(--gold)}
.calc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}
.calc-num{display:flex;flex-direction:column;gap:5px;font-size:11px;color:rgba(255,255,255,.6)}
.calc-num input{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:8px;padding:9px;font-family:inherit;font-size:14px}
.calc-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.14);padding-top:16px;font-size:14px;color:rgba(255,255,255,.75)}
.calc-total-value{font-family:var(--serif);font-size:30px;font-weight:700;color:#fff}
.calc-breakdown{display:grid;gap:6px;margin-top:12px;font-size:13px;color:rgba(255,255,255,.66)}
.calc-breakdown div{display:flex;justify-content:space-between}
.fin-cta{padding-top:8px}
.fin-cta .lo-name{font-family:var(--serif);font-size:22px;font-weight:600}
.fin-cta .lo-title{color:rgba(255,255,255,.8);font-size:14px;margin-top:2px}
.fin-cta .lo-meta{color:rgba(255,255,255,.55);font-size:12px;margin:8px 0 20px}
.fin-cta .btn{display:flex;margin-bottom:10px}
.fin-cta .btn-ghost{border-color:rgba(255,255,255,.3);color:#fff}
.fin-cta .btn-ghost:hover{background:rgba(255,255,255,.1)}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:780px){.contact-grid{grid-template-columns:1fr;gap:28px}}
.contact-grid h2{font-size:clamp(26px,3.4vw,38px);margin:10px 0 14px}
.lead{display:flex;flex-direction:column;gap:12px}
.lead input,.lead textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:13px 14px;font-family:inherit;font-size:15px;color:var(--ink);resize:none}
.lead input:focus,.lead textarea:focus{outline:none;border-color:var(--gold)}
.lead .btn{width:100%}
.lead-done{text-align:center;color:var(--gold-deep);font-weight:600;padding:8px}

/* footer */
.foot{background:var(--navy-2);color:rgba(255,255,255,.7);padding:40px 0}
.foot-in{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot-name{font-family:var(--serif);font-size:20px;font-weight:600;color:#fff}
.foot-meta{font-size:13px;color:rgba(255,255,255,.6);line-height:1.7}
.foot .eho{color:rgba(255,255,255,.5)}
