/* Moore Group index style match layer.
   Loaded after page-level styles so inner pages follow the current homepage. */
:root{
  --ink:#071B2D;
  --ink-2:#102A3F;
  --navy:#071B2D;
  --navy-deep:#061522;
  --navy-soft:#173B54;
  --forest:#2E6F5E;
  --forest-dark:#1F5548;
  --brass:#BFA15B;
  --gold:#BFA15B;
  --gold-deep:#9D813D;
  --gold-soft:#E8DDBE;
  --paper:#FFFFFF;
  --bone:#FFFFFF;
  --mist:#F3F6F4;
  --cream:#F3F6F4;
  --stone:#E6EBE8;
  --slate:#536271;
  --muted:#788695;
  --line:#DCE4E0;
  --shadow:0 1px 2px rgba(7,27,45,.06),0 18px 48px rgba(7,27,45,.10);
  --shadow-soft:0 12px 36px rgba(7,27,45,.08);
  --apple-font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;
  --font-system:var(--apple-font);
}

body,
button,
input,
select,
textarea,
.guide-page,
.calc-page,
.prose,
.form-card,
.idx-search input,
.idx-search select{
  font-family:var(--apple-font)!important;
}

h1,h2,h3,h4,
.brand .mark,
.brand .name,
.brand strong,
.card .icon,
.idx-card-price,
.step .num,
.statband .stat .n,
.toc ol a::before,
.nb-agent .who,
.prose blockquote,
.guide-page h1,
.guide-page h2,
.guide-page h3,
.calc-page h1,
.calc-page h2,
.calc-page h3,
.property-price,
.property-hero h1,
.listing-spec strong{
  font-family:var(--apple-font)!important;
  letter-spacing:0!important;
  font-style:normal!important;
}

.eyebrow,
.mini-label,
.section-kicker,
.page-hero .crumb,
.idx-listing-status,
.idx-search label,
.idx-filter-field label,
.idx-group-head h3,
.idx-group-head a,
.idx-market-mode,
.idx-area-card span,
.toc .t,
.quick-facts .t,
.quick-facts dt,
.compare th,
.compare-table th,
.pros-cons .col h3,
.insider .k,
.nb-agent .who small,
footer h4,
.brand .name small,
.brand div > span,
.topbar .ribbon{
  font-family:var(--apple-font)!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

body{
  background:var(--paper)!important;
  color:var(--ink)!important;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
p{color:var(--slate)}
a{color:inherit}
.container{max-width:1180px}

.topbar{
  background:var(--ink)!important;
  color:#DDE7E3!important;
  font-size:.82rem!important;
}
.topbar a{color:#fff!important;font-weight:700}
.topbar .ribbon{color:#DDE7E3!important;font-weight:700}

nav.main{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.9)!important;
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(220,228,224,.8)!important;
}
nav.main .inner{
  min-height:78px;
  padding:14px 28px!important;
  max-width:1180px;
}
.brand{gap:12px}
.brand .mark{
  width:48px!important;
  height:48px!important;
  border-radius:15px!important;
  background:var(--ink)!important;
  color:var(--brass)!important;
  font-weight:800!important;
  font-size:1.05rem!important;
  box-shadow:inset 0 0 0 1.5px var(--brass)!important;
}
.brand .name,
.brand strong{
  font-size:1.18rem!important;
  line-height:1!important;
  color:var(--ink)!important;
  font-weight:800!important;
}
footer .brand .name,
footer .brand strong,
footer .brand .name[style]{color:#fff!important}
.brand .name small,
.brand div > span{
  display:block;
  font-size:.72rem!important;
  color:var(--brass)!important;
  font-weight:700!important;
  margin-top:3px!important;
}
nav.main ul{gap:24px!important}
nav.main ul a{
  font-size:.91rem!important;
  font-weight:700!important;
  color:var(--slate)!important;
}
nav.main ul a:hover,
nav.main ul a.active{color:var(--ink)!important}
nav.main ul.nav-dropdown{
  border-radius:18px!important;
  box-shadow:0 18px 48px rgba(7,27,45,.12)!important;
}

.btn,
.btn-primary,
.btn-gold,
.btn-ghost,
button[type="submit"],
.form-card button{
  min-height:48px!important;
  border-radius:999px!important;
  padding:0 22px!important;
  font-weight:800!important;
  font-size:.92rem!important;
  letter-spacing:0!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.btn-primary,
.btn.primary,
.form-card button,
button[type="submit"]{
  background:var(--ink)!important;
  color:#fff!important;
  border-color:var(--ink)!important;
}
.btn-gold,
.btn.green{
  background:var(--forest)!important;
  color:#fff!important;
  border-color:var(--forest)!important;
}
.btn-ghost,
.btn.light{
  background:#fff!important;
  color:var(--ink)!important;
  border:1px solid var(--line)!important;
}
.btn:hover,
.btn-primary:hover,
.btn-gold:hover,
.btn-ghost:hover,
.form-card button:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow-soft)!important;
}

section{padding-top:84px;padding-bottom:84px}
section.alt,
.alt{background:var(--mist)!important}
.section-head{
  max-width:1180px;
  margin-bottom:30px!important;
}
.section-head h2{
  font-size:clamp(2.25rem,4.2vw,4.4rem)!important;
  line-height:.98!important;
  letter-spacing:0!important;
  max-width:760px;
  font-weight:800!important;
}
.section-head p{max-width:620px}
.eyebrow,
.mini-label,
.section-kicker,
.page-hero .crumb{
  color:var(--forest)!important;
  font-size:.84rem!important;
  font-weight:800!important;
  margin-bottom:10px!important;
}

.page-hero{
  padding:74px 0 56px!important;
  background:linear-gradient(180deg,#fff 0%,var(--mist) 100%)!important;
  text-align:left!important;
  border-bottom:1px solid var(--line);
}
.page-hero .container{max-width:1180px}
.page-hero h1{
  font-size:clamp(2.8rem,6vw,5.4rem)!important;
  line-height:.98!important;
  margin-bottom:.32em!important;
  max-width:920px;
  font-weight:800!important;
}
.page-hero h1 .accent,
.page-hero em{
  color:var(--forest)!important;
  font-style:normal!important;
}
.page-hero p{
  margin:0!important;
  font-size:clamp(1.05rem,1.6vw,1.28rem)!important;
  max-width:760px!important;
  color:var(--slate)!important;
}
.page-hero .ctas{justify-content:flex-start!important;margin-top:26px!important}

.card,
.step,
details.q,
details,
.form-card,
.idx-card,
.idx-search,
.idx-market-panel,
.idx-market-card,
.idx-area-card,
.listing-shell,
.toc,
.pros-cons .col,
.nb-disclaimer,
.nb-agent,
.article,
.calc-wrap,
.calc-form,
.calc-output,
.calc-result,
.calc-cta,
.property-panel,
.property-feature-card,
.property-contact-card,
.property-area-card,
.idx-panel,
.idx-frame-shell{
  border-radius:22px!important;
  border-color:var(--line)!important;
  box-shadow:0 1px 1px rgba(7,27,45,.04)!important;
}
.card:hover,
.step:hover,
.idx-card:hover,
.idx-market-card:hover,
.area-card:hover,
.intent-card:hover,
.article:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-soft)!important;
}
.card .icon,
.step .num{
  background:var(--ink)!important;
  color:var(--brass)!important;
  border-radius:16px!important;
}

.prose{
  font-size:1.04rem!important;
  line-height:1.72!important;
}
.prose h2{
  font-size:clamp(1.85rem,3vw,2.45rem)!important;
  line-height:1.08!important;
  margin-top:1.8em!important;
}
.prose h3{font-size:1.22rem!important}
.prose blockquote{
  background:var(--mist)!important;
  border-left-color:var(--forest)!important;
  color:var(--ink)!important;
}

.idx-market-hero,
.idx-listings-band,
.idx-page-listings{
  background:#fff!important;
}
.idx-market-hero{
  padding:64px 0 36px!important;
  background:linear-gradient(180deg,#fff,var(--mist))!important;
}
.idx-market-hero h1,
.idx-page-listings h2{
  font-size:clamp(2.8rem,5.8vw,5.25rem)!important;
  line-height:.98!important;
  max-width:900px;
}
.idx-market-mode::before{background:var(--forest)!important}
.idx-area-info{background:#fff!important}
.idx-area-card,
.idx-search{background:var(--mist)!important}
.idx-card-photo span{
  background:var(--forest)!important;
  color:#fff!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.idx-card-price{font-size:1.45rem!important;color:var(--ink)!important}
.idx-card h3{font-weight:800!important}
.idx-search input,
.idx-search select,
.form-card input,
.form-card textarea,
.form-card select,
.calc-grid input,
.calc-form input[type=number],
.calc-form input[type=text]{
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  font-family:var(--apple-font)!important;
}
.idx-search input:focus,
.idx-search select:focus,
.form-card input:focus,
.form-card textarea:focus,
.form-card select:focus,
.calc-form input:focus{
  border-color:var(--forest)!important;
  box-shadow:0 0 0 3px rgba(46,111,94,.14)!important;
  outline:none!important;
}

.cta-band{
  background:linear-gradient(135deg,var(--forest),var(--ink))!important;
  border:0!important;
}
.cta-band h2{
  font-size:clamp(2.4rem,5vw,5rem)!important;
  line-height:.98!important;
}
.statband{background:var(--ink)!important}
.statband .stat .n{color:var(--brass)!important}

.quick-facts{
  border-radius:26px!important;
  background:linear-gradient(135deg,var(--forest),var(--ink))!important;
}
.insider{
  background:var(--mist)!important;
  border-color:rgba(46,111,94,.24)!important;
  border-left-color:var(--forest)!important;
}
.compare th,
.compare-table th{
  background:var(--ink)!important;
  color:#fff!important;
}

.op-hero,
.plus-hero{
  padding:96px 0 74px!important;
  background:linear-gradient(180deg,#fff 0%,var(--mist) 100%)!important;
  color:var(--ink)!important;
  border-bottom:1px solid var(--line);
}
.op-hero::before,
.plus-hero::before{display:none!important}
.op-hero .top-line,
.plus-hero .top-line{
  color:var(--forest)!important;
  font-family:var(--apple-font)!important;
  letter-spacing:0!important;
  text-transform:none!important;
  font-weight:800!important;
}
.op-hero h1,
.plus-hero h1{
  color:var(--ink)!important;
  font-family:var(--apple-font)!important;
  font-size:clamp(3rem,6vw,5.6rem)!important;
  line-height:.98!important;
  letter-spacing:0!important;
  max-width:980px;
}
.op-hero h1 em,
.plus-hero h1 em,
.section-head h2 em{
  color:var(--forest)!important;
  font-style:normal!important;
}
.op-hero .lede,
.plus-hero .lede{
  color:var(--slate)!important;
  max-width:820px!important;
  font-size:clamp(1.08rem,1.6vw,1.28rem)!important;
}
.op-stats,
.plus-stats{gap:14px!important;max-width:100%!important}
.op-stats>div,
.plus-stats>div{
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:20px!important;
  padding:18px!important;
  box-shadow:0 1px 1px rgba(7,27,45,.04)!important;
}
.op-stats .num,
.plus-stats .num{
  color:var(--forest)!important;
  font-family:var(--apple-font)!important;
  font-size:clamp(1.9rem,3vw,2.7rem)!important;
  letter-spacing:0!important;
}
.op-stats .lab,
.plus-stats .lab,
.nbhd-card .tag,
.comm-card .head-left .tag,
.comm-card .specs h4{
  color:var(--slate)!important;
  font-family:var(--apple-font)!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.op-stats .sub,
.plus-stats .sub{color:var(--muted)!important}
.nbhd-card,
.comm-card,
.fact-strip .item,
.map-frame,
.compare-table,
.area-listings-wrap,
.area-listing-card{
  border-radius:22px!important;
  border-color:var(--line)!important;
  box-shadow:0 1px 1px rgba(7,27,45,.04)!important;
}
.fact-strip .item{border-left-color:var(--forest)!important}
.nbhd-card h3,
.comm-card .head-left h3,
.comm-card .head-right .price,
.fact-strip strong,
details summary,
.area-listings-head h2{
  font-family:var(--apple-font)!important;
  letter-spacing:0!important;
}
.comm-card .head-right .price,
.nbhd-card .price{color:var(--forest)!important}
.comm-card .specs,
.compare-table tr:nth-child(even) td{background:var(--mist)!important}
.area-listings-head h2{
  background:transparent!important;
  color:var(--ink)!important;
  padding:0!important;
  border-radius:0!important;
  font-size:clamp(2rem,4vw,4rem)!important;
  font-weight:800!important;
}

.calc-page{
  max-width:1180px!important;
  padding:64px 28px 72px!important;
  color:var(--ink)!important;
}
.calc-page h1{
  font-size:clamp(2.75rem,5.5vw,5.2rem)!important;
  line-height:.98!important;
  margin-bottom:16px!important;
  color:var(--ink)!important;
}
.calc-page .lede{
  max-width:820px!important;
  color:var(--slate)!important;
  font-size:clamp(1.05rem,1.5vw,1.24rem)!important;
}
.calc-wrap{
  background:var(--mist)!important;
  padding:28px!important;
}
.calc-grid label,
.calc-form label{
  color:var(--ink)!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
.calc-output,
.calc-result{background:#fff!important}
.calc-output .big,
.calc-net .val,
.calc-result .calc-net{
  color:var(--forest)!important;
  font-family:var(--apple-font)!important;
  font-weight:850!important;
  letter-spacing:0!important;
}
.calc-cta{
  background:var(--forest)!important;
  border:0!important;
  color:#fff!important;
}
.calc-cta a:not(.btn){color:#fff!important}

.daily-living-section{
  padding:72px 0!important;
  background:#fff!important;
  border-top:1px solid var(--line);
}
.daily-living-section.alt{
  background:var(--mist)!important;
}
.daily-living-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px;
}
.daily-living-head h2{
  font-size:clamp(2.25rem,4.2vw,4.4rem)!important;
  line-height:.98!important;
  max-width:780px;
}
.daily-living-head p{
  max-width:720px;
  font-size:1.02rem;
}
.daily-living-score{
  min-width:220px;
  background:var(--ink)!important;
  color:#fff!important;
  border-radius:22px;
  padding:18px 20px;
  box-shadow:var(--shadow-soft);
}
.daily-living-score strong{
  display:block;
  color:#fff!important;
  font-size:2.1rem;
  line-height:1;
}
.daily-living-score span{
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.78)!important;
  font-weight:800;
}
.daily-living-loading{
  background:var(--mist);
  border:1px solid var(--line);
  border-radius:22px;
  padding:24px;
  color:var(--slate);
}
.daily-living-map{
  height:430px;
  background:var(--mist);
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  margin-bottom:24px;
}
.daily-living-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.daily-living-card{
  background:var(--daily-cat-bg,#fff)!important;
  border:1px solid var(--daily-cat-border,var(--line))!important;
  border-radius:22px!important;
  padding:22px;
  box-shadow:0 1px 1px rgba(7,27,45,.04)!important;
  min-height:230px;
}
.daily-living-card.daily-category-k12{--daily-cat-bg:#eef5ff;--daily-cat-border:#adcdfa;--daily-cat-marker:#adcdfa;--daily-cat-text:#183052}
.daily-living-card.daily-category-higher_ed{--daily-cat-bg:#f1edff;--daily-cat-border:#c8b8ff;--daily-cat-marker:#c8b8ff;--daily-cat-text:#2d2455}
.daily-living-card.daily-category-groceries{--daily-cat-bg:#eef8de;--daily-cat-border:#b9dfa0;--daily-cat-marker:#b9dfa0;--daily-cat-text:#183522}
.daily-living-card.daily-category-food{--daily-cat-bg:#fff2da;--daily-cat-border:#f4c977;--daily-cat-marker:#f4c977;--daily-cat-text:#3b2a10}
.daily-living-card.daily-category-shopping{--daily-cat-bg:#f3eaff;--daily-cat-border:#d8bdff;--daily-cat-marker:#d8bdff;--daily-cat-text:#2d1b45}
.daily-living-card.daily-category-daily{--daily-cat-bg:#e9f5ff;--daily-cat-border:#9dcdf4;--daily-cat-marker:#9dcdf4;--daily-cat-text:#15314a}
.daily-living-card.daily-category-parks{--daily-cat-bg:#e7f8ef;--daily-cat-border:#91d6ab;--daily-cat-marker:#91d6ab;--daily-cat-text:#173723}
.daily-living-card.daily-category-entertainment{--daily-cat-bg:#ffe9ef;--daily-cat-border:#f2a9bd;--daily-cat-marker:#f2a9bd;--daily-cat-text:#431925}
.daily-living-card h3{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:1.04rem!important;
  margin:0 0 8px!important;
  color:var(--daily-cat-text,var(--ink))!important;
}
.daily-living-card h3::before{
  content:"";
  width:12px;
  height:12px;
  flex:0 0 auto;
  border-radius:999px;
  background:var(--daily-cat-marker,var(--forest));
  border:2px solid rgba(255,255,255,.78);
  box-shadow:0 0 0 1px var(--daily-cat-border,var(--line));
}
.daily-living-card p{
  font-size:.9rem;
  margin-bottom:14px;
}
.daily-place-list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.daily-place-list li{
  padding-top:10px;
  border-top:1px solid var(--line);
}
.daily-place-list li:first-child{
  border-top:0;
  padding-top:0;
}
.daily-place-list a,
.daily-place-list button{
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  font-weight:850;
  font-family:var(--apple-font);
  font-size:.98rem;
  line-height:1.25;
  text-align:left;
  color:var(--ink)!important;
  cursor:pointer;
}
.daily-place-list a:hover,
.daily-place-list button:hover,
.daily-place-list button:focus-visible{
  color:var(--forest)!important;
}
.daily-place-list span{
  display:block;
  color:var(--muted);
  font-size:.82rem;
  margin-top:2px;
}
.daily-living-note{
  font-size:.8rem;
  color:var(--muted);
  margin-top:12px;
  max-width:none;
}
.daily-map-marker{
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:999px;
  background:var(--marker-bg,var(--forest));
  border:3px solid #fff;
  box-shadow:0 8px 18px rgba(7,27,45,.22);
  color:var(--marker-text,#fff);
  font:850 .72rem/1 var(--apple-font);
}
.daily-map-marker.home{
  width:40px;
  height:40px;
  background:var(--ink);
  color:#fff;
  border-color:var(--gold);
}

footer{
  background:var(--navy-deep)!important;
  padding-top:54px!important;
}
footer h4{color:#fff!important;font-size:.86rem!important}
footer p{color:rgba(245,239,220,.72)!important}
footer a{color:rgba(245,239,220,.82)!important}
footer a:hover{color:var(--brass)!important}
footer .brand .mark{background:var(--ink)!important}

[style*="font-family:Inter"],
[style*="font-family:'Inter'"],
[style*="font-family: 'Inter'"],
[style*="font-family:Playfair"],
[style*="font-family:'Playfair"],
[style*="font-family: 'Playfair"],
[style*="font-family:Cormorant"],
[style*="font-family:'Cormorant"],
[style*="font-family:DM Sans"],
[style*="font-family:'DM Sans"],
[style*="font-family:Libre Franklin"],
[style*="font-family:'Libre Franklin"]{
  font-family:var(--apple-font)!important;
  letter-spacing:0!important;
  font-style:normal!important;
}
[style*="text-transform:uppercase"],
[style*="text-transform: uppercase"]{
  letter-spacing:0!important;
  text-transform:none!important;
}

@media(max-width:960px){
  nav.main.nav-open ul{background:#fff!important}
}
@media(max-width:760px){
  .topbar .row{text-align:center}
  .page-hero,
  .op-hero,
  .plus-hero{padding:56px 0 42px!important}
  .page-hero h1,
  .op-hero h1,
  .plus-hero h1{font-size:clamp(2.35rem,12vw,3.6rem)!important}
  .section-head{display:block!important}
  .daily-living-head{display:block!important}
  .daily-living-score{width:100%;margin-top:18px}
  .daily-living-map{height:320px;border-radius:18px}
  .daily-living-grid{grid-template-columns:1fr}
  footer .top{grid-template-columns:1fr!important}
}
@media(min-width:761px) and (max-width:1020px){
  .daily-living-grid{grid-template-columns:1fr 1fr}
}
