/* =====================================================================
   NORTHBOUND — BLUFFTON, IN (v5)
   Palette: Deep Forest Green / WARM TERRACOTTA (new!) / Warm Cream / Sage
   Buttons: Terracotta (fresh, not amber/ochre used before)
   ===================================================================== */

:root{
  --forest:#0e3b2e;
  --forest-deep:#062419;
  --forest-mid:#175041;
  --terra:#e07856;          /* NEW warm terracotta */
  --terra-deep:#c25c3d;
  --terra-soft:#f5b8a3;
  --sage:#a8b89f;
  --sage-deep:#6b7a63;
  --cream:#f5f0e6;
  --cream-warm:#ede4d0;
  --canvas:#faf6ec;
  --ink:#1a2420;
  --ink-soft:#576259;
  --line:#dcd3bf;
  --grid:#e5dcc7;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:'Inter','Helvetica Neue',system-ui,-apple-system,sans-serif;
  background:var(--canvas);
  color:var(--ink);
  line-height:1.65;font-size:16px;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.display{
  font-family:'Fraunces','Recoleta','Playfair Display','Cormorant Garamond',Georgia,serif;
  font-weight:400;letter-spacing:-.02em;line-height:1;
}
.grot{font-family:'Space Grotesk','Inter',sans-serif;font-weight:500}

.wrap{max-width:1360px;margin:0 auto;padding:0 40px}
.narrow{max-width:820px;margin:0 auto;padding:0 40px}

/* ---------- Preloader ---------- */
#preloader{
  position:fixed;inset:0;background:var(--forest);z-index:9999;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;
  transition:opacity .6s ease, visibility .6s ease;
}
#preloader.done{opacity:0;visibility:hidden}
.pre-mark{animation:medalIn 1s cubic-bezier(.2,.8,.2,1)}
@keyframes medalIn{from{transform:scale(.6) rotate(-45deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
.pre-text{
  font-family:'Fraunces',Georgia,serif;font-style:italic;
  color:var(--terra-soft);font-size:1.4rem;letter-spacing:.4em;font-weight:400;
  padding-left:.5em;opacity:0;animation:fadeIn .8s ease .4s forwards;
}
@keyframes fadeIn{to{opacity:.95}}

/* ---------- Announce Bar (no phone number visible!) ---------- */
.announce{
  background:var(--forest-deep);color:var(--cream);
  font-family:'Space Grotesk',sans-serif;
  font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  padding:11px 0;font-weight:500;
}
.announce .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.announce .left{color:var(--terra-soft);display:flex;align-items:center;gap:14px}
.announce .left .dot{width:6px;height:6px;background:var(--terra);border-radius:50%;box-shadow:0 0 8px var(--terra);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:.5}50%{opacity:1}}
.announce a{color:var(--terra-soft);font-weight:700;display:inline-flex;align-items:center;gap:6px}
.announce a:hover{color:var(--cream)}

/* ---------- Header ---------- */
header.site{
  background:var(--canvas);border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:100;transition:box-shadow .3s;
}
header.site.scrolled{box-shadow:0 6px 30px -15px rgba(14,59,46,.25)}
.nav-in{
  max-width:1360px;margin:0 auto;padding:0 40px;
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  height:98px;
}
.brand{display:flex;align-items:center;gap:18px}
.brand-txt{line-height:1.05}
.brand-txt .b1{
  font-family:'Fraunces',Georgia,serif;
  font-size:1.7rem;color:var(--forest);font-weight:500;letter-spacing:-.02em;display:block;
}
.brand-txt .b2{
  display:block;font-family:'Space Grotesk',sans-serif;
  font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--terra);margin-top:5px;font-weight:600;
}
nav.prim ul{
  display:flex;gap:34px;list-style:none;
  font-family:'Space Grotesk',sans-serif;
  font-size:.85rem;letter-spacing:.06em;font-weight:500;
}
nav.prim a{color:var(--ink-soft);padding:6px 0;position:relative;transition:color .25s}
nav.prim a::before{
  content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;
  background:var(--terra);transition:width .3s ease;
}
nav.prim a:hover{color:var(--forest)}
nav.prim a:hover::before{width:100%}

.head-cta{display:flex;align-items:center;gap:14px}

/* ==================================================================
   NEW BUTTON STYLES — Warm Terracotta (fresh, unused color)
   ================================================================== */
.btn-call{
  background:var(--terra);color:var(--cream);
  padding:14px 24px;border-radius:100px;
  font-family:'Space Grotesk',sans-serif;
  font-size:.82rem;letter-spacing:.05em;font-weight:600;
  display:inline-flex;align-items:center;gap:10px;
  border:1px solid var(--terra);cursor:pointer;
  transition:all .35s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 4px 14px -4px rgba(224,120,86,.5);
}
.btn-call:hover{background:var(--forest);border-color:var(--forest);color:var(--cream);transform:translateY(-2px);box-shadow:0 8px 20px -4px rgba(14,59,46,.4)}
.btn-call svg{transition:transform .3s}
.btn-call:hover svg{transform:rotate(-12deg)}

.btn-primary{
  background:var(--terra);color:var(--cream);
  padding:18px 30px;border-radius:100px;
  font-family:'Space Grotesk',sans-serif;
  font-size:.9rem;letter-spacing:.04em;font-weight:600;
  display:inline-flex;align-items:center;gap:12px;
  border:1px solid var(--terra);cursor:pointer;
  transition:all .35s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 10px 26px -8px rgba(224,120,86,.55);
  position:relative;overflow:hidden;
}
.btn-primary::before{
  content:"";position:absolute;inset:0;background:var(--forest);
  transform:translateY(101%);transition:transform .4s cubic-bezier(.2,.8,.2,1);z-index:0;
}
.btn-primary:hover::before{transform:translateY(0)}
.btn-primary > *{position:relative;z-index:1}
.btn-primary:hover{border-color:var(--forest)}

.btn-ghost{
  color:var(--cream);padding:18px 24px;border-radius:100px;
  font-family:'Space Grotesk',sans-serif;
  font-size:.9rem;letter-spacing:.04em;font-weight:600;
  display:inline-flex;align-items:center;gap:10px;
  border:1px solid rgba(245,240,230,.4);background:transparent;cursor:pointer;
  transition:all .35s;
}
.btn-ghost:hover{background:var(--cream);color:var(--forest);border-color:var(--cream)}

.hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--forest)}

/* ---------- HERO ---------- */
.hero{
  position:relative;overflow:hidden;min-height:720px;
  display:flex;align-items:center;color:var(--cream);
}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(105deg, rgba(6,36,25,.88) 0%, rgba(14,59,46,.6) 55%, rgba(14,59,46,.25) 100%),
    linear-gradient(180deg, transparent 60%, rgba(6,36,25,.6));
}
.hero .wrap{position:relative;z-index:2;padding-top:100px;padding-bottom:100px;width:100%}
.hero-content{max-width:780px}
.eyebrow-hero{
  display:inline-flex;align-items:center;gap:12px;
  font-family:'Space Grotesk',sans-serif;
  font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--terra-soft);font-weight:600;margin-bottom:30px;
  padding:8px 18px;background:rgba(245,240,230,.08);
  border:1px solid rgba(245,184,163,.3);border-radius:100px;
  backdrop-filter:blur(10px);
}
.eyebrow-hero .dot{width:6px;height:6px;background:var(--terra);border-radius:50%;box-shadow:0 0 10px var(--terra)}
.hero h1{
  font-size:clamp(2.6rem, 6.2vw, 5.6rem);
  color:var(--cream);margin-bottom:30px;line-height:1;
}
.hero h1 em{
  color:var(--terra-soft);font-style:italic;font-weight:400;
  position:relative;display:inline-block;
}
.hero h1 em::after{
  content:"";position:absolute;left:0;right:0;bottom:.05em;height:.35em;
  background:rgba(224,120,86,.35);z-index:-1;
}
.hero-lede{
  font-size:1.15rem;color:rgba(245,240,230,.85);max-width:640px;
  line-height:1.7;margin-bottom:44px;
}
.hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:60px}

.hero-badges{
  display:flex;gap:32px;flex-wrap:wrap;padding-top:36px;
  border-top:1px solid rgba(245,240,230,.15);
}
.h-badge{display:flex;align-items:center;gap:14px;color:var(--cream)}
.h-badge-icon{
  width:44px;height:44px;border-radius:50%;
  background:rgba(224,120,86,.15);border:1px solid rgba(245,184,163,.4);
  display:flex;align-items:center;justify-content:center;color:var(--terra-soft);flex-shrink:0;
}
.h-badge-text .t1{
  display:block;font-family:'Fraunces',Georgia,serif;
  font-size:1.4rem;color:var(--cream);line-height:1;font-weight:500;
}
.h-badge-text .t2{
  display:block;font-family:'Space Grotesk',sans-serif;
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(245,184,163,.85);margin-top:6px;font-weight:600;
}

/* ---------- Featured Homes Band ---------- */
.featured{background:var(--forest-deep);color:var(--cream);padding:70px 0 90px;position:relative}
.feat-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px;flex-wrap:wrap}
.feat-head h3{
  font-family:'Fraunces',Georgia,serif;font-weight:400;
  font-size:clamp(1.6rem,2.6vw,2.2rem);color:var(--cream);line-height:1.15;
  max-width:640px;letter-spacing:-.015em;
}
.feat-head h3 em{color:var(--terra-soft);font-style:italic}
.feat-head .meta{
  font-family:'Space Grotesk',sans-serif;
  font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--terra-soft);font-weight:600;
}
.feat-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px;align-items:stretch}
.feat-item{
  position:relative;overflow:hidden;border-radius:8px;aspect-ratio:4/3;
  box-shadow:0 20px 40px -20px rgba(0,0,0,.4);cursor:pointer;
}
.feat-item:first-child{aspect-ratio:auto}
.feat-item img{width:100%;height:100%;object-fit:cover;transition:transform 5s ease}
.feat-item:hover img{transform:scale(1.05)}
.feat-item::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(6,36,25,.85));pointer-events:none;
}
.feat-cap{position:absolute;bottom:0;left:0;right:0;padding:24px;z-index:2;color:var(--cream)}
.feat-cap .tag{
  display:inline-block;
  font-family:'Space Grotesk',sans-serif;
  font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--terra-soft);font-weight:700;margin-bottom:8px;
}
.feat-cap h4{
  font-family:'Fraunces',Georgia,serif;font-weight:500;
  font-size:1.25rem;color:var(--cream);line-height:1.15;letter-spacing:-.01em;
}
.feat-item:first-child .feat-cap h4{font-size:1.6rem}

/* ---------- Reality Grid ---------- */
.reality{background:var(--cream);padding:120px 0}
.reality-head{max-width:900px;margin-bottom:70px}
.eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-family:'Space Grotesk',sans-serif;
  font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--terra);font-weight:700;margin-bottom:20px;
}
.eyebrow::before{content:"";width:32px;height:1px;background:var(--terra)}
.section-h{
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(2.2rem,4.6vw,4rem);color:var(--forest);font-weight:400;
  letter-spacing:-.025em;line-height:1;margin-bottom:24px;
}
.section-h em{color:var(--terra);font-style:italic;font-weight:400}
.section-lede{font-size:1.05rem;color:var(--ink-soft);max-width:640px;line-height:1.7}

.facts{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--grid);border:1px solid var(--grid);
  border-radius:8px;overflow:hidden;
}
.fact{background:var(--cream);padding:44px 36px;transition:background .4s;display:flex;flex-direction:column;gap:20px}
.fact:hover{background:var(--cream-warm)}
.fact-num{
  font-family:'Fraunces',Georgia,serif;
  font-size:3.6rem;color:var(--forest);font-weight:400;line-height:1;letter-spacing:-.03em;
}
.fact-num sup{color:var(--terra);font-size:.35em;font-style:italic;vertical-align:top;margin-left:4px}
.fact-lbl{
  font-family:'Space Grotesk',sans-serif;
  font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--sage-deep);font-weight:600;margin-bottom:auto;
}
.fact h3{font-family:'Fraunces',Georgia,serif;font-size:1.55rem;color:var(--forest);font-weight:500;line-height:1.15;letter-spacing:-.01em}
.fact p{color:var(--ink-soft);font-size:.95rem;line-height:1.65}

/* ---------- How It Works ---------- */
.how{background:var(--canvas);padding:120px 0}
.how-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;margin-top:60px;align-items:start}
.how-intro{position:sticky;top:120px}
.how-intro p{color:var(--ink-soft);font-size:1rem;line-height:1.7;margin-bottom:16px}
.how-intro .signature{
  margin-top:32px;padding:24px;background:var(--forest);color:var(--cream);
  border-radius:8px;font-family:'Fraunces',Georgia,serif;font-style:italic;
  font-size:1.05rem;line-height:1.4;
}
.how-intro .signature small{
  display:block;font-family:'Space Grotesk',sans-serif;
  font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--terra-soft);margin-top:12px;font-weight:600;font-style:normal;
}
.steps{display:flex;flex-direction:column;gap:0}
.step{
  padding:32px 0;border-top:1px solid var(--line);
  display:grid;grid-template-columns:80px 1fr;gap:32px;align-items:start;
  transition:padding-left .3s;position:relative;
}
.step:last-child{border-bottom:1px solid var(--line)}
.step::before{
  content:"";position:absolute;left:0;top:0;width:0;height:1px;
  background:var(--terra);transition:width .5s cubic-bezier(.2,.8,.2,1);
}
.step:hover{padding-left:12px}
.step:hover::before{width:60px}
.step-num{font-family:'Fraunces',Georgia,serif;font-size:3.4rem;color:var(--terra);font-weight:400;line-height:.85;letter-spacing:-.02em}
.step-num em{color:var(--sage-deep);font-style:italic;font-size:.5em;vertical-align:top;margin-left:2px}
.step h3{font-family:'Fraunces',Georgia,serif;font-size:1.7rem;color:var(--forest);font-weight:500;margin-bottom:12px;line-height:1.15;letter-spacing:-.01em}
.step p{color:var(--ink-soft);font-size:1rem;line-height:1.7}
.step .step-tag{
  display:inline-block;margin-top:14px;
  font-family:'Space Grotesk',sans-serif;
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--terra);font-weight:600;
  padding:6px 14px;background:rgba(224,120,86,.09);border-radius:100px;
}

/* ---------- Services ---------- */
.services{background:var(--cream);padding:120px 0}
.svc-head{max-width:900px;margin-bottom:60px}
.svc-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.svc-item{
  display:grid;grid-template-columns:100px 1fr 320px;gap:40px;
  padding:44px 0;border-bottom:1px solid var(--line);
  align-items:center;transition:background .3s;
}
.svc-item:hover{background:var(--cream-warm)}
.svc-item .svc-idx{
  font-family:'Space Grotesk',sans-serif;
  font-size:.75rem;letter-spacing:.18em;color:var(--terra);font-weight:700;
  align-self:start;padding-top:6px;
}
.svc-txt h3{font-family:'Fraunces',Georgia,serif;font-size:1.9rem;color:var(--forest);font-weight:500;margin-bottom:10px;line-height:1.15;letter-spacing:-.015em}
.svc-txt p{color:var(--ink-soft);font-size:1rem;line-height:1.65;max-width:600px}
.svc-photo{
  aspect-ratio:4/3;overflow:hidden;border-radius:8px;
  box-shadow:0 12px 30px -12px rgba(14,59,46,.25);
}
.svc-photo img{width:100%;height:100%;object-fit:cover;transition:transform 4s ease}
.svc-item:hover .svc-photo img{transform:scale(1.05)}
.svc-item:nth-child(even){grid-template-columns:100px 320px 1fr}
.svc-item:nth-child(even) .svc-photo{order:2}
.svc-item:nth-child(even) .svc-txt{order:3}

/* ---------- CTA #3 ---------- */
.cta-band{background:var(--terra);color:var(--forest);padding:80px 0;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;top:-100px;right:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(245,240,230,.15),transparent 70%)}
.cta-band::after{content:"";position:absolute;bottom:-100px;left:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(14,59,46,.15),transparent 70%)}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;position:relative;z-index:1}
.cta-band h2{
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:400;line-height:1.15;
  max-width:640px;letter-spacing:-.015em;
}
.cta-band h2 em{font-style:italic;color:var(--forest-deep)}
.cta-band .btn-primary{
  background:var(--forest);border-color:var(--forest);color:var(--cream);
  box-shadow:0 8px 24px -6px rgba(6,36,25,.4);
}
.cta-band .btn-primary::before{background:var(--cream)}
.cta-band .btn-primary:hover{color:var(--forest);border-color:var(--cream)}

/* ---------- Before/After ---------- */
.compare{background:var(--forest);color:var(--cream);padding:120px 0}
.compare .eyebrow{color:var(--terra-soft)}
.compare .eyebrow::before{background:var(--terra-soft)}
.compare .section-h{color:var(--cream)}
.compare .section-h em{color:var(--terra-soft)}
.compare .section-lede{color:rgba(245,240,230,.75)}

.rooms-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px;margin-bottom:40px}
.rtab{
  padding:12px 24px;background:transparent;border:1px solid rgba(245,184,163,.35);
  cursor:pointer;border-radius:100px;
  font-family:'Space Grotesk',sans-serif;
  font-size:.8rem;letter-spacing:.05em;font-weight:600;
  color:rgba(245,240,230,.75);transition:all .3s;
}
.rtab:hover{color:var(--terra-soft);border-color:var(--terra-soft)}
.rtab.on{background:var(--terra);color:var(--cream);border-color:var(--terra)}

.reveal-panel{display:none;position:relative}
.reveal-panel.on{display:block;animation:fadeIn2 .5s ease both}
@keyframes fadeIn2{from{opacity:0}to{opacity:1}}

.curtain{
  position:relative;width:100%;aspect-ratio:16/10;
  overflow:hidden;cursor:pointer;user-select:none;
  border-radius:10px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);
}
.curtain img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.curtain .after-img{z-index:1}
.curtain .before-img{z-index:2;clip-path:inset(0 0 0 0);transition:clip-path 1s cubic-bezier(.7,0,.3,1)}
.curtain.opened .before-img{clip-path:inset(0 100% 0 0)}
.curtain .lbl{
  position:absolute;top:22px;padding:8px 18px;border-radius:100px;
  font-family:'Space Grotesk',sans-serif;
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;z-index:5;
}
.curtain .lbl.before{left:22px;background:var(--cream);color:var(--forest)}
.curtain .lbl.after{right:22px;background:var(--terra);color:var(--cream);opacity:0;transition:opacity .6s ease .5s}
.curtain.opened .lbl.before{opacity:0;transition:opacity .3s}
.curtain.opened .lbl.after{opacity:1}
.curtain-cta{
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  background:var(--forest-deep);color:var(--terra-soft);
  padding:14px 24px;border-radius:100px;
  font-family:'Space Grotesk',sans-serif;font-size:.75rem;
  letter-spacing:.05em;font-weight:600;z-index:5;pointer-events:none;
  display:inline-flex;align-items:center;gap:10px;
  border:1px solid rgba(245,184,163,.4);transition:all .5s;
}
.curtain.opened .curtain-cta{opacity:0;transform:translate(-50%,20px)}

.reveal-note{
  text-align:center;margin-top:24px;
  font-family:'Space Grotesk',sans-serif;
  font-size:.75rem;letter-spacing:.1em;color:rgba(245,240,230,.55);font-weight:500;
}

.dark-cta{text-align:center;margin-top:60px}
.dark-cta .btn-primary{background:var(--terra);color:var(--cream);border-color:var(--terra)}
.dark-cta .btn-primary::before{background:var(--cream)}
.dark-cta .btn-primary:hover{color:var(--forest);border-color:var(--cream)}

/* ---------- Case Study ---------- */
.case{background:var(--cream);padding:120px 0}
.case-article{max-width:820px;margin:0 auto}
.case-meta{
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding-bottom:20px;margin-bottom:40px;border-bottom:2px solid var(--forest);
  font-family:'Space Grotesk',sans-serif;
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--terra);
}
.case-h{
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(2.4rem,5vw,3.8rem);color:var(--forest);
  font-weight:400;line-height:1.05;letter-spacing:-.025em;margin-bottom:16px;
}
.case-h em{color:var(--terra);font-style:italic}
.case-sub{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:1.4rem;color:var(--ink-soft);line-height:1.35;margin-bottom:40px;font-weight:400}
.case-body p{font-size:1.05rem;color:var(--ink);line-height:1.8;margin-bottom:22px}
.case-body p:first-of-type::first-letter{
  font-family:'Fraunces',Georgia,serif;
  float:left;font-size:5rem;line-height:.85;color:var(--terra);font-weight:400;
  padding:6px 12px 0 0;margin-top:6px;
}
.case-body strong{color:var(--forest);font-weight:700}
.case-stat{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--forest);margin:44px 0;
  border:1px solid var(--forest);border-radius:8px;overflow:hidden;
}
.case-stat-box{background:var(--cream);padding:28px 20px;text-align:center}
.case-stat-num{font-family:'Fraunces',Georgia,serif;font-size:2.6rem;color:var(--terra);font-weight:400;line-height:1;letter-spacing:-.02em}
.case-stat-lbl{
  font-family:'Space Grotesk',sans-serif;
  font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--sage-deep);margin-top:10px;font-weight:600;
}
.case-quote{
  font-family:'Fraunces',Georgia,serif;
  font-size:1.55rem;font-style:italic;line-height:1.3;
  color:var(--forest);padding:32px 0;margin:32px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;
}
.case-quote::before{content:"❝";display:block;font-size:2rem;color:var(--terra);margin-bottom:10px;line-height:.5}

/* ---------- Areas ---------- */
.areas{background:var(--canvas);padding:120px 0}
.areas-head{max-width:900px;margin-bottom:60px}
.board{
  background:var(--forest);color:var(--cream);
  border:1px solid var(--forest);border-radius:10px;overflow:hidden;
  box-shadow:0 20px 50px -20px rgba(14,59,46,.35);
}
.board-header{
  display:grid;grid-template-columns:120px 1fr 1.4fr 140px;gap:0;
  background:var(--forest-deep);padding:18px 28px;
  font-family:'Space Grotesk',sans-serif;
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--terra-soft);
}
.board-row{
  display:grid;grid-template-columns:120px 1fr 1.4fr 140px;gap:0;
  padding:24px 28px;border-top:1px solid rgba(245,184,163,.12);
  transition:background .3s;align-items:center;
}
.board-row:hover{background:rgba(245,184,163,.06)}
.board-row .zip{font-family:'Space Grotesk',sans-serif;font-size:1.05rem;color:var(--terra-soft);font-weight:700;letter-spacing:.03em}
.board-row .city{font-family:'Fraunces',Georgia,serif;font-size:1.35rem;color:var(--cream);font-weight:500;letter-spacing:-.01em}
.board-row .note{color:rgba(245,240,230,.6);font-size:.9rem}
.board-row .status{
  font-family:'Space Grotesk',sans-serif;font-size:.7rem;
  letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  color:var(--terra-soft);display:inline-flex;align-items:center;gap:8px;justify-self:end;
}
.board-row .status::before{content:"";width:6px;height:6px;background:var(--terra);border-radius:50%;animation:pulse 2s infinite}

/* ---------- Families ---------- */
.families{background:var(--cream);padding:120px 0}
.families-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.families-photo{
  aspect-ratio:3/4;overflow:hidden;border-radius:10px;position:relative;
  box-shadow:0 30px 60px -20px rgba(14,59,46,.35);
}
.families-photo img{width:100%;height:100%;object-fit:cover}
.families-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(6,36,25,.55))}
.families-quote{
  position:absolute;bottom:60px;left:32px;right:32px;
  color:var(--cream);font-family:'Fraunces',Georgia,serif;
  font-size:1.15rem;line-height:1.35;font-style:italic;z-index:2;
}
.families-quote small{
  display:block;margin-top:12px;font-family:'Space Grotesk',sans-serif;
  font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--terra-soft);font-style:normal;font-weight:600;
}
.families-text p{color:var(--ink-soft);font-size:1.02rem;margin-bottom:20px;line-height:1.75}
.families-text .lead{
  font-family:'Fraunces',Georgia,serif;
  font-size:1.7rem;color:var(--forest);line-height:1.25;
  margin-bottom:28px;letter-spacing:-.015em;
}
.families-text .lead em{color:var(--terra);font-style:italic}

/* ---------- FAQ ---------- */
.faq{background:var(--canvas);padding:120px 0}
.faq-head{max-width:900px;margin-bottom:60px}
.faq-list{display:flex;flex-direction:column;gap:0}
.faq-row{border-top:1px solid var(--line);transition:background .3s}
.faq-row:last-child{border-bottom:1px solid var(--line)}
.faq-row.open{background:var(--cream)}
.faq-btn{
  width:100%;background:none;border:none;cursor:pointer;padding:36px 0;
  display:grid;grid-template-columns:80px 1fr 40px;gap:32px;align-items:center;text-align:left;
}
.faq-btn .faq-idx{font-family:'Space Grotesk',sans-serif;font-size:.75rem;letter-spacing:.18em;color:var(--terra);font-weight:700}
.faq-btn .faq-q{font-family:'Fraunces',Georgia,serif;font-size:1.5rem;color:var(--forest);font-weight:500;line-height:1.25;letter-spacing:-.01em;transition:color .3s}
.faq-btn:hover .faq-q{color:var(--terra)}
.faq-plus{
  width:38px;height:38px;border-radius:50%;
  border:1px solid var(--forest);
  display:flex;align-items:center;justify-content:center;
  color:var(--forest);transition:all .35s;justify-self:end;
}
.faq-row.open .faq-plus{background:var(--terra);border-color:var(--terra);color:var(--cream);transform:rotate(45deg)}
.faq-ans{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.2,.8,.2,1)}
.faq-ans-in{padding:0 0 36px 112px;color:var(--ink-soft);font-size:1rem;line-height:1.8;max-width:820px}

/* ---------- Final CTA ---------- */
.final{background:var(--forest);color:var(--cream);padding:150px 0;text-align:center;position:relative;overflow:hidden}
.final::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 20% 30%,rgba(224,120,86,.12),transparent 40%),
    radial-gradient(circle at 80% 70%,rgba(168,184,159,.1),transparent 40%);
  pointer-events:none;
}
.final .wrap{position:relative;z-index:1}
.final .eyebrow{color:var(--terra-soft);justify-content:center;display:inline-flex}
.final .eyebrow::before{background:var(--terra-soft)}
.final h2{
  font-family:'Fraunces',Georgia,serif;
  font-size:clamp(2.4rem,6vw,5rem);color:var(--cream);
  font-weight:400;line-height:1;letter-spacing:-.025em;
  margin-bottom:26px;max-width:960px;margin-left:auto;margin-right:auto;
}
.final h2 em{color:var(--terra-soft);font-style:italic}
.final p{color:rgba(245,240,230,.75);font-size:1.1rem;max-width:600px;margin:0 auto 44px;line-height:1.7}

/* ---------- Footer ---------- */
footer{background:var(--forest-deep);color:var(--cream);padding:80px 0 30px}
.foot{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;margin-bottom:60px}
.foot-brand{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.foot-brand .brand-txt .b1{color:var(--cream);font-size:1.5rem}
.foot-brand .brand-txt .b2{color:var(--terra-soft)}
.foot-tag{color:rgba(245,240,230,.55);font-size:.94rem;line-height:1.7;max-width:340px}
footer h4{
  font-family:'Space Grotesk',sans-serif;
  font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--terra-soft);font-weight:700;margin-bottom:22px;
}
footer ul{list-style:none}
footer ul li{margin-bottom:10px;font-size:.92rem}
footer ul a{color:rgba(245,240,230,.6);transition:color .3s,padding .3s;cursor:pointer}
footer ul a:hover{color:var(--terra-soft);padding-left:5px}
.foot-cta-btn{
  display:inline-flex;align-items:center;gap:10px;margin-top:16px;
  background:var(--terra);color:var(--cream);
  padding:14px 24px;border-radius:100px;
  font-family:'Space Grotesk',sans-serif;
  font-size:.78rem;letter-spacing:.05em;font-weight:700;
  transition:all .3s;cursor:pointer;
}
.foot-cta-btn:hover{background:var(--cream);color:var(--forest)}
.foot-bot{
  padding-top:32px;border-top:1px solid rgba(255,255,255,.08);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-family:'Space Grotesk',sans-serif;
  font-size:.72rem;color:rgba(245,240,230,.4);letter-spacing:.08em;
}
.foot-bot a{color:rgba(245,240,230,.55)}
.foot-bot a:hover{color:var(--terra-soft)}

/* ---------- Mobile Sticky Call ---------- */
.sticky-call{
  display:none;position:fixed;bottom:20px;left:20px;right:20px;z-index:90;
  background:var(--terra);color:var(--cream);
  padding:16px 24px;border-radius:100px;
  font-family:'Space Grotesk',sans-serif;
  font-size:.82rem;letter-spacing:.05em;font-weight:700;
  align-items:center;justify-content:center;gap:10px;cursor:pointer;
  box-shadow:0 12px 30px -6px rgba(224,120,86,.6);
  animation:slideUp .5s ease .3s both;
}
@keyframes slideUp{from{transform:translateY(120%)}to{transform:translateY(0)}}

/* ---------- Reveal ---------- */
.rv{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:translateY(0)}
.rvs > *{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.rvs.in > *{opacity:1;transform:translateY(0)}
.rvs.in > *:nth-child(1){transition-delay:.05s}
.rvs.in > *:nth-child(2){transition-delay:.13s}
.rvs.in > *:nth-child(3){transition-delay:.21s}
.rvs.in > *:nth-child(4){transition-delay:.29s}
.rvs.in > *:nth-child(5){transition-delay:.37s}
.rvs.in > *:nth-child(6){transition-delay:.45s}

/* ---------- Mobile menu ---------- */
.mmenu{
  position:fixed;inset:0;background:var(--forest);z-index:99;
  transform:translateX(100%);transition:transform .4s cubic-bezier(.2,.8,.2,1);
  padding:100px 40px 40px;
}
.mmenu.open{transform:translateX(0)}
.mmenu ul{list-style:none}
.mmenu ul li{border-bottom:1px solid rgba(245,184,163,.15)}
.mmenu ul a{
  display:flex;justify-content:space-between;align-items:center;padding:22px 0;
  font-family:'Fraunces',Georgia,serif;font-size:1.9rem;color:var(--cream);font-weight:500;
}
.mmenu ul a::after{content:"→";color:var(--terra-soft);font-family:'Space Grotesk',sans-serif;font-size:1.2rem}
.mmenu ul a:hover{color:var(--terra-soft)}
.mm-close{position:absolute;top:30px;right:32px;background:none;border:none;cursor:pointer;color:var(--cream);padding:8px}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .how-grid,.families-grid{grid-template-columns:1fr;gap:50px}
  .how-intro{position:relative;top:auto}
  .facts{grid-template-columns:repeat(2,1fr)}
  .feat-grid{grid-template-columns:1fr 1fr;gap:16px}
  .feat-item:first-child{grid-column:span 2;aspect-ratio:16/9}
  .board-header,.board-row{grid-template-columns:90px 1fr 1fr}
  .board-header .status-h,.board-row .status{display:none}
  .hero{min-height:600px}
  .hero-badges{gap:24px}
}
@media (max-width:820px){
  .facts{grid-template-columns:1fr}
  .svc-item,.svc-item:nth-child(even){grid-template-columns:60px 1fr;gap:20px}
  .svc-item .svc-photo,.svc-item:nth-child(even) .svc-photo{grid-column:span 2;order:3;margin-top:16px}
  .feat-grid{grid-template-columns:1fr}
  .feat-item:first-child{grid-column:span 1}
}
@media (max-width:720px){
  .wrap,.narrow{padding:0 22px}
  nav.prim{display:none}
  .hamburger{display:flex}
  .head-cta .btn-call span.long{display:none}
  .head-cta .btn-call{padding:12px 16px}
  .nav-in{padding:0 22px;height:82px}
  .brand-txt .b2{display:none}
  .brand-txt .b1{font-size:1.4rem}
  .brand svg{width:48px !important;height:48px !important}
  .hero{min-height:auto}
  .hero .wrap{padding-top:60px;padding-bottom:70px}
  .cta-band .wrap{flex-direction:column;align-items:flex-start}
  .foot{grid-template-columns:1fr;gap:36px}
  .board-header,.board-row{grid-template-columns:80px 1fr;padding:16px}
  .board-row .note{display:none}
  .faq-btn{grid-template-columns:50px 1fr 32px;gap:16px}
  .faq-ans-in{padding-left:66px}
  .case-stat{grid-template-columns:1fr}
  .case-body p:first-of-type::first-letter{font-size:3.5rem}
  .sticky-call{display:flex}
  body{padding-bottom:88px}
  .final{padding:90px 0}
  .reality,.how,.services,.case,.areas,.families,.faq{padding:70px 0}
  .featured{padding:50px 0 60px}
  .feat-head{margin-bottom:28px}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

/* Elementor compatibility layer: layout remains native containers/widgets. */
body.elementor-page .site-content,
body.elementor-page .content-area,
body.elementor-page .ast-container,
body.elementor-page .entry-content,
body.elementor-page .elementor,
body.elementor-page .elementor-element {max-width:none}
body.elementor-page .site-content > .ast-container{padding:0;display:block}
body.elementor-page .content-area{margin:0;width:100%}
body.elementor-page article.page{padding:0;margin:0}
body.elementor-page .entry-header{display:none}
.northbound-page,.northbound-site-header,.northbound-footer,.northbound-legal{--widgets-spacing:0px;gap:0!important;padding:0!important;margin:0!important}
.northbound-page>.e-con,.northbound-footer>.e-con,.northbound-site-header>.e-con{gap:0!important}
.northbound-page .elementor-widget,.northbound-footer .elementor-widget,.northbound-site-header .elementor-widget{margin:0;min-width:0}
.northbound-page .elementor-heading-title,.northbound-footer .elementor-heading-title,.northbound-site-header .elementor-heading-title{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:0;margin:0}
.northbound-page .elementor-widget-text-editor p:last-child,.northbound-footer .elementor-widget-text-editor p:last-child,.northbound-site-header .elementor-widget-text-editor p:last-child{margin-bottom:0}
.northbound-page>.e-con>.wrap,.northbound-footer>.wrap,.northbound-legal>.wrap{width:100%;max-width:1360px!important;padding-left:40px!important;padding-right:40px!important;margin-left:auto!important;margin-right:auto!important;gap:0!important}
.northbound-page .narrow{width:100%;max-width:820px!important;padding-left:40px!important;padding-right:40px!important;margin-left:auto!important;margin-right:auto!important;gap:0!important}

.northbound-site-header{position:sticky;top:0;z-index:100;background:var(--canvas);box-shadow:none;transition:box-shadow .3s}
.northbound-site-header.scrolled{box-shadow:0 6px 30px -15px rgba(14,59,46,.3)}
.announcement{background:var(--forest-deep);color:var(--cream);padding:10px 0!important}
.announcement>.wrap{width:100%;max-width:1360px!important;padding:0 40px!important;margin:auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:16px!important}
.announcement .elementor-widget-text-editor{font-family:'Space Grotesk','Inter',sans-serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--terra-soft);font-weight:600}
.announcement .dot{display:inline-block;width:6px;height:6px;margin-right:10px;background:var(--terra);border-radius:50%;box-shadow:0 0 8px var(--terra)}
.announcement-call .elementor-button{background:none!important;color:var(--terra-soft)!important;padding:0!important;font-family:'Space Grotesk','Inter',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.05em}
.nav-in{width:100%;max-width:1360px!important;padding:0 40px!important;margin:auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:28px!important;height:98px}
.brand,.foot-brand{display:flex!important;flex-direction:row!important;align-items:center!important;gap:16px!important;width:auto!important;flex-shrink:0}
.brand-mark{width:58px!important;flex:0 0 58px}.brand-mark img{width:58px;height:58px}
.brand-txt{gap:0!important;width:auto!important;white-space:nowrap}
.brand-txt .b1{font-family:'Fraunces',Georgia,serif;font-size:1.7rem;color:var(--forest);font-weight:500;line-height:1.05}
.brand-txt .b2{font-family:'Space Grotesk','Inter',sans-serif;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);font-weight:600;line-height:1.25;margin-top:5px}
.prim{flex:1;min-width:0}.prim .elementor-nav-menu{display:flex;justify-content:center;gap:26px;flex-wrap:nowrap}.prim .elementor-item{padding:8px 0!important;color:var(--ink-soft)!important;font-family:'Space Grotesk','Inter',sans-serif;font-size:.8rem;font-weight:500;letter-spacing:0;white-space:nowrap}
.prim .elementor-nav-menu--dropdown{display:none!important}
.mobile-menu-widget{display:none!important}
.head-cta{width:auto!important;flex-shrink:0}
.btn-call .elementor-button,.btn-primary .elementor-button,.foot-cta-btn .elementor-button,.sticky-call .elementor-button{border-radius:100px;background:var(--terra);color:var(--cream);border:1px solid var(--terra);font-family:'Space Grotesk','Inter',sans-serif;font-weight:600;letter-spacing:0;box-shadow:0 10px 26px -8px rgba(224,120,86,.55)}
.btn-call .elementor-button{padding:14px 24px;font-size:.82rem}.btn-primary .elementor-button{padding:18px 30px;font-size:.9rem}.foot-cta-btn .elementor-button{padding:14px 24px;font-size:.78rem}
.btn-primary,.btn-call,.btn-ghost,.foot-cta-btn{background:none!important;border:0!important;padding:0!important;box-shadow:none!important;width:auto!important;align-self:flex-start}
.btn-primary:before{display:none}.btn-primary:hover .elementor-button,.btn-call:hover .elementor-button{background:var(--forest);border-color:var(--forest);color:var(--cream)}
.btn-ghost .elementor-button{padding:17px 24px;border:1px solid rgba(245,240,230,.4);border-radius:100px;background:transparent;color:var(--cream);font-family:'Space Grotesk','Inter',sans-serif;font-size:.9rem;font-weight:600}

.hero{padding:0!important}.hero>.hero-bg{position:absolute!important;inset:0;width:100%!important;height:100%!important;z-index:0}.hero-bg .elementor-widget-container,.hero-bg img{width:100%;height:100%;object-fit:cover}.hero-bg:after{z-index:1}
.hero>.wrap{z-index:2!important;position:relative!important;align-self:center}.hero-content{gap:0!important}.hero h1 .elementor-heading-title{font:inherit;color:inherit}.hero-lede .elementor-widget-container{font:inherit;color:inherit}.hero-actions,.hero-badges{display:flex!important;flex-direction:row!important}.h-badge{width:auto!important;gap:14px!important;flex-direction:row!important}.h-badge-text{gap:0!important;width:auto!important}.h-badge-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;flex:0 0 44px!important}.h-badge-icon .elementor-icon{color:var(--terra-soft)!important;font-size:20px!important}.h-badge .t1{font-family:'Fraunces',Georgia,serif;font-size:1.4rem;line-height:1;color:var(--cream)}.h-badge .t2{font-family:'Space Grotesk','Inter',sans-serif;font-size:.68rem;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,184,163,.85);margin-top:6px}
.eyebrow-hero{width:auto!important;align-self:flex-start}

.featured,.reality,.how,.services,.cta-band,.compare,.case,.areas,.families,.faq,.final{display:block!important;width:100%!important}
.feat-head{display:flex!important;flex-direction:row!important}.feat-grid,.facts,.how-grid,.svc-item,.case-stat,.board-header,.board-row,.families-grid,.foot{display:grid!important}
.feat-item{display:block!important}.feat-item>.elementor-widget-image{position:absolute!important;inset:0;width:100%;height:100%}.feat-item>.elementor-widget-image .elementor-widget-container,.feat-item>.elementor-widget-image img{width:100%;height:100%;object-fit:cover}.feat-cap{gap:4px!important}
.facts{grid-template-columns:repeat(3,1fr);gap:1px!important}.fact{gap:20px!important}
.how-grid{grid-template-columns:1fr 1.55fr;gap:100px!important}.how-intro{gap:20px!important}.steps{gap:0!important}.step{display:grid!important}.step-copy{gap:0!important}
.svc-list{gap:0!important}.svc-item{width:100%!important}.svc-photo{display:block!important}.svc-photo .elementor-widget-image,.svc-photo .elementor-widget-container,.svc-photo img{width:100%;height:100%;object-fit:cover}
.cta-band>.wrap{display:flex!important;flex-direction:row!important}
.rooms-tabs{display:flex!important;flex-direction:row!important}.rtab{width:auto!important}.rtab .elementor-button{padding:12px 24px;background:transparent;border:1px solid rgba(245,184,163,.35);border-radius:100px;color:rgba(245,240,230,.75);font-family:'Space Grotesk','Inter',sans-serif;font-size:.8rem;font-weight:600}.rtab.on .elementor-button{background:var(--terra);color:var(--cream);border-color:var(--terra)}
.reveal-panel{width:100%!important}.curtain{display:block!important}.curtain>.elementor-widget-image{position:absolute!important;inset:0;width:100%;height:100%}.curtain>.elementor-widget-image .elementor-widget-container,.curtain>.elementor-widget-image img{width:100%;height:100%;object-fit:cover}.curtain>.after-img{z-index:1}.curtain>.before-img{z-index:2;clip-path:inset(0 0 0 0);transition:clip-path 1s cubic-bezier(.7,0,.3,1)}.curtain.opened>.before-img{clip-path:inset(0 100% 0 0)}.curtain>.lbl,.curtain>.curtain-cta{position:absolute!important;width:auto!important;z-index:5}.curtain>.lbl.before{left:22px}.curtain>.lbl.after{right:22px}.curtain>.curtain-cta{bottom:24px;left:50%;transform:translateX(-50%)}
.case-meta{display:flex!important;flex-direction:row!important}.case-body{gap:0!important}.case-stat-num span{font-size:.5em}.board{gap:0!important}.board-header,.board-row{width:100%!important}
.families-photo{display:block!important}.families-photo>.elementor-widget-image{position:absolute!important;inset:0;width:100%;height:100%}.families-photo>.elementor-widget-image .elementor-widget-container,.families-photo>.elementor-widget-image img{width:100%;height:100%;object-fit:cover}.families-photo>.families-quote{position:absolute!important;bottom:60px;left:32px;right:32px;width:auto!important;z-index:2}.families-text{gap:0!important}.families-cta{margin-top:16px!important}
.faq-list .elementor-accordion-item{border:0;border-top:1px solid var(--line)}.faq-list .elementor-accordion-item:last-child{border-bottom:1px solid var(--line)}.faq-list .elementor-tab-title{padding:34px 0!important;color:var(--forest)!important;font-family:'Fraunces',Georgia,serif;font-size:1.42rem;line-height:1.3;font-weight:500}.faq-list .elementor-tab-content{border:0!important;padding:0 70px 34px 112px!important;color:var(--ink-soft);font-size:1rem;line-height:1.8}.faq-list .elementor-accordion-icon{color:var(--forest)!important}.final>.wrap{align-items:center!important;text-align:center}.final .btn-primary{align-self:center}.dark-cta{align-items:center!important}.dark-cta .btn-primary{align-self:center}

.northbound-footer{background:var(--forest-deep);color:var(--cream);padding:80px 0 30px!important}.northbound-footer .foot{grid-template-columns:2fr 1fr 1fr 1fr;column-gap:60px!important;row-gap:60px!important;margin-bottom:60px}.northbound-footer .foot-intro,.northbound-footer .foot-services,.northbound-footer .foot-coverage,.northbound-footer .foot-contact{align-items:flex-start!important;gap:0!important;text-align:left!important;min-width:0}.northbound-footer .foot-services h4,.northbound-footer .foot-coverage h4,.northbound-footer .foot-contact h4{width:100%;margin:0 0 22px!important;padding-top:5px;text-align:left}.northbound-footer ul{list-style:none!important;margin:0!important;padding:0!important;width:100%;text-align:left!important}.northbound-footer ul li{margin:0 0 10px!important;padding:0!important;text-align:left!important}.northbound-footer .foot-cta-btn{align-self:flex-start!important;margin-top:16px!important}.northbound-footer .foot-brand{margin-bottom:20px}.northbound-footer .foot-brand .brand-txt .b1{color:var(--cream)}.northbound-footer .foot-brand .brand-txt .b2{color:var(--terra-soft)}.foot-bot{display:flex!important;flex-direction:row!important}
.mobile-sticky-wrap{display:none!important}
.northbound-legal{background:var(--canvas);padding:100px 0!important}.northbound-legal>.wrap{gap:26px!important}.legal-title{margin-bottom:8px}.legal-intro{max-width:760px;font-size:1.1rem}.legal-section{gap:10px!important;padding-top:28px;border-top:1px solid var(--line);max-width:860px}.legal-section h2{font-family:'Fraunces',Georgia,serif;font-size:1.8rem;color:var(--forest)}

@media(max-width:1100px){
  .prim .elementor-nav-menu{gap:16px}.prim .elementor-item{font-size:.72rem}.brand-txt .b2{font-size:.56rem}
  .how-grid,.families-grid{grid-template-columns:1fr!important;gap:50px!important}.facts{grid-template-columns:repeat(2,1fr)!important}.feat-grid{grid-template-columns:1fr 1fr!important}.feat-item:first-child{grid-column:span 2}.board-header,.board-row{grid-template-columns:90px 1fr 1fr!important}.board-header .status-h,.board-row .status{display:none!important}
}
@media(max-width:900px){.prim{display:none!important}.mobile-menu-widget{display:block!important;order:4;width:auto!important}.mobile-menu-widget .elementor-menu-toggle{display:flex!important;background:transparent;color:var(--forest);font-size:26px;padding:8px}.mobile-menu-widget .elementor-nav-menu--dropdown{position:absolute;top:100%;left:0;right:0;background:var(--forest);padding:12px 22px 24px}.mobile-menu-widget .elementor-nav-menu--dropdown a{color:var(--cream)!important;font-family:'Fraunces',Georgia,serif;font-size:1.35rem;padding:15px 8px!important;border-bottom:1px solid rgba(245,184,163,.15)}.head-cta{margin-left:auto}}
@media(max-width:820px){.facts{grid-template-columns:1fr!important}.svc-item,.svc-item:nth-child(even){grid-template-columns:60px 1fr!important;gap:20px!important}.svc-item .svc-photo,.svc-item:nth-child(even) .svc-photo{grid-column:span 2;order:3!important;margin-top:16px}.svc-item:nth-child(even) .svc-txt{order:2}.feat-grid{grid-template-columns:1fr!important}.feat-item:first-child{grid-column:span 1}}
@media(max-width:720px){
  .northbound-page>.e-con>.wrap,.northbound-footer>.wrap,.northbound-legal>.wrap,.northbound-page .narrow{padding-left:22px!important;padding-right:22px!important}
  .announcement>.wrap{padding:0 22px!important;justify-content:center!important}.announcement-call{display:none!important}.announcement .elementor-widget-text-editor{text-align:center;font-size:.64rem}
  .nav-in{height:82px;padding:0 22px!important;gap:12px!important}.brand-mark{width:48px!important;flex-basis:48px}.brand-mark img{width:48px;height:48px}.brand-txt .b1{font-size:1.4rem}.nav-in .brand-txt .b2{display:none}.head-cta .elementor-button-text{display:none}.btn-call .elementor-button{padding:12px 14px}.mobile-menu-widget{width:40px!important}
  .hero>.wrap{padding-top:60px!important;padding-bottom:70px!important}.hero-actions{align-items:flex-start!important}.hero-actions .btn-primary,.hero-actions .btn-ghost{max-width:100%}.hero-actions .elementor-button{white-space:normal;text-align:center}.hero-badges{gap:24px!important}.h-badge{width:100%!important}
  .feat-head{flex-direction:column!important;align-items:flex-start!important}.cta-band>.wrap{flex-direction:column!important;align-items:flex-start!important}.rooms-tabs{gap:8px!important}.rtab .elementor-button{padding:10px 15px;font-size:.72rem}.curtain{aspect-ratio:4/3}.curtain>.curtain-cta{font-size:.66rem;white-space:nowrap}.case-meta{flex-direction:column!important}.board-header,.board-row{grid-template-columns:80px 1fr!important;padding:16px}.board-row .note,.board-header>:nth-child(3){display:none!important}.faq-list .elementor-tab-title{padding:26px 0!important;font-size:1.12rem}.faq-list .elementor-tab-content{padding:0 10px 28px 0!important}.families-photo>.families-quote{bottom:34px;left:22px;right:22px;font-size:1rem}.final .elementor-button{white-space:normal}
  .northbound-footer{padding:70px 0 112px!important}.northbound-footer .foot{grid-template-columns:1fr!important;column-gap:0!important;row-gap:36px!important;margin-bottom:50px}.northbound-footer .foot-intro,.northbound-footer .foot-services,.northbound-footer .foot-coverage,.northbound-footer .foot-contact{width:100%!important;align-items:flex-start!important;text-align:left!important}.northbound-footer .foot-services h4,.northbound-footer .foot-coverage h4,.northbound-footer .foot-contact h4{margin-bottom:18px!important;padding-top:0;text-align:left!important}.foot-bot{flex-direction:column!important;align-items:flex-start!important;text-align:left!important}.mobile-sticky-wrap{display:block!important;position:fixed!important;bottom:20px;left:20px;right:20px;z-index:100;width:auto!important}.mobile-sticky-wrap .sticky-call{display:block!important;width:100%!important}.sticky-call .elementor-button{display:flex;justify-content:center;width:100%;padding:16px 24px}
}

body.northbound-elementor-site .northbound-page .eyebrow .elementor-heading-title,
body.northbound-elementor-site .northbound-page .eyebrow-hero .elementor-heading-title,
body.northbound-elementor-site .northbound-page .meta .elementor-heading-title,
body.northbound-elementor-site .northbound-page .tag .elementor-heading-title,
body.northbound-elementor-site .northbound-page .fact-lbl .elementor-heading-title,
body.northbound-elementor-site .northbound-page .fact-num .elementor-heading-title,
body.northbound-elementor-site .northbound-page .step-num .elementor-heading-title,
body.northbound-elementor-site .northbound-page .step-tag .elementor-heading-title,
body.northbound-elementor-site .northbound-page .svc-idx .elementor-heading-title,
body.northbound-elementor-site .northbound-page .h-badge .elementor-heading-title,
body.northbound-elementor-site .northbound-page .curtain .lbl .elementor-heading-title,
body.northbound-elementor-site .northbound-page .curtain-cta .elementor-heading-title,
body.northbound-elementor-site .northbound-page .reveal-note .elementor-heading-title,
body.northbound-elementor-site .northbound-page .case-meta .elementor-heading-title,
body.northbound-elementor-site .northbound-page .case-quote .elementor-heading-title,
body.northbound-elementor-site .northbound-page .case-stat-num .elementor-heading-title,
body.northbound-elementor-site .northbound-page .case-stat-lbl .elementor-heading-title,
body.northbound-elementor-site .northbound-page .board-header .elementor-heading-title,
body.northbound-elementor-site .northbound-page .zip .elementor-heading-title,
body.northbound-elementor-site .northbound-page .status .elementor-heading-title{
  font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;
  line-height:inherit!important;letter-spacing:inherit!important;text-transform:inherit!important;color:inherit!important;
}
body.northbound-elementor-site .northbound-page .case-sub p{color:var(--ink-soft)!important}
body.northbound-elementor-site .northbound-page .case-body>.elementor-widget-text-editor:not(:first-child) p:first-of-type::first-letter{
  float:none;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;font-weight:inherit;padding:0;margin:0;
}
body.northbound-elementor-site .northbound-page .faq-list .elementor-accordion-title{
  color:var(--forest)!important;font-family:'Fraunces',Georgia,serif!important;font-size:1.5rem!important;
  font-weight:500!important;line-height:1.25!important;letter-spacing:0!important;text-transform:none!important;
}
body.northbound-elementor-site .northbound-page .faq-list .elementor-accordion-icon{color:var(--terra)!important}
body.northbound-elementor-site>footer.elementor{padding:0!important;background:var(--forest-deep)!important}
body.northbound-elementor-site>header.elementor{position:sticky!important;top:0!important;z-index:100!important;background:var(--canvas)!important}
body.northbound-elementor-site>header.elementor .northbound-site-header{position:relative!important;top:auto!important}
@media(max-width:720px){body.northbound-elementor-site .northbound-page .faq-list .elementor-accordion-title{font-size:1.12rem!important}}
@media(max-width:900px){
  body.northbound-elementor-site .northbound-site-header .nav-in{
    width:calc(100% - 40px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:0!important;
    column-gap:14px!important;
  }
  body.northbound-elementor-site .mobile-menu-widget .elementor-nav-menu--dropdown{
    position:fixed!important;top:98px!important;left:0!important;right:0!important;width:100vw!important;
    height:calc(100vh - 98px)!important;max-height:none!important;margin:0!important;padding:18px 30px 34px!important;
    overflow-y:auto!important;background:var(--forest)!important;z-index:99!important;
  }
  body.northbound-elementor-site .mobile-menu-widget .elementor-nav-menu--dropdown .elementor-item{
    display:flex!important;width:100%!important;color:var(--cream)!important;font-family:'Fraunces',Georgia,serif!important;
    font-size:1.65rem!important;font-weight:500!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;
    padding:16px 4px!important;border-bottom:1px solid rgba(245,184,163,.15)!important;
  }
  body.northbound-elementor-site .mobile-sticky-wrap{z-index:90!important}
}
@media(min-width:721px) and (max-width:900px){
  body.northbound-elementor-site .mobile-menu-widget .elementor-nav-menu--dropdown{
    top:124px!important;
    height:calc(100vh - 124px)!important;
  }
}

/* Final spacing and alignment pass requested after visual review. */
@media(min-width:1101px){
  body.northbound-elementor-site .northbound-site-header .nav-in{
    display:grid!important;
    grid-template-columns:minmax(280px,1fr) auto minmax(280px,1fr)!important;
    width:calc(100% - 80px)!important;
    max-width:1280px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:0!important;
    column-gap:24px!important;
  }
  body.northbound-elementor-site .northbound-site-header .brand{grid-column:1;justify-self:start!important}
  body.northbound-elementor-site .northbound-site-header .prim{grid-column:2;justify-self:center!important;width:auto!important;min-width:0!important}
  body.northbound-elementor-site .northbound-site-header .head-cta{grid-column:3;justify-self:end!important;margin:0!important}
  body.northbound-elementor-site .northbound-page .svc-item{column-gap:40px!important;row-gap:0!important}
  body.northbound-elementor-site .northbound-page .families-grid{column-gap:80px!important;row-gap:0!important}
  body.northbound-elementor-site .northbound-page .how-grid{column-gap:100px!important;row-gap:0!important}
}
body.northbound-elementor-site .northbound-page .hero>.wrap{
  padding-top:40px!important;
  padding-bottom:60px!important;
}
body.northbound-elementor-site .northbound-page .hero-actions{
  column-gap:20px!important;
  row-gap:14px!important;
}
body.northbound-elementor-site .northbound-page .hero-badges{
  column-gap:30px!important;
  row-gap:20px!important;
}
@media(min-width:721px){
  body.northbound-elementor-site .northbound-page .hero-actions{margin-top:26px!important}
  body.northbound-elementor-site .northbound-page .final-cta{margin-top:28px!important}
}
body.northbound-elementor-site .northbound-page .feat-head{column-gap:40px!important;row-gap:20px!important}
body.northbound-elementor-site .northbound-page .feat-grid{gap:20px!important}
body.northbound-elementor-site .northbound-page .facts{gap:1px!important}
body.northbound-elementor-site .northbound-page .rooms-tabs{gap:10px!important}
body.northbound-elementor-site .northbound-page .case-stat{gap:1px!important}
@media(max-width:1100px){
  body.northbound-elementor-site .northbound-page .how-grid,
  body.northbound-elementor-site .northbound-page .families-grid{column-gap:0!important;row-gap:50px!important}
  body.northbound-elementor-site .northbound-page .feat-grid{gap:16px!important}
}
@media(max-width:820px){
  body.northbound-elementor-site .northbound-page .svc-item,
  body.northbound-elementor-site .northbound-page .svc-item:nth-child(even){column-gap:20px!important;row-gap:0!important}
}
@media(max-width:720px){
  body.northbound-elementor-site .northbound-site-header .head-cta .btn-call .elementor-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0!important;
  }
  body.northbound-elementor-site .northbound-site-header .head-cta .btn-call .elementor-button-icon{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    font-size:.78rem!important;
  }
  body.northbound-elementor-site .mobile-sticky-wrap{
    left:auto!important;
    right:16px!important;
    bottom:16px!important;
    width:auto!important;
    height:auto!important;
    padding:0!important;
  }
  body.northbound-elementor-site .mobile-sticky-wrap .sticky-call{
    position:static!important;
    inset:auto!important;
    width:auto!important;
    height:auto!important;
    padding:0!important;
    background:transparent!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  body.northbound-elementor-site .mobile-sticky-wrap .sticky-call .elementor-button{
    display:inline-flex!important;
    width:auto!important;
    min-width:0!important;
    min-height:40px!important;
    padding:11px 16px!important;
    font-size:.7rem!important;
    line-height:1!important;
  }
  body.northbound-elementor-site .northbound-page .hero>.wrap{padding-top:72px!important;padding-bottom:78px!important}
  body.northbound-elementor-site .northbound-page .hero-actions{column-gap:0!important;row-gap:16px!important}
  body.northbound-elementor-site .northbound-page .hero-badges{column-gap:0!important;row-gap:24px!important}
}

body.northbound-elementor-site .northbound-page .hero .elementor-widget-heading.display h1.elementor-heading-title{
  font-family:'Fraunces','Recoleta','Playfair Display','Cormorant Garamond',Georgia,serif!important;
  font-size:clamp(2.6rem,6.2vw,5.6rem)!important;font-weight:400!important;line-height:1!important;
  text-transform:none!important;letter-spacing:0!important;color:var(--cream)!important;
}
body.northbound-elementor-site .northbound-page .elementor-widget-heading.section-h .elementor-heading-title,
body.northbound-elementor-site .northbound-legal .elementor-widget-heading.section-h .elementor-heading-title{
  font-family:'Fraunces','Recoleta','Playfair Display','Cormorant Garamond',Georgia,serif!important;
  font-size:clamp(2.2rem,4.5vw,4rem)!important;font-weight:400!important;line-height:1.05!important;
  text-transform:none!important;letter-spacing:0!important;color:var(--forest)!important;
}
body.northbound-elementor-site .northbound-page .compare .elementor-widget-heading.section-h .elementor-heading-title{color:var(--cream)!important}
body.northbound-elementor-site .northbound-page .elementor-widget-heading.case-h .elementor-heading-title{
  font-family:'Fraunces','Recoleta','Playfair Display','Cormorant Garamond',Georgia,serif!important;
  font-size:clamp(2.4rem,5vw,3.8rem)!important;font-weight:400!important;line-height:1.05!important;
  text-transform:none!important;letter-spacing:0!important;color:var(--forest)!important;
}
body.northbound-elementor-site .northbound-page .final>.wrap>.elementor-widget-heading:not(.eyebrow) .elementor-heading-title{
  font-family:'Fraunces','Recoleta','Playfair Display','Cormorant Garamond',Georgia,serif!important;
  font-size:clamp(2.4rem,6vw,5rem)!important;font-weight:400!important;line-height:1!important;
  text-transform:none!important;letter-spacing:0!important;color:var(--cream)!important;
}
body.northbound-elementor-site .northbound-page .hero-content{width:100%!important;max-width:780px!important}
body.northbound-elementor-site .northbound-page .hero-lede,body.northbound-elementor-site .northbound-page .hero-lede p{color:rgba(245,240,230,.85)!important}
body.northbound-elementor-site .northbound-page .section-lede,body.northbound-elementor-site .northbound-page .section-lede p{color:var(--ink-soft)!important}
body.northbound-elementor-site .northbound-page .compare .section-lede,body.northbound-elementor-site .northbound-page .compare .section-lede p{color:rgba(245,240,230,.75)!important}
body.northbound-elementor-site .northbound-page .eyebrow .elementor-heading-title,body.northbound-elementor-site .northbound-page .eyebrow-hero .elementor-heading-title{text-transform:uppercase!important}
body.northbound-elementor-site .northbound-page .feat-head>.elementor-widget-heading:first-child .elementor-heading-title,
body.northbound-elementor-site .northbound-page .fact h3.elementor-heading-title,
body.northbound-elementor-site .northbound-page .step h3.elementor-heading-title,
body.northbound-elementor-site .northbound-page .svc-txt h3.elementor-heading-title,
body.northbound-elementor-site .northbound-page .feat-cap h4.elementor-heading-title,
body.northbound-elementor-site .northbound-page .city .elementor-heading-title{
  text-transform:none!important;letter-spacing:0!important;
}
body.northbound-elementor-site .northbound-site-header .brand-txt .b1 .elementor-heading-title{font-family:'Fraunces',Georgia,serif!important;font-size:1.7rem!important;font-weight:500!important;line-height:1.05!important;text-transform:none!important;color:var(--forest)!important}
body.northbound-elementor-site .northbound-site-header .brand-txt .b2 .elementor-heading-title{font-family:'Space Grotesk','Inter',sans-serif!important;font-size:.62rem!important;font-weight:600!important;line-height:1.25!important;text-transform:uppercase!important;letter-spacing:.18em!important;color:var(--terra)!important}
body.northbound-elementor-site .northbound-footer .brand-txt .b1 .elementor-heading-title{font-family:'Fraunces',Georgia,serif!important;font-size:1.5rem!important;font-weight:500!important;text-transform:none!important;color:var(--cream)!important}
body.northbound-elementor-site .northbound-footer .brand-txt .b2 .elementor-heading-title{font-family:'Space Grotesk','Inter',sans-serif!important;font-size:.62rem!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.18em!important;color:var(--terra-soft)!important}
body.northbound-elementor-site .northbound-page .feat-head>.elementor-widget-heading:first-child .elementor-heading-title{font-family:'Fraunces',Georgia,serif!important;font-size:clamp(1.6rem,2.6vw,2.2rem)!important;font-weight:400!important;line-height:1.15!important;color:var(--cream)!important}
body.northbound-elementor-site .northbound-page .feat-cap h4.elementor-heading-title{font-family:'Fraunces',Georgia,serif!important;font-size:1.15rem!important;font-weight:500!important;line-height:1.2!important;color:var(--cream)!important}
body.northbound-elementor-site .northbound-page .fact h3.elementor-heading-title{font-family:'Fraunces',Georgia,serif!important;font-size:1.55rem!important;font-weight:500!important;line-height:1.15!important;color:var(--forest)!important}
body.northbound-elementor-site .northbound-page .step h3.elementor-heading-title{font-family:'Fraunces',Georgia,serif!important;font-size:1.7rem!important;font-weight:500!important;line-height:1.15!important;color:var(--forest)!important}
body.northbound-elementor-site .northbound-page .svc-txt h3.elementor-heading-title{font-family:'Fraunces',Georgia,serif!important;font-size:1.9rem!important;font-weight:500!important;line-height:1.15!important;color:var(--forest)!important}
body.northbound-elementor-site .northbound-page .cta-band h2.elementor-heading-title{font-family:'Fraunces',Georgia,serif!important;font-size:clamp(1.7rem,3.2vw,2.6rem)!important;font-weight:400!important;line-height:1.15!important;text-transform:none!important;letter-spacing:0!important;color:var(--forest)!important}
body.northbound-elementor-site .northbound-page .city .elementor-heading-title{font-family:'Fraunces',Georgia,serif!important;font-size:1.35rem!important;font-weight:500!important;line-height:1.2!important;text-transform:none!important;color:var(--cream)!important}
body.northbound-elementor-site .northbound-footer>.wrap{width:100%;max-width:1360px!important;padding-left:40px!important;padding-right:40px!important;margin-left:auto!important;margin-right:auto!important}
body.northbound-elementor-site .northbound-footer .foot{grid-template-columns:2fr 1fr 1fr 1fr!important;column-gap:60px!important;row-gap:60px!important}
@media(max-width:720px){
  body.northbound-elementor-site .northbound-footer>.wrap{padding-left:22px!important;padding-right:22px!important}
  body.northbound-elementor-site .northbound-footer .foot{grid-template-columns:1fr!important;column-gap:0!important;row-gap:36px!important}
}

/* Elementor 4 generated-style precedence fixes. */
.northbound-page .e-con,.northbound-site-header .e-con,.northbound-footer .e-con,.northbound-legal .e-con{padding:0!important;gap:0!important}
.northbound-page>.featured{padding:70px 0 90px!important}
.northbound-page>.reality,.northbound-page>.how,.northbound-page>.services,.northbound-page>.case,.northbound-page>.areas,.northbound-page>.families,.northbound-page>.faq{padding:120px 0!important}
.northbound-page>.cta-band{padding:80px 0!important}
.northbound-page>.compare{padding:120px 0!important}
.northbound-page>.final{padding:150px 0!important}
.northbound-page .elementor-heading-title,.northbound-site-header .elementor-heading-title,.northbound-footer .elementor-heading-title,.northbound-legal .elementor-heading-title{font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:0!important;color:inherit!important}
.northbound-page .hero .display{font-family:'Fraunces','Recoleta','Playfair Display','Cormorant Garamond',Georgia,serif;font-size:clamp(2.6rem,6.2vw,5.6rem);font-weight:400;line-height:1;color:var(--cream);margin-bottom:30px}
.northbound-page .section-h{font-family:'Fraunces','Recoleta','Playfair Display','Cormorant Garamond',Georgia,serif;font-size:clamp(2.2rem,4.5vw,4rem);font-weight:400;line-height:1.05;color:var(--forest);margin-bottom:24px}
.northbound-page .case-h{font-family:'Fraunces','Recoleta','Playfair Display','Cormorant Garamond',Georgia,serif;font-size:clamp(2.4rem,5vw,3.8rem);font-weight:400;line-height:1.05;color:var(--forest);margin-bottom:16px}
.northbound-page .final> .wrap> .elementor-widget-heading:not(.eyebrow){font-family:'Fraunces','Recoleta','Playfair Display','Cormorant Garamond',Georgia,serif;font-size:clamp(2.4rem,6vw,5rem);font-weight:400;line-height:1;color:var(--cream);max-width:960px;margin-left:auto;margin-right:auto;margin-bottom:26px}
.northbound-page .feat-head>.elementor-widget-heading:first-child{font-family:'Fraunces',Georgia,serif;font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:400;line-height:1.15;color:var(--cream);max-width:640px}
.northbound-page .fact h3.elementor-heading-title{font-family:'Fraunces',Georgia,serif!important;font-size:1.55rem!important;font-weight:500!important;line-height:1.15!important;color:var(--forest)!important}
.northbound-page .step h3.elementor-heading-title{font-family:'Fraunces',Georgia,serif!important;font-size:1.7rem!important;font-weight:500!important;line-height:1.15!important;color:var(--forest)!important}
.northbound-page .svc-txt h3.elementor-heading-title{font-family:'Fraunces',Georgia,serif!important;font-size:1.9rem!important;font-weight:500!important;line-height:1.15!important;color:var(--forest)!important}
.northbound-page .feat-cap h4.elementor-heading-title{font-family:'Fraunces',Georgia,serif!important;font-size:1.15rem!important;font-weight:500!important;line-height:1.2!important;color:var(--cream)!important}
.northbound-page .case-stat-num{font-family:'Fraunces',Georgia,serif;font-size:2.6rem;font-weight:400;line-height:1;color:var(--terra)}
.northbound-page .city{font-family:'Fraunces',Georgia,serif;font-size:1.35rem;font-weight:500;line-height:1.2;color:var(--cream)}
.northbound-site-header .btn-call .elementor-button,.northbound-page .btn-primary .elementor-button,.northbound-footer .foot-cta-btn .elementor-button,.mobile-sticky-wrap .sticky-call .elementor-button{background-color:var(--terra)!important;color:var(--cream)!important;border-color:var(--terra)!important}
.northbound-page .btn-primary .elementor-button{padding:18px 30px!important;font-size:.9rem!important}
.northbound-site-header .btn-call .elementor-button{padding:14px 24px!important;font-size:.82rem!important}
.northbound-page .btn-ghost .elementor-button{background:transparent!important;color:var(--cream)!important;border-color:rgba(245,240,230,.4)!important;padding:17px 24px!important;font-size:.9rem!important}
.northbound-page .rtab .elementor-button{background:transparent!important;color:rgba(245,240,230,.75)!important;border-color:rgba(245,184,163,.35)!important;padding:12px 24px!important;font-size:.8rem!important}
.northbound-page .rtab.on .elementor-button{background:var(--terra)!important;color:var(--cream)!important;border-color:var(--terra)!important}
.northbound-page .hero-content{padding:0!important}
.northbound-page .fact{padding:44px 36px!important}
.northbound-page .step{padding:32px 0!important}
.northbound-page .svc-item{padding:44px 0!important}
.northbound-page .case-stat-box{padding:28px 20px!important}
.northbound-page .board-header{padding:18px 28px!important}.northbound-page .board-row{padding:24px 28px!important}
.northbound-footer{padding:80px 0 30px!important}.northbound-footer .foot-services h4,.northbound-footer .foot-coverage h4,.northbound-footer .foot-contact h4{font-family:'Space Grotesk','Inter',sans-serif;font-size:.68rem;font-weight:700;line-height:1.2;letter-spacing:.22em!important;color:var(--terra-soft)}

@media(max-width:720px){
  .northbound-page>.featured{padding:50px 0 60px!important}
  .northbound-page>.reality,.northbound-page>.how,.northbound-page>.services,.northbound-page>.case,.northbound-page>.areas,.northbound-page>.families,.northbound-page>.faq{padding:70px 0!important}
  .northbound-page>.final{padding:90px 0!important}
  body.northbound-elementor-site .northbound-page .hero-actions{
    margin-top:26px!important;
    align-items:flex-start!important;
  }
  body.northbound-elementor-site .northbound-page .hero-actions .btn-primary,
  body.northbound-elementor-site .northbound-page .hero-actions .btn-ghost{margin-top:0!important}
  body.northbound-elementor-site .northbound-page .hero-actions .elementor-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:51px!important;
  }
  body.northbound-elementor-site .northbound-page .final-cta{margin-top:28px!important}
  .northbound-page .board-header,.northbound-page .board-row{padding:16px!important}
  .northbound-site-header .btn-call .elementor-button{padding:12px 14px!important}
  .northbound-page .rtab .elementor-button{padding:10px 15px!important;font-size:.72rem!important}
  .northbound-footer{padding:70px 0 112px!important}
}
