/* ============================================================
   JASON ALAN & MONTEMARANO — WEBSITE 2 "EDITORIAL"
   Minimal · editorial · cream & near-black with wine accent
   ============================================================ */
*{ margin:0; padding:0; box-sizing:border-box; }

:root{
  --cream:#FFFFFF;
  --cream-2:#F4F3F1;
  --paper:#FFFFFF;
  --ink:#16130E;
  --ink-2:#211D16;
  --soft:#5E574A;
  --faint:#A39B89;
  --wine:#B08C44;
  --wine-deep:#8E7232;
  --line:rgba(22,19,14,0.16);
  --line-soft:rgba(22,19,14,0.08);
}
html{ scroll-behavior:smooth; }
body{
  font-family:'Jost',sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.8;
  font-weight:300;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{ font-family:'Tenor Sans',sans-serif; font-weight:400; line-height:1.08; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--wine); color:var(--cream); }

/* ---------- helpers ---------- */
.wrap{ max-width:1280px; margin:0 auto; padding:0 56px; }
.wrap-narrow{ max-width:880px; margin:0 auto; padding:0 56px; }
.pad{ padding:90px 0; }
.kicker{
  font-family:'Jost',sans-serif; font-size:13px; font-weight:500;
  letter-spacing:0.42em; text-transform:uppercase; color:var(--wine);
}
.kicker.faint{ color:var(--faint); }
.serif-xl{ font-size:clamp(46px,7vw,128px); font-weight:300; letter-spacing:-0.01em; }
.serif-lg{ font-size:clamp(38px,5vw,76px); font-weight:300; }
.hr{ width:100%; height:1px; background:var(--line); }
.center{ text-align:center; }

/* buttons — minimal underline links */
.lnk{
  font-family:'Jost',sans-serif; font-size:12px; font-weight:600;
  letter-spacing:0.22em; text-transform:uppercase;
  display:inline-block; padding-bottom:7px;
  border-bottom:1px solid var(--ink); transition:all .3s ease;
}
.lnk:hover{ color:var(--wine); border-color:var(--wine); }
.lnk.light{ color:var(--cream); border-color:var(--cream); }
.lnk.light:hover{ color:var(--cream); border-color:var(--wine); }
.btn-fill{
  font-family:'Jost',sans-serif; font-size:12px; font-weight:600;
  letter-spacing:0.22em; text-transform:uppercase;
  display:inline-block; padding:19px 46px; cursor:pointer;
  background:var(--ink); color:var(--cream); border:1px solid var(--ink);
  transition:all .3s ease;
}
.btn-fill:hover{ background:var(--wine); border-color:var(--wine); }
.btn-out{
  font-family:'Jost',sans-serif; font-size:12px; font-weight:600;
  letter-spacing:0.22em; text-transform:uppercase;
  display:inline-block; padding:19px 46px; cursor:pointer;
  background:transparent; color:var(--ink); border:1px solid var(--line);
  transition:all .3s ease;
}
.btn-out:hover{ border-color:var(--ink); }

/* ============================================================ NAV */
nav.main{
  position:fixed; top:0; left:0; right:0; z-index:90;
  display:flex; align-items:center; justify-content:space-between;
  padding:34px 48px; transition:all .4s ease;
  border-bottom:1px solid rgba(244,241,234,0.16);
}
nav.main.scrolled{
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  padding:22px 56px;
  border-bottom:1px solid var(--line-soft);
}
.nbrand{ display:flex; align-items:center; gap:16px; }
.nbrand .sig{ height:40px; width:auto; transition:height .4s ease; }
nav.main.scrolled .nbrand .sig{ height:32px; }
.nbrand .nwm{
  font-family:'Tenor Sans',sans-serif; font-size:17px; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase; color:var(--ink); white-space:nowrap;
}
.nlinks{ display:flex; gap:34px; list-style:none; }
.nav-right{ display:flex; align-items:center; gap:40px; }
.nlinks a{
  font-family:'Tenor Sans',sans-serif; font-size:13.5px; font-weight:600; letter-spacing:0.16em;
  text-transform:uppercase; color:var(--ink); transition:color .25s; white-space:nowrap;
}
.nlinks a:hover{ color:var(--wine); }
.nav-hero-light nav.main:not(.scrolled) .nwm,
.nav-hero-light nav.main:not(.scrolled) .nlinks a{ color:#FFFFFF; }
.nburger{ display:flex; flex-direction:column; gap:6px; background:none; border:none; cursor:pointer; }
.nburger span{ width:26px; height:1.5px; background:var(--ink); transition:.25s; }
nav.main:not(.scrolled) .nburger span{ background:var(--cream); }
.nav-call{
  display:inline-flex; align-items:center; gap:8px;
  padding:0 16px; height:42px;
  border:none; border-radius:0;
  color:var(--ink);
  font-family:'Jost',sans-serif; font-size:14px; font-weight:600;
  letter-spacing:0.01em;
  white-space:nowrap;
  transition:color .25s ease;
  flex:0 0 auto;
  background:transparent;
}
.nav-call svg{ width:16px; height:16px; fill:currentColor; flex:0 0 auto; }
.nav-call:hover{ color:var(--wine); background:transparent; }
.nav-hero-light nav.main:not(.scrolled) .nav-call{ color:#FFFFFF; border:none; }
.nav-hero-light nav.main:not(.scrolled) .nav-call:hover{ color:#E8C880; background:transparent; }
@media (max-width:980px){
  .nav-call{ font-size:13px; padding:0 10px; }
}
@media (max-width:720px){
  .nav-call .nav-call-num{ display:none; }
  .nav-call{ padding:0 6px; }
}

.m-menu{
  position:fixed; top:0; right:0; bottom:0; width:100%; max-width:760px;
  background:var(--ink); z-index:200; padding:60px 70px 40px;
  transform:translateX(100%); transition:transform .45s cubic-bezier(.4,0,.2,1);
  display:flex; flex-direction:column; overflow-y:auto;
  box-shadow:-30px 0 80px rgba(0,0,0,0.45);
}
.m-menu.open{ transform:translateX(0); }
.m-menu .mc{ position:absolute; top:34px; right:44px; background:none; border:none; color:var(--cream); font-size:32px; cursor:pointer; line-height:1; }

.m-brand{ margin-bottom:54px; }
.m-brand-name{ font-family:'Tenor Sans',sans-serif; font-size:22px; letter-spacing:0.08em; color:var(--cream); }
.m-brand-tag{ font-size:10.5px; letter-spacing:0.32em; text-transform:uppercase; color:rgba(244,241,234,0.6); margin-top:10px; }

.m-cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:42px; margin-bottom:48px; }
.m-col{ display:flex; flex-direction:column; }
.m-section{
  font-family:'Jost',sans-serif; font-size:12px; font-weight:500;
  letter-spacing:0.32em; text-transform:uppercase; color:#E8C880;
  margin:0 0 22px; padding-bottom:14px;
  border-bottom:1px solid rgba(244,241,234,0.18);
}
.m-section a{
  color:#E8C880 !important;
  font-family:'Jost',sans-serif !important;
  font-size:12px !important;
  font-weight:500 !important;
  letter-spacing:0.32em !important;
  text-transform:uppercase !important;
  padding:0 !important;
  margin:0 !important;
  display:block !important;
  transition:color .25s ease;
}
.m-section a:hover{ color:#fff !important; }
.m-section + .m-section{ margin-top:32px; }
.m-col + .m-section{ margin-top:32px; }
.m-divider{ height:1px; background:rgba(244,241,234,0.14); margin:14px 0; }
.m-menu a{
  font-family:'Jost',sans-serif; color:var(--cream);
  font-size:12px; letter-spacing:0.18em; text-transform:uppercase;
  padding:9px 0; transition:color .2s; display:block; font-weight:400;
}
.m-menu a:hover{ color:#E8C880; }
.m-divider{ height:1px; background:rgba(244,241,234,0.18); margin:14px 0; }

.m-footer{ margin-top:auto; padding-top:36px; border-top:1px solid rgba(244,241,234,0.18); }
.m-phone{
  display:flex !important; align-items:center; gap:14px;
  color:#E8C880 !important; font-family:'Tenor Sans',sans-serif !important;
  font-size:22px !important; letter-spacing:0.04em !important;
  text-transform:none !important; padding:0 !important; margin-bottom:30px;
}
.m-phone svg{ width:22px; height:22px; fill:#E8C880; flex-shrink:0; }
.m-offices{ display:grid; grid-template-columns:1fr; gap:22px; margin-bottom:32px; }
.m-office-label{
  font-size:11px; letter-spacing:0.32em; text-transform:uppercase;
  color:#E8C880; margin-bottom:10px; font-weight:600;
}
.m-office-addr{
  font-family:'Tenor Sans',sans-serif;
  font-size:17px; color:var(--cream);
  line-height:1.5; letter-spacing:0.02em;
}
.m-cta{
  display:block !important; background:#E8C880; color:var(--ink) !important;
  text-align:center; padding:20px 28px !important;
  font-family:'Jost',sans-serif !important; font-size:12px !important;
  letter-spacing:0.32em !important; text-transform:uppercase !important;
  margin-top:12px; font-weight:500 !important;
  transition:background .2s;
}
.m-cta:hover{ background:#D6B468; color:var(--ink) !important; }
/* Mobile menu Search MLS button — prominent top action per Clarity data */
.m-cta.m-cta-search{
  background:var(--ink) !important; color:#F4F1EA !important;
  margin-top:20px; margin-bottom:2px;
  border:1px solid var(--ink);
}
.m-cta.m-cta-search:hover{ background:#2A241A !important; color:#F4F1EA !important; }

@media (max-width:700px){
  .m-menu{ padding:50px 32px 30px; max-width:100%; }
  .m-cols{ grid-template-columns:1fr; gap:30px; margin-bottom:36px; }
}

/* ============================================================ HERO */
.hero{
  position:relative; height:100vh; min-height:680px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; overflow:hidden;
}
.hero-bg{
  position:absolute; inset:0; z-index:-2;
  background:url('assets/img/estate-hero.jpg') center 38%/cover no-repeat;
}
.hero-bg::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(16,13,9,0.55) 0%,rgba(16,13,9,0.32) 45%,rgba(16,13,9,0.74) 100%);
}
.hero .kicker{ color:rgba(244,241,234,0.82); margin-bottom:30px; }
.hero h1{
  font-size:clamp(23px,2.7vw,40px); color:var(--cream);
  font-weight:700; letter-spacing:0.07em; line-height:1.16;
}
.hero h1 .amp{ font-style:italic; font-weight:600; color:rgba(244,241,234,0.86); }
.hero .htag{
  margin-top:34px; font-size:13px; letter-spacing:0.32em;
  text-transform:uppercase; color:rgba(244,241,234,0.72); font-weight:400;
}
.hero .hsig{ height:96px; width:auto; margin-bottom:8px; opacity:0.95; }

/* Hero CTAs — added per Clarity heatmap (Search MLS = #1 click) */
.hero-ctas{
  display:flex; gap:18px; justify-content:center; margin-top:44px;
  flex-wrap:wrap;
}
.hero-btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Jost',sans-serif; font-size:13px; font-weight:600;
  letter-spacing:0.22em; text-transform:uppercase;
  padding:16px 30px; white-space:nowrap;
  transition:background .25s, color .25s, transform .15s, border-color .25s;
}
.hero-btn svg{ width:16px; height:16px; fill:currentColor; }
.hero-btn-primary{
  background:#E8C880; color:var(--ink);
  border:1px solid #E8C880;
}
.hero-btn-primary:hover{ background:#D6B978; border-color:#D6B978; transform:translateY(-2px); }
.hero-btn-secondary{
  background:transparent; color:#F4F1EA;
  border:1px solid rgba(244,241,234,0.65);
}
.hero-btn-secondary:hover{ background:rgba(244,241,234,0.10); border-color:#F4F1EA; transform:translateY(-2px); }
@media (max-width:720px){
  .hero-ctas{ gap:12px; margin-top:32px; padding:0 20px; flex-direction:column; }
  .hero-btn{ width:100%; justify-content:center; padding:14px 24px; font-size:12px; letter-spacing:0.18em; }
}

.scrollcue{
  position:absolute; bottom:40px; left:50%; transform:translateX(-50%);
  font-size:10px; letter-spacing:0.3em; text-transform:uppercase;
  color:rgba(244,241,234,0.66); display:flex; flex-direction:column; align-items:center; gap:14px;
}
.scrollcue::after{ content:''; width:1px; height:54px; background:linear-gradient(rgba(244,241,234,0.7),transparent); }

/* ============================================================ ABOUT */
.about{ background:var(--cream); }
.about .wrap-narrow{ text-align:center; }
.about .kicker{ display:block; margin-bottom:36px; }
.about h2{ font-size:clamp(32px,4vw,62px); font-weight:300; margin-bottom:34px; }
.about h2 em{ font-style:italic; color:var(--wine); }
.about .lede{ font-size:19px; color:var(--soft); max-width:680px; margin:0 auto 30px; }
.creds{
  display:flex; justify-content:center; gap:0; margin:48px 0;
}
.cred{ padding:34px 46px; flex:1; }
.cred .cn{ font-family:'Tenor Sans',sans-serif; font-size:27px; color:var(--ink); }
.cred .cd{ font-size:13px; letter-spacing:0.22em; text-transform:uppercase; color:var(--faint); margin-top:8px; }

/* Overlay text variant — bold gold text on photo, no background blocks */
.creds.creds-overlay{
  position:absolute; bottom:18px; left:0; right:0; margin:0;
  background:transparent; padding:0; gap:0;
  max-width:none; z-index:2;
  box-shadow:none;
  display:flex;
}
.creds.creds-overlay .cred{ padding:0 18px; flex:1; min-width:0; overflow:hidden; }
.creds.creds-overlay .cred:first-child{ padding-left:54px; }
.creds.creds-overlay .cred + .cred{ border-left:none; padding-left:24px; }
.creds.creds-overlay .cred .cn,
.creds.creds-overlay .cred .cd,
.creds.creds-overlay .cred .cspec{
  display:block;
  background:transparent;
  box-shadow:none;
  padding:0;
}
.creds.creds-overlay .cred .cn{
  font-family:'Tenor Sans',sans-serif;
  font-size:17px; font-weight:700;
  color:#C9A95F;
  letter-spacing:0.01em;
  line-height:1.25;
  margin:0 0 5px;
  text-shadow:0 1px 3px rgba(0,0,0,0.55), 0 0 14px rgba(0,0,0,0.35);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.creds.creds-overlay .cred .cd{
  font-family:'Jost',sans-serif;
  font-size:10px; letter-spacing:0.22em;
  font-weight:800; text-transform:uppercase;
  color:#E8C880;
  line-height:1.35;
  margin:0 0 4px;
  text-shadow:0 1px 3px rgba(0,0,0,0.6);
  white-space:nowrap;
}
.creds.creds-overlay .cred .cspec{
  font-family:'Jost',sans-serif;
  font-size:9.5px; letter-spacing:0.14em;
  font-weight:700; text-transform:uppercase;
  color:#E8C880;
  line-height:1.4;
  margin:0;
  text-shadow:0 1px 3px rgba(0,0,0,0.6);
  white-space:normal;
  overflow-wrap:break-word;
  max-width:100%;
}
.about-actions{ display:flex; gap:20px; justify-content:center; flex-wrap:wrap; margin-top:14px; }

/* ============================================================ TRACK RECORD STATS (Altman-style) */
.recog{
  position:relative;
  padding:70px 0 !important;
  background:#16130E;
  color:var(--cream);
  overflow:hidden;
}
.recog-bg{
  position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:center;
}
.recog-bg::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(16,13,9,0.62),rgba(16,13,9,0.80));
}
/* Image-only banner variant — no text, no overlay, just show the image full-bleed */
.recog--image-only{
  padding:0 !important;
  min-height:clamp(360px, 38vw, 620px);
  background:#000;
}
.recog--image-only .recog-bg{
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat;
}
.recog--image-only .recog-bg::after{ display:none; }
.recog .wrap{ position:relative; z-index:1; }
.recog .tr-head{ text-align:center; margin-bottom:48px; }
.recog .tr-head .kicker{
  color:#E8C880;
  font-size:13px; letter-spacing:0.5em;
  display:block; margin-bottom:26px;
}
.recog .tr-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(34px,4.4vw,62px);
  font-weight:400;
  letter-spacing:-0.005em;
  line-height:1.08;
  color:var(--cream);
  text-transform:none;
  max-width:760px;
  margin:0 auto;
}
.recog .tr-head h2 em{ font-style:italic; color:#E8C880; }

.tr-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:start;
}
.tr-item{
  text-align:center;
  padding:0 28px;
  border-right:1px solid rgba(244,241,234,0.25);
}
.tr-item:last-child{ border-right:none; }
.tr-num{
  font-family:'Tenor Sans',sans-serif;
  font-size:clamp(38px,3.6vw,58px);
  color:var(--cream);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-0.02em;
  white-space:nowrap;
}
.tr-label{
  font-size:11.5px;
  letter-spacing:0.32em;
  text-transform:uppercase;
  color:rgba(244,241,234,0.88);
  margin-top:24px;
  line-height:1.6;
}

/* ============================================================ FIGURES */
.figures{ background:var(--cream); }
.figures .fhead{ max-width:620px; margin-bottom:30px; }
.figures .fhead .kicker{ display:block; margin-bottom:24px; }
.figures .fhead h2{ font-size:clamp(30px,3.6vw,52px); font-weight:300; }
.figures .fhead p{ color:var(--soft); margin-top:18px; font-size:16px; }
.fig-row{
  display:grid; grid-template-columns:0.42fr 0.58fr; gap:50px;
  align-items:start; padding:54px 0; border-top:1px solid var(--line);
}
.fig-row:last-child{ border-bottom:1px solid var(--line); }
.fig-row .fnum{
  font-family:'Tenor Sans',sans-serif; font-weight:300;
  font-size:clamp(64px,9vw,150px); line-height:0.9; color:var(--ink);
  letter-spacing:-0.02em;
}
.fig-row .fbody h3{ font-size:27px; font-weight:500; font-family:'Jost',sans-serif; letter-spacing:0.04em; margin-bottom:12px; }
.fig-row .fbody p{ color:var(--soft); font-size:15.5px; }

/* ============================================================ MARKETS */
/* ============================================================ VENTURES (Beyond Real Estate) */
.ventures{ background:#16130E; color:var(--cream); position:relative; overflow:hidden; }
.ventures::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 50% 100%, rgba(176,140,68,0.05), transparent 55%);
  pointer-events:none;
}
.ventures .wrap{ position:relative; }
.ventures-head{ text-align:center; max-width:780px; margin:0 auto 64px; }
.ventures-head .kicker{ color:#E8C880; display:block; margin-bottom:22px; font-size:14px; letter-spacing:0.5em; }
.ventures-head h2{ font-size:clamp(34px,4.6vw,66px); font-weight:300; color:var(--cream); line-height:1.05; }
.ventures-head h2 em{ font-style:italic; color:#E8C880; }
.ventures-head p{ color:rgba(244,241,234,0.82); margin-top:20px; font-size:17px; }

.ventures-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.venture-card{
  background:var(--cream); color:var(--ink);
  display:flex; flex-direction:column;
  transition:transform .35s ease, box-shadow .35s ease;
  overflow:hidden;
}
.venture-card:hover{ transform:translateY(-6px); box-shadow:0 32px 60px rgba(0,0,0,0.4); }
.vc-img{
  width:100%; aspect-ratio:1/1;
  background-size:cover; background-position:center;
}
.vc-img--logo{
  background-size:contain; background-repeat:no-repeat;
  background-color:#F8F6F1;
  padding:40px;
}
.vc-body{
  padding:36px 30px 32px;
  display:flex; flex-direction:column;
  flex:1; text-align:center;
}
.vc-title{
  font-family:'Tenor Sans',sans-serif;
  font-size:21px; font-weight:400;
  letter-spacing:0.06em; text-transform:uppercase;
  color:var(--ink); margin-bottom:18px;
  line-height:1.2;
}
.vc-title strong{ font-weight:700; }
.vc-desc{
  font-size:14.5px; color:var(--soft);
  line-height:1.6; margin-bottom:30px; flex:1;
}
.vc-btn{
  display:inline-block;
  border:1px solid var(--ink);
  padding:14px 32px;
  font-family:'Jost',sans-serif;
  font-size:11px; letter-spacing:0.32em;
  text-transform:uppercase; color:var(--ink);
  margin:0 auto;
  transition:background .25s ease, color .25s ease;
}
.vc-btn:hover{ background:var(--ink); color:var(--cream); }

/* Legacy markets classes kept for backward compatibility */
.markets{ background:var(--cream-2); color:var(--ink); }
.markets-head{ text-align:center; max-width:720px; margin:0 auto 64px; }
.markets-head .kicker{ display:block; margin-bottom:22px; }
.markets-head h2{ font-size:clamp(34px,4.4vw,62px); font-weight:300; line-height:1.05; }
.markets-head h2 em{ font-style:italic; color:var(--wine); }
.markets-head p{ color:var(--ink-2); font-size:18px; margin-top:22px; line-height:1.55; }
.mcards{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.mcard{
  background:var(--cream); border:1px solid var(--line-soft);
  padding:54px 42px; display:flex; flex-direction:column;
  text-decoration:none; color:var(--ink);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.mcard:hover{ transform:translateY(-8px); box-shadow:0 30px 60px rgba(22,19,14,0.13); border-color:var(--wine); }
.mc-num{ font-family:'Tenor Sans',sans-serif; font-style:italic; font-size:44px; color:var(--wine); line-height:1; margin-bottom:34px; }
.mc-title{ font-family:'Tenor Sans',sans-serif; font-size:30px; font-weight:500; line-height:1.15; margin-bottom:20px; color:var(--ink); }
.mc-desc{ font-size:16px; color:var(--ink-2); line-height:1.55; margin-bottom:36px; flex:1; }
.mc-cta{ font-size:12px; letter-spacing:0.22em; text-transform:uppercase; color:var(--wine-deep); border-bottom:2px solid var(--wine); padding-bottom:6px; display:inline-block; align-self:flex-start; font-weight:600; transition:border-color .3s, color .3s; }
.mcard:hover .mc-cta{ color:var(--wine); border-color:var(--wine-deep); }
@media (max-width:900px){ .mcards{ grid-template-columns:1fr; gap:24px; } .ventures-grid{ grid-template-columns:1fr; gap:24px; } }

/* ============================================================ SPOTLIGHT */
.spot{ background:var(--cream); }
.spot-img{ position:relative; height:74vh; min-height:520px; overflow:hidden; }
.spot-img img{ width:100%; height:100%; object-fit:cover; }
.spot-cap{
  max-width:1280px; margin:0 auto; padding:60px 56px;
  display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start;
}
.spot-cap .sc-l .kicker{ display:block; margin-bottom:20px; }
.spot-cap .sc-l h2{ font-size:clamp(34px,4.4vw,64px); font-weight:300; }
.spot-cap .sc-l h2 em{ font-style:italic; color:var(--wine); }
.spot-cap .sc-r p{ color:var(--soft); font-size:16px; margin-bottom:18px; }
.spot-figs{ display:flex; gap:46px; margin:8px 0 30px; flex-wrap:wrap; }
.spot-figs .sf b{ font-family:'Tenor Sans',sans-serif; font-size:42px; color:var(--ink); display:block; line-height:1; }
.spot-figs .sf span{ font-size:10.5px; letter-spacing:0.18em; text-transform:uppercase; color:var(--faint); }

/* ============================================================ PHILOSOPHY (Quote) */
.philo{
  background:url('assets/img/lake-fall.jpg') center/cover no-repeat fixed;
  position:relative; text-align:center;
}
.philo::before{ content:''; position:absolute; inset:0; background:rgba(16,13,9,0.78); }
.philo .wrap, .philo .wrap-narrow{ position:relative; max-width:1100px; margin:0 auto; }
.philo .kicker{ color:rgba(244,241,234,0.6); display:block; margin-bottom:30px; }
.philo blockquote{
  position:relative;
  font-family:'Cormorant Garamond',serif;
  font-weight:400; font-style:italic;
  font-size:clamp(22px,2.4vw,34px);
  color:var(--cream); line-height:1.55;
  padding:42px 30px 0;
  max-width:980px; margin:0 auto;
}
.philo blockquote::before{
  content:'\201C';
  position:absolute; top:-30px; left:50%; transform:translateX(-50%);
  font-family:'Cormorant Garamond',serif;
  font-size:160px; line-height:1; color:#D6B978;
  opacity:0.45;
}
.philo blockquote em{ font-style:italic; color:#D6B978; }
.philo .pattr{
  margin-top:34px; font-size:11px; letter-spacing:0.36em;
  text-transform:uppercase; color:rgba(244,241,234,0.7);
  position:relative; padding-top:24px;
}
.philo .pattr::before{
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:40px; height:1px; background:rgba(214,185,120,0.5);
}
.philo .psig{ height:74px; margin:30px auto 0; opacity:0.92; }

/* ============================================================ CONTACT */
.contact{ background:var(--cream); }
.contact-grid{ display:grid; grid-template-columns:0.92fr 1.08fr; gap:90px; }
.contact-l .kicker{ display:block; margin-bottom:26px; }
.contact-l h2{ font-size:clamp(34px,4.2vw,62px); font-weight:300; margin-bottom:24px; }
.contact-l p{ color:var(--soft); font-size:16px; margin-bottom:36px; max-width:380px; }
.cdetail{ padding:24px 0; border-top:1px solid var(--line); }
.cdetail:last-of-type{ border-bottom:1px solid var(--line); }
.cdetail .cdl{ font-size:10.5px; letter-spacing:0.24em; text-transform:uppercase; color:var(--faint); margin-bottom:6px; }
.cdetail .cdv{ font-family:'Tenor Sans',sans-serif; font-size:25px; color:var(--ink); }
.cdetail .cdv a:hover{ color:var(--wine); }
.csocial{ display:flex; gap:24px; margin-top:30px; }
.csocial a{ font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink); border-bottom:1px solid var(--line); padding-bottom:4px; transition:color .2s,border-color .2s; }
.csocial a:hover{ color:var(--wine); border-color:var(--wine); }
.form-ok{ display:none; padding:15px 18px; background:rgba(110,49,64,0.08); border:1px solid rgba(110,49,64,0.3); color:var(--wine-deep); font-size:14px; margin-bottom:26px; }
.form-ok.show{ display:block; }
.efield{ margin-bottom:30px; }
.efield label{ display:block; font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase; color:var(--faint); margin-bottom:10px; }
.efield input,.efield select,.efield textarea{
  width:100%; border:none; border-bottom:1px solid var(--line); background:transparent;
  padding:11px 0; font-family:'Jost',sans-serif; font-size:16px; color:var(--ink);
  outline:none; transition:border-color .25s;
}
.efield input:focus,.efield select:focus,.efield textarea:focus{ border-bottom-color:var(--wine); }
.efield textarea{ resize:vertical; min-height:64px; }
.erow{ display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.enote{ font-size:11px; color:var(--faint); margin-top:18px; }

/* newsletter */
.news{
  background:linear-gradient(rgba(16,13,9,0.80),rgba(16,13,9,0.80)), url('assets/img/contact-photo.jpg') center/cover fixed;
  color:var(--cream); text-align:center;
}
.news .kicker{ color:rgba(244,241,234,0.5); display:block; margin-bottom:24px; }
.news h2{ font-size:clamp(28px,3.4vw,48px); font-weight:300; color:var(--cream); margin-bottom:30px; }
.news-form{ display:flex; max-width:520px; margin:0 auto; border-bottom:1px solid rgba(244,241,234,0.3); }
.news-form input{
  flex:1; background:transparent; border:none; outline:none;
  font-family:'Jost',sans-serif; font-size:15px; color:var(--cream); padding:14px 4px;
}
.news-form input::placeholder{ color:rgba(244,241,234,0.4); }
.news-form button{
  background:none; border:none; cursor:pointer; color:var(--cream);
  font-family:'Jost',sans-serif; font-size:11px; letter-spacing:0.2em;
  text-transform:uppercase; padding:0 10px;
}
.news-form button:hover{ color:#D6B978; }
.news-ok{ font-size:13px; color:#D6B978; margin-top:18px; min-height:18px; }

/* ============================================================ FOOTER */
.site-footer{ background:var(--ink); color:rgba(244,241,234,0.55); padding:84px 0 34px; }
.foot-main{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:72px; padding-bottom:46px; border-bottom:1px solid rgba(244,241,234,0.12); }
.foot-brand .fwm{ font-family:'Tenor Sans',sans-serif; font-size:25px; color:var(--cream); letter-spacing:0.04em; }
.foot-tag{ font-size:13.5px; max-width:380px; margin:14px 0 30px; line-height:1.7; }
.foot-princ{ display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.fp-name{ font-family:'Tenor Sans',sans-serif; font-size:15px; color:var(--cream); letter-spacing:0.03em; }
.fp-role{ font-size:11px; letter-spacing:0.07em; color:rgba(244,241,234,0.45); margin:6px 0 10px; text-transform:uppercase; }
.fp a{ font-size:12px; letter-spacing:0.06em; color:var(--wine); transition:color .2s; }
.fp a:hover{ color:#D6B978; }
.foot-form{ scroll-margin-top:90px; }
.foot-form h4{ font-family:'Tenor Sans',sans-serif; font-size:18px; color:var(--cream); font-weight:400; letter-spacing:0.06em; margin-bottom:18px; }
.ffwrap{ display:grid; gap:12px; }
.ffwrap input,.ffwrap textarea{ background:rgba(244,241,234,0.05); border:1px solid rgba(244,241,234,0.16); color:var(--cream); font-family:'Jost',sans-serif; font-size:13px; padding:13px 16px; width:100%; resize:vertical; }
.ffwrap input::placeholder,.ffwrap textarea::placeholder{ color:rgba(244,241,234,0.4); }
.ffwrap input:focus,.ffwrap textarea:focus{ outline:none; border-color:var(--wine); }
.ffwrap button{ background:var(--wine); color:var(--ink); font-family:'Jost',sans-serif; font-size:12px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; padding:14px 20px; border:none; cursor:pointer; transition:background .25s ease; }
.ffwrap button:hover{ background:#D6B978; }
.foot-logos{ display:flex; align-items:center; justify-content:center; gap:46px; padding:40px 0; border-bottom:1px solid rgba(244,241,234,0.12); flex-wrap:wrap; }
.flogo-img{ width:auto; display:block; opacity:0.9; }
.flogo-sq{ height:52px; }
.flogo-wide{ height:40px; }
.foot-bottom{ padding-top:30px; text-align:center; }
.foot-nav{ display:flex; justify-content:center; flex-wrap:wrap; gap:8px 26px; margin-bottom:22px; }
.foot-nav a{ font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:rgba(244,241,234,0.6); transition:color .2s; }
.foot-nav a:hover{ color:var(--wine); }
.fdisc{ font-size:10.5px; color:rgba(244,241,234,0.32); max-width:880px; margin:0 auto; line-height:1.75; }
.foot-copy{ font-size:11px; letter-spacing:0.08em; color:rgba(244,241,234,0.42); margin-top:18px; }

/* ============================================================ BOOK */
.bookE{ background:var(--cream-2); }
.bookE-grid{ display:grid; grid-template-columns:0.82fr 1.18fr; gap:84px; align-items:center; }
.bookE-cover{ position:relative; display:flex; justify-content:center; align-items:center; min-height:500px; }
.bookE-cover img{ box-shadow:0 44px 80px rgba(22,19,14,0.32); }
.bookE-cover .ef{ width:312px; position:relative; z-index:2; }
.bookE-cover .eb{ width:236px; position:absolute; left:6%; top:13%; transform:rotate(-6deg); opacity:0.94; z-index:1; }
.bookE-text .kicker{ display:block; margin-bottom:24px; }
.bookE-text h2{ font-size:clamp(32px,4vw,58px); font-weight:300; margin-bottom:8px; }
.bookE-text h2 em{ font-style:italic; color:var(--wine); }
.bookE-text .ebsub{ font-size:11.5px; letter-spacing:0.24em; text-transform:uppercase; color:var(--faint); margin-bottom:26px; }
.bookE-text p{ color:var(--soft); font-size:16px; margin-bottom:18px; }
.bookE-text .ebact{ margin-top:28px; display:flex; gap:22px; align-items:center; flex-wrap:wrap; }

/* reveal */
[data-reveal]{ opacity:0; transform:translateY(30px); transition:opacity .9s ease, transform .9s ease; }
[data-reveal].in{ opacity:1; transform:none; }

/* ============================================================ RESPONSIVE */
@media (max-width:1040px){
  .nlinks{ display:none; }
  .nburger{ display:flex; }
  .tr-grid{ grid-template-columns:repeat(2,1fr); row-gap:48px; }
  .tr-item:nth-child(2){ border-right:none; }
  .tr-item:nth-child(1),.tr-item:nth-child(2){ padding-bottom:48px; border-bottom:1px solid rgba(244,241,234,0.22); }
  .fig-row{ grid-template-columns:1fr; gap:18px; padding:44px 0; }
  .contact-grid,.spot-cap,.bookE-grid{ grid-template-columns:1fr; gap:46px; }
  .bookE-cover{ min-height:440px; }
  .mrow{ grid-template-columns:auto 1fr; gap:18px; }
  .mrow .mdesc,.mrow .mgo{ grid-column:2; text-align:left; }
  .creds{ flex-direction:column; }
  .cred + .cred{ border-left:none; border-top:1px solid var(--line); }
  .foot-main{ grid-template-columns:1fr; gap:48px; }
}
@media (max-width:640px){
  .wrap,.wrap-narrow{ padding:0 24px; }
  nav.main,nav.main.scrolled{ padding-left:24px; padding-right:24px; }
  .nbrand .nwm{ display:none; }
  .pad{ padding:92px 0; }
  .tr-grid{ grid-template-columns:1fr; }
  .tr-item{ border-right:none !important; padding:36px 0; border-bottom:1px solid rgba(244,241,234,0.22); }
  .tr-item:last-child{ border-bottom:none; }
  .recog .tr-head h2{ font-size:clamp(36px,9vw,56px); }
  .spot-cap{ padding:48px 24px; }
  .erow{ grid-template-columns:1fr; gap:0; }
  .foot-princ{ grid-template-columns:1fr; }
  .philo{ background-attachment:scroll; }
  .hero h1{ line-height:1.04; }
}

/* ============================================================ INNER PAGE HEAD */
.page-head{ position:relative; min-height:62vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:130px 0 100px; overflow:hidden; }
/* Mobile: compress page header so content below (property cards, IDX widgets)
   surfaces higher on screen. Clarity heatmap showed 50%+ of mobile users
   bounce before mid-page — this helps them see the good stuff sooner. */
@media (max-width:820px){
  .page-head{ min-height:42vh; padding:110px 0 50px; }
  .page-head .kicker{ margin-bottom:16px; font-size:12px; letter-spacing:0.3em; }
  .page-head p{ margin-top:18px; font-size:16px; }
}
@media (max-width:520px){
  .page-head{ min-height:38vh; padding:100px 0 40px; }
  .page-head p{ font-size:15px; line-height:1.4; }
}
.page-head-bg{ position:absolute; inset:0; z-index:-2; background-size:cover; background-position:center; }
.page-head-bg::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(16,13,9,0.5),rgba(16,13,9,0.82)); }
.page-head .kicker{ color:rgba(244,241,234,0.85); display:block; margin-bottom:30px; font-size:17px; letter-spacing:0.48em; }
.page-head h1{ font-size:clamp(46px,6.6vw,120px); color:var(--cream); font-weight:300; line-height:1; background:transparent; padding:0; }
.page-head h1 em{ font-style:italic; }
.page-head p{ color:rgba(244,241,234,0.88); max-width:740px; margin:32px auto 0; font-size:24px; line-height:1.45; font-weight:300; }

/* ============================================================ HOME ABOUT — two column */
.habout{ background:var(--cream); padding:60px 0; }
.habout-grid{ display:grid; grid-template-columns:1.04fr 0.96fr; gap:84px; align-items:center; }
.habout-text .kicker{ display:block; margin-bottom:26px; }
.habout-text h2{ font-size:clamp(30px,3.6vw,54px); font-weight:300; margin-bottom:24px; }
.habout-text h2 em{ font-style:italic; color:var(--wine); }
.habout-text p{ color:var(--soft); font-size:16.5px; margin-bottom:18px; }
.habout-actions{ display:flex; gap:20px; flex-wrap:wrap; margin-top:30px; }
.habout-img{ position:relative; display:flex; align-items:center; justify-content:center; overflow:visible; min-height:680px; }
.habout-img img{
  width:auto !important;
  max-width:145% !important;
  height:680px !important;
  max-height:none !important;
  object-fit:contain !important;
  filter:grayscale(100%) contrast(1.04);
}
/* Push name labels down so they land on the chest area of the taller image */
.habout-img .creds.creds-overlay{ bottom:12% !important; }

/* ============================================================ FEATURED PROPERTIES */
.fprops{ background:var(--cream-2); }
.fp-head{ text-align:center; max-width:660px; margin:0 auto; }
.fp-head .kicker{ display:block; margin-bottom:22px; }
.fp-head h2{ font-size:clamp(30px,3.6vw,54px); font-weight:300; }
.fp-head p{ color:var(--soft); margin-top:16px; font-size:16px; }
.fprops-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:56px; }
.fprop{ background:var(--paper); border:1px solid var(--line-soft); overflow:hidden; transition:transform .4s ease, box-shadow .4s ease; }
.fprop:hover{ transform:translateY(-7px); box-shadow:0 34px 64px rgba(22,19,14,0.16); }
.fprop .fp-img{ height:292px; overflow:hidden; position:relative; }
.fprop .fp-img img{ width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
.fprop:hover .fp-img img{ transform:scale(1.07); }
.fprop .fp-tag{ position:absolute; top:16px; left:16px; background:var(--cream); color:var(--ink); font-size:9.5px; letter-spacing:0.18em; text-transform:uppercase; padding:7px 14px; }
.fprop .fp-body{ padding:30px 30px 34px; }
.fprop .fp-loc{ font-size:10px; letter-spacing:0.2em; text-transform:uppercase; color:var(--wine); margin-bottom:10px; }
.fprop .fp-name{ font-family:'Tenor Sans',sans-serif; font-size:29px; font-weight:400; line-height:1.1; margin-bottom:16px; }
.fprop .fp-meta{ font-size:11.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--soft); border-top:1px solid var(--line-soft); padding-top:15px; }
.fprops-foot{ text-align:center; margin-top:52px; }

/* ============================================================ INSTAGRAM */
.insta{ background:var(--ink); }
.in-head{ text-align:center; margin-bottom:46px; }
.in-head .kicker{ color:rgba(244,241,234,0.5); display:block; margin-bottom:18px; }
.in-head h2{ font-size:clamp(28px,3.2vw,46px); font-weight:300; color:var(--cream); }
.in-head a{ font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:#D6B978; border-bottom:1px solid rgba(216,174,184,0.45); padding-bottom:4px; display:inline-block; margin-top:20px; }
.insta-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }
.insta-grid a{ position:relative; display:block; aspect-ratio:1; overflow:hidden; }
.insta-grid img{ width:100%; height:100%; object-fit:cover; filter:grayscale(15%); transition:transform .6s ease, filter .4s ease; }
.insta-grid a:hover img{ transform:scale(1.09); filter:grayscale(0%); }

@media (max-width:1040px){
  .habout-grid{ grid-template-columns:1fr; gap:48px; }
  .habout-img img{ height:auto; width:auto; max-width:100%; max-height:560px; }
  .fprops-grid{ grid-template-columns:repeat(2,1fr); }
  .insta-grid{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:640px){
  .fprops-grid{ grid-template-columns:1fr; }
  .insta-grid{ grid-template-columns:repeat(2,1fr); }
}

/* ============================================================ HERO — REWORKED (signature lockup) */
.hero-inner{ display:flex; flex-direction:column; align-items:center; padding:0 24px; }
.hero-inner > *{ opacity:0; transform:translateY(22px); animation:heroIn 1s cubic-bezier(.22,.61,.36,1) forwards; }
.hero-inner > *:nth-child(1){ animation-delay:.15s; }
.hero-inner > *:nth-child(2){ animation-delay:.32s; }
.hero-inner > *:nth-child(3){ animation-delay:.50s; }
.hero-inner > *:nth-child(4){ animation-delay:.66s; }
.hero-inner > *:nth-child(5){ animation-delay:.80s; }
.hero-inner > *:nth-child(6){ animation-delay:.94s; }
@keyframes heroIn{ to{ opacity:1; transform:none; } }
.hero-sig{ width:min(600px,80vw); height:auto; margin:14px 0 2px; }
.hero-amp{
  font-family:'Tenor Sans',sans-serif; font-weight:500;
  font-size:clamp(26px,4vw,56px); color:var(--cream);
  letter-spacing:0.16em; text-transform:uppercase; line-height:1;
}
.hero-rule{ display:flex; align-items:center; gap:15px; margin:32px 0 22px; }
.hero-rule span{ width:62px; height:1px; background:rgba(244,241,234,0.5); }
.hero-rule i{ width:7px; height:7px; background:var(--cream); transform:rotate(45deg); display:block; }
.hero-cta{
  margin-top:36px; font-family:'Jost',sans-serif; font-size:11.5px;
  font-weight:500; letter-spacing:0.24em; text-transform:uppercase; color:var(--cream);
  border:1px solid rgba(244,241,234,0.45); padding:17px 40px; transition:all .3s ease;
}
.hero-cta:hover{ background:var(--cream); color:var(--ink); border-color:var(--cream); }
@media (max-width:640px){
  .hero-sig{ width:84vw; }
  .hero-rule{ margin:22px 0 16px; }
}

/* ============================================================ PANELS — one photo, hover-blur */
.panels-sec{ background:var(--ink); }
.panels{
  display:flex; height:84vh; min-height:560px;
  background-size:cover; background-position:center;
  background-attachment:fixed;
}
.panel{
  position:relative; flex:1; cursor:pointer; overflow:hidden;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:52px 40px;
  border-right:1px solid rgba(244,241,234,0.22);
  transition:backdrop-filter .45s ease, -webkit-backdrop-filter .45s ease;
}
.panel:last-child{ border-right:none; }
.panel::before{
  content:''; position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg,transparent 42%,rgba(16,13,9,0.72));
  transition:background .45s ease;
}
.panel:hover{ backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px); }
.panel:hover::before{ background:rgba(16,13,9,0.62); }
.panel > *{ position:relative; z-index:1; }
.p-label{
  font-family:'Tenor Sans',sans-serif;
  font-size:clamp(20px,2vw,32px); letter-spacing:0.16em;
  text-transform:uppercase; color:var(--cream); white-space:nowrap;
}
.p-text{
  max-height:0; opacity:0; overflow:hidden;
  transition:max-height .5s ease, opacity .45s ease, margin-top .45s ease;
}
.panel:hover .p-text{ max-height:320px; opacity:1; margin-top:18px; }
.p-text p{ font-size:14px; color:rgba(244,241,234,0.92); max-width:340px; }
.p-go{
  display:inline-block; margin-top:18px;
  font-family:'Jost',sans-serif; font-size:11px; font-weight:600;
  letter-spacing:0.2em; text-transform:uppercase; color:var(--cream);
  border-bottom:1px solid rgba(244,241,234,0.5); padding-bottom:5px;
}
@media (max-width:860px){
  .panels{ flex-direction:column; height:auto; }
  .panel{ flex:none; min-height:300px; border-right:none; border-bottom:1px solid rgba(244,241,234,0.2); }
  .panel::before{ background:linear-gradient(180deg,transparent 28%,rgba(16,13,9,0.8)); }
  .p-text{ max-height:none; opacity:1; margin-top:16px; }
}

/* ============================================================ IMPACT IN FIGURES — image-grid */
.figures2{ position:relative; overflow:hidden; display:flex; align-items:center; min-height:84vh; }
.figures2-bg{ position:absolute; inset:0; background-size:cover; background-position:center; background-attachment:fixed; }
.figures2-bg::after{ content:''; position:absolute; inset:0; background:rgba(243,240,232,0.915); }
.figures2 .wrap{ position:relative; z-index:1; }
.fg-grid{ display:grid; grid-template-columns:1.12fr 1fr 1fr; border-top:1px solid var(--line); }
.fg-head{ grid-row:1 / span 2; display:flex; flex-direction:column; justify-content:center; padding:58px 56px 58px 0; }
.fg-head .kicker{ display:block; margin-bottom:22px; }
.fg-head h2{ font-size:clamp(28px,3vw,44px); font-weight:300; }
.fg-head p{ color:var(--soft); margin-top:18px; font-size:15.5px; max-width:340px; }
.fg-fig{ padding:48px 46px; border-left:1px solid var(--line); }
.fg-fig:nth-child(4),.fg-fig:nth-child(5){ border-top:1px solid var(--line); }
.fg-num{ font-family:'Tenor Sans',sans-serif; font-weight:500; font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1; font-size:clamp(46px,4.6vw,82px); line-height:0.95; color:var(--ink); letter-spacing:-0.02em; }
.fg-label{ font-size:11.5px; letter-spacing:0.22em; text-transform:uppercase; color:var(--wine); margin:14px 0 13px; }
.fg-desc{ font-size:14px; color:var(--soft); }

/* ============================================================ SIGNATURE MARKET — petite */
.srise{ background:var(--cream); }
.srise-grid{ display:grid; grid-template-columns:1fr 1.08fr; gap:74px; align-items:center; }
.srise-text .kicker{ display:block; margin-bottom:22px; }
.srise-text h2{ font-size:clamp(32px,3.8vw,52px); font-weight:300; line-height:1.07; }
.srise-text h2 em{ font-style:italic; color:var(--wine); }
.srise-loc{ font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--faint); margin:18px 0 22px; }
.srise-text p{ color:var(--soft); font-size:15.5px; margin-bottom:16px; }
.srise-figs{ display:flex; gap:38px; margin:24px 0 30px; flex-wrap:wrap; }
.srise-figs .sf b{ font-family:'Tenor Sans',sans-serif; font-size:36px; color:var(--ink); display:block; line-height:1; }
.srise-figs .sf span{ font-size:10px; letter-spacing:0.16em; text-transform:uppercase; color:var(--faint); }
.srise-img{ position:relative; }
.srise-img img{ width:100%; height:560px; object-fit:cover; }
.srise-img .srf{ position:absolute; inset:14px; border:1px solid rgba(244,241,234,0.55); pointer-events:none; }

@media (max-width:1040px){
  .fg-grid{ grid-template-columns:1fr 1fr; }
  .fg-head{ grid-row:auto; grid-column:1 / -1; padding:38px 0; }
  .fg-fig{ border-top:1px solid var(--line); }
  .fg-fig:nth-child(2),.fg-fig:nth-child(4){ border-left:none; }
  .srise-grid{ grid-template-columns:1fr; gap:40px; }
  .srise-img img{ height:420px; }
}
@media (max-width:640px){
  .fg-grid{ grid-template-columns:1fr; }
  .fg-fig{ border-left:none !important; padding:34px 0; }
  .fg-head{ padding:26px 0; }
}

/* ============================================================ FEATURED PROPERTIES — wide carousel */
.fprops{ background:#FFFFFF; padding:84px 0; }
.fprops .wrap{ max-width:1640px; padding:0 32px; }
.fp-head{ text-align:center; }
.fp-head .kicker{ display:block; margin-bottom:12px; letter-spacing:0.5em; }
.fp-head h2{ font-size:clamp(34px,4vw,62px); font-weight:300; line-height:1; }
.pcar{ display:flex; align-items:stretch; gap:16px; margin-top:34px; }
.pcar-full{ width:100%; }
.pcar-peek{ flex:0 0 18%; overflow:hidden; }
.pcar-peek img{ width:100%; height:100%; object-fit:cover; filter:grayscale(100%) brightness(0.5); }
.pcar-stage{ flex:1; position:relative; overflow:hidden; background:var(--ink); }
.pcar-full .pcar-stage{ aspect-ratio:3/2; }
.pcar-stage > img{ width:100%; height:100%; object-fit:cover; object-position:center center; }
.pcar-cap{ position:absolute; left:0; right:0; bottom:0; padding:48px 52px; color:var(--cream); background:linear-gradient(transparent,rgba(16,13,9,0.85)); }
.pcar-tag{ display:inline-block; font-family:'Jost',sans-serif; font-size:10px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--cream); border:1px solid rgba(244,241,234,0.55); padding:6px 14px; margin-bottom:16px; }
.pcar-name{ font-family:'Tenor Sans',sans-serif; font-size:clamp(24px,2.8vw,40px); letter-spacing:0.07em; text-transform:uppercase; color:var(--cream); }
.pcar-loc{ font-size:13px; letter-spacing:0.08em; color:rgba(244,241,234,0.82); margin-top:9px; }
.pcar-bar{ display:flex; justify-content:space-between; align-items:center; margin-top:30px; }
.pcar-arrows{ display:flex; gap:12px; }
.pcar-arrows button{ width:52px; height:52px; border-radius:50%; border:1px solid var(--line); background:transparent; cursor:pointer; font-family:'Jost',sans-serif; font-size:20px; color:var(--ink); transition:all .25s ease; }
.pcar-arrows button:hover{ background:var(--ink); color:var(--cream); border-color:var(--ink); }
.pcar-viewall{ font-family:'Jost',sans-serif; font-size:12px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--ink); border-bottom:1px solid var(--line); padding-bottom:6px; }
.pcar-viewall:hover{ color:var(--wine); border-color:var(--wine); }
@media (max-width:860px){
  .pcar-peek{ display:none; }
  .pcar-full .pcar-stage{ aspect-ratio:4/3; }
  .pcar-cap{ padding:32px 26px; }
}

/* ============================================================ BLOG FEED */
.blog{ background:var(--cream); }
.bl-head{ text-align:center; margin-bottom:56px; }
.bl-head .kicker{ display:block; margin-bottom:14px; letter-spacing:0.5em; }
.bl-head h2{ font-size:clamp(40px,5vw,80px); font-weight:300; line-height:1; }
.blog-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.bpost{ background:var(--paper); border:1px solid var(--line-soft); overflow:hidden; display:flex; flex-direction:column; transition:transform .4s ease, box-shadow .4s ease; }
.bpost:hover{ transform:translateY(-7px); box-shadow:0 28px 56px rgba(22,19,14,0.14); }
.bpost-img{ height:206px; overflow:hidden; }
.bpost-img img{ width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
.bpost:hover .bpost-img img{ transform:scale(1.07); }
.bpost-body{ padding:28px 28px 32px; display:flex; flex-direction:column; flex:1; }
.bpost-meta{ font-size:10px; letter-spacing:0.18em; text-transform:uppercase; color:var(--wine); margin-bottom:13px; }
.bpost h3{ font-family:'Tenor Sans',sans-serif; font-size:25px; font-weight:500; line-height:1.16; margin-bottom:13px; }
.bpost p{ font-size:13.5px; color:var(--soft); margin-bottom:20px; flex:1; }
.bpost .bread{ font-size:10.5px; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink); border-bottom:1px solid var(--line); padding-bottom:6px; align-self:flex-start; transition:color .2s, border-color .2s; }
.bpost .bread:hover{ color:var(--wine); border-color:var(--wine); }
@media (max-width:1040px){ .blog-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .blog-grid{ grid-template-columns:1fr; } }

/* ============================================================ VERTICAL SOCIAL BAR */
.socialbar{
  position:fixed; right:26px; top:50%; transform:translateY(-50%);
  z-index:70; display:flex; flex-direction:column; align-items:center; gap:25px;
  mix-blend-mode:difference;
}
.socialbar .sb-line{ width:1px; height:58px; background:#fff; margin-bottom:4px; }
.socialbar a{ display:flex; }
.socialbar a svg{ width:22px; height:22px; fill:#fff; transition:transform .25s ease; }
.socialbar a:hover svg{ transform:scale(1.25); }
@media (max-width:900px){ .socialbar{ display:none; } }

/* ============================================================ WE'RE SOCIAL */
.wsocial{ background:var(--cream-2); padding-top:110px; padding-bottom:110px; }
.ws-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:48px; margin-bottom:72px; flex-wrap:wrap; }
.ws-head .kicker{ display:block; margin-bottom:18px; }
.ws-head h2{ font-size:clamp(46px,6vw,96px); font-weight:300; line-height:1; }
.ws-head p{ color:var(--soft); font-size:17px; max-width:470px; margin-top:20px; }
.ws-icons{ display:flex; gap:18px; padding-top:12px; }
.ws-icons a{ width:50px; height:50px; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--wine); transition:all .25s ease; }
.ws-icons a:hover{ background:var(--wine); color:var(--cream); border-color:var(--wine); transform:translateY(-3px); }
.ws-icons svg{ width:18px; height:18px; fill:currentColor; }
.wsocial .wrap{ max-width:1800px; padding-left:24px; padding-right:24px; }
.ws-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ws-col{ display:grid; grid-template-columns:auto 1fr; gap:16px; }
.ws-handle{
  writing-mode:vertical-rl; transform:rotate(180deg);
  font-family:'Jost',sans-serif;
  font-size:28px; font-weight:500;
  letter-spacing:0.04em;
  color:var(--ink); align-self:center;
  white-space:nowrap; transition:color .2s ease;
}
.ws-handle:hover{ color:var(--wine); }
.ws-photos{ display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.ws-photos a{ aspect-ratio:1; overflow:hidden; display:block; }
.ws-photos img{ width:100%; height:100%; object-fit:cover; filter:grayscale(14%); transition:transform .6s ease, filter .4s ease; }
.ws-photos a:hover img{ transform:scale(1.09); filter:grayscale(0%); }
@media (max-width:900px){ .ws-grid{ grid-template-columns:1fr; gap:34px; } }
@media (max-width:640px){ .ws-head{ flex-direction:column; } }

/* ABOUT credentials — role + specialty */
.cred{ display:flex; flex-direction:column; }
.cred .cn{ min-height:1.1em; }
.cred .cd{ color:var(--wine); margin-top:10px; }
.cred .cspec{ font-size:11.5px; letter-spacing:0.2em; text-transform:uppercase; color:var(--ink-2); margin-top:10px; line-height:1.6; font-weight:500; }

/* ============================================================ HERO — zooming photo slideshow */
.hero-slides{ position:absolute; inset:0; z-index:-2; overflow:hidden; background:var(--ink); }
.hero-slide{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0; transition:opacity 1.3s ease;
}
.hero-slide.active{ opacity:1; }
.hero-slide.active.kb-in{  animation:kb-in  9s ease-out forwards; }
.hero-slide.active.kb-out{ animation:kb-out 9s ease-out forwards; }
.hero-slide.active.kb-lr{  animation:kb-lr  9s ease-out forwards; }
.hero-slide.active.kb-rl{  animation:kb-rl  9s ease-out forwards; }
.hero-slide.active.kb-up{  animation:kb-up  9s ease-out forwards; }
@keyframes kb-in{  from{ transform:scale(1.03); }                  to{ transform:scale(1.17); } }
@keyframes kb-out{ from{ transform:scale(1.17); }                  to{ transform:scale(1.03); } }
@keyframes kb-lr{  from{ transform:scale(1.15) translateX(-3.5%); } to{ transform:scale(1.15) translateX(3.5%); } }
@keyframes kb-rl{  from{ transform:scale(1.15) translateX(3.5%); }  to{ transform:scale(1.15) translateX(-3.5%); } }
@keyframes kb-up{  from{ transform:scale(1.15) translateY(3.5%); }  to{ transform:scale(1.15) translateY(-3.5%); } }
.hero-slides::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(16,13,9,0.58) 0%,rgba(16,13,9,0.40) 45%,rgba(16,13,9,0.80) 100%);
}

/* ============================================================ WHAT GUIDES ME — value cards */
.guides{ background:var(--cream); }
.guides-head{ text-align:center; max-width:880px; margin:0 auto 60px; }
.guides-head .deco{ display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:26px; }
.guides-head .deco span{ width:44px; height:1px; background:var(--line); }
.guides-head .deco i{ width:6px; height:6px; background:var(--wine); transform:rotate(45deg); display:block; }
.guides-head .kicker{ display:block; margin-bottom:22px; }
.guides-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(34px,4.4vw,62px);
  font-weight:400; line-height:1.08;
  letter-spacing:-0.01em;
  max-width:760px;
  margin:0 auto;
}
.guides-head h2 em{ font-style:italic; color:#8A7B5E; }
.guides-head p{ color:var(--ink-2); margin:22px auto 0; font-size:18px; line-height:1.55; max-width:640px; }
.guides-head p.guides-lead-oneline{
  max-width:none; white-space:nowrap; font-size:16px;
}
@media (max-width: 900px){
  .guides-head p.guides-lead-oneline{ white-space:normal; font-size:16px; max-width:640px; }
}
.guides-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.vcard{ background:var(--paper); border:1px solid var(--line-soft); padding:46px 34px; transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease; cursor:default; }
.vcard:hover{ transform:translateY(-7px); box-shadow:0 28px 54px rgba(22,19,14,0.13); border-color:var(--line); }
.vcard .vnum{ font-family:'Tenor Sans',sans-serif; font-style:italic; font-size:36px; color:var(--wine); line-height:1; margin-bottom:28px; }
.vcard h3{ font-family:'Tenor Sans',sans-serif; font-size:28px; font-weight:500; margin-bottom:14px; }
.vcard p{ font-size:16px; color:var(--ink-2); line-height:1.55; }
@media (max-width:900px){ .guides-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .guides-grid{ grid-template-columns:1fr; } }

/* ============================================================ MY STORY — image + text */
.mystory{ background:var(--cream-2); }
.ms-grid{ display:grid; grid-template-columns:0.92fr 1.08fr; gap:84px; align-items:center; }
.ms-img{ position:relative; }
.ms-img img{ width:100%; height:620px; object-fit:cover; object-position:center 18%; }
.ms-frame{ position:absolute; inset:16px; border:1px solid rgba(244,241,234,0.55); pointer-events:none; }
.ms-img.no-frame .ms-frame{ display:none; }
.ms-badge{ position:absolute; right:24px; bottom:24px; background:var(--ink); color:var(--cream); padding:24px 32px; text-align:center; box-shadow:0 18px 44px rgba(16,13,9,0.28); z-index:2; }
.ms-bnum{ font-family:'Tenor Sans',sans-serif; font-weight:500; font-variant-numeric:lining-nums; font-size:48px; color:#D6B978; line-height:1; }
.ms-blbl{ font-size:9.5px; letter-spacing:0.2em; text-transform:uppercase; color:rgba(244,241,234,0.72); margin-top:9px; }
.ms-text .kicker{ display:block; margin-bottom:24px; }
.ms-text h2{ font-size:clamp(34px,4.4vw,60px); font-weight:300; margin-bottom:26px; line-height:1.06; }
.ms-text h2 em{ font-style:italic; color:var(--wine); }
.ms-text p{ color:var(--soft); font-size:15.5px; margin-bottom:16px; }
.ms-sign{ margin-top:32px; }
.ms-sign b{ font-family:'Tenor Sans',sans-serif; font-size:23px; font-weight:500; color:var(--ink); display:block; }
.ms-sign a{ font-size:13px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--wine-deep); border-bottom:2px solid var(--wine); padding-bottom:6px; display:inline-block; margin-top:14px; }
.ms-sign a + a{ margin-left:28px; }
.ms-sign a:hover{ color:var(--wine); border-color:var(--wine-deep); }
@media (max-width:900px){
  .ms-grid{ grid-template-columns:1fr; gap:54px; }
  .ms-img img{ height:460px; }
  .ms-badge{ right:12px; bottom:12px; padding:18px 22px; }
}

/* ============================================================ IMPACT IN FIGURES — visible photo + light text */
.figures2-bg::after{ background:rgba(16,13,9,0.80); }
.figures2 .fg-grid{ border-top-color:rgba(244,241,234,0.30); }
.figures2 .fg-fig{ border-left-color:rgba(244,241,234,0.30); }
.figures2 .fg-fig:nth-child(4),
.figures2 .fg-fig:nth-child(5){ border-top-color:rgba(244,241,234,0.30); }
.figures2 .fg-head .kicker{ color:var(--cream); }
.figures2 .fg-head h2{ color:var(--cream); }
.figures2 .fg-head p{ color:var(--cream); font-size:17px; }
.figures2 .fg-num{ color:var(--cream); }
.figures2 .fg-label{ color:#E8C880; font-size:13px; font-weight:500; }
.figures2 .fg-desc{ color:var(--cream); font-size:16px; line-height:1.55; }

/* ============================================================ NAV DROPDOWN */
.nlinks li.has-drop{ position:relative; }
.dropdown{
  position:absolute; top:100%; left:50%;
  transform:translateX(-50%) translateY(14px);
  background:var(--cream); border:1px solid var(--line-soft);
  box-shadow:0 24px 50px rgba(22,19,14,0.18);
  min-width:226px; padding:12px 0;
  opacity:0; visibility:hidden;
  transition:opacity .22s ease, transform .22s ease; z-index:95;
}
.has-drop:hover .dropdown{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(2px); }
.dropdown a{
  display:block; padding:12px 28px;
  font-family:'Tenor Sans',sans-serif; font-size:12.5px; font-weight:600;
  letter-spacing:0.13em; text-transform:uppercase; white-space:nowrap;
  color:var(--ink);
}
.dropdown a:hover{ color:var(--wine); background:var(--cream-2); }
.drop-divide{ height:1px; background:var(--line-soft); margin:8px 28px; }
.nav-hero-light nav.main:not(.scrolled) .dropdown a{ color:var(--ink); }
@media (max-width:1040px){ .dropdown{ display:none; } }


/* ============================================================ IMPACT — readable small text */
.figures2 .fg-head, .figures2 .fg-fig{ text-shadow:0 1px 16px rgba(16,13,9,0.85); }
.figures2 .fg-desc{ color:var(--cream); }
.figures2 .fg-label{ color:#E2CFA0; }

/* ============================================================ WE'RE SOCIAL — black background */
.wsocial{ background:var(--ink); }
.wsocial .ws-head h2{ color:var(--cream); }
.wsocial .ws-head p{ color:rgba(244,241,234,0.72); }
.wsocial .ws-handle{ color:var(--cream); }
.wsocial .ws-handle:hover{ color:var(--wine); }
.wsocial .ws-icons a{ border-color:rgba(244,241,234,0.26); color:#E2CFA0; }
.wsocial .ws-icons a:hover{ background:var(--wine); color:var(--ink); border-color:var(--wine); }

/* ============================================================ SIMPLE CONTACT */
.simplecontact{ position:relative; min-height:84vh; display:flex; align-items:center; justify-content:center; text-align:center; overflow:hidden; }
.sc-bg{ position:absolute; inset:0; background-size:cover; background-position:center; background-attachment:fixed; }
.sc-bg::after{ content:''; position:absolute; inset:0; background:rgba(16,13,9,0.56); }
.sc-inner{ position:relative; z-index:1; color:var(--cream); padding:0 24px; }
.sc-inner .kicker{ color:rgba(244,241,234,0.8); display:block; margin-bottom:24px; }
.sc-inner h2{ font-size:clamp(28px,3.4vw,50px); color:var(--cream); font-weight:400; letter-spacing:0.06em; }
.sc-link{ display:inline-block; margin-top:40px; font-family:'Jost',sans-serif; font-size:12px; font-weight:600; letter-spacing:0.24em; text-transform:uppercase; color:var(--cream); border-bottom:1px solid rgba(244,241,234,0.6); padding-bottom:8px; transition:color .25s ease, border-color .25s ease; }
.sc-link:hover{ color:var(--wine); border-color:var(--wine); }
.sc-details{ display:flex; gap:40px; justify-content:center; margin:28px 0 38px; flex-wrap:wrap; }
.sc-details a{ font-size:14px; letter-spacing:0.06em; color:rgba(244,241,234,0.85); transition:color .25s; }
.sc-details a:hover{ color:var(--wine); }

/* ============================================================ IN THE MEDIA — YOUTUBE (C21-style, matched exactly) */
.ytwatch{
  background:var(--cream);
  padding:110px 60px 100px;
  position:relative;
  overflow:hidden;
}
.ytwatch .wrap{ position:relative; z-index:1; max-width:1500px; margin:0 auto; padding:0; }
.ytwatch-grid{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:48px;
  align-items:center;
}
.ytwatch-eyebrow{
  color:var(--soft);
  font-size:14px;
  letter-spacing:0.32em;
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:14px;
  border-left:3px solid #C9A95F;
  padding-left:14px;
}
.ytwatch-title{
  font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:clamp(34px,4.6vw,60px);
  font-weight:800;
  line-height:1;
  color:var(--ink);
  text-transform:uppercase;
  letter-spacing:-0.01em;
  margin:0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0.3em;
}
.ytwatch-title .yt-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0.14em 0.22em 0.16em;
  background:#FF0000;
  border-radius:0.18em;
  color:#fff;
  font-size:0.72em;
  font-weight:700;
  text-transform:lowercase;
  letter-spacing:-0.01em;
  margin:0 0.15em;
  line-height:1;
  position:relative;
  top:-0.06em;
  font-family:'Helvetica Neue',Arial,sans-serif;
}
.ytwatch-title .yt-mark::after{
  content:'\25B6';
  margin-left:0.16em;
  font-size:0.65em;
  color:#fff;
}

.ytwatch-host{ display:flex; align-items:center; gap:14px; }
.ytwatch-host-link{
  display:flex; align-items:center; gap:14px;
  text-decoration:none;
}
.ytwatch-host-avatar{
  width:64px; height:64px;
  border-radius:50%;
  object-fit:contain;
  border:2px solid #C9A95F;
  background:var(--ink);
  padding:10px;
  flex-shrink:0;
}
.ytwatch-host-name{
  color:var(--ink);
  font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:15px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.02em;
  line-height:1.1;
}
.ytwatch-host-handle{
  display:block;
  color:#8A7B5E;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.2em;
  margin-top:5px;
}

.ytwatch-sub-col{ display:flex; flex-direction:column; align-items:stretch; }
.yt-subscribe{
  display:inline-block;
  background:#FF0000; color:#fff;
  font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:14px; font-weight:800;
  letter-spacing:0.04em; text-transform:uppercase;
  padding:14px 30px;
  border-radius:2px;
  transition:background .2s ease;
  text-align:center;
}
.yt-subscribe:hover{ background:#cc0000; color:#fff; }
.ytwatch-sub-meta{
  color:var(--soft);
  font-size:13px;
  margin:8px 0 0;
  text-align:center;
  letter-spacing:0.04em;
}

.ytbtb{
  background:#16171b;
  padding:60px 60px 90px;
  position:relative;
  overflow:hidden;
}
.ytbtb .wrap{ position:relative; z-index:1; max-width:1500px; margin:0 auto; padding:0; }
.ytbtb-grid{
  display:grid;
  grid-template-columns:360px 1fr;
  gap:50px;
  align-items:center;
}
.ytbtb-intro{ color:var(--cream); min-width:0; }
.ytbtb-title{
  font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:clamp(36px,3.6vw,50px);
  font-weight:800;
  letter-spacing:-0.02em;
  line-height:0.98;
  color:var(--cream);
  text-transform:uppercase;
  margin:0 0 24px;
  overflow-wrap:break-word;
}
.ytbtb-intro .yt-subscribe{
  padding:13px 28px;
  font-size:14px;
}
.ytbtb-videos{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.ytbtb-videos .yt-video{ aspect-ratio:16/9; background-size:cover; background-position:center; }
.ytbtb-videos .yt-video::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 60%, rgba(0,0,0,0.5) 100%);
  z-index:1; pointer-events:none;
}
.ytbtb-videos .yt-play{
  width:64px; height:46px;
  background:#FF0000;
  border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  z-index:2; opacity:0.92;
  transition:all 0.2s;
}
.ytbtb-videos .yt-video:hover .yt-play{ opacity:1; transform:translate(-50%,-50%) scale(1.1); }
.ytbtb-videos .yt-play svg{ width:22px; height:22px; fill:#fff; margin-left:2px; }

/* Legacy ytsec styles kept for backward compatibility */
.ytsec{ background:var(--cream); padding-bottom:0; }
.yt-head{ text-align:center; max-width:760px; margin:0 auto; }
.yt-head .kicker{ display:block; margin-bottom:18px; }
.yt-head h2{ font-size:clamp(32px,4vw,60px); font-weight:300; line-height:1.14; }
.yt-mark{ display:inline-flex; vertical-align:middle; margin:0 4px; }
.yt-mark svg{ width:52px; height:auto; }
.yt-mark svg rect{ fill:#FF0000; }
.yt-head p{ color:var(--soft); font-size:16px; margin-top:18px; }
.yt-channel{ display:flex; align-items:center; gap:22px; max-width:540px; margin:46px auto 0; padding:22px 30px; background:var(--paper); border:1px solid var(--line-soft); }
.yt-ava{ width:60px; height:60px; flex:0 0 60px; border-radius:50%; background:var(--ink); color:var(--cream); font-family:'Tenor Sans',sans-serif; font-size:19px; letter-spacing:0.03em; display:flex; align-items:center; justify-content:center; }
.yt-cmeta{ flex:1; }
.yt-cname{ font-family:'Tenor Sans',sans-serif; font-size:19px; letter-spacing:0.04em; }
.yt-chandle{ font-size:13px; color:var(--soft); letter-spacing:0.04em; }
.yt-sub{ display:inline-block; background:#FF0000; color:#fff; font-family:'Jost',sans-serif; font-size:12px; font-weight:600; letter-spacing:0.15em; text-transform:uppercase; padding:13px 28px; border-radius:40px; transition:background .25s ease; }
.yt-sub:hover{ background:#cc0000; }
.ytdark{ background:var(--ink); margin-top:90px; padding:88px 0; }
.ytd-grid{ display:grid; grid-template-columns:0.82fr 1.18fr; gap:58px; align-items:center; }
.ytd-intro .kicker{ display:block; margin-bottom:18px; color:var(--wine); }
.ytd-intro h3{ font-family:'Tenor Sans',sans-serif; font-size:clamp(34px,3.6vw,52px); color:var(--cream); font-weight:400; line-height:1.04; }
.ytd-intro p{ color:rgba(244,241,234,0.68); font-size:15px; margin:20px 0 30px; max-width:340px; }
.ytd-videos{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ytd-videos .yt-video:first-child{ grid-column:1 / -1; }
.yt-video{ position:relative; overflow:hidden; display:block; aspect-ratio:16/10; background:var(--ink-2); }
.yt-video img{ width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.yt-video:hover img{ transform:scale(1.05); }
.yt-play{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:64px; height:44px; background:#FF0000; border-radius:12px; display:flex; align-items:center; justify-content:center; transition:transform .25s ease; }
.yt-video:hover .yt-play{ transform:translate(-50%,-50%) scale(1.08); }
.yt-play svg{ width:24px; height:24px; }
.yt-vcap{ position:absolute; left:0; right:0; bottom:0; padding:34px 22px 16px; color:#fff; font-size:13px; letter-spacing:0.05em; background:linear-gradient(transparent,rgba(0,0,0,0.82)); }

/* ============================================================ TESTIMONIALS (Press-style, larger) */
.tmon-press{
  background:#EFEAE0;
  position:relative;
  overflow:hidden;
  padding:140px 0 150px;
}
.tmon-press-wm{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-52%);
  font-family:'Tenor Sans',sans-serif; font-weight:700;
  font-size:clamp(440px,50vw,820px);
  line-height:0.85; color:rgba(22,19,14,0.10);
  letter-spacing:-0.05em;
  pointer-events:none; user-select:none; z-index:0;
}
.tmon-press .wrap{ position:relative; z-index:1; }
.tmon-press-head{ text-align:center; max-width:980px; margin:0 auto 80px; }
.tmon-press-head .kicker{ display:block; margin-bottom:28px; color:var(--wine); font-size:14px; letter-spacing:0.5em; }
.tmon-press-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(64px,7.5vw,110px);
  font-weight:400; line-height:1.05;
  color:var(--ink);
  letter-spacing:-0.01em;
}
.tmon-press-head h2 em{ font-style:italic; color:#8A7B5E; }
.tmon-press-head p{ color:var(--ink-2); font-size:18px; line-height:1.6; margin:28px auto 0; max-width:600px; }
.tmon-press .wrap{ max-width:1440px; padding:0 40px; }
.tmon-press-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
}
.tcard-press{
  background:#FFFFFF;
  padding:34px 32px 30px;
  display:flex; flex-direction:column;
  min-height:auto;
  box-shadow:0 2px 24px rgba(22,19,14,0.05);
  transition:transform .35s ease, box-shadow .35s ease;
}
.tcard-press:hover{ transform:translateY(-4px); box-shadow:0 12px 36px rgba(22,19,14,0.10); }
.tcard-press .tstars{
  color:#C9A95F; font-size:15px;
  letter-spacing:4px; margin-bottom:22px;
}
.tcard-press-quote{
  font-family:'Cormorant Garamond',serif;
  font-size:19px; font-style:italic;
  line-height:1.45; color:var(--ink);
  flex:1; margin-bottom:26px;
}
.tcard-press-foot{
  border-top:1px solid var(--line-soft);
  padding-top:20px;
}
.tcard-press-name{
  font-family:'Jost',sans-serif;
  font-size:15px; font-weight:600;
  color:var(--ink);
  letter-spacing:0.01em;
}
.tcard-press-meta{
  font-family:'Jost',sans-serif;
  font-size:10.5px; letter-spacing:0.22em;
  text-transform:uppercase; color:#8A7B5E;
  margin-top:6px; font-weight:500;
}
.tmon-press-foot{ text-align:center; margin-top:72px; }
.tmon-press-more{
  font-family:'Jost',sans-serif;
  font-size:12px; font-weight:600;
  letter-spacing:0.32em; text-transform:uppercase;
  color:var(--ink);
  padding-bottom:6px;
  border-bottom:1px solid var(--ink);
  transition:color .25s, border-color .25s;
}
.tmon-press-more:hover{ color:#A88445; border-color:#A88445; }

/* Behold widget wrapper */
.ws-behold{ width:100%; }
.ws-behold behold-widget{ display:block; width:100%; }

@media (max-width:1100px){ .tmon-press-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .tmon-press-grid{ grid-template-columns:1fr; } }

/* ============================================================ FINE HOMES & ESTATES PAGE */
.fh-page-head{ min-height:62vh; }
.fh-page-head .kicker{ font-size:13px; letter-spacing:0.42em; }
.fh-page-head h1{
  font-size:clamp(36px,4vw,68px);
  font-weight:300; line-height:1.1;
  max-width:1100px; margin:0 auto;
}
.fh-page-head h1 em{ font-style:italic; color:#E8C880; }
.fh-page-head p{ max-width:760px; }
.fh-page-head .about-actions{ margin-top:36px; justify-content:center; display:flex; }

/* Pull quote + stats bar */
.fh-stats{ background:#16130E; color:var(--cream); padding:110px 0 100px; position:relative; overflow:hidden; }
.fh-stats::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 50% 0%, rgba(232,200,128,0.06), transparent 55%);
  pointer-events:none;
}
.fh-stats .wrap{ position:relative; }
.fh-pullquote{
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:clamp(24px,3vw,38px); line-height:1.4;
  color:var(--cream); text-align:center;
  max-width:1000px; margin:0 auto 70px;
  padding:0 40px; position:relative;
}
.fh-pq-mark{
  font-family:'Cormorant Garamond',serif;
  font-size:110px; line-height:0; color:#E8C880;
  vertical-align:-32px; margin-right:6px;
  display:inline-block; opacity:0.7;
}
.fh-stats-grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  align-items:start;
}
.fh-stat{
  text-align:center; padding:0 22px;
  border-right:1px solid rgba(244,241,234,0.22);
}
.fh-stat:last-child{ border-right:none; }
.fh-stat-num{
  font-family:'Tenor Sans',sans-serif;
  font-size:clamp(48px,5.2vw,82px); font-weight:400;
  line-height:1; color:#E8C880; letter-spacing:-0.02em;
}
.fh-stat-label{
  font-size:11px; letter-spacing:0.28em;
  text-transform:uppercase; color:rgba(244,241,234,0.85);
  margin-top:22px; line-height:1.55;
}

/* Marketing playbook (PDF decks) */
.fh-playbook{ background:var(--cream-2); }
.fh-playbook-head{ text-align:center; max-width:780px; margin:0 auto 64px; }
.fh-playbook-head .kicker{ display:block; margin-bottom:22px; color:var(--wine); }
.fh-playbook-head h2{
  font-family:'Cormorant Garamond',serif; font-size:clamp(40px,5vw,72px);
  font-weight:400; line-height:1.05;
}
.fh-playbook-head h2 em{ font-style:italic; color:#8A7B5E; }
.fh-playbook-head p{ color:var(--ink-2); font-size:17px; line-height:1.6; margin-top:24px; }
.fh-playbook-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.fh-deck{
  background:#FFFFFF; padding:42px 36px 38px;
  display:flex; flex-direction:column;
  border-top:3px solid #C9A95F;
  box-shadow:0 2px 24px rgba(22,19,14,0.05);
  transition:transform .35s ease, box-shadow .35s ease;
  color:var(--ink) !important;
}
.fh-deck:hover{ transform:translateY(-6px); box-shadow:0 32px 60px rgba(22,19,14,0.13); }
.fh-deck-tag{
  font-family:'Jost',sans-serif; font-size:10.5px; font-weight:600;
  letter-spacing:0.28em; text-transform:uppercase;
  color:#8A7B5E; margin-bottom:22px;
}
.fh-deck h3{
  font-family:'Cormorant Garamond',serif;
  font-size:28px; font-weight:500;
  line-height:1.2; margin-bottom:18px;
  color:var(--ink);
}
.fh-deck p{ color:var(--soft); font-size:15px; line-height:1.6; flex:1; margin-bottom:24px; }
.fh-deck-link{
  font-family:'Jost',sans-serif; font-size:11px; font-weight:600;
  letter-spacing:0.26em; text-transform:uppercase;
  color:#A88445; padding-bottom:6px;
  border-bottom:1px solid #C9A95F;
  align-self:flex-start;
  transition:color .25s, border-color .25s;
}
.fh-deck:hover .fh-deck-link{ color:#7B6A4A; border-color:#7B6A4A; }

/* Ready to list CTA */
.fh-ready{
  background:#16130E; color:var(--cream);
  padding:110px 0;
  position:relative; overflow:hidden; text-align:center;
}
.fh-ready::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 50% 100%, rgba(232,200,128,0.07), transparent 55%);
  pointer-events:none;
}
.fh-ready .wrap-narrow{ position:relative; }
.fh-ready .kicker{ display:block; margin-bottom:26px; color:#E8C880; font-size:13px; letter-spacing:0.5em; }
.fh-ready h2{
  font-family:'Cormorant Garamond',serif; font-size:clamp(40px,5vw,72px);
  font-weight:400; line-height:1.05; color:var(--cream);
}
.fh-ready h2 em{ font-style:italic; color:#E8C880; }
.fh-ready p{
  color:rgba(244,241,234,0.85); font-size:18px;
  line-height:1.65; margin:28px auto 36px; max-width:660px;
}
.fh-ready .about-actions{ justify-content:center; }

.btn-fill.light{
  background:var(--cream); color:var(--ink);
  border-color:var(--cream);
}
.btn-fill.light:hover{ background:#E8C880; color:var(--ink); border-color:#E8C880; }

/* Premium Touchpoints — image cards */
.fh-touch{ background:var(--cream); }
.fh-touch-head{ text-align:center; max-width:680px; margin:0 auto 56px; }
.fh-touch-head .kicker{ display:block; margin-bottom:22px; color:var(--wine); font-size:13px; letter-spacing:0.5em; }
.fh-touch-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(40px,5vw,72px); font-weight:400; line-height:1.05;
}
.fh-touch-head h2 em{ font-style:italic; color:#8A7B5E; }
.fh-touch-grid{ display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.fh-touch-card{
  background:#FFFFFF;
  display:flex; flex-direction:column;
  box-shadow:0 2px 24px rgba(22,19,14,0.05);
  transition:transform .35s ease, box-shadow .35s ease;
  overflow:hidden;
}
.fh-touch-card:hover{ transform:translateY(-4px); box-shadow:0 24px 50px rgba(22,19,14,0.12); }
.fh-touch-img{
  width:100%; aspect-ratio:16/10;
  background-size:cover; background-position:center;
}
.fh-touch-body{ padding:32px 36px 36px; border-top:3px solid #C9A95F; }
.fh-touch-body h3{
  font-family:'Cormorant Garamond',serif;
  font-size:28px; font-weight:500;
  margin-bottom:14px; line-height:1.2; color:var(--ink);
}
.fh-touch-body p{ color:var(--soft); font-size:15.5px; line-height:1.6; }

/* Markets We Serve — compact pills */
.fh-markets{ background:var(--cream-2); text-align:center; padding:90px 0; }
.fh-markets .kicker{ display:block; margin-bottom:20px; color:var(--wine); font-size:13px; letter-spacing:0.5em; }
.fh-markets h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(38px,4.6vw,64px); font-weight:400; line-height:1.05;
  margin-bottom:42px;
}
.fh-markets h2 em{ font-style:italic; color:#8A7B5E; }
.fh-markets-list{
  display:flex; flex-wrap:wrap; gap:10px;
  justify-content:center; max-width:920px; margin:0 auto;
}
.fh-markets-list span,
.fh-markets-list a{
  font-family:'Jost',sans-serif; font-size:12px;
  letter-spacing:0.26em; text-transform:uppercase;
  font-weight:500; color:var(--ink-2);
  padding:10px 22px;
  border:1px solid var(--line);
  background:#FFFFFF;
  border-radius:40px;
  text-decoration:none;
  transition:background .25s ease, color .25s ease, border-color .25s ease;
  cursor:pointer;
}
.fh-markets-list a:hover{
  background:var(--ink);
  color:var(--cream);
  border-color:var(--ink);
}

@media (max-width:900px){
  .fh-touch-grid{ grid-template-columns:1fr; gap:20px; }
}

@media (max-width:900px){
  .fh-stats-grid{ grid-template-columns:repeat(2,1fr); row-gap:48px; }
  .fh-stat:nth-child(2){ border-right:none; }
  .fh-stat:nth-child(1),.fh-stat:nth-child(2){ padding-bottom:36px; border-bottom:1px solid rgba(244,241,234,0.22); }
  .fh-playbook-grid{ grid-template-columns:1fr; gap:20px; }
}

/* ============================================================ DISCOVER (IDX SEARCH) */
.discover-sec{ background:var(--cream); padding:90px 0; }
.discover-intro{ text-align:center; max-width:780px; margin:0 auto 56px; }
.discover-intro .kicker{ display:block; margin-bottom:22px; color:var(--wine); font-size:13px; letter-spacing:0.5em; }
.discover-intro h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(40px,5vw,72px); font-weight:400; line-height:1.05;
}
.discover-intro h2 em{ font-style:italic; color:#8A7B5E; }
.discover-intro p{ color:var(--ink-2); font-size:17px; line-height:1.6; margin:24px auto 32px; }
.discover-frame{
  width:100%; aspect-ratio:16/10;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 18px 44px rgba(22,19,14,0.10);
  overflow:hidden;
}
.discover-frame iframe{ width:100%; height:100%; border:0; display:block; }

.discover-mkts{ background:#EFEAE0; }
.discover-mkts-head{ text-align:center; max-width:720px; margin:0 auto 56px; }
.discover-mkts-head .kicker{ display:block; margin-bottom:22px; color:var(--wine); }
.discover-mkts-head h2{ font-family:'Cormorant Garamond',serif; font-size:clamp(38px,4.6vw,64px); font-weight:400; line-height:1.05; }
.discover-mkts-head h2 em{ font-style:italic; color:#8A7B5E; }
.discover-mkts-head p{ color:var(--ink-2); font-size:17px; line-height:1.6; margin-top:22px; }
.discover-mkts-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.dmkt{
  background:#FFFFFF; padding:32px 28px;
  border-left:3px solid #C9A95F;
  display:flex; flex-direction:column;
  transition:transform .3s ease, box-shadow .3s ease;
  box-shadow:0 2px 12px rgba(22,19,14,0.04);
}
.dmkt:hover{ transform:translateY(-4px); box-shadow:0 14px 38px rgba(22,19,14,0.10); }
.dmkt-name{ font-family:'Tenor Sans',sans-serif; font-size:22px; color:var(--ink); }
.dmkt-meta{
  font-family:'Jost',sans-serif; font-size:11px;
  letter-spacing:0.22em; text-transform:uppercase;
  color:#8A7B5E; margin-top:10px; font-weight:500;
}

@media (max-width:900px){
  .discover-mkts-grid{ grid-template-columns:1fr; gap:14px; }
}

/* ============================================================ LEGACY (PAST SALES) */
.legacy-sec{ background:var(--cream); }
.legacy-head{ text-align:center; max-width:880px; margin:0 auto 70px; }
.legacy-head .kicker{ display:block; margin-bottom:22px; color:var(--wine); font-size:13px; letter-spacing:0.5em; }
.legacy-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(44px,5.4vw,82px);
  font-weight:400; line-height:1.05;
}
.legacy-head h2 em{ font-style:italic; color:#8A7B5E; }
.legacy-head p{ color:var(--ink-2); font-size:17px; line-height:1.6; margin-top:24px; max-width:620px; margin-left:auto; margin-right:auto; }

.legacy-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.lcard{
  background:#FFFFFF;
  display:flex; flex-direction:column;
  box-shadow:0 2px 24px rgba(22,19,14,0.05);
  transition:transform .35s ease, box-shadow .35s ease;
  overflow:hidden;
}
.lcard:hover{ transform:translateY(-6px); box-shadow:0 30px 60px rgba(22,19,14,0.12); }
.lcard-img{
  position:relative; width:100%; aspect-ratio:4/3;
  background-size:cover; background-position:center;
}
.lcard-sold{
  position:absolute; top:18px; left:18px;
  background:var(--ink); color:var(--cream);
  font-family:'Jost',sans-serif; font-size:10px;
  letter-spacing:0.32em; text-transform:uppercase;
  padding:7px 14px; font-weight:600;
}
.lcard-sold.fp-status-active{ background:#3D5A3D; }
.lcard-sold.fp-status-soon{ background:#B08C44; color:#FFFFFF; }
.lcard-sold.fp-status-off{ background:rgba(22,19,14,0.86); }
.lcard-body{ padding:28px 30px 32px; border-top:3px solid #C9A95F; }
.lcard-price{
  font-family:'Tenor Sans',sans-serif;
  font-size:30px; color:var(--ink);
  letter-spacing:-0.01em; margin-bottom:12px;
}
.lcard-addr{
  font-family:'Cormorant Garamond',serif;
  font-size:22px; font-weight:500;
  color:var(--ink); margin-bottom:6px;
  line-height:1.2;
}
.lcard-town{
  font-family:'Jost',sans-serif; font-size:11px;
  letter-spacing:0.22em; text-transform:uppercase;
  color:#8A7B5E; font-weight:500; margin-bottom:18px;
}
.lcard-specs{
  font-size:13.5px; color:var(--soft);
  letter-spacing:0.04em;
}
.legacy-foot{ text-align:center; margin-top:72px; }

/* === Two-widget Legacy layout (Career Sales + Recently Closed) === */
.legacy-block{ margin-bottom:90px; }
.legacy-block:last-of-type{ margin-bottom:0; }
.legacy-block-head{ text-align:center; max-width:880px; margin:0 auto 50px; }
.legacy-kicker{
  display:block; margin-bottom:18px;
  color:var(--wine); font-family:'Jost',sans-serif;
  font-size:12px; letter-spacing:0.42em;
  text-transform:uppercase; font-weight:500;
}
.legacy-heading{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(40px,4.8vw,72px);
  font-weight:400; line-height:1.05;
  color:var(--ink); margin:0;
}
.legacy-heading em{ font-style:italic; color:#8A7B5E; }

@media (max-width:900px){
  .legacy-grid{ grid-template-columns:1fr; gap:20px; }
  .legacy-block{ margin-bottom:60px; }
  .legacy-block-head{ margin-bottom:30px; }
}

/* ============================================================ BLOG */
.blog-head{
  background:var(--cream);
  text-align:center;
  padding:140px 0 70px;
  border-bottom:1px solid var(--line-soft);
}
.blog-head .wrap{ max-width:880px; }
.blog-head .kicker{ display:block; margin-bottom:24px; color:var(--wine); font-size:13px; letter-spacing:0.5em; }
.blog-head h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(56px,7vw,108px);
  font-weight:400;
  line-height:1;
  letter-spacing:-0.01em;
  color:var(--ink);
}
.blog-head h1 em{ font-style:italic; color:#8A7B5E; }
.blog-head p{
  color:var(--ink-2); font-size:18px;
  line-height:1.6; margin:30px auto 0; max-width:680px;
}
.blog-cats{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:12px; margin-top:42px;
}
.bcat{
  font-family:'Jost',sans-serif;
  font-size:12px; font-weight:600;
  letter-spacing:0.22em; text-transform:uppercase;
  color:var(--ink-2);
  padding:11px 22px;
  border:1px solid var(--line);
  border-radius:50px;
  transition:background .25s, color .25s, border-color .25s;
}
.bcat:hover{ background:var(--ink); color:var(--cream); border-color:var(--ink); }
.bcat.is-active{ background:var(--ink); color:var(--cream); border-color:var(--ink); }

.blog-grid-sec{
  background:#EFEAE0;
  padding:90px 0 110px;
  position:relative;
  overflow:hidden;
}
.blog-wm{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-52%);
  font-family:'Tenor Sans',sans-serif; font-weight:700;
  font-size:clamp(400px,48vw,760px);
  line-height:0.85; color:rgba(22,19,14,0.06);
  letter-spacing:-0.05em;
  pointer-events:none; user-select:none; z-index:0;
}
.blog-grid-sec .wrap{ position:relative; z-index:1; }
.blog-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:30px;
}
.bcard{
  background:#FFFFFF;
  display:flex; flex-direction:column;
  box-shadow:0 2px 24px rgba(22,19,14,0.05);
  transition:transform .35s ease, box-shadow .35s ease;
  overflow:hidden;
}
.bcard:hover{ transform:translateY(-6px); box-shadow:0 28px 54px rgba(22,19,14,0.14); }
.bcard-img{
  display:block; width:100%; aspect-ratio:16/10;
  background-size:cover; background-position:center;
  transition:transform .55s ease;
}
.bcard:hover .bcard-img{ transform:scale(1.04); }
.bcard-body{
  padding:30px 32px 32px;
  display:flex; flex-direction:column; flex:1;
  border-top:2px solid #C9A95F;
}
.bcard-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.btag{
  font-family:'Jost',sans-serif; font-size:10px;
  letter-spacing:0.22em; text-transform:uppercase;
  font-weight:600; color:#A88445;
  padding:5px 10px; background:rgba(201,169,95,0.12);
  border-radius:3px;
}
.btag.btag-muted{ color:#8A7B5E; background:rgba(138,123,94,0.10); }
.bcard-meta{
  font-family:'Jost',sans-serif; font-size:11px;
  letter-spacing:0.22em; text-transform:uppercase;
  color:#8A7B5E; margin-bottom:18px;
}
.bcard h3{
  font-family:'Cormorant Garamond',serif;
  font-size:28px; font-weight:500;
  line-height:1.15; margin-bottom:18px;
  letter-spacing:-0.01em;
}
.bcard h3 a{ color:var(--ink); transition:color .25s; }
.bcard h3 a:hover{ color:#A88445; }
.bcard p{
  color:var(--soft); font-size:15px;
  line-height:1.6; flex:1; margin-bottom:24px;
}
.bcard-link{
  font-family:'Jost',sans-serif;
  font-size:11px; font-weight:600;
  letter-spacing:0.22em; text-transform:uppercase;
  color:#A88445;
  padding-bottom:6px;
  border-bottom:1px solid #C9A95F;
  align-self:flex-start;
  transition:color .25s, border-color .25s;
}
.bcard-link:hover{ color:#7B6A4A; border-color:#7B6A4A; }

.blog-cta{ background:var(--cream); text-align:center; }
.blog-cta .kicker{ display:block; margin-bottom:20px; color:var(--wine); }
.blog-cta h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(42px,5vw,72px);
  font-weight:400; line-height:1.05;
  margin-bottom:24px;
}
.blog-cta h2 em{ font-style:italic; color:#8A7B5E; }
.blog-cta p{ color:var(--ink-2); font-size:17px; line-height:1.6; max-width:600px; margin:0 auto 36px; }

/* Blog article (individual post) */
.bpost-head{
  background:var(--cream);
  padding:140px 0 60px;
  text-align:center;
}
.bpost-head .wrap{ max-width:820px; }
.bpost-head .bcard-tags{ justify-content:center; }
.bpost-head h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(40px,5.4vw,76px);
  font-weight:400; line-height:1.08;
  letter-spacing:-0.01em;
  color:var(--ink);
  margin:18px 0 24px;
}
.bpost-head .bpost-meta{
  font-family:'Jost',sans-serif; font-size:13px;
  letter-spacing:0.18em; text-transform:uppercase;
  color:var(--soft);
}
.bpost-hero{
  width:100%; height:auto;
  max-height:520px; object-fit:cover;
  display:block;
}
.bpost-body{
  background:#FFFFFF;
  padding:80px 0 100px;
}
.bpost-body .wrap{ max-width:780px; }
.bpost-body p, .bpost-body ul, .bpost-body ol{
  font-family:'Cormorant Garamond',serif;
  font-size:22px; line-height:1.65;
  color:var(--ink-2); margin-bottom:28px;
}
.bpost-body p:first-of-type{ font-size:24px; color:var(--ink); }
.bpost-body h2{
  font-family:'Tenor Sans',sans-serif;
  font-size:32px; font-weight:500;
  color:var(--ink);
  margin:56px 0 22px;
  letter-spacing:-0.01em;
}
.bpost-body h3{
  font-family:'Tenor Sans',sans-serif;
  font-size:23px; font-weight:500;
  color:var(--ink);
  margin:42px 0 16px;
}
.bpost-body ul, .bpost-body ol{ padding-left:28px; }
.bpost-body li{ margin-bottom:10px; }
.bpost-body blockquote{
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:26px; color:var(--ink);
  border-left:3px solid #C9A95F;
  padding:14px 0 14px 28px;
  margin:40px 0;
  line-height:1.5;
}
.bpost-body strong{ font-weight:600; color:var(--ink); }
.bpost-back{
  display:inline-block; margin-top:50px;
  font-family:'Jost',sans-serif; font-size:11px;
  letter-spacing:0.32em; text-transform:uppercase;
  color:var(--ink); padding-bottom:6px;
  border-bottom:1px solid var(--ink);
  transition:color .25s, border-color .25s;
}
.bpost-back:hover{ color:#A88445; border-color:#A88445; }

@media (max-width:900px){
  .blog-grid{ grid-template-columns:1fr; gap:20px; }
  .blog-head{ padding:110px 0 50px; }
  .bcat{ font-size:11px; padding:9px 18px; }
}

/* PRESS-STYLE JOURNAL */
.press{ background:#EFEAE0; position:relative; overflow:hidden; padding:130px 0 140px; }
.press-wm{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-52%);
  font-family:'Tenor Sans',sans-serif; font-weight:700;
  font-size:clamp(440px,52vw,820px); line-height:0.85;
  color:rgba(22,19,14,0.12);
  pointer-events:none; z-index:0; letter-spacing:-0.05em;
  user-select:none;
}
.press .wrap{ position:relative; z-index:1; }
.press-head{ text-align:center; margin-bottom:78px; }
.press-head .kicker{
  display:block; margin-bottom:28px;
  font-size:13px; letter-spacing:0.5em; color:var(--wine);
}
.press-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(54px,6.5vw,96px);
  font-weight:400;
  letter-spacing:-0.01em;
  line-height:1.05;
  color:var(--ink);
}
.press-head h2 em{ font-style:italic; color:#8A7B5E; font-weight:400; }
.press .wrap{ max-width:1440px; padding:0 40px; }
.press-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:70px; }
.pcard{
  background:#FFFFFF;
  border:none;
  border-left:4px solid #C9A95F;
  padding:38px 36px 32px;
  display:flex; flex-direction:column;
  min-height:auto;
  box-shadow:0 2px 24px rgba(22,19,14,0.05);
  transition:transform .35s ease, box-shadow .35s ease;
}
.pcard:hover{ transform:translateY(-4px); box-shadow:0 12px 36px rgba(22,19,14,0.10); }
.pcard-k{
  font-family:'Jost',sans-serif;
  font-size:11px; font-weight:600;
  letter-spacing:0.28em; text-transform:uppercase;
  color:#746650; margin-bottom:18px;
}
.pcard h3{
  font-family:'Cormorant Garamond',serif;
  font-size:26px; font-weight:500;
  line-height:1.22; margin-bottom:20px;
  color:var(--ink); letter-spacing:-0.005em;
}
.pcard p{
  color:rgba(22,23,27,0.78); font-size:15px;
  line-height:1.6; flex:1; margin-bottom:24px;
}
.pcard-link{
  font-family:'Jost',sans-serif;
  font-size:12px; font-weight:600;
  letter-spacing:0.3em; text-transform:uppercase;
  color:#746650;
  margin-top:0; padding-bottom:4px;
  border-bottom:1px solid #746650;
  align-self:flex-start;
  transition:color .25s, border-color .25s;
}
.pcard-link:hover{ color:#A88445; border-color:#A88445; }
.pcard-link:hover{ color:#7B6A4A; border-color:#7B6A4A; }
.press-foot{ text-align:center; margin-top:72px; }
.press-all{
  font-family:'Jost',sans-serif;
  font-size:12px; font-weight:600;
  letter-spacing:0.32em; text-transform:uppercase;
  color:var(--ink);
  padding-bottom:6px;
  border-bottom:1px solid var(--ink);
  transition:color .25s, border-color .25s;
}
.press-all:hover{ color:#A88445; border-color:#A88445; }

/* TESTIMONIALS — Google reviews */
.tmon{ background:#FFFFFF; padding:84px 0; }
.tmon-head{ text-align:center; max-width:980px; margin:0 auto 44px; }
.tmon-head .kicker{ display:block; margin-bottom:18px; }
.tmon-head h2{ font-size:clamp(32px,4.4vw,62px); font-weight:300; white-space:nowrap; }
.tmon-head h2 em{ font-style:italic; color:var(--wine); }
.tmon-head p{ color:var(--soft); font-size:16px; margin-top:16px; }
.tmon-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.tcard{ background:var(--paper); border:1px solid var(--line-soft); padding:36px 30px; display:flex; flex-direction:column; }
.tstars{ color:var(--wine); font-size:14px; letter-spacing:3px; margin-bottom:20px; }
.tquote{ font-family:'Cormorant Garamond',serif; font-size:19px; font-style:italic; line-height:1.5; color:var(--ink); flex:1; }
.tcard-foot{ border-top:1px solid var(--line-soft); margin-top:24px; padding-top:18px; }
.tname{ font-family:'Tenor Sans',sans-serif; font-size:18px; letter-spacing:0.04em; color:var(--ink); }
.tmeta{ font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-2); margin-top:8px; font-weight:500; }
.tmon-foot{ text-align:center; margin-top:52px; }
.tmon-more{ font-family:'Jost',sans-serif; font-size:12px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; border-bottom:1px solid var(--wine); padding-bottom:6px; transition:color .25s; }
.tmon-more:hover{ color:var(--wine); }

@media (max-width:980px){
  .ytd-grid{ grid-template-columns:1fr; gap:36px; }
  .ytwatch-grid{ grid-template-columns:1fr; gap:48px; }
  .ytbtb-grid{ grid-template-columns:1fr; gap:48px; }
  .ytbtb-videos{ grid-template-columns:1fr; gap:18px; }
  .ytwatch-title{ font-size:clamp(34px,7vw,52px); }
  .ytbtb-title{ font-size:clamp(34px,7vw,52px); }
  .press-grid{ grid-template-columns:1fr; }
  .tmon-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:720px){
  .ytd-videos{ grid-template-columns:1fr; }
  .ytd-videos .yt-video:first-child{ grid-column:auto; }
  .yt-channel{ flex-direction:column; text-align:center; }
}
@media (max-width:560px){ .tmon-grid{ grid-template-columns:1fr; } }

/* FAQ */
.faq-section .kicker{ display:block; margin-bottom:26px; }
.faq-section h2{ font-family:'Cormorant Garamond',serif; font-size:clamp(32px,3.6vw,46px); font-weight:300; line-height:1.1; color:var(--ink); text-align:center; margin-bottom:54px; }
.faq-section h2 em{ font-style:italic; color:var(--wine); }
.faq-list{ max-width:780px; margin:0 auto; border-top:1px solid #E5E1D8; }
.faq-item{ border-bottom:1px solid #E5E1D8; padding:30px 0; }
.faq-item h3{ font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:500; color:var(--ink); line-height:1.25; margin-bottom:14px; letter-spacing:0; text-transform:none; }
.faq-item p{ color:var(--soft); font-size:16px; line-height:1.65; margin:0; }
@media (max-width:720px){
  .faq-item{ padding:24px 0; }
  .faq-item h3{ font-size:20px; }
  .faq-item p{ font-size:15px; }
}

/* ============================================================ CONTACT PAGE */
.contact-page{ background:var(--cream); padding-top:90px; padding-bottom:120px; }
.contact-page-wrap{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:80px; align-items:start; max-width:1320px; }
.contact-info .kicker{ display:block; color:var(--wine); margin-bottom:18px; }
.contact-info h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(38px,4vw,58px);
  font-weight:400; line-height:1.06;
  color:var(--ink); margin-bottom:24px;
  letter-spacing:-0.005em;
}
.contact-info h2 em{ font-style:italic; color:#8A7B5E; }
.contact-info .contact-lede{
  color:var(--soft); font-size:17px; line-height:1.65;
  margin-bottom:42px; max-width:480px;
}
.contact-detail{
  padding:22px 0; border-top:1px solid var(--line);
}
.contact-detail:last-child{ border-bottom:1px solid var(--line); }
.contact-detail .cdl{
  font-family:'Jost',sans-serif; font-size:10.5px;
  letter-spacing:0.28em; text-transform:uppercase;
  color:var(--faint); margin-bottom:8px; font-weight:600;
}
.contact-detail .cdv{
  font-family:'Tenor Sans',sans-serif; font-size:22px;
  color:var(--ink); line-height:1.4;
}
.contact-detail .cdv a{ color:var(--ink); transition:color .25s; }
.contact-detail .cdv a:hover{ color:var(--wine); }
.contact-form-box{
  background:#FAF8F4;
  padding:54px 50px;
  border:1px solid var(--line-soft);
  box-shadow:0 12px 48px rgba(22,19,14,0.06);
}
.contact-form-title{
  font-family:'Cormorant Garamond',serif;
  font-size:30px; font-weight:500;
  color:var(--ink); margin-bottom:8px;
  letter-spacing:-0.005em;
}
.contact-form-sub{
  font-family:'Jost',sans-serif; font-size:14px;
  color:var(--soft); margin-bottom:34px;
  line-height:1.5;
}
.contact-form{ display:grid; gap:20px; }
.cf-row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.cf-row label,
.cf-full{ display:block; }
.cf-label{
  display:block;
  font-family:'Jost',sans-serif; font-size:10.5px;
  letter-spacing:0.24em; text-transform:uppercase;
  color:var(--ink-2); margin-bottom:8px; font-weight:600;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  font-family:'Jost',sans-serif; font-size:15px;
  color:var(--ink);
  padding:14px 16px;
  background:#FFFFFF;
  border:1px solid var(--line);
  outline:none;
  transition:border-color .25s, box-shadow .25s;
  border-radius:0;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:var(--wine);
  box-shadow:0 0 0 3px rgba(176,140,68,0.12);
}
.contact-form textarea{ resize:vertical; min-height:120px; line-height:1.5; }
.cf-submit{
  margin-top:6px;
  font-family:'Jost',sans-serif; font-size:13px;
  font-weight:600; letter-spacing:0.28em;
  text-transform:uppercase;
  background:var(--ink); color:var(--cream);
  border:none; padding:18px 36px;
  cursor:pointer;
  transition:background .25s, transform .15s;
  justify-self:start;
}
.cf-submit:hover{ background:var(--wine); transform:translateY(-2px); }
.contact-form .form-status{
  font-family:'Jost',sans-serif; font-size:14px;
  color:var(--soft); margin-top:8px;
}

@media (max-width:980px){
  .contact-page{ padding-top:60px; padding-bottom:80px; }
  .contact-page-wrap{ grid-template-columns:1fr; gap:60px; }
  .contact-form-box{ padding:40px 30px; }
  .cf-row{ grid-template-columns:1fr; gap:18px; }
}

/* ============================================================ NAV CTA — What's My Home Worth */
.nav-cta{
  display:inline-flex; align-items:center;
  font-family:'Jost',sans-serif; font-size:12px;
  letter-spacing:0.22em; text-transform:uppercase;
  font-weight:600;
  background:#E8C880; color:var(--ink);
  padding:13px 22px;
  margin-right:14px; margin-left:6px;
  white-space:nowrap;
  transition:background .25s, transform .15s;
}
.nav-cta:hover{ background:#D6B978; transform:translateY(-1px); }
@media (max-width:1100px){
  .nav-cta{ font-size:11px; padding:11px 16px; letter-spacing:0.18em; }
}
@media (max-width:820px){
  .nav-cta{ display:none; }
}

/* ============================================================
   NAV SEARCH — Search MLS (Clarity heatmap: #1 click intent)
   ============================================================ */
.nav-search{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Jost',sans-serif; font-size:12px;
  letter-spacing:0.22em; text-transform:uppercase;
  font-weight:600;
  background:transparent; color:var(--ink);
  border:1px solid var(--ink);
  padding:12px 20px;
  margin-right:10px; margin-left:6px;
  white-space:nowrap;
  transition:background .25s, color .25s, transform .15s;
}
.nav-search svg{ width:14px; height:14px; fill:currentColor; }
.nav-search:hover{ background:var(--ink); color:var(--cream); transform:translateY(-1px); }
.nav-search-lbl{ display:inline-block; }
@media (max-width:1200px){
  .nav-search{ font-size:11px; padding:10px 14px; letter-spacing:0.16em; }
}
@media (max-width:1040px){
  .nav-search-lbl{ display:none; } /* icon-only on smaller screens */
  .nav-search{ padding:10px 12px; }
  .nav-search svg{ width:16px; height:16px; }
}
@media (max-width:640px){
  .nav-search{ display:none; }
}
/* Light-nav mode (dark hero pages) — invert */
body.nav-hero-light nav.main:not(.scrolled) .nav-search{
  border-color:rgba(255,255,255,0.75); color:#FFFFFF;
}
body.nav-hero-light nav.main:not(.scrolled) .nav-search:hover{
  background:#FFFFFF; color:var(--ink);
}

/* ============================================================ HOME VALUATION PAGE */
.hv-hero{
  position:relative;
  min-height:100vh;
  padding:160px 0 100px;
  overflow:hidden;
  display:flex; align-items:center;
}
.hv-hero-bg{
  position:absolute; inset:0; z-index:-2;
  background-size:cover; background-position:center;
}
.hv-hero-overlay{
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(90deg, rgba(22,19,14,0.85) 0%, rgba(22,19,14,0.55) 55%, rgba(22,19,14,0.30) 100%);
}
.hv-wrap{
  max-width:1500px; margin:0 auto; padding:0 40px;
  display:grid; grid-template-columns:1fr 1fr; gap:80px;
  align-items:center; width:100%;
}
.hv-left{ color:var(--cream); }
.hv-left .kicker{
  color:#E8C880; display:block; margin-bottom:24px;
  font-size:13px; letter-spacing:0.42em;
}
.hv-left h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(48px,5.4vw,80px);
  font-weight:300; line-height:1.02;
  color:var(--cream);
  letter-spacing:-0.01em;
  margin-bottom:28px;
}
.hv-left h1 em{ font-style:italic; color:#E8C880; }
.hv-left > p{
  color:rgba(244,241,234,0.88);
  font-size:18px; line-height:1.6;
  max-width:520px; margin-bottom:52px;
}
.hv-stats{
  display:grid; grid-template-columns:repeat(3,auto);
  gap:48px; padding-top:36px;
  border-top:1px solid rgba(244,241,234,0.18);
}
.hv-stat b{
  display:block;
  font-family:'Tenor Sans',sans-serif;
  font-size:32px; font-weight:400;
  color:#E8C880; line-height:1;
  margin-bottom:10px;
  letter-spacing:0.01em;
}
.hv-stat span{
  font-family:'Jost',sans-serif;
  font-size:11px; letter-spacing:0.22em;
  text-transform:uppercase; color:rgba(244,241,234,0.7);
  font-weight:500;
}
.hv-right{}
.hv-form-box{
  background:#FAF8F4;
  padding:48px 44px;
  box-shadow:0 30px 80px rgba(0,0,0,0.35);
  border:1px solid rgba(255,255,255,0.5);
}
.hv-form-title{
  font-family:'Cormorant Garamond',serif;
  font-size:32px; font-weight:500;
  color:var(--ink); margin-bottom:10px;
  letter-spacing:-0.005em;
}
.hv-form-sub{
  font-family:'Jost',sans-serif; font-size:14px;
  color:var(--soft); margin-bottom:30px;
  line-height:1.5;
}
.hv-form{ display:grid; gap:18px; }
.hv-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.hv-row label,
.hv-full{ display:block; }
.hv-label{
  display:block;
  font-family:'Jost',sans-serif; font-size:10.5px;
  letter-spacing:0.24em; text-transform:uppercase;
  color:var(--ink-2); margin-bottom:7px; font-weight:600;
}
.hv-opt{
  font-size:10px; color:var(--faint);
  text-transform:none; letter-spacing:0.05em;
  margin-left:4px;
}
.hv-form input,
.hv-form select,
.hv-form textarea{
  width:100%;
  font-family:'Jost',sans-serif; font-size:14px;
  color:var(--ink);
  padding:12px 14px;
  background:#FFFFFF;
  border:1px solid var(--line);
  outline:none;
  transition:border-color .25s, box-shadow .25s;
  border-radius:0;
}
.hv-form input:focus,
.hv-form select:focus,
.hv-form textarea:focus{
  border-color:var(--wine);
  box-shadow:0 0 0 3px rgba(176,140,68,0.12);
}
.hv-form textarea{ resize:vertical; min-height:80px; line-height:1.5; }
.hv-submit{
  margin-top:8px;
  font-family:'Jost',sans-serif; font-size:13px;
  font-weight:600; letter-spacing:0.28em;
  text-transform:uppercase;
  background:var(--ink); color:var(--cream);
  border:none; padding:18px 24px;
  cursor:pointer;
  transition:background .25s, transform .15s;
}
.hv-submit:hover{ background:var(--wine); transform:translateY(-2px); }
.hv-fineprint{
  font-family:'Jost',sans-serif; font-size:11px;
  color:var(--soft); line-height:1.5;
  margin-top:6px; text-align:center;
}

/* HOW IT WORKS */
.hv-how{ background:var(--cream); }
.hv-how-head{ text-align:center; max-width:780px; margin:0 auto 70px; }
.hv-how-head .kicker{ display:block; margin-bottom:22px; color:var(--wine); }
.hv-how-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(40px,4.8vw,68px);
  font-weight:400; line-height:1.06;
  color:var(--ink); margin-bottom:24px;
  letter-spacing:-0.005em;
}
.hv-how-head h2 em{ font-style:italic; color:#8A7B5E; }
.hv-how-head p{ color:var(--soft); font-size:17px; line-height:1.65; }
.hv-how-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.hv-step{
  background:#FAF8F4;
  padding:50px 40px 44px;
  border-left:4px solid #C9A95F;
}
.hv-step-num{
  font-family:'Tenor Sans',sans-serif;
  font-size:48px; color:var(--wine);
  line-height:1; margin-bottom:26px;
  font-style:italic;
}
.hv-step h3{
  font-family:'Cormorant Garamond',serif;
  font-size:26px; font-weight:500;
  color:var(--ink); margin-bottom:16px;
  line-height:1.2;
}
.hv-step p{ color:var(--soft); font-size:15.5px; line-height:1.65; }

/* WHY OUR VALUATION */
.hv-why{ background:#F4F3F1; }
.hv-why-head{ text-align:center; }
.hv-why-head .kicker{ display:block; margin-bottom:22px; color:var(--wine); }
.hv-why-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(38px,4.4vw,62px);
  font-weight:400; line-height:1.06;
  color:var(--ink); margin-bottom:26px;
  letter-spacing:-0.005em;
}
.hv-why-head h2 em{ font-style:italic; color:#8A7B5E; }
.hv-why-head p{ color:var(--soft); font-size:17px; line-height:1.7; margin-bottom:42px; }
.hv-why-actions{ text-align:center; }

@media (max-width:980px){
  .hv-hero{ min-height:auto; padding:140px 0 80px; }
  .hv-wrap{ grid-template-columns:1fr; gap:60px; padding:0 24px; }
  .hv-stats{ grid-template-columns:1fr 1fr 1fr; gap:24px; }
  .hv-form-box{ padding:36px 26px; }
  .hv-row{ grid-template-columns:1fr; gap:14px; }
  .hv-how-grid{ grid-template-columns:1fr; gap:24px; }
  .hv-step{ padding:36px 28px; }
}

/* ============================================================ SMOKE RISE — Homeowner Valuation CTA */
.sr-val{ background:var(--ink); }

/* Top gold band */
.sr-val-band{
  background:#C9A95F;
  padding:26px 0;
}
.sr-val-band-inner{
  display:flex; justify-content:space-between; align-items:center;
  gap:40px; flex-wrap:wrap;
}
.sr-val-band-text{ flex:1; min-width:280px; }
.sr-val-band-q{
  font-family:'Cormorant Garamond',serif;
  font-size:22px; font-weight:500;
  color:var(--ink); display:inline; margin-right:8px;
  letter-spacing:0.005em;
}
.sr-val-band-sub{
  font-family:'Cormorant Garamond',serif;
  font-style:italic; font-size:22px; font-weight:400;
  color:rgba(22,19,14,0.78); display:inline;
}
.sr-val-band-btn{
  font-family:'Jost',sans-serif; font-size:12px;
  font-weight:600; letter-spacing:0.28em;
  text-transform:uppercase;
  background:var(--ink); color:var(--cream);
  padding:16px 28px;
  transition:background .25s, transform .15s;
  white-space:nowrap;
}
.sr-val-band-btn:hover{ background:#241F18; transform:translateY(-2px); }

/* Body (dark) */
.sr-val-body{
  background:var(--ink);
  padding:90px 0;
}
.sr-val-body-inner{
  display:grid; grid-template-columns:1.4fr 1fr; gap:80px;
  align-items:center;
}
.sr-val-body-text .kicker{
  display:block; color:#E8C880;
  margin-bottom:22px;
  font-size:12px; letter-spacing:0.42em;
}
.sr-val-body-text h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(34px,3.8vw,52px);
  font-weight:400; line-height:1.08;
  color:var(--cream);
  margin-bottom:24px;
  letter-spacing:-0.005em;
}
.sr-val-body-text h2 em{ font-style:italic; color:#C9A95F; }
.sr-val-body-text p{
  color:rgba(244,241,234,0.78);
  font-size:17px; line-height:1.7;
  max-width:600px;
}
.sr-val-body-cta{
  text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:14px;
}
.sr-val-cta-btn{
  display:inline-block;
  font-family:'Jost',sans-serif; font-size:12px;
  font-weight:600; letter-spacing:0.28em;
  text-transform:uppercase;
  background:#E8C880; color:var(--ink);
  padding:22px 40px;
  transition:background .25s, transform .15s;
  white-space:nowrap;
}
.sr-val-cta-btn:hover{ background:#D6B978; transform:translateY(-2px); }
.sr-val-cta-note{
  font-family:'Jost',sans-serif; font-size:12px;
  color:rgba(244,241,234,0.6);
  letter-spacing:0.04em;
}

@media (max-width:980px){
  .sr-val-band-inner{ flex-direction:column; align-items:flex-start; gap:20px; }
  .sr-val-body{ padding:60px 0; }
  .sr-val-body-inner{ grid-template-columns:1fr; gap:42px; }
  .sr-val-body-cta{ align-items:flex-start; }
}

/* ============================================================ SMOKE RISE — 2-col Community block */
.sr-community{ background:#F4F3F1; }
.sr-community-grid{
  display:grid; grid-template-columns:1fr 1.05fr;
  gap:70px; align-items:stretch;
}
.sr-community-text .kicker{
  display:block; color:var(--wine);
  margin-bottom:22px;
  font-size:12px; letter-spacing:0.42em;
}
.sr-community-text h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(40px,4.4vw,62px);
  font-weight:400; line-height:1.06;
  color:var(--ink); margin-bottom:34px;
  letter-spacing:-0.005em;
}
.sr-community-text h2 em{ font-style:italic; color:#8A7B5E; }
.sr-community-text p{
  color:var(--soft);
  font-size:17px; line-height:1.7;
  margin-bottom:22px;
}
.sr-community-text p em{ font-style:italic; color:var(--ink); }
.sr-community-motto{
  margin-top:8px;
  font-family:'Cormorant Garamond',serif;
  font-size:22px; font-style:italic;
  color:#8A7B5E;
  letter-spacing:0.005em;
  line-height:1.4;
}
.sr-community-motto em{
  font-style:italic; color:#8A7B5E !important;
  font-weight:500;
}
.sr-community-img{ position:relative; min-height:100%; }
.sr-community-img img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
  box-shadow:0 22px 60px rgba(22,19,14,0.18);
}
@media (max-width:980px){
  .sr-community-grid{ grid-template-columns:1fr; gap:40px; align-items:start; }
  .sr-community-img img{ height:auto; }
}

/* ============================================================ SMOKE RISE — Lifestyle Gallery */
.sr-lifestyle{ background:#F4F3F1; padding:120px 0; }
.sr-lifestyle-head{ text-align:center; max-width:780px; margin:0 auto 64px; }
.sr-lifestyle-head .kicker{
  display:block; color:var(--wine);
  margin-bottom:22px;
  font-size:12px; letter-spacing:0.42em;
}
.sr-lifestyle-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(40px,4.6vw,64px);
  font-weight:400; line-height:1.06;
  color:var(--ink); margin-bottom:24px;
  letter-spacing:-0.005em;
}
.sr-lifestyle-head h2 em{ font-style:italic; color:#8A7B5E; }
.sr-lifestyle-head p{ color:var(--soft); font-size:16px; line-height:1.65; }

.sr-lifestyle-gallery{
  display:grid; gap:18px;
  max-width:1280px; margin:0 auto;
}
.sr-life-row-top,
.sr-life-row-bot{
  display:grid; grid-template-columns:1fr 1fr; gap:18px;
}
.sr-life-row-mid{
  display:grid; grid-template-columns:1.6fr 1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:18px;
}
.sr-life-row-mid .sr-life-tall{ grid-row:span 2; }

.sr-life-tile{
  position:relative; overflow:hidden;
  display:block; cursor:default;
  background:#1a1814;
}
.sr-life-row-top .sr-life-tile,
.sr-life-row-bot .sr-life-tile{ aspect-ratio:16/10; }
.sr-life-row-mid .sr-life-tall{ aspect-ratio:5/8; }
.sr-life-row-mid .sr-life-tile:not(.sr-life-tall){ aspect-ratio:5/4; }

.sr-life-tile img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .8s ease;
}
.sr-life-tile:hover img{ transform:scale(1.05); }
.sr-life-tile::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 45%, rgba(0,0,0,0.65) 100%);
  pointer-events:none;
}
.sr-life-cap{
  position:absolute; bottom:18px; left:22px; right:22px;
  z-index:2; color:var(--cream);
}
.sr-life-cap .sr-life-cap-kicker{
  display:block;
  font-family:'Jost',sans-serif; font-size:9.5px;
  letter-spacing:0.28em; text-transform:uppercase;
  color:rgba(255,255,255,0.78);
  margin-bottom:8px; font-weight:500;
}
.sr-life-cap .sr-life-cap-title{
  font-family:'Cormorant Garamond',serif;
  font-size:24px; font-weight:500;
  color:#FFFFFF; line-height:1.15;
  letter-spacing:0.005em;
}
.sr-life-row-mid .sr-life-tile:not(.sr-life-tall) .sr-life-cap-title{ font-size:20px; }

@media (max-width:900px){
  .sr-lifestyle{ padding:80px 0; }
  .sr-life-row-mid{ grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .sr-life-row-mid .sr-life-tall{ grid-column:span 2; grid-row:span 1; aspect-ratio:16/10; }
  .sr-life-row-mid .sr-life-tile:not(.sr-life-tall){ aspect-ratio:5/4; }
}
@media (max-width:600px){
  .sr-life-row-top,
  .sr-life-row-bot,
  .sr-life-row-mid{ grid-template-columns:1fr; }
  .sr-life-row-mid .sr-life-tall{ grid-column:span 1; }
}

/* ============================================================ SMOKE RISE — INSIDE THE GATE GALLERY */
.sr-gate{ background:var(--cream); padding-top:120px; padding-bottom:120px; }
.sr-gate-head{ text-align:center; max-width:780px; margin:0 auto 64px; }
.sr-gate-head .kicker{
  display:block; color:var(--wine);
  font-size:13px; letter-spacing:0.42em;
  margin-bottom:22px;
}
.sr-gate-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(38px,4.4vw,62px);
  font-weight:400; line-height:1.06;
  color:var(--ink); margin-bottom:24px;
  letter-spacing:-0.005em;
}
.sr-gate-head h2 em{ font-style:italic; color:#8A7B5E; }
.sr-gate-head p{ color:var(--soft); font-size:16px; line-height:1.7; }

/* Bento-grid layout: 12-col grid, custom area for each tile */
.sr-gate-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:160px;
  gap:14px;
}

/* Row 1: two big hero tiles side by side */
.sr-tile-r1a{ grid-column:1 / span 6;  grid-row:1 / span 2; }
.sr-tile-r1b{ grid-column:7 / span 6;  grid-row:1 / span 2; }

/* Row 2: big tile on left + 2x2 mini-grid on right */
.sr-tile-r2a{ grid-column:1 / span 6;  grid-row:3 / span 2; }
.sr-tile-r2b{ grid-column:7 / span 3;  grid-row:3 / span 1; }
.sr-tile-r2c{ grid-column:10 / span 3; grid-row:3 / span 1; }
.sr-tile-r2d{ grid-column:7 / span 3;  grid-row:4 / span 1; }
.sr-tile-r2e{ grid-column:10 / span 3; grid-row:4 / span 1; }

/* Row 3: two medium tiles */
.sr-tile-r3a{ grid-column:1 / span 6;  grid-row:5 / span 1; }
.sr-tile-r3b{ grid-column:7 / span 6;  grid-row:5 / span 1; }

/* Tile base */
.sr-tile{
  position:relative;
  background-size:cover; background-position:center;
  overflow:hidden;
  cursor:default;
  margin:0;
  transition:transform .5s ease;
}
.sr-tile::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.65) 100%);
  z-index:1;
}
.sr-tile:hover{ transform:scale(1.005); }
.sr-tile:hover::before{ background:linear-gradient(180deg, transparent 30%, rgba(0,0,0,0.75) 100%); }

.sr-tile figcaption{
  position:absolute; bottom:20px; left:24px; right:24px;
  z-index:2; color:var(--cream);
  display:flex; flex-direction:column; gap:6px;
}
.sr-tile-cat{
  font-family:'Jost',sans-serif; font-size:10px;
  letter-spacing:0.32em; text-transform:uppercase;
  color:rgba(244,241,234,0.78); font-weight:500;
}
.sr-tile-name{
  font-family:'Cormorant Garamond',serif;
  font-size:22px; font-weight:500;
  color:var(--cream); letter-spacing:-0.005em;
  line-height:1.1;
}
.sr-tile-sm .sr-tile-name{ font-size:18px; }
.sr-tile-sm figcaption{ bottom:16px; left:18px; right:18px; }

@media (max-width:980px){
  .sr-gate-grid{
    grid-template-columns:repeat(4,1fr);
    grid-auto-rows:140px;
    gap:10px;
  }
  .sr-tile-r1a, .sr-tile-r1b{ grid-column:1 / span 4; grid-row:auto / span 2; }
  .sr-tile-r2a{ grid-column:1 / span 4; grid-row:auto / span 2; }
  .sr-tile-r2b{ grid-column:1 / span 2; grid-row:auto / span 1; }
  .sr-tile-r2c{ grid-column:3 / span 2; grid-row:auto / span 1; }
  .sr-tile-r2d{ grid-column:1 / span 2; grid-row:auto / span 1; }
  .sr-tile-r2e{ grid-column:3 / span 2; grid-row:auto / span 1; }
  .sr-tile-r3a, .sr-tile-r3b{ grid-column:1 / span 4; grid-row:auto / span 2; }
}

/* ============================================================ SMOKE RISE — COMMUTE / A MILLION MILES AWAY */
.sr-commute{ background:var(--cream-2); padding-top:110px; padding-bottom:110px; }
.sr-commute-head{ text-align:center; margin-bottom:42px; }
.sr-commute-head .kicker{
  display:block; color:var(--wine);
  font-size:13px; letter-spacing:0.42em;
  margin-bottom:24px;
}
.sr-commute-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(40px,5vw,72px);
  font-weight:400; line-height:1.04;
  color:var(--ink);
  letter-spacing:-0.005em;
}
.sr-commute-head h2 em{ font-style:italic; color:#8A7B5E; }
.sr-commute-body{
  text-align:center;
  max-width:780px; margin:0 auto;
}
.sr-commute-body p{
  color:var(--soft);
  font-size:17px; line-height:1.75;
  margin-bottom:20px;
}
.sr-commute-body p:last-child{ margin-bottom:0; }
.sr-commute-body strong{
  color:var(--ink); font-weight:500;
}
.sr-commute-stats{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:0; margin-top:64px; padding-top:48px;
  border-top:1px solid var(--line);
  max-width:920px; margin-left:auto; margin-right:auto;
}
.sr-commute-stat{
  text-align:center; padding:0 20px;
  border-right:1px solid var(--line);
}
.sr-commute-stat:last-child{ border-right:none; }
.sr-commute-stat b{
  display:block;
  font-family:'Tenor Sans',sans-serif;
  font-size:clamp(30px,3vw,42px);
  font-weight:400; color:var(--wine);
  line-height:1; margin-bottom:14px;
  letter-spacing:0.005em;
  white-space:nowrap;
}
/* Highway access has more characters — scale it down to fit on one line */
.sr-commute-stat:last-of-type b,
.sr-commute-stat.is-long b{
  font-size:clamp(22px,2.3vw,32px);
  letter-spacing:0.02em;
}
.sr-commute-stat span{
  font-family:'Jost',sans-serif;
  font-size:11px; letter-spacing:0.32em;
  text-transform:uppercase; color:var(--ink-2);
  font-weight:500;
}
@media (max-width:780px){
  .sr-commute{ padding-top:70px; padding-bottom:70px; }
  .sr-commute-stats{ grid-template-columns:1fr; gap:32px; padding-top:36px; margin-top:48px; }
  .sr-commute-stat{ border-right:none; border-bottom:1px solid var(--line); padding-bottom:32px; }
  .sr-commute-stat:last-child{ border-bottom:none; padding-bottom:0; }
}

/* ============================================================ SMOKE RISE — FACTS / LIFE INSIDE THE GATE */
.sr-facts{ background:var(--cream-2); padding-top:110px; padding-bottom:110px; }
.sr-facts-head{ text-align:center; max-width:840px; margin:0 auto 70px; }
.sr-facts-head .kicker{
  display:block; color:var(--wine);
  font-size:13px; letter-spacing:0.42em;
  margin-bottom:24px;
}
.sr-facts-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(38px,4.6vw,66px);
  font-weight:400; line-height:1.06;
  color:var(--ink); margin-bottom:24px;
  letter-spacing:-0.005em;
}
.sr-facts-head h2 em{ font-style:italic; color:#8A7B5E; }
.sr-facts-head p{ color:var(--soft); font-size:17px; line-height:1.7; max-width:700px; margin:0 auto; }

.sr-facts-grid{
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:30px; max-width:1200px; margin:0 auto;
}
.sr-fact-card{
  background:#FFFFFF;
  padding:36px 38px 32px;
  box-shadow:0 4px 24px rgba(22,19,14,0.04);
}
.sr-fact-title{
  font-family:'Jost',sans-serif;
  font-size:12px; font-weight:600;
  letter-spacing:0.32em; text-transform:uppercase;
  color:var(--ink); margin-bottom:18px; padding-bottom:18px;
  border-bottom:1px solid #C9A95F;
  line-height:1.5;
}
.sr-fact-list{
  list-style:none; padding:0; margin:0;
}
.sr-fact-list li{
  position:relative;
  padding:11px 0 11px 22px;
  color:var(--ink-2); font-size:14.5px;
  line-height:1.55;
  border-bottom:1px solid var(--line-soft);
}
.sr-fact-list li:last-child{ border-bottom:none; }
.sr-fact-list li::before{
  content:'';
  position:absolute; left:0; top:18px;
  width:6px; height:6px;
  background:#C9A95F;
  transform:rotate(45deg);
}

@media (max-width:900px){
  .sr-facts{ padding-top:70px; padding-bottom:70px; }
  .sr-facts-grid{ grid-template-columns:1fr; gap:24px; }
  .sr-fact-card{ padding:28px 26px 24px; }
}

/* ============================================================ FINE HOMES — THE ELEVATE 5 PILLARS (horizontal cards) */
.fh-pillars{ background:var(--cream); padding-top:120px; padding-bottom:120px; }
.fh-pillars .wrap{ max-width:1600px; padding:0 32px; margin:0 auto; }
.fh-pillars-head{ text-align:center; max-width:840px; margin:0 auto 70px; }
.fh-pillars-head .kicker{
  display:block; color:var(--wine);
  font-size:13px; letter-spacing:0.42em;
  margin-bottom:24px;
}
.fh-pillars-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(40px,5vw,72px);
  font-weight:400; line-height:1.04;
  color:var(--ink); margin-bottom:24px;
  letter-spacing:-0.005em;
}
.fh-pillars-head h2 em{ font-style:italic; color:#8A7B5E; }
.fh-pillars-head p{ color:var(--soft); font-size:17px; line-height:1.7; }

/* 5 cards in a horizontal row */
.fh-pillars{ display:block; }
.fh-pillars > .wrap{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; align-items:stretch; }
.fh-pillars > .wrap > .fh-pillars-head{ grid-column:1 / -1; }
.fh-pillar{
  display:flex; flex-direction:column;
  background:#FFFFFF;
  border-top:3px solid #C9A95F;
  padding:34px 26px 30px;
  box-shadow:0 4px 22px rgba(22,19,14,0.06);
  transition:transform .35s ease, box-shadow .35s ease;
}
.fh-pillar:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(22,19,14,0.12);
}
.fh-pillar-num{
  font-family:'Tenor Sans',sans-serif;
  font-style:italic;
  font-size:42px; font-weight:400;
  color:#C9A95F;
  line-height:1; margin-bottom:22px;
  letter-spacing:-0.01em;
}
.fh-pillar-body{ display:flex; flex-direction:column; flex:1; }
.fh-pillar-title{
  font-family:'Cormorant Garamond',serif;
  font-size:28px; font-weight:500;
  line-height:1.12; color:var(--ink);
  margin-bottom:6px;
  letter-spacing:-0.005em;
}
.fh-pillar-sub{
  font-family:'Jost',sans-serif;
  font-size:10.5px; font-weight:600;
  letter-spacing:0.22em; text-transform:uppercase;
  color:#8A7B5E;
  margin-bottom:18px;
  line-height:1.5;
}
.fh-pillar-body > p{
  color:var(--soft); font-size:14.5px;
  line-height:1.6;
  margin-bottom:22px;
}
.fh-pillar-included{
  font-family:'Jost',sans-serif;
  font-size:10px; font-weight:600;
  letter-spacing:0.3em; text-transform:uppercase;
  color:var(--ink); margin-bottom:14px;
  padding-bottom:10px; border-bottom:1px solid #C9A95F;
  display:inline-block;
}
.fh-pillar-list{
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:6px;
}
.fh-pillar-list li{
  position:relative;
  padding:5px 0 5px 16px;
  color:var(--ink-2); font-size:13px;
  line-height:1.5;
}
.fh-pillar-list li::before{
  content:'';
  position:absolute; left:0; top:11px;
  width:5px; height:5px;
  background:#C9A95F;
  transform:rotate(45deg);
}

@media (max-width:1200px){
  .fh-pillars > .wrap{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:820px){
  .fh-pillars > .wrap{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
  .fh-pillars{ padding-top:70px; padding-bottom:70px; }
  .fh-pillars-head{ margin-bottom:48px; }
  .fh-pillars > .wrap{ grid-template-columns:1fr; gap:16px; }
}

/* ============================================================ DISCOVER (SEARCH) PAGE */
/* Hero search bar */
.dsc-head{ min-height:78vh; padding-bottom:140px; }
.dsc-searchbar{
  margin:48px auto 0;
  max-width:980px; width:100%;
  display:grid; grid-template-columns:1.6fr 1fr 0.8fr auto;
  gap:0;
  background:#FFFFFF;
  box-shadow:0 24px 60px rgba(0,0,0,0.35);
  border:1px solid rgba(255,255,255,0.4);
}
.dsc-searchbar-field{
  position:relative;
  padding:18px 22px 14px;
  text-align:left;
  border-right:1px solid var(--line-soft);
}
.dsc-searchbar-label{
  display:block;
  font-family:'Jost',sans-serif; font-size:10px;
  letter-spacing:0.28em; text-transform:uppercase;
  color:var(--faint); font-weight:600;
  margin-bottom:4px;
}
.dsc-searchbar input,
.dsc-searchbar select{
  width:100%; border:none; outline:none;
  font-family:'Jost',sans-serif; font-size:15px;
  color:var(--ink); background:transparent;
  padding:0; appearance:none;
}
.dsc-searchbar-btn{
  font-family:'Jost',sans-serif; font-size:12px;
  font-weight:600; letter-spacing:0.28em;
  text-transform:uppercase;
  background:var(--ink); color:var(--cream);
  border:none; padding:0 36px;
  cursor:pointer; white-space:nowrap;
  transition:background .25s;
}
.dsc-searchbar-btn:hover{ background:var(--wine); }

/* Curated collections */
.dsc-collections{ background:var(--cream); }
.dsc-collections-head{ text-align:center; max-width:780px; margin:0 auto 56px; }
.dsc-collections-head .kicker{ display:block; margin-bottom:22px; color:var(--wine); font-size:13px; letter-spacing:0.42em; }
.dsc-collections-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(38px,4.4vw,62px);
  font-weight:400; line-height:1.06;
  color:var(--ink); margin-bottom:20px;
  letter-spacing:-0.005em;
}
.dsc-collections-head h2 em{ font-style:italic; color:#8A7B5E; }
.dsc-collections-head p{ color:var(--soft); font-size:17px; line-height:1.7; }

.dsc-collections-grid{
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:24px;
  max-width:1400px; margin:0 auto;
}
.dsc-coll{
  position:relative; display:block;
  aspect-ratio:16/10;
  background-size:cover; background-position:center;
  overflow:hidden;
  transition:transform .5s ease;
}
.dsc-coll::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.78) 100%);
  z-index:1;
  transition:background .35s ease;
}
.dsc-coll:hover{ transform:scale(1.01); }
.dsc-coll:hover::before{ background:linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.82) 100%); }
.dsc-coll-cap{
  position:absolute; bottom:32px; left:36px; right:36px;
  z-index:2;
}
.dsc-coll-tag{
  display:inline-block;
  font-family:'Jost',sans-serif; font-size:10.5px;
  letter-spacing:0.32em; text-transform:uppercase;
  color:#E8C880; font-weight:600;
  margin-bottom:10px;
}
.dsc-coll h3{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(26px,2.6vw,38px);
  font-weight:500; line-height:1.1;
  color:var(--cream);
  letter-spacing:-0.005em;
  margin:0;
}

@media (max-width:1100px){
  .dsc-searchbar{ grid-template-columns:1fr 1fr; }
  .dsc-searchbar-btn{ grid-column:1 / -1; padding:18px 36px; }
}
@media (max-width:720px){
  .dsc-head{ min-height:auto; padding-bottom:90px; }
  .dsc-searchbar{ grid-template-columns:1fr; }
  .dsc-searchbar-field{ border-right:none; border-bottom:1px solid var(--line-soft); }
  .dsc-collections-grid{ grid-template-columns:1fr; }
}

/* ================================================================ AGENT BRAND STUDIO (dedicated landing page) */
/* Distinct visual language — darker, bolder, more agency-like */

.abs-body{
  background:#0E0D0B;
  color:#F5F2EC;
  font-family:'Space Grotesk','Jost',sans-serif;
  -webkit-font-smoothing:antialiased;
}
.abs-body a{ color:inherit; text-decoration:none; }
.abs-wrap{ max-width:1320px; margin:0 auto; padding:0 32px; }

/* NAV */
.abs-nav{
  position:sticky; top:0; z-index:100;
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 32px;
  background:rgba(14,13,11,0.88);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.abs-back{
  font-size:13px; letter-spacing:0.04em;
  color:rgba(245,242,236,0.7);
  transition:color .2s;
}
.abs-back:hover{ color:#F5F2EC; }
.abs-nav-right{ display:flex; gap:32px; align-items:center; }
.abs-nav-right a{
  font-size:12px; letter-spacing:0.18em; text-transform:uppercase;
  color:rgba(245,242,236,0.7); font-weight:500;
  transition:color .2s;
}
.abs-nav-right a:hover{ color:#F5F2EC; }
.abs-nav-cta{
  background:#E8C880; color:#0E0D0B !important;
  padding:11px 22px;
  font-weight:600;
}
.abs-nav-cta:hover{ background:#F0D898 !important; color:#0E0D0B !important; }

/* HERO */
.abs-hero{
  position:relative; min-height:100vh;
  display:flex; align-items:center;
  padding:120px 32px 80px;
  overflow:hidden;
  background:radial-gradient(ellipse at top left, #1A1814 0%, #0E0D0B 60%);
}
.abs-hero-grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size:80px 80px;
  pointer-events:none;
}
.abs-hero-noise{
  position:absolute; inset:0;
  background-image:radial-gradient(circle at 30% 20%, rgba(232,200,128,0.12) 0%, transparent 40%);
  pointer-events:none;
}
.abs-hero-inner{
  position:relative; z-index:2;
  max-width:1320px; margin:0 auto; width:100%;
}
.abs-hero-tag{
  display:inline-block;
  font-size:11px; letter-spacing:0.42em; text-transform:uppercase;
  color:#E8C880; font-weight:600;
  padding:8px 18px;
  border:1px solid rgba(232,200,128,0.4);
  margin-bottom:42px;
}
.abs-hero-h1{
  font-family:'Space Grotesk','Jost',sans-serif;
  font-size:clamp(48px,8vw,128px);
  font-weight:700; line-height:0.95;
  letter-spacing:-0.04em;
  color:#F5F2EC;
  margin-bottom:38px;
  max-width:1100px;
}
.abs-hero-h1 .abs-line{ display:block; }
.abs-hero-h1 .abs-italic{
  font-family:'Cormorant Garamond',serif;
  font-style:italic; font-weight:400;
  color:#E8C880;
  letter-spacing:-0.02em;
}
.abs-hero-sub{
  font-size:18px; line-height:1.6;
  color:rgba(245,242,236,0.78);
  max-width:560px;
  margin-bottom:42px;
}
.abs-hero-actions{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:64px; }
.abs-btn{
  display:inline-block;
  font-family:'Space Grotesk',sans-serif;
  font-size:13px; letter-spacing:0.22em; text-transform:uppercase;
  font-weight:600;
  padding:18px 30px;
  transition:all .25s;
}
.abs-btn-primary{ background:#E8C880; color:#0E0D0B; }
.abs-btn-primary:hover{ background:#F0D898; transform:translateY(-2px); }
.abs-btn-ghost{
  border:1px solid rgba(245,242,236,0.3);
  color:#F5F2EC;
}
.abs-btn-ghost:hover{ border-color:#E8C880; color:#E8C880; }

.abs-hero-meta{
  display:grid; grid-template-columns:repeat(3,auto); gap:60px;
  padding-top:42px;
  border-top:1px solid rgba(255,255,255,0.1);
}
.abs-meta-item b{
  display:block;
  font-family:'Space Grotesk',sans-serif;
  font-size:36px; font-weight:600;
  color:#E8C880; line-height:1;
  margin-bottom:8px;
  letter-spacing:-0.02em;
}
.abs-meta-item span{
  font-size:12px; letter-spacing:0.18em; text-transform:uppercase;
  color:rgba(245,242,236,0.6);
}

/* MARQUEE */
.abs-marquee{
  background:#E8C880;
  color:#0E0D0B;
  overflow:hidden;
  padding:18px 0;
  border-top:1px solid #0E0D0B;
  border-bottom:1px solid #0E0D0B;
}
.abs-marquee-track{
  display:flex; gap:32px; align-items:center;
  white-space:nowrap;
  animation:abs-marquee 32s linear infinite;
  font-size:18px; font-weight:600;
  letter-spacing:0.02em;
}
.abs-marquee-track span{ flex-shrink:0; }
@keyframes abs-marquee{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}

/* SECTION HEADS */
.abs-section-head{ max-width:840px; margin:0 auto 80px; text-align:center; }
.abs-kicker{
  display:inline-block;
  font-size:11px; letter-spacing:0.42em; text-transform:uppercase;
  color:#E8C880; font-weight:600;
  margin-bottom:22px;
}
.abs-h2{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(36px,5vw,72px);
  font-weight:700; line-height:1; letter-spacing:-0.03em;
  color:#F5F2EC; margin-bottom:24px;
}
.abs-h2 em{
  font-family:'Cormorant Garamond',serif;
  font-style:italic; font-weight:400; color:#E8C880;
  letter-spacing:-0.01em;
}
.abs-h2-light{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(34px,4.4vw,58px);
  font-weight:600; line-height:1.05; letter-spacing:-0.02em;
  color:#F5F2EC; margin-bottom:24px;
}
.abs-h2-light em{
  font-family:'Cormorant Garamond',serif;
  font-style:italic; font-weight:400; color:#E8C880;
}
.abs-section-sub{ color:rgba(245,242,236,0.65); font-size:17px; line-height:1.6; }

/* WHY */
.abs-why{ padding:140px 32px; background:#0E0D0B; }
.abs-why-grid{
  display:grid; grid-template-columns:1.2fr 1fr;
  gap:80px; align-items:center;
}
.abs-why-text .abs-kicker{ margin-bottom:24px; }
.abs-why-text .abs-h2{ font-size:clamp(34px,4.4vw,58px); margin-bottom:32px; text-align:left; }
.abs-why-text p{
  color:rgba(245,242,236,0.78);
  font-size:17px; line-height:1.7;
  margin-bottom:20px; max-width:560px;
}
.abs-why-quote{
  background:#1A1814;
  border-left:3px solid #E8C880;
  padding:50px 42px;
  position:relative;
}
.abs-quote-mark{
  font-family:'Cormorant Garamond',serif;
  font-size:110px; line-height:0.6;
  color:#E8C880; opacity:0.5;
  margin-bottom:10px;
}
.abs-why-quote p{
  font-family:'Cormorant Garamond',serif;
  font-size:24px; line-height:1.45; font-style:italic;
  color:#F5F2EC; margin-bottom:28px;
}
.abs-quote-attr{
  font-size:11px; letter-spacing:0.32em; text-transform:uppercase;
  color:#E8C880; font-weight:600;
}

/* SERVICES */
.abs-services{ padding:140px 32px; background:#15130F; }
.abs-services-grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.08);
}
@media (max-width:1180px){
  .abs-services-grid{ grid-template-columns:repeat(2,1fr); }
}
.abs-svc{
  background:#15130F;
  padding:50px 36px 44px;
  transition:background .35s;
}
.abs-svc:hover{ background:#1A1814; }
.abs-svc-num{
  font-family:'Space Grotesk',sans-serif;
  font-size:22px; font-weight:700;
  color:#E8C880; letter-spacing:0.02em;
  margin-bottom:20px;
}
.abs-svc h3{
  font-family:'Space Grotesk',sans-serif;
  font-size:26px; font-weight:600;
  color:#F5F2EC; margin-bottom:14px;
  letter-spacing:-0.01em;
}
.abs-svc p{ color:rgba(245,242,236,0.7); font-size:15px; line-height:1.6; margin-bottom:22px; }
.abs-svc ul{ list-style:none; padding:0; margin:0; }
.abs-svc li{
  position:relative; padding:7px 0 7px 18px;
  color:rgba(245,242,236,0.85); font-size:14px;
  line-height:1.5;
  border-top:1px solid rgba(255,255,255,0.06);
}
.abs-svc li:first-child{ border-top:none; }
.abs-svc li::before{
  content:''; position:absolute; left:0; top:14px;
  width:4px; height:4px; background:#E8C880;
}

/* PACKAGES */
.abs-pkgs{ padding:140px 32px; background:#0E0D0B; }
.abs-pkgs-grid{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:22px; margin-bottom:48px;
}
.abs-pkg{
  position:relative;
  background:#15130F;
  border:1px solid rgba(255,255,255,0.08);
  padding:44px 36px 40px;
  display:flex; flex-direction:column;
  transition:transform .35s, border-color .35s;
}
.abs-pkg:hover{ transform:translateY(-6px); border-color:rgba(232,200,128,0.4); }
.abs-pkg-featured{
  border-color:#E8C880;
  background:linear-gradient(180deg, #1A1814 0%, #15130F 100%);
}
.abs-pkg-flag{
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:#E8C880; color:#0E0D0B;
  font-size:10px; letter-spacing:0.32em; text-transform:uppercase;
  font-weight:700;
  padding:6px 16px;
}
.abs-pkg-head{ margin-bottom:24px; }
.abs-pkg-name{
  font-family:'Space Grotesk',sans-serif;
  font-size:32px; font-weight:700;
  color:#F5F2EC; letter-spacing:-0.02em;
  margin-bottom:6px;
}
.abs-pkg-sub{
  font-size:13px; letter-spacing:0.18em; text-transform:uppercase;
  color:rgba(245,242,236,0.55); font-weight:500;
}
.abs-pkg-price{
  display:flex; align-items:baseline; gap:8px;
  margin-bottom:22px;
  padding-bottom:24px;
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.abs-pkg-from{
  font-size:13px; letter-spacing:0.18em; text-transform:uppercase;
  color:rgba(245,242,236,0.5);
}
.abs-pkg-amt{
  font-family:'Space Grotesk',sans-serif;
  font-size:42px; font-weight:700;
  color:#E8C880; letter-spacing:-0.02em;
}
.abs-pkg-blurb{
  font-size:15px; color:rgba(245,242,236,0.75);
  line-height:1.6; margin-bottom:24px;
}
.abs-pkg-feats{
  list-style:none; padding:0; margin:0 0 28px;
  flex:1;
}
.abs-pkg-feats li{
  position:relative; padding:9px 0 9px 22px;
  color:rgba(245,242,236,0.85); font-size:14px;
  line-height:1.5;
}
.abs-pkg-feats li::before{
  content:'+';
  position:absolute; left:0; top:8px;
  color:#E8C880; font-weight:700; font-size:14px;
}
.abs-pkg-feats li:first-child{ font-weight:600; color:#E8C880; }
.abs-pkg-feats li:first-child::before{ content:''; }
.abs-pkg-time{
  font-size:11px; letter-spacing:0.32em; text-transform:uppercase;
  color:rgba(245,242,236,0.5); margin-bottom:18px;
  padding-top:18px; border-top:1px solid rgba(255,255,255,0.08);
}
.abs-pkg-btn{
  display:block; text-align:center;
  font-size:13px; letter-spacing:0.22em; text-transform:uppercase;
  font-weight:600;
  padding:16px;
  border:1px solid rgba(245,242,236,0.3);
  color:#F5F2EC;
  transition:all .25s;
}
.abs-pkg-btn:hover{ background:#F5F2EC; color:#0E0D0B; }
.abs-pkg-btn-primary{ background:#E8C880; color:#0E0D0B !important; border-color:#E8C880; }
.abs-pkg-btn-primary:hover{ background:#F0D898; }
.abs-pkg-note{
  text-align:center;
  color:rgba(245,242,236,0.55);
  font-size:13px; line-height:1.6;
  max-width:760px; margin:0 auto;
}

/* ADD-ONS */
.abs-addons{ padding:120px 32px; background:#15130F; }
.abs-addons-grid{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.08);
}
.abs-addon{
  background:#15130F;
  padding:36px 32px;
  display:flex; flex-direction:column;
  transition:background .35s;
}
.abs-addon:hover{ background:#1A1814; }
.abs-addon h4{
  font-family:'Space Grotesk',sans-serif;
  font-size:18px; font-weight:600;
  color:#F5F2EC; margin-bottom:12px;
  letter-spacing:-0.005em;
}
.abs-addon p{ color:rgba(245,242,236,0.7); font-size:14px; line-height:1.55; margin-bottom:20px; flex:1; }
.abs-addon-price{
  font-family:'Space Grotesk',sans-serif;
  font-size:18px; font-weight:600;
  color:#E8C880;
  padding-top:14px; border-top:1px solid rgba(255,255,255,0.1);
}

/* PROCESS */
.abs-process{ padding:140px 32px; background:#0E0D0B; }
.abs-process-rail{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:32px;
}
.abs-step{
  padding:36px 28px;
  border-left:2px solid #E8C880;
  background:#15130F;
}
.abs-step-num{
  font-family:'Space Grotesk',sans-serif;
  font-size:14px; font-weight:700;
  color:#E8C880; letter-spacing:0.04em;
  margin-bottom:14px;
}
.abs-step-label{
  font-family:'Space Grotesk',sans-serif;
  font-size:22px; font-weight:600;
  color:#F5F2EC; margin-bottom:14px;
  letter-spacing:-0.01em;
}
.abs-step p{ color:rgba(245,242,236,0.7); font-size:14.5px; line-height:1.6; }

/* WHO IT'S FOR */
.abs-fit{ padding:140px 32px; background:#15130F; }
.abs-fit-grid{
  display:grid; grid-template-columns:1fr 1fr;
  gap:32px;
  max-width:1100px; margin:0 auto;
}
.abs-fit-col{
  padding:50px 44px;
  background:#1A1814;
  border-top:3px solid;
}
.abs-fit-yes{ border-color:#5BA75B; }
.abs-fit-no{ border-color:#A75B5B; }
.abs-fit-mark{
  font-size:32px; font-weight:700;
  margin-bottom:18px;
}
.abs-fit-yes .abs-fit-mark{ color:#5BA75B; }
.abs-fit-no .abs-fit-mark{ color:#A75B5B; }
.abs-fit-col h3{
  font-family:'Space Grotesk',sans-serif;
  font-size:24px; font-weight:600;
  color:#F5F2EC; margin-bottom:24px;
  letter-spacing:-0.01em;
}
.abs-fit-col ul{ list-style:none; padding:0; margin:0; }
.abs-fit-col li{
  color:rgba(245,242,236,0.82);
  font-size:15px; line-height:1.6;
  padding:11px 0;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.abs-fit-col li:last-child{ border-bottom:none; }

/* FAQ */
.abs-faq{ padding:140px 32px; background:#0E0D0B; }
.abs-faq-list{ max-width:880px; margin:0 auto; }
.abs-faq-item{
  border-bottom:1px solid rgba(255,255,255,0.12);
  padding:8px 0;
}
.abs-faq-item summary{
  font-family:'Space Grotesk',sans-serif;
  font-size:19px; font-weight:600;
  color:#F5F2EC;
  padding:22px 40px 22px 0;
  cursor:pointer;
  position:relative;
  list-style:none;
  letter-spacing:-0.005em;
  transition:color .2s;
}
.abs-faq-item summary::-webkit-details-marker{ display:none; }
.abs-faq-item summary::after{
  content:'+'; position:absolute; right:0; top:18px;
  font-size:24px; color:#E8C880;
  transition:transform .25s;
}
.abs-faq-item[open] summary::after{ transform:rotate(45deg); }
.abs-faq-item summary:hover{ color:#E8C880; }
.abs-faq-item p{
  color:rgba(245,242,236,0.75);
  font-size:15.5px; line-height:1.7;
  padding:0 60px 26px 0;
  max-width:780px;
}

/* CONTACT */
.abs-contact{ padding:140px 32px; background:#15130F; }
.abs-contact-grid{
  display:grid; grid-template-columns:1fr 1fr;
  gap:80px; align-items:start;
}
.abs-contact-left .abs-kicker{ margin-bottom:24px; }
.abs-contact-left p{
  color:rgba(245,242,236,0.75);
  font-size:17px; line-height:1.7;
  margin-bottom:42px; max-width:480px;
}
.abs-contact-perks{
  display:grid; grid-template-columns:repeat(3,1fr); gap:32px;
  padding-top:32px; border-top:1px solid rgba(255,255,255,0.1);
}
.abs-contact-perks > div b{
  display:block;
  font-family:'Space Grotesk',sans-serif;
  font-size:28px; font-weight:700;
  color:#E8C880; line-height:1; margin-bottom:8px;
  letter-spacing:-0.01em;
}
.abs-contact-perks > div span{
  font-size:11px; letter-spacing:0.18em; text-transform:uppercase;
  color:rgba(245,242,236,0.55);
}
.abs-form{
  background:#0E0D0B;
  border:1px solid rgba(255,255,255,0.12);
  padding:42px 38px;
}
.abs-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.abs-form-full{ display:block; margin-bottom:18px; }
.abs-form-label{
  display:block;
  font-size:10.5px; letter-spacing:0.28em; text-transform:uppercase;
  color:rgba(245,242,236,0.55); font-weight:600;
  margin-bottom:8px;
}
.abs-form input,
.abs-form select,
.abs-form textarea{
  width:100%;
  font-family:'Space Grotesk',sans-serif; font-size:15px;
  color:#F5F2EC;
  background:#15130F;
  border:1px solid rgba(255,255,255,0.12);
  padding:14px 16px;
  outline:none;
  transition:border-color .25s;
}
.abs-form input:focus,
.abs-form select:focus,
.abs-form textarea:focus{ border-color:#E8C880; }
.abs-form textarea{ resize:vertical; min-height:100px; line-height:1.5; }
.abs-form-submit{
  width:100%; margin-top:14px;
  font-family:'Space Grotesk',sans-serif;
  font-size:13px; letter-spacing:0.22em; text-transform:uppercase;
  font-weight:700;
  background:#E8C880; color:#0E0D0B;
  border:none; padding:18px;
  cursor:pointer;
  transition:background .25s, transform .15s;
}
.abs-form-submit:hover{ background:#F0D898; transform:translateY(-2px); }

/* FOOTER */
.abs-footer{ padding:60px 32px 40px; background:#0E0D0B; border-top:1px solid rgba(255,255,255,0.08); }
.abs-footer-inner{ display:grid; grid-template-columns:2fr 1fr; gap:40px; }
.abs-footer-name{
  font-family:'Space Grotesk',sans-serif;
  font-size:20px; font-weight:700;
  color:#E8C880; margin-bottom:12px;
  letter-spacing:-0.01em;
}
.abs-footer-brand p{ color:rgba(245,242,236,0.6); font-size:14px; line-height:1.6; max-width:480px; }
.abs-footer-meta{ font-size:14px; color:rgba(245,242,236,0.7); line-height:1.8; }
.abs-footer-bot{
  grid-column:1 / -1;
  padding-top:32px; margin-top:32px;
  border-top:1px solid rgba(255,255,255,0.08);
  font-size:12px; color:rgba(245,242,236,0.45);
  letter-spacing:0.04em;
}
.abs-footer-bot a{ color:#E8C880; }
.abs-footer-bot a:hover{ color:#F0D898; }

/* RESPONSIVE */
@media (max-width:1024px){
  .abs-services-grid{ grid-template-columns:repeat(2,1fr); }
  .abs-pkgs-grid{ grid-template-columns:1fr; }
  .abs-pkg-featured{ order:-1; }
  .abs-addons-grid{ grid-template-columns:repeat(2,1fr); }
  .abs-process-rail{ grid-template-columns:repeat(2,1fr); }
  .abs-why-grid,
  .abs-contact-grid{ grid-template-columns:1fr; gap:48px; }
  .abs-fit-grid{ grid-template-columns:1fr; }
}
@media (max-width:680px){
  .abs-nav-right{ gap:18px; }
  .abs-nav-right a:not(.abs-nav-cta){ display:none; }
  .abs-hero{ padding:90px 24px 60px; }
  .abs-hero-meta{ grid-template-columns:1fr; gap:32px; }
  .abs-why,
  .abs-services,
  .abs-pkgs,
  .abs-addons,
  .abs-process,
  .abs-fit,
  .abs-faq,
  .abs-contact{ padding:80px 24px; }
  .abs-section-head{ margin-bottom:54px; }
  .abs-services-grid,
  .abs-addons-grid,
  .abs-process-rail{ grid-template-columns:1fr; }
  .abs-form-row{ grid-template-columns:1fr; }
  .abs-contact-perks{ grid-template-columns:1fr; }
  .abs-footer-inner{ grid-template-columns:1fr; }
}

/* ================================================================ BELIZE (dedicated venture page) */
/* Tropical-editorial: deep teal / sand cream / coral accents */

.bz-body{
  background:#F6F1E6;
  color:#1B2829;
  font-family:'Jost',sans-serif;
  -webkit-font-smoothing:antialiased;
}
.bz-body a{ color:inherit; text-decoration:none; }
.bz-wrap{ max-width:1320px; margin:0 auto; padding:0 32px; }

/* NAV */
.bz-nav{
  position:sticky; top:0; z-index:100;
  display:flex; justify-content:space-between; align-items:center;
  padding:16px 32px;
  background:rgba(246,241,230,0.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(14,63,68,0.1);
}
.bz-back{
  font-size:13px; letter-spacing:0.04em;
  color:#0E3F44; font-weight:500;
  transition:color .2s;
}
.bz-back:hover{ color:#D17B5E; }
.bz-nav-right{ display:flex; gap:28px; align-items:center; }
.bz-nav-right a{
  font-size:12px; letter-spacing:0.22em; text-transform:uppercase;
  color:#0E3F44; font-weight:500;
  transition:color .2s;
}
.bz-nav-right a:hover{ color:#D17B5E; }
.bz-nav-cta{
  background:#0E3F44; color:#F6F1E6 !important;
  padding:11px 22px;
  font-weight:600;
}
.bz-nav-cta:hover{ background:#D17B5E !important; color:#FFFFFF !important; }

/* HERO */
.bz-hero{
  position:relative; min-height:100vh;
  display:flex; align-items:center;
  padding:140px 32px 100px;
  overflow:hidden;
  color:#FFFFFF;
}
.bz-hero-bg{
  position:absolute; inset:0; z-index:-2;
  background-size:cover; background-position:center;
}
.bz-hero-overlay{
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg,
    rgba(14,63,68,0.4) 0%,
    rgba(14,63,68,0.55) 60%,
    rgba(14,63,68,0.85) 100%);
}
.bz-hero-inner{ position:relative; z-index:2; max-width:1320px; width:100%; margin:0 auto; }
.bz-hero-tag{
  display:inline-block;
  font-size:11px; letter-spacing:0.42em; text-transform:uppercase;
  color:#E8C880; font-weight:600;
  padding:8px 18px;
  border:1px solid rgba(232,200,128,0.4);
  margin-bottom:42px;
}
.bz-hero-h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(56px,8vw,128px);
  font-weight:400; line-height:0.96;
  letter-spacing:-0.02em;
  color:#FFFFFF;
  margin-bottom:38px;
  max-width:1100px;
}
.bz-hero-h1 .bz-italic{
  display:block;
  font-style:italic;
  color:#E8C880;
  font-weight:300;
}
.bz-hero-sub{
  font-family:'Jost',sans-serif;
  font-size:18px; line-height:1.65;
  color:rgba(255,255,255,0.88);
  max-width:600px;
  margin-bottom:64px;
}
.bz-hero-meta{
  display:grid; grid-template-columns:repeat(4,auto); gap:48px;
  padding-top:42px;
  border-top:1px solid rgba(255,255,255,0.18);
}
.bz-meta-item b{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-size:38px; font-weight:500;
  color:#E8C880; line-height:1; margin-bottom:8px;
  letter-spacing:-0.005em;
  font-style:italic;
}
.bz-meta-item span{
  font-size:11.5px; letter-spacing:0.22em; text-transform:uppercase;
  color:rgba(255,255,255,0.7);
}

/* SECTION HEADS */
.bz-section-head{ max-width:840px; margin:0 auto 64px; text-align:center; }
.bz-section-head-light{ color:#FFFFFF; }
.bz-kicker{
  display:inline-block;
  font-size:11px; letter-spacing:0.42em; text-transform:uppercase;
  color:#D17B5E; font-weight:600;
  margin-bottom:24px;
}
.bz-section-head-light .bz-kicker{ color:#E8C880; }
.bz-section-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(38px,5vw,72px);
  font-weight:400; line-height:1.04;
  color:#0E3F44; margin-bottom:24px;
  letter-spacing:-0.005em;
}
.bz-section-head h2 em{ font-style:italic; color:#D17B5E; }
.bz-section-head-light h2{ color:#FFFFFF; }
.bz-section-head-light h2 em{ color:#E8C880; }
.bz-section-head p{ color:rgba(27,40,41,0.7); font-size:17px; line-height:1.7; }
.bz-section-head-light p{ color:rgba(255,255,255,0.78); }

/* WHY */
.bz-why{ padding:130px 32px; background:#F6F1E6; }
.bz-why-grid{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:22px; max-width:1240px; margin:0 auto;
}
.bz-why-card{
  background:#FFFFFF;
  padding:38px 32px 34px;
  border:1px solid rgba(14,63,68,0.08);
  border-top:3px solid #0E3F44;
  transition:transform .35s, box-shadow .35s;
}
.bz-why-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(14,63,68,0.08); }
.bz-why-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:52px;
  background:#0E3F44; color:#E8C880;
  font-family:'Cormorant Garamond',serif;
  font-size:18px; font-weight:500; font-style:italic;
  margin-bottom:22px;
  letter-spacing:-0.005em;
}
.bz-why-card h3{
  font-family:'Cormorant Garamond',serif;
  font-size:26px; font-weight:500;
  color:#0E3F44; margin-bottom:12px;
  letter-spacing:-0.005em;
}
.bz-why-card p{ color:rgba(27,40,41,0.75); font-size:14.5px; line-height:1.6; }

/* DESTINATIONS */
.bz-dest{ padding:130px 32px; background:#0E3F44; }
.bz-dest-grid{
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:24px; max-width:1240px; margin:0 auto;
}
.bz-dest-card{
  background:#0E3F44;
  border:1px solid rgba(232,200,128,0.18);
  overflow:hidden;
  display:flex; flex-direction:column;
  transition:transform .35s, border-color .35s;
}
.bz-dest-card:hover{ transform:translateY(-4px); border-color:rgba(232,200,128,0.5); }
.bz-dest-feature{
  grid-column:1 / -1;
  display:grid; grid-template-columns:1fr 1fr;
}
.bz-dest-img{
  background-size:cover; background-position:center;
  min-height:260px;
}
.bz-dest-feature .bz-dest-img{ min-height:420px; }
.bz-dest-body{ padding:32px 30px 28px; color:#F6F1E6; }
.bz-dest-feature .bz-dest-body{ padding:50px 44px; }
.bz-dest-tag{
  font-family:'Jost',sans-serif;
  font-size:10.5px; letter-spacing:0.32em; text-transform:uppercase;
  color:#E8C880; font-weight:600;
  margin-bottom:14px;
}
.bz-dest-body h3{
  font-family:'Cormorant Garamond',serif;
  font-size:32px; font-weight:500;
  color:#FFFFFF; margin-bottom:14px;
  letter-spacing:-0.005em;
}
.bz-dest-feature .bz-dest-body h3{ font-size:42px; }
.bz-dest-body > p{
  color:rgba(246,241,230,0.78);
  font-size:15px; line-height:1.65;
  margin-bottom:22px;
}
.bz-dest-meta{ list-style:none; padding:18px 0 0; margin:0; border-top:1px solid rgba(232,200,128,0.18); }
.bz-dest-meta li{
  padding:7px 0; font-size:13px;
  color:rgba(246,241,230,0.82); line-height:1.55;
}
.bz-dest-meta b{
  display:inline-block; min-width:90px;
  font-family:'Jost',sans-serif;
  font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase;
  color:#E8C880; font-weight:600;
  margin-right:8px;
}

/* MY STORY */
.bz-story{ padding:130px 32px; background:#F6F1E6; }
.bz-story-grid{
  display:grid; grid-template-columns:1fr 1.4fr;
  gap:60px; align-items:center; max-width:1240px; margin:0 auto;
}
.bz-story-img{
  background-size:cover; background-position:center top;
  aspect-ratio:3/4;
  filter:grayscale(0.15) sepia(0.05);
}
.bz-story-text .bz-kicker{ margin-bottom:22px; }
.bz-story-text h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(36px,4.4vw,58px);
  font-weight:400; line-height:1.06;
  color:#0E3F44; margin-bottom:30px;
  letter-spacing:-0.005em;
}
.bz-story-text h2 em{ font-style:italic; color:#D17B5E; }
.bz-story-text p{
  color:rgba(27,40,41,0.78);
  font-size:17px; line-height:1.75;
  margin-bottom:20px; max-width:640px;
}
.bz-story-sig{
  margin-top:32px; padding-top:28px;
  border-top:1px solid rgba(14,63,68,0.18);
}
.bz-story-sig-name{
  font-family:'Cormorant Garamond',serif;
  font-size:24px; font-style:italic;
  color:#0E3F44; margin-bottom:6px;
}
.bz-story-sig-role{
  font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
  color:#D17B5E; font-weight:600;
}

/* COUNTRY AT A GLANCE */
.bz-facts{ padding:130px 32px; background:#EAE4D2; }
.bz-facts-grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:0; max-width:1240px; margin:0 auto;
  border:1px solid rgba(14,63,68,0.18);
}
.bz-fact{
  text-align:center;
  padding:36px 20px;
  border-right:1px solid rgba(14,63,68,0.12);
  border-bottom:1px solid rgba(14,63,68,0.12);
  background:#F6F1E6;
}
.bz-fact:nth-child(4n){ border-right:none; }
.bz-fact:nth-last-child(-n+4){ border-bottom:none; }
.bz-fact b{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-size:34px; font-weight:500; font-style:italic;
  color:#0E3F44; line-height:1; margin-bottom:12px;
  letter-spacing:-0.005em;
}
.bz-fact span{
  font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
  color:rgba(27,40,41,0.65); font-weight:500;
}

/* INVESTMENT INTELLIGENCE */
.bz-invest{ padding:130px 32px; background:#F6F1E6; }
.bz-invest-grid{
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:24px; max-width:1240px; margin:0 auto;
}
.bz-invest-card{
  background:#FFFFFF;
  padding:42px 38px;
  border-left:3px solid #D17B5E;
  box-shadow:0 4px 22px rgba(14,63,68,0.05);
}
.bz-invest-card h3{
  font-family:'Cormorant Garamond',serif;
  font-size:28px; font-weight:500;
  color:#0E3F44; margin-bottom:22px;
  padding-bottom:14px; border-bottom:1px solid rgba(14,63,68,0.12);
  letter-spacing:-0.005em;
}
.bz-invest-card ul{ list-style:none; padding:0; margin:0; }
.bz-invest-card li{
  position:relative;
  padding:10px 0 10px 22px;
  font-size:14.5px; color:rgba(27,40,41,0.8);
  line-height:1.6;
  border-bottom:1px solid rgba(14,63,68,0.06);
}
.bz-invest-card li:last-child{ border-bottom:none; }
.bz-invest-card li::before{
  content:'';
  position:absolute; left:0; top:18px;
  width:6px; height:6px;
  background:#D17B5E;
  transform:rotate(45deg);
}

/* HOW I HELP */
.bz-help{ padding:130px 32px; background:#0E3F44; }
.bz-help-grid{
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:24px; max-width:1100px; margin:0 auto;
}
.bz-help-card{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(232,200,128,0.2);
  padding:42px 36px 38px;
  color:#F6F1E6;
}
.bz-help-card-no{ border-color:rgba(209,123,94,0.4); }
.bz-help-card h3{
  font-family:'Cormorant Garamond',serif;
  font-size:26px; font-weight:500;
  color:#E8C880; margin-bottom:18px;
  letter-spacing:-0.005em;
}
.bz-help-card-no h3{ color:#D17B5E; }
.bz-help-card p{ color:rgba(246,241,230,0.78); font-size:15px; line-height:1.7; }

/* CONTACT */
.bz-contact{ padding:130px 32px; background:#F6F1E6; }
.bz-contact-grid{
  display:grid; grid-template-columns:1fr 1.1fr;
  gap:70px; align-items:start; max-width:1240px; margin:0 auto;
}
.bz-contact-left .bz-kicker{ margin-bottom:22px; }
.bz-contact-left h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(36px,4.4vw,58px);
  font-weight:400; line-height:1.06;
  color:#0E3F44; margin-bottom:24px;
  letter-spacing:-0.005em;
}
.bz-contact-left h2 em{ font-style:italic; color:#D17B5E; }
.bz-contact-left p{
  color:rgba(27,40,41,0.75);
  font-size:17px; line-height:1.7;
  margin-bottom:38px; max-width:500px;
}
.bz-contact-perks{
  display:grid; grid-template-columns:repeat(3,1fr); gap:32px;
  padding-top:28px; border-top:1px solid rgba(14,63,68,0.18);
}
.bz-contact-perks > div b{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-size:30px; font-weight:500; font-style:italic;
  color:#0E3F44; line-height:1; margin-bottom:8px;
  letter-spacing:-0.005em;
}
.bz-contact-perks > div span{
  font-size:11px; letter-spacing:0.22em; text-transform:uppercase;
  color:#D17B5E; font-weight:600;
}
.bz-form{
  background:#FFFFFF;
  padding:42px 38px;
  border:1px solid rgba(14,63,68,0.12);
  box-shadow:0 12px 40px rgba(14,63,68,0.06);
}
.bz-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:18px; }
.bz-form-full{ display:block; margin-bottom:18px; }
.bz-form-label{
  display:block;
  font-size:10.5px; letter-spacing:0.28em; text-transform:uppercase;
  color:#0E3F44; font-weight:600;
  margin-bottom:8px;
}
.bz-form input,
.bz-form select,
.bz-form textarea{
  width:100%;
  font-family:'Jost',sans-serif; font-size:14.5px;
  color:#1B2829;
  background:#F6F1E6;
  border:1px solid rgba(14,63,68,0.18);
  padding:13px 15px;
  outline:none;
  transition:border-color .25s, box-shadow .25s;
}
.bz-form input:focus,
.bz-form select:focus,
.bz-form textarea:focus{
  border-color:#D17B5E;
  box-shadow:0 0 0 3px rgba(209,123,94,0.12);
}
.bz-form textarea{ resize:vertical; min-height:100px; line-height:1.5; }
.bz-form-submit{
  width:100%; margin-top:8px;
  font-family:'Jost',sans-serif;
  font-size:13px; letter-spacing:0.22em; text-transform:uppercase;
  font-weight:600;
  background:#0E3F44; color:#F6F1E6;
  border:none; padding:18px;
  cursor:pointer;
  transition:background .25s, transform .15s;
}
.bz-form-submit:hover{ background:#D17B5E; transform:translateY(-2px); }

/* FOOTER */
.bz-footer{ padding:60px 32px 40px; background:#0E3F44; color:#F6F1E6; }
.bz-footer-inner{ display:grid; grid-template-columns:2fr 1fr; gap:40px; }
.bz-footer-name{
  font-family:'Cormorant Garamond',serif;
  font-size:22px; font-style:italic;
  color:#E8C880; margin-bottom:12px;
  letter-spacing:-0.005em;
}
.bz-footer-brand p{ color:rgba(246,241,230,0.7); font-size:14px; line-height:1.6; max-width:480px; }
.bz-footer-meta{ font-size:14px; color:rgba(246,241,230,0.78); line-height:1.8; }
.bz-footer-bot{
  grid-column:1 / -1;
  padding-top:28px; margin-top:28px;
  border-top:1px solid rgba(232,200,128,0.2);
  font-size:12px; color:rgba(246,241,230,0.5);
  letter-spacing:0.04em;
}
.bz-footer-bot a{ color:#E8C880; }
.bz-footer-bot a:hover{ color:#F0D898; }

/* RESPONSIVE */
@media (max-width:1024px){
  .bz-why-grid,
  .bz-help-grid,
  .bz-invest-grid{ grid-template-columns:1fr; }
  .bz-dest-grid{ grid-template-columns:1fr; }
  .bz-dest-feature{ grid-template-columns:1fr; }
  .bz-dest-feature .bz-dest-img{ min-height:320px; }
  .bz-story-grid,
  .bz-contact-grid{ grid-template-columns:1fr; gap:48px; }
  .bz-facts-grid{ grid-template-columns:repeat(2,1fr); }
  .bz-fact:nth-child(2n){ border-right:none; }
  .bz-fact:nth-child(4n){ border-right:1px solid rgba(14,63,68,0.12); }
  .bz-fact:nth-last-child(-n+4){ border-bottom:1px solid rgba(14,63,68,0.12); }
  .bz-fact:nth-last-child(-n+2){ border-bottom:none; }
}
@media (max-width:680px){
  .bz-nav-right{ gap:14px; }
  .bz-nav-right a:not(.bz-nav-cta){ display:none; }
  .bz-hero{ padding:100px 24px 70px; }
  .bz-hero-meta{ grid-template-columns:1fr 1fr; gap:28px; }
  .bz-why,
  .bz-dest,
  .bz-story,
  .bz-facts,
  .bz-invest,
  .bz-help,
  .bz-contact{ padding:80px 24px; }
  .bz-facts-grid{ grid-template-columns:1fr; }
  .bz-fact{ border-right:none !important; }
  .bz-form-row{ grid-template-columns:1fr; }
  .bz-contact-perks{ grid-template-columns:1fr; }
  .bz-footer-inner{ grid-template-columns:1fr; }
}

/* ============================================================ IDX BROKER WIDGET WRAPPERS */
.idx-featured-wrap,
.idx-sold-wrap,
.idx-slideshow-wrap,
.idx-map-wrap{
  margin:40px 0 30px;
  min-height:200px;
  font-family:'Jost',sans-serif;
}
.idx-slideshow-wrap{ min-height:420px; margin:30px 0; }
.idx-map-wrap{ min-height:480px; }
.dsc-quicksearch-wrap{
  margin:48px auto 0;
  max-width:980px;
  background:#FFFFFF;
  padding:24px 28px;
  box-shadow:0 24px 60px rgba(0,0,0,0.35);
  font-family:'Jost',sans-serif;
  min-height:80px;
}
.dsc-quicksearch-wrap input,
.dsc-quicksearch-wrap select,
.dsc-quicksearch-wrap button{
  font-family:'Jost',sans-serif !important;
}
.idx-featured-wrap .IDX-showcaseCarousel,
.idx-featured-wrap .IDX-showcase,
.idx-featured-wrap .IDX-showcaseProperty,
.idx-sold-wrap .IDX-showcase,
.idx-slideshow-wrap .IDX-showcase,
.idx-map-wrap iframe{
  font-family:'Jost',sans-serif !important;
}
.discover-map-sec{ background:var(--cream-2); }

/* ===========================================================
   TOWN LISTINGS SECTION — IDX grid widget on town landing pages
   =========================================================== */
.town-listings{ background:var(--cream-2); }
.town-listings .wrap{ max-width:1640px; padding:0 32px; }
.town-listings-head{ text-align:center; margin-bottom:54px; }
.town-listings-head .kicker{
  display:block;
  font-family:'Jost',sans-serif;
  font-size:12px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--wine);
  margin-bottom:18px;
}
.town-listings-head h2{
  font-family:'Cormorant Garamond',serif;
  font-weight:400;
  font-size:clamp(36px,5.2vw,58px);
  line-height:1.05;
  color:var(--ink);
  margin:0 0 18px;
}
.town-listings-head h2 em{ font-style:italic; color:var(--wine); }
.town-listings-head p{
  font-family:'Jost',sans-serif;
  font-size:16px;
  color:rgba(22,19,14,0.7);
  max-width:580px;
  margin:0 auto;
  line-height:1.6;
}
/* Town pages now use .idx-slideshow-wrap instead — see unified IDX block at end of file */
.town-listings-foot{ text-align:center; }
.town-listings-foot .btn-out{
  display:inline-block;
  padding:14px 32px;
  font-family:'Jost',sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--ink);
  background:transparent;
  border:1px solid var(--ink);
  transition:background .25s, color .25s;
}
.town-listings-foot .btn-out:hover{
  background:var(--ink);
  color:var(--cream);
}
@media (max-width:720px){
  .town-listings .wrap{ padding:0 16px; }
}

/* ===========================================================
   TOWN GALLERY (3-image inline) + LIFESTYLE GRID (6-image)
   =========================================================== */
.town-gallery{ background:var(--cream); padding:80px 0; }
.town-gallery .wrap{ max-width:1440px; }
.town-gallery-head{ text-align:center; margin-bottom:48px; }
.town-gallery-head .kicker{
  display:block; font-family:'Jost',sans-serif; font-size:12px;
  letter-spacing:0.28em; text-transform:uppercase;
  color:var(--wine); margin-bottom:18px;
}
.town-gallery-head h2{
  font-family:'Cormorant Garamond',serif; font-weight:400;
  font-size:clamp(32px,4.4vw,52px); line-height:1.08;
  color:var(--ink); margin:0;
}
.town-gallery-head h2 em{ font-style:italic; color:var(--wine); }
.town-gallery-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
  margin:0 auto;
}
.town-gallery-item{ position:relative; overflow:hidden; }
.town-gallery-item img{
  width:100%; height:100%; aspect-ratio:4/3;
  object-fit:cover; display:block;
  transition:transform .6s ease;
}
.town-gallery-item:hover img{ transform:scale(1.04); }
.town-gallery-cap{
  position:absolute; left:0; right:0; bottom:0;
  padding:18px 22px;
  background:linear-gradient(transparent 0%, rgba(16,13,9,0.85) 100%);
  color:#FFFFFF; font-family:'Jost',sans-serif;
  font-size:12px; letter-spacing:0.18em;
  text-transform:uppercase; font-weight:500;
}
@media (max-width:780px){
  .town-gallery-grid{ grid-template-columns:1fr; }
}

.town-lifestyle{ background:var(--cream-2); padding:100px 0; }
.town-lifestyle .wrap{ max-width:1440px; }
.town-lifestyle-head{ text-align:center; margin-bottom:54px; }
.town-lifestyle-head .kicker{
  display:block; font-family:'Jost',sans-serif; font-size:12px;
  letter-spacing:0.28em; text-transform:uppercase;
  color:var(--wine); margin-bottom:18px;
}
.town-lifestyle-head h2{
  font-family:'Cormorant Garamond',serif; font-weight:400;
  font-size:clamp(34px,4.6vw,56px); line-height:1.08;
  color:var(--ink); margin:0 0 14px;
}
.town-lifestyle-head h2 em{ font-style:italic; color:var(--wine); }
.town-lifestyle-head p{
  font-family:'Jost',sans-serif; font-size:15.5px;
  color:rgba(22,19,14,0.7); max-width:620px; margin:0 auto; line-height:1.6;
}
.town-lifestyle-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
}
.town-lifestyle-item{ position:relative; overflow:hidden; }
.town-lifestyle-item img{
  width:100%; height:100%; aspect-ratio:1/1;
  object-fit:cover; display:block;
  transition:transform .6s ease;
}
.town-lifestyle-item:hover img{ transform:scale(1.05); }
.town-lifestyle-cap{
  position:absolute; left:0; right:0; bottom:0;
  padding:16px 20px;
  background:linear-gradient(transparent 0%, rgba(16,13,9,0.9) 100%);
  color:#FFFFFF; font-family:'Jost',sans-serif;
  font-size:11px; letter-spacing:0.22em;
  text-transform:uppercase; font-weight:600;
}
@media (max-width:860px){
  .town-lifestyle-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:520px){
  .town-lifestyle-grid{ grid-template-columns:1fr; }
}

/* Belize story — compensation disclosure paragraph */
.bz-story-disclosure{
  margin-top:28px !important;
  padding:22px 26px !important;
  background:rgba(14,63,68,0.06);
  border-left:3px solid #0E3F44;
  font-size:15px !important;
  line-height:1.7 !important;
}
.bz-story-disclosure strong{
  color:#0E3F44;
}

/* ===========================================================
   BELIZE — Real Estate accordion bullets (bz-bullets/bz-bullet)
   =========================================================== */
.bz-bullets{
  display:flex;
  flex-direction:column;
}
.bz-bullet{
  border-bottom:1px solid rgba(14,63,68,0.10);
}
.bz-bullet:last-child{
  border-bottom:none;
}
.bz-bullet > summary{
  list-style:none;
  cursor:pointer;
  position:relative;
  padding:16px 36px 16px 22px;
  font-family:'Jost',sans-serif;
  font-size:15px;
  line-height:1.55;
  color:#16130E;
  transition:color .2s;
  outline:none;
}
.bz-bullet > summary::-webkit-details-marker{ display:none; }
.bz-bullet > summary::before{
  content:'';
  position:absolute;
  left:0;
  top:24px;
  width:8px;
  height:8px;
  background:#C36B4E;
  transform:rotate(45deg);
  transition:background .25s, transform .35s;
}
.bz-bullet[open] > summary::before{
  background:#0E3F44;
  transform:rotate(135deg) scale(1.05);
}
.bz-bullet > summary::after{
  content:'+';
  position:absolute;
  right:6px;
  top:50%;
  transform:translateY(-50%);
  font-family:'Jost',sans-serif;
  font-size:22px;
  font-weight:300;
  color:rgba(14,63,68,0.5);
  transition:transform .25s, color .25s;
  line-height:1;
}
.bz-bullet[open] > summary::after{
  content:'−';
  color:#0E3F44;
}
.bz-bullet > summary:hover{
  color:#0E3F44;
}
.bz-bullet > summary:focus-visible{
  outline:2px solid #C36B4E;
  outline-offset:2px;
  border-radius:2px;
}
.bz-bullet-body{
  padding:0 36px 22px 22px;
  color:rgba(22,19,14,0.78);
  font-family:'Jost',sans-serif;
  font-size:14.5px;
  line-height:1.75;
  animation:bzBulletReveal .25s ease-out;
}
.bz-bullet-body p{
  margin:0 0 12px;
}
.bz-bullet-body p:last-child{
  margin-bottom:0;
}
@keyframes bzBulletReveal{
  from{ opacity:0; transform:translateY(-4px); }
  to{ opacity:1; transform:translateY(0); }
}
@media (max-width:720px){
  .bz-bullet > summary{ padding:14px 32px 14px 20px; font-size:14.5px; }
  .bz-bullet-body{ padding:0 32px 18px 20px; font-size:14px; }
}

/* ===========================================================
   MOBILE ENHANCEMENTS — Site-wide mobile hardening
   Loaded last so these rules win cleanly.
   =========================================================== */

/* --- Universal: prevent horizontal scroll & image overflow --- */
html, body{
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
}
img, video, svg{
  max-width:100%;
  height:auto;
}
/* iframes need explicit height — never use height:auto (collapses to 0) */
iframe{
  max-width:100%;
}

/* --- Discover page safety: ensure iframes render at proper height --- */
.discover-frame{
  min-height:520px;
}
.discover-frame iframe{
  width:100% !important;
  height:100% !important;
  min-height:520px !important;
  display:block !important;
  border:0 !important;
}
.idx-map-wrap{
  min-height:480px;
}
.idx-map-wrap iframe{
  width:100% !important;
  height:100% !important;
  min-height:480px !important;
  display:block !important;
}

/* --- Fix iOS auto-zoom on form input focus (requires 16px+) --- */
@media (max-width:820px){
  .ffwrap input,
  .ffwrap textarea,
  .news-form input,
  .news-form select,
  .contact-form input,
  .contact-form select,
  .contact-form textarea,
  .hv-form input,
  .hv-form select,
  .hv-form textarea,
  .dsc-searchbar input,
  .dsc-searchbar select,
  .abs-form input,
  .abs-form select,
  .abs-form textarea,
  .bz-form input,
  .bz-form select,
  .bz-form textarea{
    font-size:16px !important;
  }
}

/* --- Universal: touch target hardening (44x44 min per Apple HIG) --- */
@media (max-width:820px){
  button,
  a.btn-fill,
  a.btn-out,
  a.nav-cta,
  a.nav-call,
  .abs-btn,
  .abs-pkg-btn,
  .abs-form-submit,
  .ffwrap button,
  .bz-form button,
  .bz-nav-cta,
  .abs-nav-cta,
  .m-cta{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .nav-call{
    padding:10px 12px;
  }
}

/* --- Universal: typography readability floor on mobile --- */
@media (max-width:560px){
  body{ font-size:16px; line-height:1.6; }
  p{ line-height:1.65; }
  h1{ line-height:1.1; }
  h2{ line-height:1.15; }
  h3{ line-height:1.25; }
}

/* --- Hero section padding tighten on small screens --- */
@media (max-width:640px){
  .page-head{ padding:120px 22px 90px; }
  .page-head h1{ font-size:clamp(42px,12vw,72px); }
  .page-head p{ font-size:16px; }
}

/* --- Hero stats / meta items single column on phones --- */
@media (max-width:560px){
  .hv-stats,
  .abs-hero-meta,
  .bz-hero-meta,
  .sr-commute-stats,
  .bz-contact-perks{
    display:grid !important;
    grid-template-columns:1fr;
    gap:14px;
    text-align:left;
  }
}

/* --- Section padding: less on phones (currently mostly 110px+) --- */
@media (max-width:640px){
  .pad{ padding:72px 22px; }
  .wrap, .wrap-narrow{ padding-left:0; padding-right:0; }
}

/* --- Belize destination cards stack cleanly --- */
@media (max-width:780px){
  .bz-dest-grid{
    grid-template-columns:1fr !important;
    gap:24px;
  }
  .bz-dest-card{ max-width:none; }
  .bz-dest-img{ height:220px; }
}

/* --- Belize accordion bullets: lighter padding on small screens --- */
@media (max-width:480px){
  .bz-bullet > summary{
    font-size:14px;
    padding:14px 30px 14px 18px;
  }
  .bz-bullet > summary::before{ top:22px; }
  .bz-bullet-body{
    padding:0 30px 16px 18px;
    font-size:13.5px;
    line-height:1.7;
  }
}

/* --- ABS package cards: comfortable mobile padding --- */
@media (max-width:560px){
  .abs-pkg{ padding:36px 24px 32px; }
  .abs-pkg-amt{ font-size:38px; }
  .abs-services-grid{ grid-template-columns:1fr !important; }
  .abs-addons-grid{ grid-template-columns:1fr !important; }
}

/* --- ABS hero typography on small screens --- */
@media (max-width:640px){
  .abs-hero-h1{ font-size:clamp(40px,10vw,64px) !important; }
  .abs-hero-sub{ font-size:16px; }
  .abs-pkgs{ padding:80px 18px; }
}

/* --- Belize hero on small screens --- */
@media (max-width:640px){
  .bz-hero-h1{ font-size:clamp(36px,9vw,56px); }
  .bz-hero-sub{ font-size:16px; }
  .bz-wrap{ padding-left:20px; padding-right:20px; }
}

/* --- Town listings widget area: comfortable phone padding --- */
@media (max-width:560px){
  .town-listings{ padding:60px 0; }
  .town-listings .wrap{ padding:0 16px; }
  .town-listings-head h2{ font-size:30px; line-height:1.1; }
  .town-listings-head p{ font-size:14.5px; }
}

/* --- Footer compactness --- */
@media (max-width:780px){
  .foot-main{
    grid-template-columns:1fr;
    gap:42px;
  }
  .foot-princ{
    grid-template-columns:1fr;
    gap:24px;
  }
  .foot-logos{
    flex-wrap:wrap;
    justify-content:center;
    gap:24px;
  }
  .foot-bottom{ text-align:center; }
}

/* --- Nav: ensure burger always visible & tappable on mobile --- */
@media (max-width:1040px){
  .nburger{
    display:flex;
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
  }
}

/* --- Discover page town pills: 2-col on phone --- */
@media (max-width:560px){
  .discover-mkts-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .dmkt{ padding:24px 22px; }
}

/* --- Mobile menu: tighter padding on small phones --- */
@media (max-width:480px){
  .m-menu{ padding:44px 28px 28px; }
  .m-brand{ margin-bottom:32px; }
  .m-cols{
    grid-template-columns:1fr;
    gap:18px;
  }
}

/* --- Stop tap-highlight (iOS gray flash) --- */
a, button, summary, [role="button"]{
  -webkit-tap-highlight-color:transparent;
}

/* --- Smoke Rise gallery: ensure it doesn't break on mobile --- */
@media (max-width:780px){
  .sr-gate-grid{
    grid-template-columns:1fr 1fr !important;
    grid-auto-rows:160px;
  }
  .sr-tile-lg, .sr-tile-md{
    grid-column:span 2 !important;
    grid-row:span 1 !important;
    height:240px !important;
  }
  .sr-tile-sm{
    grid-column:span 1 !important;
    grid-row:span 1 !important;
  }
}

/* --- Recently shipped: idx-wrapper safety --- */
@media (max-width:640px){
  body.idx-wrapper-body-class .wrap{ padding-left:18px; padding-right:18px; }
}

/* --- Form fields: comfortable mobile padding (in addition to font-size fix) --- */
@media (max-width:560px){
  .abs-form input,
  .abs-form select,
  .abs-form textarea,
  .bz-form input,
  .bz-form select,
  .bz-form textarea,
  .contact-form input,
  .contact-form select,
  .contact-form textarea,
  .hv-form input,
  .hv-form select,
  .hv-form textarea{
    padding:14px 16px;
  }
  .abs-form-row,
  .bz-form-row{
    grid-template-columns:1fr !important;
    gap:14px;
  }
}

/* ===========================================================
   IDX SLIDESHOW WRAP — Override IDX widget styling to give
   the homepage carousel a dramatic, full-width cinematic look
   similar to the original pcar carousel.
   =========================================================== */
.idx-slideshow-wrap{
  position:relative;
  margin-top:34px;
  background:var(--ink);
  overflow:hidden;
  min-height:300px;
}

/* Strip IDX's internal max-widths and padding */
.idx-slideshow-wrap > *,
.idx-slideshow-wrap [class*="IDX-"]:not(img):not(a){
  max-width:none !important;
}

/* Force the carousel container full-width */
.idx-slideshow-wrap [class*="IDX-widget"],
.idx-slideshow-wrap [class*="IDX-carousel"],
.idx-slideshow-wrap [class*="IDX-results"]{
  width:100% !important;
  max-width:100% !important;
  padding:0 !important;
  margin:0 !important;
}

/* IMAGES — full-width, cinematic 3:2 aspect ratio, dramatic */
.idx-slideshow-wrap img{
  width:100% !important;
  height:auto !important;
  display:block !important;
  object-fit:cover !important;
}

.idx-slideshow-wrap a[class*="IDX-photoLink"],
.idx-slideshow-wrap [class*="IDX-photoLink"],
.idx-slideshow-wrap [class*="IDX-result"] > a{
  display:block !important;
  width:100% !important;
  position:relative;
}

/* Square photo area matching the legacy widget cards */
.idx-slideshow-wrap a[class*="IDX-photoLink"] img,
.idx-slideshow-wrap [class*="IDX-result"] img{
  aspect-ratio:1/1 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* Force the card container itself to be square */
.idx-slideshow-wrap [class*="IDX-resultsCell"],
.idx-slideshow-wrap [class*="IDX-result"]:not(.idx-property-card):not([class*="resultsHeader"]),
.idx-slideshow-wrap .slick-slide > div{
  aspect-ratio:1/1 !important;
  overflow:hidden !important;
  position:relative !important;
}

/* And the photo link wrapper */
.idx-slideshow-wrap a[class*="IDX-photoLink"],
.idx-slideshow-wrap [class*="IDX-photoLink"]{
  aspect-ratio:1/1 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
}

/* Carousel SLIDE container — single full-width slide */
.idx-slideshow-wrap [class*="IDX-resultsCell"],
.idx-slideshow-wrap .slick-slide,
.idx-slideshow-wrap [class*="IDX-result"]{
  width:100% !important;
  flex:0 0 100% !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  position:relative;
}

/* OVERLAY — make the address/price/details prominent */
.idx-slideshow-wrap [class*="IDX-resultsAddress"],
.idx-slideshow-wrap [class*="IDX-resultsPrice"],
.idx-slideshow-wrap [class*="IDX-resultsDetail"]{
  font-family:'Tenor Sans',sans-serif !important;
  letter-spacing:0.05em !important;
  color:#FFFFFF !important;
}

.idx-slideshow-wrap [class*="IDX-resultsPrice"]{
  font-size:clamp(24px,3vw,38px) !important;
  font-weight:300 !important;
  margin-bottom:8px !important;
}

.idx-slideshow-wrap [class*="IDX-resultsAddress"]{
  font-size:clamp(14px,1.4vw,18px) !important;
  font-weight:300 !important;
  letter-spacing:0.08em !important;
}

/* Position the overlay caption at bottom over a gradient */
.idx-slideshow-wrap [class*="IDX-resultDetailsLink"],
.idx-slideshow-wrap [class*="IDX-resultsCellContent"]{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  padding:48px 56px !important;
  background:linear-gradient(transparent, rgba(16,13,9,0.85)) !important;
  z-index:5 !important;
}

/* Carousel ARROWS — make them prominent and on-brand */
.idx-slideshow-wrap [class*="IDX-carouselArrow"],
.idx-slideshow-wrap .slick-arrow,
.idx-slideshow-wrap button[class*="IDX-prev"],
.idx-slideshow-wrap button[class*="IDX-next"]{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:10 !important;
  width:54px !important;
  height:54px !important;
  background:rgba(255,255,255,0.95) !important;
  border:none !important;
  border-radius:50% !important;
  color:var(--ink) !important;
  cursor:pointer;
  display:flex !important;
  align-items:center;
  justify-content:center;
  font-size:18px;
  box-shadow:0 4px 24px rgba(0,0,0,0.18);
  transition:background .2s, transform .2s;
}
.idx-slideshow-wrap [class*="IDX-carouselArrow"]:hover,
.idx-slideshow-wrap .slick-arrow:hover{
  background:var(--wine) !important;
  color:#FFFFFF !important;
}
.idx-slideshow-wrap [class*="IDX-prev"],
.idx-slideshow-wrap .slick-prev{ left:32px !important; }
.idx-slideshow-wrap [class*="IDX-next"],
.idx-slideshow-wrap .slick-next{ right:32px !important; }

/* Hide IDX's default "View All Results" link — we have our own */
.idx-slideshow-wrap [class*="IDX-viewAll"],
.idx-slideshow-wrap [class*="IDX-resultsHeader"] a{
  display:none !important;
}

/* Status badges (Active / Coming Soon) — refine */
.idx-slideshow-wrap [class*="IDX-statusBanner"],
.idx-slideshow-wrap [class*="IDX-status"]{
  font-family:'Jost',sans-serif !important;
  font-size:11px !important;
  letter-spacing:0.22em !important;
  text-transform:uppercase !important;
  padding:6px 14px !important;
  border-radius:0 !important;
  background:rgba(255,255,255,0.95) !important;
  color:var(--ink) !important;
}

/* Hide IDX's MLS badge — clutter */
.idx-slideshow-wrap [class*="IDX-mlsLogo"],
.idx-slideshow-wrap [class*="IDX-courtesy"]{
  opacity:0.6 !important;
  font-size:10px !important;
}

/* Carousel pagination dots — refine to match brand */
.idx-slideshow-wrap [class*="IDX-dots"] li button,
.idx-slideshow-wrap .slick-dots li button{
  background:rgba(255,255,255,0.5) !important;
  border-radius:50% !important;
}
.idx-slideshow-wrap [class*="IDX-dots"] li.slick-active button,
.idx-slideshow-wrap .slick-dots li.slick-active button{
  background:var(--wine) !important;
}

/* Mobile — keep dramatic but shorter */
@media (max-width:780px){
  .idx-slideshow-wrap a[class*="IDX-photoLink"] img,
  .idx-slideshow-wrap [class*="IDX-result"] img{
    min-height:320px;
    max-height:420px;
  }
  .idx-slideshow-wrap [class*="IDX-resultDetailsLink"],
  .idx-slideshow-wrap [class*="IDX-resultsCellContent"]{
    padding:28px 24px !important;
  }
  .idx-slideshow-wrap [class*="IDX-carouselArrow"],
  .idx-slideshow-wrap .slick-arrow{
    width:44px !important;
    height:44px !important;
  }
  .idx-slideshow-wrap [class*="IDX-prev"],
  .idx-slideshow-wrap .slick-prev{ left:14px !important; }
  .idx-slideshow-wrap [class*="IDX-next"],
  .idx-slideshow-wrap .slick-next{ right:14px !important; }
}

/* ===========================================================
   IDX SLIDESHOW WRAP — 3-COLUMN tuning (overrides earlier rules)
   Each card image significantly larger, editorial overlay,
   View All link hidden as belt-and-suspenders.
   =========================================================== */

/* Hide IDX's default "View All" link via CSS as backup */
.idx-slideshow-wrap a[href*="viewAll"],
.idx-slideshow-wrap a[class*="viewAll"],
.idx-slideshow-wrap a[class*="ViewAll"],
.idx-slideshow-wrap a[class*="view-all"],
.idx-slideshow-wrap [class*="results-header"],
.idx-slideshow-wrap [class*="ResultsHeader"]{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  overflow:hidden !important;
}

/* 3-COLUMN cards: force each card much larger */
.idx-slideshow-wrap [class*="IDX-resultsCell"],
.idx-slideshow-wrap [class*="IDX-result"],
.idx-slideshow-wrap .slick-slide{
  width:33.333% !important;
  padding:0 8px !important;
  box-sizing:border-box !important;
}

/* IMAGE area per card — large, cinematic 4:3 aspect ratio */
.idx-slideshow-wrap a[class*="IDX-photoLink"],
.idx-slideshow-wrap [class*="IDX-photoLink"],
.idx-slideshow-wrap [class*="IDX-photo"]{
  display:block !important;
  width:100% !important;
  height:auto !important;
  position:relative !important;
  aspect-ratio:4/3 !important;
  min-height:380px !important;
  overflow:hidden !important;
}

.idx-slideshow-wrap a[class*="IDX-photoLink"] img,
.idx-slideshow-wrap [class*="IDX-photoLink"] img,
.idx-slideshow-wrap [class*="IDX-photo"] img,
.idx-slideshow-wrap [class*="IDX-result"] img{
  width:100% !important;
  height:100% !important;
  min-height:380px !important;
  max-height:none !important;
  object-fit:cover !important;
  display:block !important;
}

/* Card container — give it a dark backdrop and remove extra padding */
.idx-slideshow-wrap [class*="IDX-resultsCellContent"],
.idx-slideshow-wrap [class*="IDX-resultContent"]{
  position:relative !important;
  padding:0 !important;
  background:transparent !important;
}

/* Make overall wrap section big enough to fit larger cards */
.idx-slideshow-wrap{
  min-height:560px !important;
  padding:0 !important;
  background:transparent !important;
}

/* Re-apply overlay positioning specifically for 3-column cards */
.idx-slideshow-wrap [class*="IDX-resultsCellContent"] > *:not(a[class*="IDX-photoLink"]):not([class*="IDX-photo"]){
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  padding:28px 26px !important;
  background:linear-gradient(transparent 0%, rgba(16,13,9,0.92) 100%) !important;
  z-index:5 !important;
  color:#FFFFFF !important;
}

/* Reduce overlay text for 3-column cards (smaller cards = smaller text) */
.idx-slideshow-wrap [class*="IDX-resultsPrice"]{
  font-family:'Tenor Sans',sans-serif !important;
  font-size:clamp(20px,2.2vw,28px) !important;
  font-weight:300 !important;
  color:#FFFFFF !important;
  margin-bottom:6px !important;
  letter-spacing:0.04em !important;
}

.idx-slideshow-wrap [class*="IDX-resultsAddress"]{
  font-family:'Jost',sans-serif !important;
  font-size:clamp(12px,1vw,14px) !important;
  font-weight:300 !important;
  color:rgba(255,255,255,0.92) !important;
  letter-spacing:0.06em !important;
  text-transform:none !important;
}

.idx-slideshow-wrap [class*="IDX-resultsDetail"],
.idx-slideshow-wrap [class*="IDX-resultsBeds"],
.idx-slideshow-wrap [class*="IDX-resultsBaths"]{
  font-family:'Jost',sans-serif !important;
  font-size:12px !important;
  color:rgba(255,255,255,0.82) !important;
  letter-spacing:0.05em !important;
}

/* Mobile — single column on small screens */
@media (max-width:780px){
  .idx-slideshow-wrap [class*="IDX-resultsCell"],
  .idx-slideshow-wrap [class*="IDX-result"],
  .idx-slideshow-wrap .slick-slide{
    width:100% !important;
    padding:0 !important;
  }
  .idx-slideshow-wrap a[class*="IDX-photoLink"],
  .idx-slideshow-wrap [class*="IDX-photoLink"],
  .idx-slideshow-wrap [class*="IDX-photo"]{
    min-height:280px !important;
    aspect-ratio:3/2 !important;
  }
  .idx-slideshow-wrap a[class*="IDX-photoLink"] img,
  .idx-slideshow-wrap [class*="IDX-photoLink"] img,
  .idx-slideshow-wrap [class*="IDX-photo"] img{
    min-height:280px !important;
  }
  .idx-slideshow-wrap{
    min-height:380px !important;
  }
}

/* ===========================================================
   IDX SLIDESHOW WRAP — REAL CLASS NAMES (from inspect element)
   IDX uses idx-property-card__* and idx-listings-carousel__*
   Override these to make 3-column cards dramatically larger.
   =========================================================== */

/* Each individual card — give it real height */
.idx-slideshow-wrap .idx-property-card{
  min-height:540px !important;
  height:540px !important;
  position:relative !important;
}

/* The image wrap — must fill the entire card */
.idx-slideshow-wrap .idx-property-card__image--wrap,
.idx-slideshow-wrap .idx-property-card__image{
  width:100% !important;
  height:100% !important;
  min-height:540px !important;
  position:relative !important;
  overflow:hidden !important;
}

/* The actual image — fill the wrap completely */
.idx-slideshow-wrap .idx-property-card__image--wrap img,
.idx-slideshow-wrap .idx-property-card__image img,
.idx-slideshow-wrap .idx-property-card img{
  width:100% !important;
  height:100% !important;
  min-height:540px !important;
  max-height:540px !important;
  object-fit:cover !important;
  display:block !important;
}

/* The clickable overlay link — keep it full-card */
.idx-slideshow-wrap .idx-property-card__link{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:0 !important;
  z-index:5 !important;
}

/* Details overlay (price/address) — sit at bottom with gradient */
.idx-slideshow-wrap .idx-property-card__details{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:6 !important;
  padding:36px 32px 28px !important;
  background:linear-gradient(transparent 0%, rgba(16,13,9,0.92) 100%) !important;
  color:#FFFFFF !important;
  pointer-events:none !important;
}

/* Price typography */
.idx-slideshow-wrap .idx-property-card__details .idx-property-card__price,
.idx-slideshow-wrap .idx-property-card__price{
  font-family:'Tenor Sans',sans-serif !important;
  font-size:clamp(22px,2.4vw,32px) !important;
  font-weight:300 !important;
  color:#FFFFFF !important;
  letter-spacing:0.04em !important;
  margin-bottom:8px !important;
  line-height:1.1 !important;
}

/* Address typography */
.idx-slideshow-wrap .idx-property-card__details .idx-property-card__address,
.idx-slideshow-wrap .idx-property-card__address{
  font-family:'Jost',sans-serif !important;
  font-size:clamp(12px,1vw,15px) !important;
  font-weight:300 !important;
  color:rgba(255,255,255,0.92) !important;
  letter-spacing:0.05em !important;
  line-height:1.5 !important;
}

/* Beds / baths / sqft row */
.idx-slideshow-wrap .idx-property-card__details .idx-property-card__beds,
.idx-slideshow-wrap .idx-property-card__details .idx-property-card__baths,
.idx-slideshow-wrap .idx-property-card__details .idx-property-card__sqft,
.idx-slideshow-wrap .idx-property-card__details > *:not(.idx-property-card__price):not(.idx-property-card__address){
  font-family:'Jost',sans-serif !important;
  font-size:12px !important;
  color:rgba(255,255,255,0.82) !important;
  letter-spacing:0.04em !important;
}

/* MLS badge — make it subtle */
.idx-slideshow-wrap .idx-property-card__mls,
.idx-slideshow-wrap .idx-property-card__courtesy{
  position:absolute !important;
  bottom:14px !important;
  right:14px !important;
  z-index:7 !important;
  background:rgba(255,255,255,0.92) !important;
  color:var(--ink) !important;
  padding:4px 8px !important;
  font-family:'Jost',sans-serif !important;
  font-size:9px !important;
  letter-spacing:0.12em !important;
  text-transform:uppercase !important;
  opacity:0.85 !important;
  pointer-events:none !important;
}

/* Heart / favorite action — top right corner */
.idx-slideshow-wrap .idx-property-card__property-actions{
  position:absolute !important;
  top:16px !important;
  right:16px !important;
  z-index:7 !important;
}

/* Wrap (the article tag) */
.idx-slideshow-wrap .idx-property-card__wrap{
  height:100% !important;
  position:relative !important;
  overflow:hidden !important;
}

/* Outer carousel — full width */
.idx-slideshow-wrap .idx-listings-carousel,
.idx-slideshow-wrap .idx-listings-carousel__property{
  width:100% !important;
}

/* Mobile — single column, shorter */
@media (max-width:780px){
  .idx-slideshow-wrap .idx-property-card{
    min-height:380px !important;
    height:380px !important;
  }
  .idx-slideshow-wrap .idx-property-card__image--wrap,
  .idx-slideshow-wrap .idx-property-card__image,
  .idx-slideshow-wrap .idx-property-card__image--wrap img,
  .idx-slideshow-wrap .idx-property-card__image img{
    min-height:380px !important;
    max-height:380px !important;
  }
  .idx-slideshow-wrap .idx-property-card__details{
    padding:26px 22px 20px !important;
  }
}

/* ===========================================================
   IDX SLIDESHOW WRAP — Force full viewport width
   Breaks out of the parent .wrap container's max-width.
   =========================================================== */
.idx-slideshow-wrap{
  width:100vw !important;
  position:relative !important;
  left:50% !important;
  right:50% !important;
  margin-left:-50vw !important;
  margin-right:-50vw !important;
  padding:0 24px !important;
  box-sizing:border-box !important;
  max-width:none !important;
}

@media (max-width:780px){
  .idx-slideshow-wrap{
    padding:0 14px !important;
  }
}

/* ===========================================================
   DISCOVER PAGE — Embedded Map Search Widget
   =========================================================== */
.map-search-sec{ background:var(--cream); padding:110px 0 100px; }
.map-search-head{ text-align:center; max-width:780px; margin:0 auto 56px; }
.map-search-head .kicker{
  display:block; margin-bottom:20px;
  color:var(--wine); font-family:'Jost',sans-serif;
  font-size:12px; letter-spacing:0.44em;
  text-transform:uppercase; font-weight:600;
}
.map-search-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(38px,4.6vw,68px);
  font-weight:400; line-height:1.05;
  color:var(--ink); margin:0 0 24px;
}
.map-search-head h2 em{ font-style:italic; color:#8A7B5E; }
.map-search-head p{
  color:var(--ink-2); font-size:16.5px;
  line-height:1.65; max-width:620px; margin:0 auto;
}
.map-search-frame{
  position:relative;
  width:100%;
  min-height:720px;
  background:#FFFFFF;
  box-shadow:0 6px 40px rgba(22,19,14,0.08);
  overflow:hidden;
}
.map-search-frame > div,
.map-search-frame iframe,
.map-search-frame [id*="map"],
.map-search-frame [class*="map"]{
  width:100% !important;
  min-height:720px;
}

@media (max-width:900px){
  .map-search-sec{ padding:70px 0 60px; }
  .map-search-head{ margin-bottom:36px; }
  .map-search-frame{ min-height:540px; }
  .map-search-frame > div,
  .map-search-frame iframe{ min-height:540px; }
}

/* ===========================================================
   DISCOVER PAGE — Browse Properties 6-card search hub
   =========================================================== */
.browse-sec{ background:var(--cream-2); padding:120px 0; }
.browse-head{ text-align:center; max-width:780px; margin:0 auto 64px; }
.browse-head .kicker{
  display:block;
  margin-bottom:22px;
  color:var(--wine);
  font-size:12px;
  letter-spacing:0.44em;
  text-transform:uppercase;
  font-family:'Jost',sans-serif;
  font-weight:600;
}
.browse-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(38px,5vw,68px);
  font-weight:400;
  line-height:1.05;
  color:var(--ink);
  margin:0 0 22px;
}
.browse-head h2 em{ font-style:italic; color:#8A7B5E; }
.browse-head p{
  color:rgba(22,19,14,0.7);
  font-size:17px;
  line-height:1.6;
  max-width:680px;
  margin:0 auto;
}

.browse-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  max-width:1280px;
  margin:0 auto;
}

.browse-card{
  position:relative;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid rgba(22,19,14,0.08);
  padding:54px 44px 90px;
  min-height:300px;
  text-decoration:none;
  color:var(--ink);
  transition:transform .35s ease, border-color .25s, box-shadow .35s;
  box-sizing:border-box;
}
.browse-card:hover{
  transform:translateY(-4px);
  border-color:var(--ink);
  box-shadow:0 24px 50px rgba(22,19,14,0.08);
}

.browse-card h3{
  font-family:'Cormorant Garamond',serif;
  font-size:30px;
  font-weight:400;
  letter-spacing:0.01em;
  margin:0 0 22px;
  color:var(--ink);
}

.browse-card p{
  font-family:'Jost',sans-serif;
  font-size:14.5px;
  line-height:1.7;
  color:rgba(22,19,14,0.72);
  margin:0;
  font-weight:300;
}

.browse-arrow{
  position:absolute;
  left:44px;
  bottom:42px;
  width:44px;
  height:1px;
  background:var(--ink);
  display:block;
  transition:width .3s ease;
}
.browse-arrow::after{
  content:'';
  position:absolute;
  right:-1px;
  top:-3px;
  width:8px;
  height:8px;
  border-top:1px solid var(--ink);
  border-right:1px solid var(--ink);
  transform:rotate(45deg);
}
.browse-card:hover .browse-arrow{
  width:70px;
}

@media (max-width:980px){
  .browse-grid{ grid-template-columns:repeat(2,1fr); gap:18px; }
  .browse-card{ padding:42px 32px 80px; min-height:260px; }
  .browse-card h3{ font-size:26px; }
}
@media (max-width:600px){
  .browse-sec{ padding:80px 0; }
  .browse-grid{ grid-template-columns:1fr; gap:14px; padding:0 18px; }
  .browse-card{ padding:36px 28px 70px; min-height:auto; }
  .browse-head{ padding:0 22px; }
  .browse-arrow{ left:28px; bottom:32px; }
}

/* ============================================================
   IDX BROKER STYLING — Brand the IDX-rendered search forms,
   tabs, buttons, results when displayed inside our wrapper page
   (jasonalan.com/idx-wrapper). Mirrors the c21p approach.
   ============================================================ */

/* MAIN CONTAINER - full width */
.idx-wrapper-body-class #IDX-main,
.idx-wrapper-body-class .IDX-wrapper-standard,
.idx-wrapper-body-class .IDX-coreSearchFields { width: 100% !important; }

/* TYPOGRAPHY - everything Jost */
.idx-wrapper-body-class .IDX-wrapper-standard,
.idx-wrapper-body-class .IDX-wrapper-standard *,
.idx-wrapper-body-class #IDX-main,
.idx-wrapper-body-class #IDX-main *{
  font-family:'Jost',-apple-system,BlinkMacSystemFont,sans-serif !important;
}

/* HEADINGS - Cormorant Garamond */
.idx-wrapper-body-class .IDX-wrapper-standard h1,
.idx-wrapper-body-class .IDX-wrapper-standard h2,
.idx-wrapper-body-class .IDX-wrapper-standard h3,
.idx-wrapper-body-class #IDX-main h1,
.idx-wrapper-body-class #IDX-main h2,
.idx-wrapper-body-class #IDX-main h3,
.idx-wrapper-body-class .IDX-pageTitle,
.idx-wrapper-body-class #idx-results-active-title{
  font-family:'Cormorant Garamond',serif !important;
  font-weight:400 !important;
  color:#16130E !important;
}

/* SEARCH NAV TABS (Advanced / Listing ID / Address / AI / Map) */
.idx-wrapper-body-class .IDX-searchNav,
.idx-wrapper-body-class .IDX-tabs,
.idx-wrapper-body-class .IDX-searchTabs{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  margin-bottom:36px !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
}

.idx-wrapper-body-class .IDX-searchNav a,
.idx-wrapper-body-class .IDX-tabs a,
.idx-wrapper-body-class .IDX-searchTabs a,
.idx-wrapper-body-class a[href*="/idx/search/basic"],
.idx-wrapper-body-class a[href*="/idx/search/advanced"],
.idx-wrapper-body-class a[href*="/idx/search/listingid"],
.idx-wrapper-body-class a[href*="/idx/search/address"],
.idx-wrapper-body-class a[href*="/idx/search/aismart"],
.idx-wrapper-body-class a[href*="/idx/map/mapsearch"]{
  font-family:'Jost',sans-serif !important;
  font-size:12px !important;
  font-weight:600 !important;
  letter-spacing:0.22em !important;
  text-transform:uppercase !important;
  color:rgba(22,19,14,0.62) !important;
  background:#E5DFD3 !important;
  padding:14px 26px !important;
  border:none !important;
  border-radius:0 !important;
  text-decoration:none !important;
  transition:all .2s ease !important;
  display:inline-block !important;
}

.idx-wrapper-body-class .IDX-searchNav a:hover,
.idx-wrapper-body-class .IDX-tabs a:hover,
.idx-wrapper-body-class .IDX-searchTabs a:hover{
  background:#16130E !important;
  color:#FFFFFF !important;
}

.idx-wrapper-body-class .IDX-searchNav a.IDX-active,
.idx-wrapper-body-class .IDX-tabs a.IDX-active,
.idx-wrapper-body-class .IDX-tab.IDX-active,
.idx-wrapper-body-class .IDX-tab.active{
  background:#16130E !important;
  color:#FFFFFF !important;
}

/* FORM GRID — 2 columns */
.idx-wrapper-body-class .IDX-rowContent,
.idx-wrapper-body-class #IDX-rowContent,
.idx-wrapper-body-class .IDX-row-content{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:26px 40px !important;
  background:transparent !important;
}

@media (max-width:720px){
  .idx-wrapper-body-class .IDX-rowContent,
  .idx-wrapper-body-class #IDX-rowContent,
  .idx-wrapper-body-class .IDX-row-content{
    grid-template-columns:1fr !important;
  }
}

/* FORM FIELD GROUPS */
.idx-wrapper-body-class .IDX-control-group,
.idx-wrapper-body-class .IDX-field-group{
  margin:0 !important;
  background:transparent !important;
}

/* FORM LABELS - uppercase letter-spaced */
.idx-wrapper-body-class .IDX-control-group label,
.idx-wrapper-body-class .IDX-control-group strong,
.idx-wrapper-body-class .IDX-controlLabel,
.idx-wrapper-body-class .IDX-label,
.idx-wrapper-body-class .IDX-formLabel{
  font-family:'Jost',sans-serif !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:0.22em !important;
  text-transform:uppercase !important;
  color:#16130E !important;
  margin:0 0 10px !important;
  display:block !important;
}

/* FORM INPUTS */
.idx-wrapper-body-class .IDX-wrapper-standard input[type="text"],
.idx-wrapper-body-class .IDX-wrapper-standard input[type="number"],
.idx-wrapper-body-class .IDX-wrapper-standard input[type="email"],
.idx-wrapper-body-class .IDX-wrapper-standard input[type="tel"],
.idx-wrapper-body-class .IDX-wrapper-standard select,
.idx-wrapper-body-class .IDX-wrapper-standard textarea,
.idx-wrapper-body-class .IDX-controls input,
.idx-wrapper-body-class .IDX-controls select,
.idx-wrapper-body-class .IDX-textField,
.idx-wrapper-body-class .IDX-numberField,
.idx-wrapper-body-class .IDX-select{
  font-family:'Jost',sans-serif !important;
  font-size:14px !important;
  border:1px solid rgba(22,19,14,0.18) !important;
  background:#FFFFFF !important;
  color:#16130E !important;
  padding:14px 16px !important;
  border-radius:0 !important;
  box-shadow:none !important;
  width:100% !important;
  height:auto !important;
  min-height:48px !important;
  transition:border-color .2s ease !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}

.idx-wrapper-body-class .IDX-wrapper-standard input:focus,
.idx-wrapper-body-class .IDX-wrapper-standard select:focus{
  border-color:#B08C44 !important;
  outline:none !important;
  box-shadow:0 0 0 1px #B08C44 !important;
}

/* SELECT DROPDOWN ARROW */
.idx-wrapper-body-class .IDX-wrapper-standard select,
.idx-wrapper-body-class .IDX-select{
  background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2316130E' stroke-width='1.5' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 18px center !important;
  background-size:12px 8px !important;
  padding-right:44px !important;
}

/* ACTION BUTTONS (Search / Submit) */
.idx-wrapper-body-class .IDX-action-buttons{
  margin-top:32px !important;
  padding:0 !important;
  background:transparent !important;
  text-align:left !important;
}

.idx-wrapper-body-class .IDX-action-buttons button,
.idx-wrapper-body-class .IDX-action-buttons input[type="submit"],
.idx-wrapper-body-class .IDX-submitButton,
.idx-wrapper-body-class #IDX-submit,
.idx-wrapper-body-class .IDX-wrapper-standard button[type="submit"],
.idx-wrapper-body-class .IDX-wrapper-standard input[type="submit"]{
  background:#16130E !important;
  color:#FFFFFF !important;
  font-family:'Jost',sans-serif !important;
  font-size:12px !important;
  font-weight:600 !important;
  letter-spacing:0.22em !important;
  text-transform:uppercase !important;
  padding:18px 40px !important;
  border:none !important;
  border-radius:0 !important;
  cursor:pointer !important;
  transition:background .2s ease !important;
  height:auto !important;
  min-height:52px !important;
}

.idx-wrapper-body-class .IDX-action-buttons button:hover,
.idx-wrapper-body-class .IDX-submitButton:hover,
.idx-wrapper-body-class #IDX-submit:hover{
  background:#B08C44 !important;
}

/* NEW SEARCH / MODIFY SEARCH BUTTONS */
.idx-wrapper-body-class .IDX-newSearch,
.idx-wrapper-body-class .IDX-modifySearch,
.idx-wrapper-body-class a.IDX-newSearch,
.idx-wrapper-body-class a.IDX-modifySearch{
  background:#E8C880 !important;
  color:#16130E !important;
  -webkit-text-fill-color:#16130E !important;
  font-family:'Jost',sans-serif !important;
  font-weight:600 !important;
  letter-spacing:0.18em !important;
  text-transform:uppercase !important;
  padding:12px 24px !important;
  border-radius:0 !important;
  text-decoration:none !important;
  text-shadow:none !important;
  display:inline-block !important;
}

/* RESULTS - white text over photo cards (c21p pattern) */
.idx-wrapper-body-class #idx-results-content article *,
.idx-wrapper-body-class #idx-results-content article span,
.idx-wrapper-body-class #idx-results-content article p,
.idx-wrapper-body-class #idx-results-content article div,
.idx-wrapper-body-class #idx-results-content article a,
.idx-wrapper-body-class #idx-results-content article h1,
.idx-wrapper-body-class #idx-results-content article h2,
.idx-wrapper-body-class #idx-results-content article h3,
.idx-wrapper-body-class #idx-results-content article h4,
.idx-wrapper-body-class #idx-results-content .idx-results__listing *,
.idx-wrapper-body-class #idx-results-content [class*="idx-listing-card"] *{
  color:#FFFFFF !important;
  text-shadow:0 2px 6px rgba(0,0,0,0.85) !important;
}

/* Results header - keep dark */
.idx-wrapper-body-class #idx-results-active-title,
.idx-wrapper-body-class .idx-results__category--title,
.idx-wrapper-body-class .idx-results__category-title{
  color:#16130E !important;
  text-shadow:none !important;
  font-family:'Cormorant Garamond',serif !important;
}

/* LINKS */
.idx-wrapper-body-class .IDX-wrapper-standard a:not(.IDX-newSearch):not(.IDX-modifySearch):not(.IDX-button):not([href*="/idx/search/"]):not([href*="/idx/map/"]){
  color:#B08C44 !important;
  text-decoration:none !important;
}

/* DATA SERVICES FOOTER */
.idx-wrapper-body-class .IDX-dataProvider,
.idx-wrapper-body-class .IDX-disclaimer,
.idx-wrapper-body-class [id*="IDX-data-services"]{
  font-family:'Jost',sans-serif !important;
  font-size:11px !important;
  color:rgba(22,19,14,0.45) !important;
  letter-spacing:0.08em !important;
  text-align:center !important;
  margin-top:40px !important;
}

/* ===========================================================
   UNIFIED IDX PROPERTY CARD GRID
   ALL pages now use .idx-slideshow-wrap as the container:
   - index.html (homepage Featured)
   - 8 town pages
   - featured-properties.html
   - legacy.html
   One class, one ruleset, no fighting.
   =========================================================== */

/* Outer wrapper — transparent, no padding, no box */
.idx-slideshow-wrap{
  background:transparent !important;
  background-color:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
}

/* Kill any white box IDX inserts inside the wrapper */
.idx-slideshow-wrap .idx-listings-showcase,
.idx-slideshow-wrap .idx-listings-showcase__properties,
.idx-slideshow-wrap .idx-listings-carousel,
.idx-slideshow-wrap .idx-listings-carousel__properties{
  background:transparent !important;
  background-color:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
}

/* Each card — square, no min-height fighting the ratio.
   Triple-class specificity (0,3,0) beats per-widget IDX CSS. */
.idx-slideshow-wrap .idx-listings-showcase .idx-property-card,
.idx-slideshow-wrap .idx-property-card.idx-listings-showcase__property,
.idx-slideshow-wrap .idx-property-card{
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  min-height:0 !important;
  position:relative !important;
  overflow:hidden !important;
}

/* Article wrap fills the card */
.idx-slideshow-wrap .idx-property-card__wrap{
  position:absolute !important;
  inset:0 !important;
  height:100% !important;
  width:100% !important;
}

/* Image wrap fills the card */
.idx-slideshow-wrap .idx-property-card__image--wrap,
.idx-slideshow-wrap .idx-property-card__image{
  position:absolute !important;
  inset:0 !important;
  height:100% !important;
  width:100% !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
}

/* Image fills the wrap, cover crop */
.idx-slideshow-wrap .idx-property-card img{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:cover !important;
  display:block !important;
}

/* Details overlay — bottom of card with gradient */
.idx-slideshow-wrap .idx-property-card__details{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:6 !important;
  padding:36px 32px 28px !important;
  background:linear-gradient(transparent 0%, rgba(16,13,9,0.92) 100%) !important;
  color:#FFFFFF !important;
  pointer-events:none !important;
}

/* Click overlay link — full card */
.idx-slideshow-wrap .idx-property-card__link{
  position:absolute !important;
  inset:0 !important;
  z-index:5 !important;
}

/* MLS / GSMLX badge — bottom-right corner */
.idx-slideshow-wrap .idx-property-card__mls,
.idx-slideshow-wrap .idx-property-card__courtesy{
  position:absolute !important;
  bottom:14px !important;
  right:14px !important;
  z-index:7 !important;
}

/* Hide the white property-actions strip IDX injects */
.idx-slideshow-wrap .idx-property-card__property-actions{
  display:none !important;
}

/* Hide the small white "more photos" / photo-count dot in card corner */
.idx-slideshow-wrap .idx-property-card__photos,
.idx-slideshow-wrap .idx-property-card__photo-count,
.idx-slideshow-wrap .idx-property-card__image-count,
.idx-slideshow-wrap .idx-property-card__image-counter,
.idx-slideshow-wrap [class*="photo-count"],
.idx-slideshow-wrap [class*="image-count"],
.idx-slideshow-wrap [class*="__photos"]{
  display:none !important;
}

/* Hide the empty courtesy badge (small white square in card corner).
   This is .idx-property-card__courtesy — the "courtesy of" text holder
   which renders as a small white square when there's nothing to show.
   Triple-class specificity (0,3,0) beats per-widget IDX CSS. */
.idx-slideshow-wrap .idx-listings-showcase .idx-property-card__courtesy,
.idx-slideshow-wrap .idx-listings-carousel .idx-property-card__courtesy,
.idx-slideshow-wrap .idx-property-card .idx-property-card__courtesy,
.idx-slideshow-wrap .idx-property-card__courtesy{
  display:none !important;
  visibility:hidden !important;
  background:transparent !important;
  background-color:transparent !important;
  width:0 !important;
  height:0 !important;
  padding:0 !important;
  margin:0 !important;
}

/* Kill the broken MLS-logo IMG and its container — universal nuke.
   Image src is c118-logoURL.png — shows as 1px white pixel when broken.
   Hide IMG + container DIV everywhere (even when not empty). */
.idx-slideshow-wrap .idx-property-card__mls img,
.idx-slideshow-wrap .idx-property-card__courtesy img,
.idx-slideshow-wrap [class*="property-card__mls"] img,
.idx-slideshow-wrap img[alt="MLS Logo"],
.idx-slideshow-wrap img[src*="mls-logos"],
.idx-slideshow-wrap img[src*="logoURL"]{
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
  opacity:0 !important;
}
/* Hide the container DIVs entirely (whether nested or not) */
.idx-slideshow-wrap .idx-property-card__mls,
.idx-slideshow-wrap [class*="property-card__mls"],
.idx-slideshow-wrap [class*="__mls"]{
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
  overflow:hidden !important;
  background:transparent !important;
  background-color:transparent !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  position:absolute !important;
  left:-9999px !important;
}

/* ============================================================ GLOBAL NETWORK PAGE */
.gn-award{ background:var(--cream); }
.gn-award .wrap{ max-width:1180px; }
.gn-award-grid{
  display:grid;
  grid-template-columns:0.85fr 1.15fr;
  gap:70px;
  align-items:center;
}
.gn-award-img{ display:flex; justify-content:center; }
.gn-award-img img{ width:100%; max-width:380px; height:auto; display:block; }
.gn-award-copy .kicker{
  display:block;
  margin-bottom:18px;
  color:var(--wine);
  font-family:'Jost',sans-serif;
  font-size:12px;
  letter-spacing:0.42em;
  text-transform:uppercase;
  font-weight:500;
}
.gn-award-copy h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(34px,4.2vw,56px);
  font-weight:400;
  line-height:1.08;
  color:var(--ink);
  margin:0 0 22px;
}
.gn-award-copy h2 em{ font-style:italic; color:#8A7B5E; }
.gn-award-copy .lede{
  color:var(--ink-2);
  font-size:17px;
  line-height:1.7;
  margin:0;
}

@media (max-width:880px){
  .gn-award-grid{
    grid-template-columns:1fr;
    gap:36px;
    text-align:center;
  }
  .gn-award-img img{ max-width:280px; }
}
#parent-listings-wrap tr.IDX-showcaseRow:nth-of-type(n+5){ display: none !important; }

/* Modern card widgets (town widgets 159670-159677): hide cards beyond the 12th sibling */
#parent-listings-wrap .idx-property-card:nth-of-type(n+13),
#parent-listings-wrap .idx-listing-card:nth-of-type(n+13),
#parent-listings-wrap article.IDX-resultsCell:nth-of-type(n+13),
#parent-listings-wrap [class*="resultsCell"]:nth-of-type(n+13),
#parent-listings-wrap .idx-results__listing:nth-of-type(n+13){ display: none !important; }


/* ============================================================
   MOBILE PASS — site-wide responsive polish
   Applied site-wide via base classes (.wrap, .pad, etc.)
   Three breakpoints: tablet (980px), small tablet (760px), phone (560px)
   ============================================================ */

/* ===== TABLET (≤980px) — tighten padding, allow burger to take over ===== */
@media (max-width:980px){
  .wrap{ padding:0 32px; }
  .wrap-narrow{ padding:0 32px; }
  .pad{ padding:64px 0; }

  /* Nav — kill dropdowns, prep for burger (already done at 1040px, reinforce) */
  .nlinks{ display:none; }
  .nav-call-num{ display:none; }
  .nav-cta{ display:none; }
  .nbrand .nwm{ font-size:14px; letter-spacing:0.14em; }

  /* Common grids → 2-col or 1-col */
  .ws-grid,
  .ventures-grid,
  .mcards,
  .blog-grid,
  .gn-award-grid{ grid-template-columns:1fr !important; gap:32px !important; }
  .guides-grid{ grid-template-columns:repeat(2,1fr) !important; }

  /* Town/county sections — 1-col stacks */
  .town-gallery-grid,
  .town-lifestyle-grid,
  .sr-facts-grid{ grid-template-columns:1fr !important; gap:18px !important; }

  /* Hide vertical social bar */
  .socialbar{ display:none !important; }
}

/* ===== SMALL TABLET / LARGE PHONE (≤760px) ===== */
@media (max-width:760px){
  .wrap{ padding:0 22px; }
  .wrap-narrow{ padding:0 22px; }
  .pad{ padding:50px 0; }

  /* Type — pull down clamp ceilings */
  .serif-xl{ font-size:clamp(38px,9vw,56px); }
  .serif-lg{ font-size:clamp(30px,7vw,44px); }
  .kicker{ font-size:11px; letter-spacing:0.32em; }

  /* Hero page heads — softer height */
  .page-head{ min-height:280px !important; padding:60px 22px !important; }
  .page-head h1{ font-size:clamp(36px,8vw,52px) !important; }
  .page-head p{ font-size:14px !important; }

  /* Footer — stack */
  .foot-main{ grid-template-columns:1fr !important; gap:36px !important; }
  .foot-princ{ grid-template-columns:1fr !important; gap:18px !important; }
  .foot-logos{ flex-wrap:wrap !important; justify-content:center !important; gap:16px !important; }
  .foot-bottom{ flex-direction:column !important; text-align:center !important; gap:12px !important; }

  /* Form — full-width, taller touch targets */
  .ffwrap input,
  .ffwrap textarea,
  .ffwrap select{
    width:100%;
    min-height:48px;
    font-size:16px;  /* iOS won't zoom on focus when ≥16px */
    padding:14px 14px;
    box-sizing:border-box;
  }
  .ffwrap button{
    width:100%;
    min-height:50px;
    font-size:13px;
    padding:14px 22px;
  }

  /* Buttons — full-width on phone for thumb-reachable hits */
  .btn-fill,
  .btn-out{
    display:block;
    width:100%;
    text-align:center;
    padding:16px 22px !important;
    margin-bottom:10px;
    box-sizing:border-box;
  }
  .btn-fill + .btn-out,
  .btn-out + .btn-fill{ margin-left:0 !important; }

  /* All listings preview foot — stack the CTAs */
  .town-listings-foot,
  .sr-cta-row{ flex-direction:column !important; gap:10px !important; }
}

/* ===== PHONE (≤520px) — smallest pass ===== */
@media (max-width:520px){
  .wrap{ padding:0 18px; }
  .wrap-narrow{ padding:0 18px; }
  .pad{ padding:42px 0; }

  /* Type — final tighten */
  h1{ line-height:1.12; }
  .page-head{ min-height:240px !important; padding:50px 18px !important; }
  .page-head h1{ font-size:clamp(30px,9vw,42px) !important; }

  /* Nav — compact phone bar */
  nav.main{ padding:14px 18px !important; }
  .nbrand .nwm{ font-size:12px !important; letter-spacing:0.12em !important; }

  /* Guides 1-col on phone */
  .guides-grid{ grid-template-columns:1fr !important; }

  /* Mobile menu — softer padding */
  .m-menu{ padding:60px 22px 32px !important; }
  .m-brand-name{ font-size:18px !important; }
  .m-cols{ gap:24px !important; }
  .m-section{ font-size:11px !important; }
  .m-col a{ font-size:18px !important; }

  /* Footer — phone tighten */
  .foot-bot-left,
  .foot-bot-right{ font-size:12px !important; line-height:1.6 !important; }
  .fwm{ font-size:16px !important; }
  .foot-tag{ font-size:13px !important; }

  /* Town facts cards */
  .sr-fact-card{ padding:22px 18px !important; }
  .sr-fact-title{ font-size:18px !important; }
  .sr-fact-list li{ font-size:13px !important; }

  /* Lifestyle/gallery caption text smaller */
  .town-gallery-cap,
  .town-lifestyle-cap{ font-size:11px !important; padding:8px 12px !important; }

  /* Blog post body — readable line length */
  .bpost-body p{ font-size:15px !important; line-height:1.7 !important; }
  .bpost-body h2{ font-size:24px !important; }
  .bpost-body h3{ font-size:20px !important; }
}

/* ===== UNIVERSAL TOUCH POLISH (any size) ===== */
/* Bigger tap targets for nav and footer links on touch devices */
@media (hover:none){
  .nlinks a,
  .m-col a,
  .foot-bottom a{
    padding:8px 0;
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }
  /* Smooth scroll horizontal on widget grids */
  .idx-slideshow-wrap{ -webkit-overflow-scrolling:touch; }
}

/* ===== iOS SAFE-AREA (notch / dynamic island) ===== */
@supports (padding:env(safe-area-inset-top)){
  nav.main{ padding-top:max(20px, env(safe-area-inset-top)) !important; }
  .m-menu{
    padding-top:max(60px, calc(env(safe-area-inset-top) + 40px)) !important;
    padding-bottom:max(32px, env(safe-area-inset-bottom)) !important;
  }
  .site-footer{ padding-bottom:max(40px, env(safe-area-inset-bottom)); }
}

/* ============================================================
   MOBILE FIXES — user-reported issues from screenshots
   ============================================================ */

/* (1) DUO PHOTO OVERLAY TEXT — On mobile, stack credits BELOW image
   so they don't overlap Jeff & Jason. */
@media (max-width:760px){
  .habout-img{ overflow:visible !important; }
  .habout-img img{
    max-height:380px !important;
    width:auto !important;
    margin:0 auto !important;
  }
  .creds.creds-overlay{
    position:static !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    margin-top:24px !important;
    padding:18px 0 0 !important;
    border-top:1px solid var(--line-soft) !important;
  }
  .creds.creds-overlay .cred,
  .creds.creds-overlay .cred:first-child,
  .creds.creds-overlay .cred + .cred{
    padding:0 !important;
    text-align:center !important;
  }
  .creds.creds-overlay .cred .cn{
    font-size:18px !important;
    color:var(--ink) !important;
    text-shadow:none !important;
    white-space:normal !important;
    margin-bottom:6px !important;
  }
  .creds.creds-overlay .cred .cd{
    font-size:10px !important;
    color:var(--wine) !important;
    text-shadow:none !important;
    margin-bottom:4px !important;
  }
  .creds.creds-overlay .cred .cspec{
    font-size:11px !important;
    color:var(--soft) !important;
    text-shadow:none !important;
  }
}

/* (2) PANELS BACKGROUND IMAGE — iOS Safari can't handle
   background-attachment:fixed, so the panels-bg.jpg disappears
   on iPhone. Force scroll attachment on mobile. */
@media (max-width:980px){
  .panels{
    background-attachment:scroll !important;
    background-size:cover !important;
    background-position:center center !important;
    min-height:auto !important;
    height:auto !important;
  }
  /* Lighter overlay so the photo shows through more on mobile */
  .panel::before{
    background:linear-gradient(180deg,
      rgba(16,13,9,0.15) 0%,
      rgba(16,13,9,0.35) 50%,
      rgba(16,13,9,0.78) 100%) !important;
  }
  .panel{
    min-height:240px !important;
    padding:40px 28px !important;
  }
}

/* (3) IDX LISTING CARDS — Too tall on mobile (1:1 aspect on
   380px viewport = 380px tall card). Use 4:3 to shorten + show
   2-up on tablets where there's room. */
@media (max-width:760px){
  /* Showcase widgets — IDX showcase cells */
  .idx-slideshow-wrap article,
  .idx-slideshow-wrap .IDX-showcaseCell,
  .idx-slideshow-wrap [class*="idx-listing-card"],
  .idx-slideshow-wrap [class*="resultsCell"],
  .idx-slideshow-wrap .idx-property-card{
    aspect-ratio:4 / 3 !important;
    max-height:340px !important;
  }
  /* If a 2-up grid is feasible at tablet size */
  .idx-slideshow-wrap [class*="grid"],
  .idx-slideshow-wrap > div[style*="grid"]{
    grid-template-columns:repeat(2, 1fr) !important;
    gap:12px !important;
  }
}
@media (max-width:480px){
  /* On true phone, single column but still shorter cards */
  .idx-slideshow-wrap article,
  .idx-slideshow-wrap .IDX-showcaseCell,
  .idx-slideshow-wrap [class*="idx-listing-card"],
  .idx-slideshow-wrap [class*="resultsCell"],
  .idx-slideshow-wrap .idx-property-card{
    aspect-ratio:3 / 2 !important;
    max-height:300px !important;
  }
  .idx-slideshow-wrap [class*="grid"],
  .idx-slideshow-wrap > div[style*="grid"]{
    grid-template-columns:1fr !important;
  }
}

/* (4a) HERO PAGE-HEAD — Push content below the nav so it
   doesn't overlap on mobile. Nav is ~70px tall + safe-area. */
@media (max-width:760px){
  .page-head{
    padding-top:110px !important;
    min-height:340px !important;
  }
  .page-head .kicker{
    font-size:11px !important;
    letter-spacing:0.32em !important;
    margin-bottom:16px !important;
  }
  .page-head h1{
    font-size:clamp(34px,9vw,48px) !important;
    line-height:1.05 !important;
  }
  .page-head p{
    font-size:15px !important;
    line-height:1.5 !important;
    margin-top:18px !important;
  }
}
@media (max-width:520px){
  .page-head{
    padding-top:96px !important;
    padding-bottom:42px !important;
    min-height:300px !important;
  }
  .page-head h1{
    font-size:clamp(28px,9vw,38px) !important;
  }
}

/* (4b) #1 RANKING BADGE — Scale down on mobile so it doesn't
   take over the photo. Was 48px on a ~380px viewport. */
@media (max-width:760px){
  .ms-badge{
    right:12px !important;
    bottom:12px !important;
    padding:12px 16px !important;
    max-width:130px !important;
  }
  .ms-bnum{ font-size:32px !important; }
  .ms-blbl{ font-size:8px !important; letter-spacing:0.18em !important; margin-top:6px !important; }
  /* Image — shorter so #1 badge is balanced */
  .ms-img img{ height:380px !important; }
}
@media (max-width:480px){
  .ms-badge{
    right:10px !important;
    bottom:10px !important;
    padding:10px 14px !important;
    max-width:110px !important;
  }
  .ms-bnum{ font-size:26px !important; }
  .ms-blbl{ font-size:7.5px !important; }
  .ms-img img{ height:340px !important; }
}

/* ============================================================
   BLOG PAGE — DARK THEME (C21P-style)
   Overrides earlier blog rules so the page goes dark like the reference.
   Brand: ink #16130E bg, cream text, wine #B08C44 / gold #E8C880 accents
   ============================================================ */

/* Body context — let blog page sit in dark theme */
body.blog-dark{ background:#0F0D0A; }

/* HEADER */
body.blog-dark .blog-head{
  background:linear-gradient(180deg, #0F0D0A 0%, #16130E 100%);
  border-bottom:1px solid rgba(244,241,234,0.10);
  padding:130px 0 60px;
}
body.blog-dark .blog-head .kicker{
  color:#B08C44;
  font-size:13px;
  letter-spacing:0.42em;
  text-transform:uppercase;
}
body.blog-dark .blog-head h1{
  color:#F4F1EA;
  font-weight:400;
}
body.blog-dark .blog-head h1 em{ color:#C9A95F; font-style:italic; }
body.blog-dark .blog-head p{
  color:rgba(244,241,234,0.78);
  font-size:17px;
}

/* CATEGORY PILLS */
body.blog-dark .blog-cats{
  margin-top:48px;
  gap:10px;
  border:none;
}
body.blog-dark .bcat{
  background:transparent;
  color:rgba(244,241,234,0.75);
  border:1px solid rgba(244,241,234,0.22);
  font-size:11px;
  letter-spacing:0.22em;
  padding:10px 22px;
  border-radius:50px;
  cursor:pointer;
}
body.blog-dark .bcat:hover{
  background:rgba(232,200,128,0.10);
  border-color:#E8C880;
  color:#E8C880;
}
body.blog-dark .bcat.is-active{
  background:rgba(232,200,128,0.14);
  border-color:#E8C880;
  color:#E8C880;
}

/* GRID SECTION */
body.blog-dark .blog-grid-sec{
  background:#0F0D0A;
  padding:60px 0 110px;
}
body.blog-dark .blog-wm{ display:none; }

/* CARDS — WHITE cards on dark background (mirrors C21P reference, max contrast) */
body.blog-dark .bcard{
  background:#FFFFFF;
  border:none;
  box-shadow:0 8px 28px rgba(0,0,0,0.4);
}
body.blog-dark .bcard:hover{
  box-shadow:0 28px 54px rgba(0,0,0,0.6);
  transform:translateY(-6px);
}
body.blog-dark .bcard-body{
  background:#FFFFFF;
  border-top:3px solid #B08C44;
  padding:26px 28px 30px;
}
body.blog-dark .btag{
  background:rgba(176,140,68,0.14);
  color:#8A6F2E;
}
body.blog-dark .btag.btag-muted{
  background:rgba(22,19,14,0.06);
  color:#8A7B5E;
}
body.blog-dark .bcard-meta{
  color:rgba(22,19,14,0.55);
}
body.blog-dark .bcard h3{
  color:#16130E;
}
body.blog-dark .bcard h3 a{ color:#16130E; }
body.blog-dark .bcard h3 a:hover{ color:#B08C44; }
body.blog-dark .bcard p{
  color:rgba(22,19,14,0.75);
}
body.blog-dark .bcard-link{
  color:#B08C44;
  border-bottom-color:#B08C44;
}
body.blog-dark .bcard-link:hover{
  color:#16130E;
  border-bottom-color:#16130E;
}

/* HIDDEN STATE — when filtered out by category */
.bcard.is-hidden{ display:none !important; }

/* NEWSLETTER CTA SECTION — dark variant */
body.blog-dark .blog-cta{
  background:#16130E;
  color:#F4F1EA;
}
body.blog-dark .blog-cta .kicker{ color:#B08C44; }
body.blog-dark .blog-cta h2{ color:#F4F1EA; }
body.blog-dark .blog-cta h2 em{ color:#C9A95F; }
body.blog-dark .blog-cta p{ color:rgba(244,241,234,0.75); }

/* RSS button (subtle top-right of header) */
.blog-rss{
  position:absolute;
  top:140px;
  right:32px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:'Jost',sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:#B08C44;
  padding:8px 16px;
  border:1px solid rgba(176,140,68,0.5);
  border-radius:50px;
  transition:all .25s;
}
.blog-rss:hover{
  background:rgba(232,200,128,0.10);
  color:#E8C880;
  border-color:#E8C880;
}
.blog-rss svg{ width:12px; height:12px; }

@media (max-width:760px){
  body.blog-dark .blog-head{ padding:100px 0 40px; }
  body.blog-dark .blog-head h1{ font-size:clamp(40px,10vw,68px); }
  body.blog-dark .blog-grid-sec{ padding:40px 0 70px; }
  body.blog-dark .bcard-body{ padding:22px 22px 26px; }
  body.blog-dark .blog-cats{ margin-top:28px; }
  .blog-rss{ position:static; margin:24px auto 0; }
}

/* ============================================================
   BLOG-DARK NAV OVERRIDES — make nav legible on dark blog page
   Mirrors .nav-hero-light pattern but for the blog-dark body
   ============================================================ */

/* Brand name + nav links — light cream when not scrolled */
body.blog-dark nav.main:not(.scrolled){
  background:transparent;
  border-bottom:1px solid rgba(244,241,234,0.10);
}
body.blog-dark nav.main:not(.scrolled) .nwm,
body.blog-dark nav.main:not(.scrolled) .nlinks a{
  color:#F4F1EA;
}
body.blog-dark nav.main:not(.scrolled) .nlinks a:hover{
  color:#E8C880;
}

/* Phone call button — cream icon + number on dark */
body.blog-dark nav.main:not(.scrolled) .nav-call{
  color:#F4F1EA;
  border:none;
  background:transparent;
}
body.blog-dark nav.main:not(.scrolled) .nav-call svg{
  fill:#F4F1EA;
}
body.blog-dark nav.main:not(.scrolled) .nav-call:hover{
  color:#E8C880;
}
body.blog-dark nav.main:not(.scrolled) .nav-call:hover svg{
  fill:#E8C880;
}

/* CTA stays gold (already visible on dark) */
body.blog-dark nav.main:not(.scrolled) .nav-cta{
  background:#E8C880;
  color:#16130E;
}

/* Burger menu icon — light bars on dark */
body.blog-dark nav.main:not(.scrolled) .nburger span{
  background:#F4F1EA;
}

/* Dropdown — keep dark on light when it opens, but the panel itself
   needs a solid background so it reads against the dark page */
body.blog-dark nav.main:not(.scrolled) .dropdown{
  background:#FFFFFF;
}
body.blog-dark nav.main:not(.scrolled) .dropdown a{
  color:var(--ink);
}
body.blog-dark nav.main:not(.scrolled) .dropdown a:hover{
  color:var(--wine);
  background:rgba(176,140,68,0.06);
}

/* When user scrolls down, nav transitions to its frosted-light style
   automatically (handled by nav.main.scrolled rules above) —
   no override needed there since the standard scrolled state already
   uses ink-color text on frosted-white bg. */

/* ============================================================
   TOWN FAQ SECTION — collapsible Q&A for SEO
   ============================================================ */
.town-faq{background:#F4F1EA;}
.town-faq-head{text-align:center;margin-bottom:44px;}
.town-faq-head .kicker{color:var(--wine);}
.town-faq-head h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(30px,4vw,44px);color:var(--ink);margin:12px 0 14px;line-height:1.15;}
.town-faq-head h2 em{font-style:italic;color:var(--wine);}
.town-faq-head p{color:#5B5344;font-size:16px;line-height:1.6;max-width:640px;margin:0 auto;}
.town-faq-list{max-width:820px;margin:0 auto;}
.town-faq-item{background:#FFFFFF;border:1px solid rgba(22,19,14,0.08);border-radius:6px;margin-bottom:14px;padding:0 26px;transition:box-shadow .2s ease;}
.town-faq-item:hover{box-shadow:0 6px 20px rgba(0,0,0,0.06);}
.town-faq-item summary{font-family:'Jost',sans-serif;font-weight:500;font-size:17px;color:var(--ink);padding:20px 0;cursor:pointer;list-style:none;position:relative;padding-right:32px;}
.town-faq-item summary::-webkit-details-marker{display:none;}
.town-faq-item summary::after{content:'+';position:absolute;right:0;top:20px;font-size:22px;color:var(--wine);font-weight:300;transition:transform .2s ease;}
.town-faq-item[open] summary::after{transform:rotate(45deg);}
.town-faq-item p{color:#5B5344;font-size:15px;line-height:1.7;padding:0 0 22px;margin:0;}
.town-faq-item p a{color:var(--wine);text-decoration:underline;}

/* ============================================================
   TOWN RELATED — adjacent-markets internal-link block
   ============================================================ */
.town-related{background:#FFFFFF;}
.town-related-head{text-align:center;margin-bottom:40px;}
.town-related-head .kicker{color:var(--wine);}
.town-related-head h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(28px,3.6vw,40px);color:var(--ink);margin:12px 0 0;line-height:1.15;}
.town-related-head h2 em{font-style:italic;color:var(--wine);}
.town-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1080px;margin:0 auto;}
.town-related-card{background:#F4F1EA;border:1px solid rgba(22,19,14,0.06);border-radius:6px;padding:22px 24px;text-decoration:none;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;display:block;}
.town-related-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,0.08);border-color:var(--wine);}
.town-related-card span{display:block;font-family:'Jost',sans-serif;font-weight:500;font-size:16px;color:var(--ink);margin-bottom:6px;}
.town-related-card em{display:block;font-style:normal;font-family:'Jost',sans-serif;font-size:13px;color:#8B8272;letter-spacing:0.02em;}

@media (max-width:820px){
  .town-related-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:520px){
  .town-related-grid{grid-template-columns:1fr;}
  .town-faq-item{padding:0 20px;}
  .town-faq-item summary{font-size:16px;padding:18px 0;}
}

/* ============================================================
   MARKET SNAPSHOT — monthly stats grid for SEO + authority
   ============================================================ */
.market-snap{background:#16130E;color:#F4F1EA;padding:80px 0;}
.market-snap-head{text-align:center;margin-bottom:44px;}
.market-snap-head .kicker{color:#E8C880;font-size:12px;letter-spacing:0.16em;text-transform:uppercase;font-family:'Jost',sans-serif;}
.market-snap-head h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(30px,4vw,44px);color:#F4F1EA;margin:14px 0 12px;line-height:1.15;}
.market-snap-head h2 em{font-style:italic;color:#E8C880;}
.market-snap-head p{color:rgba(244,241,234,0.72);font-size:16px;line-height:1.6;max-width:640px;margin:0 auto;font-family:'Jost',sans-serif;}
.market-snap-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(244,241,234,0.10);max-width:1120px;margin:0 auto;border:1px solid rgba(244,241,234,0.10);}
.market-snap-cell{background:#16130E;padding:28px 20px;text-align:center;}
.market-snap-cell .msv{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:32px;color:#F4F1EA;letter-spacing:-0.01em;line-height:1;margin-bottom:8px;}
.market-snap-cell .msl{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(244,241,234,0.60);margin-bottom:10px;}
.market-snap-cell .msy{font-family:'Jost',sans-serif;font-size:12px;font-weight:500;padding:3px 10px;border-radius:12px;display:inline-block;}
.market-snap-cell .msy.up{background:rgba(180,140,68,0.20);color:#E8C880;}
.market-snap-cell .msy.dn{background:rgba(180,80,80,0.20);color:#E8A0A0;}
.market-snap-cell .msy.fl{background:rgba(244,241,234,0.08);color:rgba(244,241,234,0.60);}
.market-snap-note{max-width:820px;margin:36px auto 0;font-family:'Jost',sans-serif;font-size:14px;line-height:1.7;color:rgba(244,241,234,0.72);text-align:center;}
.market-snap-note strong{color:#E8C880;font-weight:500;}
.market-snap-cite{font-size:11px;color:rgba(244,241,234,0.40);text-align:center;margin-top:20px;font-family:'Jost',sans-serif;letter-spacing:0.06em;}

@media (max-width:980px){
  .market-snap-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:600px){
  .market-snap-grid{grid-template-columns:repeat(2,1fr);}
  .market-snap-cell .msv{font-size:26px;}
}

/* IDX no-photo hiding CSS disabled — was too aggressive, hid real listings */

/* ============================================================
   CUMULATIVE LAYOUT SHIFT (CLS) DEFENSIVE RULES
   Reduces Google Core Web Vitals CLS score.
   ============================================================ */

/* Enforce intrinsic aspect ratio on any un-sized img so late-loading
   images don't push content down. Fallback = 16/10 (approx landscape). */
img:not([width]):not([height]):not([style*="height"]):not([style*="width"]) {
  aspect-ratio: 16 / 10;
  height: auto;
  max-width: 100%;
}

/* Reserve fixed height for iframes (Instagram/YouTube embeds) */
iframe:not([height]) { min-height: 300px; }

/* Prevent hero background images from causing shift on initial load */
.page-head,
.hero,
.hero-main { contain: layout style; }

/* Font loading optimization — request all faces immediately, prefer
   local fonts if user has them, don't block render but minimize swap. */
@font-face { font-family: 'Cormorant Garamond'; font-display: optional; }
@font-face { font-family: 'Jost'; font-display: optional; }
@font-face { font-family: 'Tenor Sans'; font-display: optional; }

/* Prevent late-loading IDX cards from CLS by holding minimum container height */
.idx-slideshow-wrap:empty,
[id*="parent-listings"]:empty { min-height: 420px; }

/* Legacy showcase wrapper — minimal, lets IDX render as-is */
.legacy-showcase-wrap { background: var(--cream); padding: 40px 0; min-height: 400px; }
