/* Miami Westchester — visual system matched to goexp.org/westchester (Jose's Canva page).
   Fonts: Cormorant Garamond, Playfair Display (for Catchy Mager), Quicksand, Roboto,
   Manrope, Libre Baskerville (for ITC New Baskerville), Montserrat (for Coco Gothic). */
:root{
  --ink:#0f1015;
  --navy:#131f5d;
  --navy-deep:#010c13;
  --cream:#efebe5;
  --gold:#DDAE48;
  --gold-bright:#FED545;
  --gold-btn:#E3B34A;
  --gold-btn-dark:#C48A22;
  --muted:#4a4a4a;
  --line:#d6dbe0;
  --gray:#d4d3d6;
  --accent:var(--navy);
  --accent-ink:#fff;
  --bg:#fff;
  --soft:#f4f6f8;
  --sage:#A8C48A;
  --font-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --font-display:"Playfair Display","Cormorant Garamond",Georgia,serif;
  --font-sans:Manrope,system-ui,sans-serif;
  --font-roboto:Roboto,Manrope,sans-serif;
  --font-btn:"Libre Baskerville",Georgia,serif;
  --font-phone:Quicksand,Manrope,sans-serif;
  --font-ui:Montserrat,Manrope,sans-serif;
  font-family:var(--font-sans);
}
*{box-sizing:border-box}
html,body{margin:0}
body{color:var(--ink);background:var(--bg);line-height:1.6;font-size:1.0625rem}
body.consent-open{box-sizing:border-box;max-height:100vh;max-height:100dvh;overflow-y:auto;padding-bottom:var(--consent-pad,4.25rem)}
a{color:var(--navy)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid var(--gold);outline-offset:2px
}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:30}

/* ===== Header ===== */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}
.brandbar{display:flex;align-items:center;gap:.75rem 1rem;padding:.55rem 1.25rem;min-height:5.5rem}
.logo{display:flex;align-items:center;flex:0 0 auto}
.logo img{display:block;width:auto;height:52px}
.brand{text-decoration:none;color:var(--ink);display:flex;flex-direction:column;align-items:center;flex:1 1 auto;min-width:0;text-align:center}
.brand .name{display:none;font-family:var(--font-serif);font-weight:700;font-size:1.35rem;line-height:1.1;color:var(--ink)}
.brand .team{display:block;font-family:var(--font-serif);font-weight:500;font-size:2.05rem;line-height:1.1;color:#111;letter-spacing:.01em}
.brand .brokerage,.brand .brokerage-line{display:none}
.header-contact{display:flex;align-items:center;gap:.5rem .75rem;flex:0 0 auto;margin-left:auto}
.phone{font-family:var(--font-phone);font-weight:700;font-size:1.35rem;color:#111;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}
.phone .phone-icon{width:1.35rem;height:1.35rem;display:block;flex:0 0 auto}
.brokerage-inline{font-weight:700;font-size:.85rem;color:var(--navy);white-space:nowrap}
.lang{font-size:.95rem;margin-left:.25rem;white-space:nowrap}
.nav-toggle{display:none;background:none;border:0;padding:.45rem;margin:0;cursor:pointer;border-radius:6px;color:var(--navy)}
.nav-toggle-bars,.nav-toggle-bars::before,.nav-toggle-bars::after{
  display:block;width:1.4rem;height:2px;background:currentColor;position:relative;border-radius:1px
}
.nav-toggle-bars::before,.nav-toggle-bars::after{content:"";position:absolute;left:0}
.nav-toggle-bars::before{top:-6px}.nav-toggle-bars::after{top:6px}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::before{top:0;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::after{top:0;transform:rotate(-45deg)}
.site-nav ul{list-style:none;margin:0;padding:.15rem 1.25rem .7rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.15rem 1.35rem}
.site-nav a{text-decoration:none;color:var(--navy);font-family:var(--font-sans);font-weight:600;font-size:.95rem}
.site-nav a[aria-current]{text-decoration:underline;text-underline-offset:3px}
.site-header:not(:has(.site-nav)) .nav-toggle{display:none}

@media (max-width:768px){
  .brandbar{flex-wrap:wrap;padding:.6rem .85rem;min-height:0;align-items:center}
  .logo{order:0}
  .logo img{height:40px}
  .brand{order:2;flex:1 0 100%;align-items:flex-start;text-align:left;margin-top:.15rem}
  .brand .name{display:block;font-size:1.2rem}
  .brand .team{display:none}
  .brand .brokerage-line{display:block;font-family:var(--font-sans);font-weight:600;font-size:.78rem;color:var(--muted);margin-top:.15rem}
  .header-contact{order:1;margin-left:auto}
  .phone{font-size:1.05rem}
  .phone .phone-icon{width:1.1rem;height:1.1rem}
  .brokerage-inline{display:none} /* eXp Realty is on the subtitle line */
  .lang{order:3;font-size:.9rem}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;order:4;min-width:44px;min-height:44px}
  .site-nav{display:none;flex:1 0 100%;order:5;background:#fff;border-top:1px solid var(--line)}
  .site-header.is-nav-open .site-nav{display:block}
  .site-nav ul{flex-direction:column;align-items:stretch;padding:.5rem .85rem 1rem;gap:0}
  .site-nav a{display:block;padding:.7rem .4rem;min-height:44px}
}

/* ===== Page layout (inner pages) ===== */
main{max-width:46rem;margin:0 auto;padding:1.5rem 1rem 3rem}
body.home main,main.home-main{max-width:none;padding:0;margin:0}
h1{font-family:var(--font-serif);font-weight:700;font-size:2.15rem;line-height:1.15;margin:.5rem 0 1rem;color:var(--navy)}
h2{font-family:var(--font-display);font-weight:700;font-size:1.7rem;margin-top:2rem;color:var(--navy)}
h3{font-family:var(--font-serif);color:var(--navy)}
.lead{font-size:1.12rem;color:var(--muted)}
.btn{display:inline-block;background:var(--navy);color:#fff;padding:.7rem 1.15rem;border-radius:8px;text-decoration:none;border:0;font:inherit;font-weight:600;cursor:pointer;margin:.25rem .25rem .25rem 0}
.btn.alt{background:var(--cream);color:var(--navy);border:1px solid var(--navy)}
.btn-gold{
  display:inline-flex;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(180deg,#F3D27A 0%,#E0B24A 45%,#C9922A 100%);
  color:#111;font-family:var(--font-btn);font-weight:700;font-size:1.05rem;
  text-decoration:none;border:0;cursor:pointer;
  border-radius:999px;padding:.85rem 1.5rem;min-height:52px;
  box-shadow:0 2px 0 #9a6a16,0 8px 16px rgba(0,0,0,.18);
  text-transform:none;letter-spacing:.01em;
}
.btn-gold:hover{filter:brightness(1.05)}
.btn-cream{display:inline-block;background:var(--cream);color:#111;font-family:var(--font-serif);font-weight:700;font-size:1.15rem;text-decoration:none;border:0;border-radius:10px;padding:.75rem 1.4rem;cursor:pointer}
.cards{display:grid;gap:1rem}@media(min-width:40rem){.cards{grid-template-columns:repeat(3,1fr)}}
.card{display:block;padding:1rem;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);background:#fff}
.card h3{margin:.2rem 0;color:var(--navy)}
.ph{width:160px;height:160px;border-radius:50%;background:var(--soft);display:flex;align-items:center;justify-content:center;color:var(--muted);border:1px dashed var(--line);overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover}
.faq{border-bottom:1px solid var(--line);padding:.75rem 0}.faq summary{font-weight:600;cursor:pointer;font-family:var(--font-sans)}
.lead-form{display:grid;gap:.35rem;background:var(--cream);padding:1.1rem 1.15rem;border-radius:12px}
.lead-form label{font-weight:600;margin-top:.5rem}
.lead-form input,.lead-form select,.lead-form textarea{font:inherit;padding:.6rem;border:1px solid #8a939c;border-radius:6px;width:100%;background:#fff}
.check{display:flex;gap:.6rem;align-items:flex-start;margin-top:.75rem}.check input{width:auto;margin-top:.35rem}.check label{font-weight:400;font-size:.9rem;margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ===== Footer (inner pages) ===== */
.site-footer{border-top:1px solid var(--line);padding:1.6rem 1rem;font-size:.95rem;background:var(--navy);color:var(--cream)}
.site-footer p{max-width:46rem;margin:.4rem auto}
.site-footer a{color:var(--gold-bright)}
.eho-mark{font-weight:700}

/* ===== Cookie banner: compact, does not cover CTAs ===== */
.consent{position:fixed;left:0;right:0;bottom:0;z-index:200;display:flex;align-items:center;justify-content:center;gap:.6rem 1rem;flex-wrap:nowrap;padding:.45rem 1rem;background:#0f1015;color:#fff;border-top:2px solid var(--gold);box-shadow:0 -2px 10px rgba(0,0,0,.18);font-size:.88rem;line-height:1.3}
.consent[hidden]{display:none !important}
.consent p{margin:0;flex:1 1 auto;min-width:0}
.consent a{color:var(--gold-bright)}
.consent-actions{display:flex;gap:.4rem;flex:0 0 auto}
.consent .btn{margin:0;padding:.35rem .8rem;font-size:.85rem;border-radius:6px;background:var(--gold);color:#111;font-weight:700}
.consent .btn.alt{background:transparent;color:#fff;border:1px solid var(--gray)}
.consent-short{display:none}
@media (max-width:768px){
  .consent{gap:.45rem;padding:.4rem .7rem;font-size:.8rem;flex-wrap:nowrap}
  .consent-full{display:none}
  .consent-short{display:inline}
  .consent p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .consent .btn{padding:.3rem .65rem;font-size:.78rem}
}
/* When a landing sticky bar is visible, sit the cookie bar above it */
@media (max-width:899px){
  body.has-stickybar.consent-open{padding-bottom:calc(var(--consent-pad,4.25rem) + 3.2rem);max-height:100vh;max-height:100dvh;overflow-y:auto}
  body.has-stickybar .consent{bottom:3.2rem}
}

/* landing + steps (unchanged structure, retinted) */
.landing main{padding-bottom:4.5rem}.hero .sub{color:var(--muted)}
.steps fieldset{border:0;padding:0;margin:0 0 1rem}.steps .steplabel{font-weight:700;margin-bottom:.5rem}
.choices{display:flex;flex-wrap:wrap;gap:.5rem}.choices legend{width:100%;font-weight:600;margin-bottom:.25rem}
.chip input{width:auto;margin:0}
.chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);border-radius:999px;padding:.6rem .9rem;min-height:44px;cursor:pointer}
.chip:has(input:checked){border-color:var(--gold);background:var(--cream)}
.js-steps .step[hidden]{display:none}
.proof{margin-top:1rem;padding:1rem;background:var(--cream);border-radius:8px}.story{margin-top:.5rem}
.how{padding-left:1.25rem}
.stickybar{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--navy);z-index:50}
.stickybar a{flex:1;text-align:center;color:#fff;padding:.9rem 0;font-weight:700;text-decoration:none;min-height:44px}
.stickybar a+a{border-left:1px solid rgba(255,255,255,.35)}
@media(min-width:900px){.stickybar{display:none}.landing main{padding-bottom:0}}

/* ===== HOME PAGE ===== */
.wrap{width:min(1120px,100% - 2.5rem);margin:0 auto}
.hero-home{position:relative;color:#fff;background:#07101c url("/assets/img/hero-grid-bg.jpg") center/cover no-repeat;padding:2.4rem 0 1.6rem;overflow:hidden}
.hero-home .wrap{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2rem;align-items:start}
.eyebrow{font-family:var(--font-roboto);font-weight:700;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 .7rem}
.hero-home h1{font-family:var(--font-serif);font-weight:700;font-size:clamp(2.35rem,4.4vw,3.55rem);line-height:1.05;color:#fff;margin:0 0 1rem}
.hero-home .lead{color:#fff;font-family:var(--font-roboto);font-weight:400;font-size:1.12rem;max-width:26rem;margin:0 0 1.3rem}
.hero-note{font-family:var(--font-roboto);font-size:1rem;margin:1rem 0 0;color:#fff}
.hero-media{display:flex;flex-direction:column;gap:1rem}
.video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:2px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.checklist{list-style:none;margin:0;padding:0;font-family:var(--font-roboto);font-weight:500}
.checklist li{display:flex;align-items:flex-start;gap:.55rem;margin:.35rem 0}
.checklist li::before{content:"✓";flex:0 0 1.35rem;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--gold);color:#111;font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center;line-height:1.35rem;text-align:center}
.proof-row{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-top:1.6rem;padding-top:.2rem;padding-bottom:.4rem}
.proof-item{display:flex;align-items:center;gap:.45rem;color:#fff;text-decoration:none;font-family:var(--font-roboto);font-weight:400;font-size:.95rem;min-width:0}
.proof-item img.icon{display:block}
.proof-item .icon-pin{height:52px;width:auto}
.proof-item .icon-stars{height:28px;width:auto}
.proof-item .icon-yt{height:28px;width:auto}
.proof-item .icon-sign{height:64px;width:auto}
.proof-copy{display:flex;flex-direction:column;line-height:1.2;white-space:nowrap}.proof-copy small{font-size:.8em;opacity:.9}
.proof-copy strong{font-weight:400}
.headshot-wrap{width:96px;height:96px;border-radius:50%;overflow:hidden;flex:0 0 auto;border:2px solid rgba(255,255,255,.35)}
.headshot-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 20%}

.section-pad{padding:2.6rem 0 2.8rem}
.figure-out{background:#fff;text-align:center}
.figure-out h2,.videos-sec h2,.downloads h2{font-family:var(--font-serif);font-weight:700;font-size:clamp(2rem,4vw,3.7rem);color:var(--navy);text-align:center;margin:0 0 1.8rem}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;text-align:left}
.trio-card h3{font-family:var(--font-serif);font-weight:700;font-size:1.45rem;line-height:1.2;margin:.9rem 0 .4rem;color:var(--navy)}
.trio-card p{font-family:var(--font-sans);color:var(--navy);margin:0 0 1rem;font-size:1rem}
.trio-card .thumb,.trio-card .video-frame{display:block;width:100%;aspect-ratio:16/10;height:auto;object-fit:cover;border-radius:2px;overflow:hidden;background:#111}
.trio-card .btn-gold{width:100%;max-width:20rem}

.reno{background:#fff;padding:0 0 3rem}
.reno-card{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:var(--cream);border-radius:22px;overflow:hidden;min-height:22rem}
.reno-copy{padding:2.2rem 2.1rem;display:flex;flex-direction:column;justify-content:center}
.reno-kicker{font-family:var(--font-sans);font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;color:var(--sage);margin:0 0 .8rem}
.reno-copy h2{font-family:var(--font-serif);font-weight:700;font-size:clamp(2rem,3.4vw,3.15rem);line-height:1.05;color:var(--cream);margin:0 0 .7rem}
.reno-sub{font-family:var(--font-serif);font-style:italic;font-size:1.35rem;color:var(--sage);margin:0 0 .8rem}
.reno-copy p{font-family:var(--font-roboto);font-size:1.08rem;margin:0 0 1.3rem;color:#fff}
.reno-photo{min-height:16rem}
.reno-photo img{width:100%;height:100%;object-fit:cover;display:block}

.videos-sec{background:#fff;padding:1rem 0 3rem}
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem}

.stories{position:relative;color:#fff;padding:3.2rem 0 3.4rem;background:#1a2740 url("/assets/img/testimonials-dusk.jpg") center/cover no-repeat}
.stories::before{content:"";position:absolute;inset:0;background:rgba(10,18,40,.62)}
.stories .wrap{position:relative;z-index:1}
.stories h2{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,4vw,3.3rem);color:var(--cream);text-align:center;margin:0 0 2rem;line-height:1.15}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem 1.7rem}
.quote{margin:0}
.quote img.qmark{width:25px;height:19px;display:block;margin-bottom:.45rem;opacity:.95}
.quote p{font-family:var(--font-ui);font-size:.98rem;line-height:1.45;margin:0 0 .8rem;color:#fff}
.quote footer{font-family:var(--font-ui);font-weight:700;font-style:normal;color:#fff}

.cta-band{background:var(--navy);color:#fff;padding:1.8rem 0 1.6rem;position:relative;overflow:hidden}
.cta-band .wrap{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"logo mid photo" "legal legal legal";align-items:center;gap:1rem 1.5rem}
.cta-logo{grid-area:logo}.cta-mid{grid-area:mid}.cta-photo{grid-area:photo}.cta-legal{grid-area:legal}
.cta-logo img{height:72px;width:auto;display:block}
.cta-mid{text-align:center}
.cta-mid .btn-gold{min-width:min(100%,28rem)}
.prefer{margin:.85rem 0 .6rem;font-family:var(--font-display);font-size:1.35rem}
.prefer a{color:var(--gold-bright);text-decoration:none;font-weight:400}
.boring{font-family:var(--font-sans);font-size:.72rem;line-height:1.45;color:#e8e4dc;max-width:46rem;margin:.4rem auto;text-align:center}
.boring strong{display:block;margin-bottom:.2rem;font-weight:600}
.legal-links{font-size:.78rem;text-align:center;margin:.7rem 0 0}
.legal-links a{color:#fff;text-decoration:underline}
.cta-photo{width:200px;justify-self:end;align-self:end;margin-bottom:-1.8rem}
.cta-photo img{width:100%;height:auto;display:block}

.downloads{background:#000;color:#fff;padding:2.6rem 0 3.2rem;text-align:center}
.downloads h2{color:#fff;font-family:var(--font-display);margin-bottom:1.8rem}
.download-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2rem;align-items:end}
.download-card{color:#d4d3d6;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:.85rem}
.download-card img{width:min(100%,340px);height:auto;display:block}
.download-card span{font-family:var(--font-ui);font-size:1.35rem;color:#d4d3d6}

.home-footer{background:var(--navy);color:var(--cream);padding:1.1rem 1rem 1.4rem;font-size:.9rem;text-align:center}
.home-footer p{margin:.3rem auto;max-width:50rem}
.home-footer a{color:var(--gold-bright)}

@media (max-width:900px){
  .proof-row{flex-wrap:wrap;justify-content:flex-start}
  .cta-band .wrap{grid-template-columns:1fr;grid-template-areas:"logo" "mid" "photo" "legal"}
  .hero-home .wrap,.reno-card,.download-row,.trio,.video-grid,.quotes{grid-template-columns:1fr}
  .hero-home{padding:1.6rem 0 1.3rem}
  .hero-home h1{font-size:2.15rem}
  .proof-row{justify-content:flex-start}
  .cta-band .wrap{text-align:center}
  .cta-logo,.cta-photo{justify-self:center}
  .cta-photo{margin:0 auto -1rem;width:180px}
  .trio,.video-grid{gap:1.4rem}
  .quotes{gap:1.4rem}
}
@media (min-width:901px) and (max-width:1100px){
  .hero-home h1{font-size:2.6rem}
}

.about-photo{margin:0 0 1.2rem}.about-photo img{width:min(100%,320px);height:auto;border-radius:50%;aspect-ratio:1/1;object-fit:cover;object-position:center 20%;display:block}

.btn-gold .arrow{font-family:var(--font-sans);font-weight:700;padding-left:.2em}
.reno-photo{overflow:hidden;border-radius:0 22px 22px 0}
@media (max-width:900px){.reno-photo{border-radius:0 0 22px 22px;min-height:14rem}}


/* Miami seller landing */
.trio-card .thumb.ratio-16-9{aspect-ratio:16/9;object-fit:cover;object-position:center}
.areas{background:var(--cream);padding:2.2rem 0 2.4rem;text-align:center}
.areas h2{margin:0 0 .6rem}
.areas .lead{max-width:42rem;margin:0 auto 1.15rem;color:var(--muted)}
.areas ul{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem .7rem;max-width:50rem}
.areas li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.45rem 1rem;font-family:var(--font-ui);font-size:.95rem;color:var(--navy);font-weight:500}
.download-card img.book{width:min(100%,280px)}
