/* ============================================================
Maryam Bokhari — Brand theme override for base template
Applies Brand Guide colours + typefaces on top of styles.css.
Loaded AFTER styles.css so variables/fonts cascade cleanly.
============================================================ */

/* ============================================================
Switzer — self-hosted webfont (font/switzer/*.otf)
Paths are relative to this file (css/brand.css).
============================================================ */
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-Thin.otf") format("opentype");            font-weight:100; font-style:normal; font-display:swap; }
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-ThinItalic.otf") format("opentype");      font-weight:100; font-style:italic; font-display:swap; }
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-Extralight.otf") format("opentype");      font-weight:200; font-style:normal; font-display:swap; }
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-ExtralightItalic.otf") format("opentype");font-weight:200; font-style:italic; font-display:swap; }
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-Light.otf") format("opentype");           font-weight:300; font-style:normal; font-display:swap; }
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-LightItalic.otf") format("opentype");     font-weight:300; font-style:italic; font-display:swap; }
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-Regular.otf") format("opentype");         font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-Italic.otf") format("opentype");          font-weight:400; font-style:italic; font-display:swap; }
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-Medium.otf") format("opentype");          font-weight:500; font-style:normal; font-display:swap; }
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-MediumItalic.otf") format("opentype");    font-weight:500; font-style:italic; font-display:swap; }
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-Semibold.otf") format("opentype");        font-weight:600; font-style:normal; font-display:swap; }
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-SemiboldItalic.otf") format("opentype");  font-weight:600; font-style:italic; font-display:swap; }
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-Bold.otf") format("opentype");            font-weight:700; font-style:normal; font-display:swap; }
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-BoldItalic.otf") format("opentype");      font-weight:700; font-style:italic; font-display:swap; }
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-Extrabold.otf") format("opentype");       font-weight:800; font-style:normal; font-display:swap; }
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-ExtraboldItalic.otf") format("opentype"); font-weight:800; font-style:italic; font-display:swap; }
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-Black.otf") format("opentype");           font-weight:900; font-style:normal; font-display:swap; }
@font-face{ font-family:"Switzer"; src:url("../font/switzer/Switzer-BlackItalic.otf") format("opentype");     font-weight:900; font-style:italic; font-display:swap; }

/* Brand Guide palette — exact swatch values sampled from the guide PDF */
:root{
	--Primary:#b05f27;
	--gold-ink:#8C531D;        
	--Gold-gradient:linear-gradient(90deg,#EEC062 0%,#C88A3C 46%,#9D6024 100%);
	--Text-primary:#101010;   
	--Text-secondary:#55607A; 
	--Black:#10182B;
	--Cream:#DCCFC0;    
	--Bg-light:#EBE3D6;   
	--Line:#E1D8C8;         
}

/* Body typeface — Switzer */
body,
p, .text, .text-body-1, .text-body-2, .text-body-3,
input, textarea, select, .nice-select, .form-leave-comment fieldset label{
	font-family: "Switzer", sans-serif;
}

/* Heading typeface — Forum */
h1,h2,h3,h4,h5,h6,
.title,.h1,.h2,.h3,.h4,.h5,.h6{
	font-family: "Forum", serif;
}

.tf-section.section-about.relocating{
	background: #F9F7F3;
}


/* Body copy: Regular weight, 140% line-height, navy ink (per guide) */
body{ font-weight:400; line-height:1.4; color:#5C6368; }
p, .text, .text-body-1, .text-body-2, .text-body-3{ font-weight:400; line-height:1.5; }
/* Headings: Semibold, -2% tracking, tight 105% line-height (per guide: Semibold / -2% / 100%) */
h1,h2,h3,h4,h5,h6,.title,.h1,.h2,.h3,.h4,.h5,.h6{ font-weight:600; letter-spacing:-.0em; line-height:1.05; }
.h1,.h2,.h3,.h4,.h5,.h6{ margin-top:0; margin-bottom:0; }  /* keep div-baseline spacing when these classes sit on real heading tags */

/* Secondary typeface — Forum for labels/eyebrows: 5% tracking, 140% line-height (per guide) */
.text-label,.sub-title,.text-caption-1,.text-caption-2,.text-button,.text-button-small,
.tf-btn span,.nav-link-item,.nav-tab-item,.tag,.footer-heading,.btn-fillter,
.wg-social,.hot-line .text-caption-1{
	font-family: "Forum", serif;  line-height:1.5;
}
/* Button text — Forum */
button, .tf-btn, .tf-btn span{ font-family: "Forum", serif; }
.tf-btn span{ text-transform:uppercase; letter-spacing:.06em; font-size:15px; }
.sub-title.text-label{ letter-spacing:.1em; color:var(--gold-ink);     margin-bottom: 15px;}   /* micro-caps eyebrow (AA on light) */
.sell-card .sub-title.text-label,.section-areas .area-media-label{ color:#fff; }   /* on dark grounds, bright gold passes AA */

/* gold accent helper mirrors template's .text-Primary */
.text-Primary{ color:var(--Primary) !important; }

/* icon-driven feature boxes (box-icon style-1) take the gold accent */
.box-icon .icon i{ font-size:42px; line-height:1; color:var(--gold-ink); display:inline-flex; }
.box-icon .icon .mb-svg-icon{ width:42px; height:42px; color:var(--gold-ink); display:inline-flex; flex:none; }
.box-icon.style-1 .icon{ display:flex; align-items:center; justify-content:flex-start;     height: 50px;
	line-height: 50px;
	background: #fff;
	padding: 35px 10px;
	border-radius: 15px; }

.box-icon.style-1 p{
	font-size: 18px;
}

/* ---- Hero sub-headline (gold italic) ---- */
.sub-hero{ color:var(--gold-ink); font-weight:500; }
.hero-image {
	position: relative!important;
	    bottom: -45px !important;
}

.page-id-11 .sl-form-card .sl-select option{
	color:#000;
}
/* ---- Stats: premium dark trust band ---- */
.section-stats.pt-0{ padding-top:clamp(50px,5vw,72px) !important; }
.section-stats .wrap-stats{ position:relative; overflow:hidden; border:0; border-radius:22px; background:#F9F7F3; }

.section-stats .stat-item{ position:relative; padding:48px 30px; border-right:1px solid rgba(0,0,0,0.1); text-align:center; transition:background .35s; }
.section-stats .stat-item:last-child{ border-right:0; }
.section-stats .stat-item:hover{ background:rgba(255,255,255,.035); }
.section-stats .stat-item .h2{ display:inline-block; margin:0; line-height:1; color:#101010; font-size:clamp(30px,3.2vw,42px); letter-spacing:-.0em; }
.section-stats .stat-item .h2 .text-Primary{ color:var(--Primary) !important; }
.section-stats .stat-item .h2::after{ content:""; display:block; width:34px; height:2px; background:var(--Primary); margin:18px auto 16px; opacity:.9; }
.section-stats .stat-item .text-body-2{ margin:0; color:#101010; font-size:16px; letter-spacing:.01em; }
@media(max-width:767px){
	.section-stats .stat-item{ padding:32px 18px; border-right:0; border-bottom:1px solid rgba(255,255,255,.1); }
	.section-stats .stat-item:last-child{ border-bottom:0; }
	.hero-image {
		position: relative;
		bottom: 20px!important;
	}
}
.frisco.light .mb-table tbody tr:hover{
	background: #fff;
}
/* ============================================================
Areas & Communities — standalone interactive area showcase
============================================================ */
.section-areas{ background:#F9F7F3; }
.areas-panel{ display:grid; grid-template-columns:.82fr 1.18fr; background:#fff;border-radius:16px; overflow:hidden; }

/* left: intro + vertical area selector */
.areas-intro{ padding:clamp(34px,3.4vw,56px); display:flex; flex-direction:column; }
.areas-intro .sub-title{ margin-bottom:14px; }
.areas-intro .title{ margin-bottom:14px; }
.areas-intro .areas-lead{ color:var(--Text-secondary); margin-bottom:26px; }
.areas-tabs{ display:flex; flex-direction:column; border-top:1px solid var(--Line); margin-bottom:30px; }
.area-tab{ position:relative; display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:19px 6px 19px 18px; background:none; border:0; border-bottom:1px solid var(--Line); cursor:pointer; text-align:left; }
.area-tab .area-tab-name{ font-family: "Forum", serif; font-weight:600; font-size:clamp(25px,2.3vw,33px); line-height:1; letter-spacing:-.01em; color:var(--Text-primary); transition:color .3s; }
.area-tab .area-tab-meta{ font-family: "Forum", serif; text-transform:uppercase; letter-spacing:.12em; font-size:11px; color:var(--Text-secondary); transition:color .3s, transform .3s, opacity .3s; }
.area-tab::before{ content:""; position:absolute; left:0; top:50%; width:3px; height:0; background:var(--Gold-gradient); transform:translateY(-50%); transition:height .35s; }
.area-tab:hover .area-tab-name{ color:var(--gold-ink); }
.area-tab.is-active .area-tab-name{ color:var(--gold-ink); }
.area-tab.is-active::before{ height:66%; }
.area-tab.is-active .area-tab-meta{ color:var(--gold-ink); }
.area-tab > i{ color:var(--gold-ink); font-size:17px; opacity:0; transform:translateX(-6px); transition:opacity .3s, transform .3s; }
.area-tab:hover > i,.area-tab.is-active > i{ opacity:1; transform:translateX(0); }
.areas-cta{ margin-top:auto; align-self:flex-start; }

/* right: changing image stage + neighborhood chips */
.areas-stage{ position:relative; background:var(--Text-primary); }
.area-panel{ display:none; flex-direction:column; height:100%; }
.area-panel.is-active{ display:flex; animation:areaFade .55s ease both; }
@keyframes areaFade{ from{ opacity:0; } to{ opacity:1; } }
.area-media{ position:relative; flex:1; min-height:360px; overflow:hidden; }
.area-media img{ width:100%; height:100%; object-fit:cover; }
.area-media::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(13,20,38,.78) 0%, rgba(13,20,38,.15) 52%, transparent 100%); }
.area-media-label{ position:absolute; left:30px; bottom:26px; z-index:2; display:flex; align-items:center; gap:11px; color:#fff; font-family: "Forum", serif; font-weight:600; font-size:clamp(28px,2.6vw,38px); line-height:1; }
.area-media-label i{ color:#fff; font-size:26px; }
.area-hoods{ list-style:none; margin:0; padding:24px 30px 28px; display:flex; flex-wrap:wrap; gap:11px; background:#fff; }
.area-hoods li{ display:inline-flex; align-items:center; gap:9px; padding:11px 20px; border:1px solid var(--Line); border-radius:999px; font-family: "Forum", serif; font-weight:600; font-size:19px; color:var(--Text-primary); transition:border-color .3s, background .3s; }
.area-hoods li::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--Primary); flex:none; }
.area-hoods li:hover{ border-color:var(--Primary); background:#FBF8F3; }

@media(max-width:991px){
	.areas-panel{ grid-template-columns:1fr; }
	.areas-stage{ order:2; }
	.areas-intro{ order:1; }
	.area-media{ min-height:300px; }
}

/* ---- Why work with me: elevated icon-badge cards ---- */
.why-card{ position:relative; height:100%; background:#fff; border:1px solid var(--Line); border-radius:20px; padding:38px 30px; transition:box-shadow .4s, transform .4s, border-color .4s; }
.why-card:hover{ transform:translateY(-6px); border-color:var(--Primary); }
.why-badge{ width:66px; height:66px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(201,148,74,.12); margin-bottom:26px; transition:background .35s; }
.why-badge i{ font-size:30px; color:var(--gold-ink); transition:color .35s; }
.why-card:hover .why-badge{ background:var(--Primary); }
.why-card:hover .why-badge i{ color:#fff; }
.why-card .title{ margin-bottom:10px; }
.why-card .why-text{ color:var(--Text-secondary); }

/* ---- Service area: location chip cluster ---- */
.section-area .heading-section{ margin-bottom:30px; }
.area-grid{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; max-width:1020px; margin:0 auto; }
.area-chip{ display:inline-flex; align-items:center; gap:11px; padding:15px 28px; border:1px solid var(--Line); border-radius:999px; background:#fff; color:var(--Text-primary); font-family: "Forum", serif; font-size:22px; font-weight:600; letter-spacing:-.01em; line-height:1; transition:border-color .3s, box-shadow .3s, transform .3s, background .3s, color .3s; }
.area-chip i{ font-size:19px; color:var(--gold-ink); transition:transform .3s, color .3s; }
.area-chip:hover{ border-color:var(--Primary); background: #FBF8F3;}
.area-chip:hover i{ transform:scale(1.14); }
.area-chip.is-anchor{ background:var(--Text-primary); border-color:var(--Text-primary); color:#fff; }
.area-chip.is-anchor i{ color:#fff; }
.area-chip.is-anchor:hover{ box-shadow:0 24px 44px -26px rgba(16,24,43,.7); }

/* ---- Relocating city links ---- */
.reloc-cities{ display:flex; flex-wrap:wrap; gap:12px; margin-top:8px; }

/* ---- Sell / valuation: high-contrast premium card ---- */
.section-sell .sell-card{ position:relative; overflow:hidden; border-radius:24px; min-height:460px; display:flex; align-items:center; }
.sell-card .image{ position:absolute; inset:0; }
.sell-card .image img{ width:100%; height:100%; object-fit:cover; }
.sell-card .image::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.9) 40%, rgba(0,0,0,.58) 72%, rgba(0,0,0,.2) 100%); }
.sell-card .content{ position:relative; z-index:2; max-width:720px; padding:clamp(44px,6vw,76px); }
.section-sell .sell-card .sub-title{ color:#F9F7F3 !important; margin-bottom:0; }
.section-sell .sell-card .gold-rule{
	background-color: #F9F7F3;
}
.sell-card .sub-title{ color:var(--Primary) !important; margin-bottom:0; }
.sell-card .sub-title .dot{ background:var(--Primary); }
.sell-card .gold-rule{ width:56px; height:2px; background:var(--Primary); border:0; margin:18px 0 22px; opacity:1; }
.sell-card .h2{ color:#fff !important; margin-bottom:16px; }
.sell-card p{ color:rgba(255,255,255,.84) !important; }
@media(max-width:767px){ .sell-card .image::after{ background:linear-gradient(180deg, rgba(13,20,38,.88), rgba(13,20,38,.94)); } }

.signup-field input:focus-visible,
.signup-field input:focus{
	outline: none!important;
	border: none!important;
}
/* ---- Signup: premium navy panel with pill field ---- */
.signup-band{ position:relative; overflow:hidden; border-radius:24px; padding:clamp(30px,5vw,70px); background:#17213E; }
.signup-band::before{ content:""; position:absolute; top:-45%; right:-8%; width:440px; height:440px; border-radius:50%; pointer-events:none; }
.signup-band::after{ content:""; position:absolute; left:0; top:0; width:100%; height:3px; }
.signup-inner{ position:relative; z-index:2; display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:center; }
.signup-copy .title,.signup-copy .h3{ color:#fff !important; margin-bottom:10px; }
.signup-copy .text-body-2{ color:rgba(255,255,255,.68) !important; margin-bottom:0; }
.signup-field{ display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:8px 8px 8px 22px; transition:border-color .3s; }
.signup-field:focus-within{ border-color:var(--Primary); }
.signup-field > i{ color:#fff; font-size:22px; flex:none; }
.signup-field input{ flex:1; background:transparent; border:0; color:#fff; font-size:17px; padding:12px 4px; min-width:0; }
.signup-field input::placeholder{ color:rgba(255,255,255,.55); }
.signup-field input:focus{ outline:none; }
.signup-field .tf-btn{ flex:none; }
@media(max-width:900px){ .signup-inner{ grid-template-columns:1fr; gap:26px; text-align:center; } .signup-field{ max-width:520px; margin:0 auto;   display: block; padding:0;  background: none;
	border:none;} .signup-field .tf-btn{    max-width: 120px;
		margin: 15px auto 0 auto;     position: relative!important;
    transform: translate(10px, 10px)!important;} .footer .footer-image{
			padding-top:0;
	} }

/* ---- Final CTA: airy premium close on cream ---- */
.section-final{ background:#F9F7F3; }
.final-cta{ margin:0 auto; text-align:center; }
.final-title{ font-size:clamp(32px,2vw,60px); line-height:.98; color:var(--Text-primary); font-weight:600; letter-spacing:-.035em; }
.final-cta .gold-rule-center{ width:64px; height:2px; background:var(--Primary); border:0; margin:0px auto 24px; opacity:1; }
.final-sub{ color:var(--Text-secondary);  margin:0 auto 36px; font-size:clamp(16px,2vw,18px); line-height:1.55; }
.story-relocation .nb-split{
	grid-template-columns: 440px 1fr!important;
}
/* ============================================================
Footer — premium multi-tier layout (all colours meet WCAG AA)
============================================================ */
.footer{ background-color:#17213E; }
.footer .footer-body{ padding-top:74px; padding-bottom:52px; border-bottom:0; }

/* Tier 1 — brand + primary call-to-action */
.footer-cta-row{ display:flex; align-items:center; justify-content:space-between; gap:36px 56px; flex-wrap:wrap; position:relative; padding-bottom:46px; margin-bottom:46px; }
.footer-cta-row::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:1px; background:linear-gradient(90deg, rgba(198,137,59,.7), rgba(255,255,255,.08) 55%, transparent); }
.footer-brand .footer-logo{ display:inline-block; margin-bottom:22px; }
.footer-brand .footer-logo img{max-width: 200px; filter: brightness(0) invert(1);}
.footer-brand .footer-tagline{ max-width:360px; margin-bottom:6px; color:#fff; }
.footer-brand .footer-langs{ color:#fff; letter-spacing:.02em; margin:0; }
.footer-cta{ display:flex; flex-direction:column; align-items:flex-end; gap:16px; }
.footer-cta .tf-btn{ background:var(--Primary); }
.footer-cta .tf-btn > span:not(.bg-effect),.footer-cta .tf-btn > i{ color:#17213E; position:relative; z-index:1; }
.footer-cta .tf-btn .bg-effect{ background:#fff; color:#17213E; }
.footer-cta .tf-btn:hover span{color:#17213E!important;}
.footer-cta .tf-btn:hover > span:not(.bg-effect),.footer-cta .tf-btn:hover > i{ color:#17213E; }
.footer-call{ display:inline-flex; align-items:center; gap:12px; color:#fff; font-family: "Forum", serif; font-size:22px; line-height:1; transition:color .3s; }
.footer-call i{ color:var(--Primary); font-size:22px; transition:transform .3s; }
.footer-call strong{ font-weight:600; }
.footer-call:hover{ color:var(--Primary); }
.footer-call:hover i{ transform:scale(1.1); }

/* Tier 2 — organised navigation grid */
.footer-nav{ display:grid; grid-template-columns:1.5fr 1.5fr 1.5fr; gap:40px 48px; padding-bottom:42px; }
.footer .footer-heading{ position:relative; padding-bottom:14px; margin-bottom:20px; font-family: "Forum", serif; letter-spacing:.14em; text-transform:uppercase; font-size:20px; font-weight:700; color:var(--Primary); }
.footer .footer-heading::after{ content:""; position:absolute; left:0; bottom:0; width:26px; height:2px; background:#fff; }
.footer-menu-list{ list-style:none; margin:0; padding:0; display:grid; gap:13px; }
.footer-menu-list li{ line-height:1.5; }
.footer-menu-list li a{
	font-size: 16px;
}
.footer-menu-list .field-label{ display:block; font-family: "Forum", serif; text-transform:uppercase; letter-spacing:.12em; font-size:18px; font-weight:700; color:var(--Primary); margin-bottom:3px; }
.footer-menu-list .fval{ color:#C8CDD9; }
.footer .flink{ color:#fff; position:relative; display:inline-block; transition:color .28s, transform .28s; }
.footer .flink::after{ content:""; position:absolute; left:0; bottom:-2px; width:0; height:1px; background:var(--Primary); transition:width .3s; }
.footer .flink:hover,.footer .flink:focus-visible{ color:#fff; }
.footer .flink:hover::after,.footer .flink:focus-visible::after{ width:100%; }
.footer nav .footer-menu-list .flink:hover{ transform:translateX(3px); }

/* Tier 3 — badges + legal */
.footer-badges{ display:flex; flex-wrap:wrap; gap:10px; padding-top:6px; justify-content: center;}
.footer-badges .badge{ display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(255,255,255,.5); border-radius:8px; padding:10px 15px; font-family: "Forum", serif; text-transform:uppercase; letter-spacing:.1em; font-size:14px; color:#fff; transition:border-color .3s, color .3s; }
.footer-badges .badge:hover{ border-color:var(--Primary); color:#fff; }
.footer-badges .badge svg{ width:15px; height:15px; }
.footer-disclaimer{ border-top:1px solid rgba(255,255,255,.12); margin-top:36px; padding-top:26px; }
.footer-disclaimer p{ font-size:13px; line-height:1.7; color:#AEB4C2; max-width:1000px; margin:0; }
.footer-disclaimer p.mb_8{ margin-bottom:8px; }
.footer-disclaimer p strong{ color:#D8DCE4; font-weight:600; }

/* Bottom bar */
.footer .footer-bottom{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:22px 0; border-top:1px solid rgba(255,255,255,.1); }
.footer .footer-bottom p{ color:#5C6368; font-size:16px; margin:0; }
.footer-credit .flink{ color:#C8CDD9; }

@media(max-width:991px){
	.footer-nav{ grid-template-columns:1fr 1fr; gap:34px 40px; }
	.footer-cta-row{ flex-direction:column; align-items:flex-start; }
	.footer-cta{ align-items:flex-start; }
	.logo_header {
		max-width: 130px!important;
	}
	.signup-copy .split-line{
		text-align:center!important;
	}
}
@media(max-width:575px){
	.footer .footer-body{ padding-top:56px; }
	.footer-nav{ grid-template-columns:1fr; gap:30px; padding-bottom:0;}
	.footer .footer-bottom{ justify-content:flex-start; }
}


.logo_header{
	max-width: 160px;
}



.details-post h2{
	margin-bottom:30px;
	font-size: clamp(24px, 2.8vw, 34px);
}


.details-post p{
	margin-bottom:30px;
	font-size:18px;
}

.details-post ul{
	padding-left:30px;
	margin-bottom:30px;
}
.details-post ul li{
	list-style:disc;
	padding-bottom:10px;
}
/* ============================================================
Accessibility — focus states, skip link, reduced motion
============================================================ */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
[tabindex]:focus-visible, .tf-btn:focus-visible, .area-tab:focus-visible, .nice-select:focus-visible,
.mobile-button:focus-visible, .btn-close-menu:focus-visible, summary:focus-visible, .footer-call:focus-visible{
	outline:3px solid var(--Primary) !important;
	outline-offset:3px !important;
	box-shadow:0 0 0 6px rgba(23,33,62,.45) !important;
	border-radius:4px;
}
/* keep a visible ring even where the theme resets outline on plain :focus for keyboard-only fallback */
.tf-btn:focus-visible{ outline-offset:4px !important; }

.skip-link{ position:fixed; left:16px; top:-64px; z-index:99999; background:#17213E; color:#fff; padding:12px 22px; border-radius:0 0 10px 10px; font-family: "Forum", serif; letter-spacing:.08em; text-transform:uppercase; font-size:13px; transition:top .2s ease; }
.skip-link:focus{ top:0; outline:3px solid var(--Primary); outline-offset:2px; }
.sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@media (prefers-reduced-motion: reduce){
	*,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}


@media (prefers-reduced-motion: reduce){ *{ scroll-behavior:auto !important; } }

/* ============================================================
Areas & Communities — scroll-reveal + per-switch motion
(subtle, professional; disabled under reduced-motion)
============================================================ */
@media (prefers-reduced-motion: no-preference){
	/* entrance: contents stagger in when the panel enters view */
	.section-areas .areas-tabs .area-tab,
	.section-areas .areas-cta,
	.section-areas .areas-stage{ opacity:0; will-change:transform,opacity; }
	.section-areas .areas-tabs .area-tab{ transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; }
	.section-areas .areas-cta{ transform:translateY(14px); transition:opacity .7s ease, transform .7s ease; }
	.section-areas .areas-stage{ transform:translateY(20px) scale(.985); transition:opacity .85s ease, transform .85s cubic-bezier(.2,.7,.3,1); }

	.section-areas.areas-inview .areas-tabs .area-tab{ opacity:1; transform:none; }
	.section-areas.areas-inview .areas-tabs .area-tab:nth-child(1){ transition-delay:.10s; }
	.section-areas.areas-inview .areas-tabs .area-tab:nth-child(2){ transition-delay:.18s; }
	.section-areas.areas-inview .areas-tabs .area-tab:nth-child(3){ transition-delay:.26s; }
	.section-areas.areas-inview .areas-cta{ opacity:1; transform:none; transition-delay:.34s; }
	.section-areas.areas-inview .areas-stage{ opacity:1; transform:none; }

	/* per-area switch: slow ken-burns on the image + staggered chips (replays on each tab) */
	.section-areas.areas-inview .area-panel.is-active .area-media img{ animation:areaKen 6.5s ease-out both; }
	@keyframes areaKen{ from{ transform:scale(1.09); } to{ transform:scale(1); } }

	.section-areas .area-panel.is-active .area-hoods li{ opacity:0; }
	.section-areas.areas-inview .area-panel.is-active .area-hoods li{ animation:chipIn .55s ease forwards; }
	.section-areas.areas-inview .area-panel.is-active .area-hoods li:nth-child(1){ animation-delay:.14s; }
	.section-areas.areas-inview .area-panel.is-active .area-hoods li:nth-child(2){ animation-delay:.20s; }
	.section-areas.areas-inview .area-panel.is-active .area-hoods li:nth-child(3){ animation-delay:.26s; }
	.section-areas.areas-inview .area-panel.is-active .area-hoods li:nth-child(4){ animation-delay:.32s; }
	.section-areas.areas-inview .area-panel.is-active .area-hoods li:nth-child(5){ animation-delay:.38s; }
	.section-areas.areas-inview .area-panel.is-active .area-hoods li:nth-child(6){ animation-delay:.44s; }
	@keyframes chipIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
}


@media screen and (max-width: 2560px) and (min-width: 2200px) {
	.page-title.style-2{
		height: 80vh;
	}
}

@media screen and (max-width: 1152px) and (min-width: 1000px) {
	.page-title.style-2{
		height: 80vh;
	}
	h3, .h3 {
		font-size: 36px;}
	.logo_header {
		max-width: 120px;
	}
	.section-stats .stat-item .h2{
		font-size: 28px;
	}
	.box-icon.style-1{
		display: block;
	}
	.box-icon.style-1 .icon{
		width: 80px;
		justify-content: center;  

	}

	.box-icon.style-1 .h4{
		margin-top: 15px;
	}
	.area-hoods li{
		padding: 10px 15px;
		font-size: 16px;
	}
	h4, .h4 {
		font-size: 28px;
	}
	.why-card{
		padding: 30px 15px;
	}
}


@media screen and (max-width: 991px) and (min-width: 768px) {
	.section-stats .stat-item{
		border: none;
	}
	.section-about .left-image img{
		width: 100%;
	}
	.box-icon.style-1{
		display: block;
	}
	.box-icon.style-1 .icon{
		width: 80px;
		justify-content: center;  

	}

	.box-icon.style-1 .h4{
		margin-top: 15px;
	}
}

/* ============================================================
SHARED INNER-PAGE HERO  (.mb-hero)
Used by about.html, sell.html and every page after.
Slots are optional: eyebrow / title / rule / sub / lead /
quote / actions. Same grid, scale and media treatment
everywhere, so the pages read as one family.
============================================================ */
.mb-hero {
	padding-top: clamp(40px, 5vw, 90px);
	padding-bottom: clamp(40px, 5vw, 90px);
}

.mb-hero-grid {
	display: grid;
	gap: clamp(30px, 4vw, 54px);
	align-items: center;
}

.mb-hero-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: "Forum", serif;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .16em;
	font-size: 13px;
	line-height: 1.6;
	color: var(--gold-ink);
	margin: 0 0 clamp(14px, 1.6vw, 20px);
}

.mb-hero-eyebrow .dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--Primary);
	flex: none;
}

.mb-hero-title {
	font-size: clamp(40px, 6.4vw, 72px);
	line-height: 1.05;
	letter-spacing: -.035em;
	margin: 0;
}

.mb-hero-rule {
	width: 56px;
	height: 2px;
	background: var(--Primary);
	border: 0;
	opacity: 1;
	margin: clamp(20px, 2.4vw, 30px) 0;
}

.mb-hero-sub {
	font-family: "Forum", serif;
	font-weight: 400;
	font-size: clamp(12px, 1.15vw, 15px);
	line-height: 1.7;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--gold-ink);
	margin: 0;
}

.mb-hero-lead {
	font-size: clamp(18px, 2vw, 20px);
	line-height: 1.5;
	color: var(--Text-secondary);
	max-width: 620px;
	margin: 0;
}

.mb-hero-quote {
	position: relative;
	margin: clamp(22px, 2.6vw, 34px) 0 0;
	padding-left: clamp(18px, 2vw, 28px);
}

.mb-hero-quote::before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	bottom: 5px;
	width: 3px;
	border-radius: 3px;
	background: linear-gradient(180deg, #EEC062 0%, #C88A3C 46%, #9D6024 100%);
}

.mb-hero-quote p {
	font-family: "Forum", serif;
	font-style: italic;
	font-weight: 500;
	font-size: clamp(21px, 2.5vw, 34px);
	line-height: 1.3;
	letter-spacing: -.01em;
	color: var(--Text-primary);
	margin: 0;
}

.mb-hero-actions {
	margin-top: clamp(24px, 3vw, 36px);
}

.mb-hero-media img {
	display: block;
	width: 100%;
	height: auto;
	
	object-fit: cover;
}

@media (min-width: 992px) {
	.mb-hero-grid {
		grid-template-columns: 1fr 1fr;
		gap: clamp(44px, 5vw, 78px);
	}

	.mb-hero-media img {
		aspect-ratio: 1 / 1;
	}
}

/* ============================================================
Maryam Bokhari — About page
Loads AFTER brand.css. Every colour/typeface below is pulled
from the existing brand tokens — no new palette, no new fonts.
All new classes are namespaced `abt-`.
============================================================ */

/* ------------------------------------------------------------
2. THE ROUTE — Illinois to California to Texas
A single hairline that fills gold as each chapter arrives.
------------------------------------------------------------ */
.abt-route {
	background: #F9F7F3;
}


.abt-chapter {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	column-gap: 16px;
}

.abt-chapter-rail {
	position: relative;
}

/* static hairline */
.abt-chapter-rail::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 0;
	bottom: 0;
	width: 1px;
	background: var(--Line);
}

.abt-chapter:first-child .abt-chapter-rail::before {
	top: 14px;
}

/* the landing card closes the route — line stops at the node */
.abt-chapter.abt-landing .abt-chapter-rail::before {
	bottom: auto;
	height: 16px;
}

/* gold progress segment */
.abt-chapter-fill {
	position: absolute;
	left: 4px;
	top: 0;
	width: 1px;
	height: 0;
	background: linear-gradient(180deg, #EEC062 0%, #C88A3C 46%, #9D6024 100%);
}

.abt-chapter:first-child .abt-chapter-fill {
	top: 14px;
}

.abt-chapter.abt-landing .abt-chapter-fill {
	display: none;
}

.abt-node {
	position: absolute;
	left: 0;
	top: 12px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #F9F7F3;
	border: 1px solid var(--Line);
	z-index: 2;
	transition: background .5s ease, border-color .5s ease, box-shadow .5s ease;
}

.abt-chapter.is-inview .abt-node {
	background: var(--Primary);
	border-color: var(--Primary);
	box-shadow: 0 0 0 5px rgba(176, 95, 39, .14);
}

.abt-chapter-body {
	padding-bottom: clamp(38px, 5vw, 66px);
}


.abt-chapter-title {
	font-size: clamp(25px, 3.2vw, 40px);
	line-height: 1.1;
	margin: 0 0 clamp(13px, 1.6vw, 20px);
}

.abt-chapter-body p {
	color: var(--Text-secondary);
	font-size: 18px;
	line-height: 1.62;
	margin: 0 0 16px;
}

.abt-chapter-body p:last-child {
	margin-bottom: 0;
}

.abt-lead {
	font-size: clamp(19px, 2vw, 21px) !important;
	color: var(--Text-primary) !important;
}

/* the route lands in a single dark anchor */
.abt-landing .abt-chapter-body {
	background: #17213E;
	border-radius: 16px;
	padding: clamp(28px, 4vw, 52px);
}

.abt-landing .abt-chapter-title {
	color: #fff;
}

.abt-landing .abt-chapter-body p {
	color: rgba(255, 255, 255, .78);
}

.abt-gold-rule {
	width: 56px;
	height: 2px;
	background: var(--Primary);
	border: 0;
	opacity: 1;
	margin: 0 0 clamp(18px, 2vw, 24px);
}



@media (min-width: 768px) {
	.abt-chapter {
		grid-template-columns: 54px minmax(0, 1fr);
		column-gap: 32px;
	}

	.abt-node {
		top: 15px;
	}

	.abt-chapter:first-child .abt-chapter-rail::before,
	.abt-chapter:first-child .abt-chapter-fill {
		top: 17px;
	}
}

/* ------------------------------------------------------------
3. HOW I WORK — editorial promise list
------------------------------------------------------------ */


.abt-how-head {
	max-width: 620px;
	margin-bottom: clamp(26px, 3.4vw, 46px);
}

.abt-how-title {
	font-size: clamp(30px, 4vw, 56px);
	line-height: 1.04;
	letter-spacing: -.03em;
	margin: 0;
}

.abt-principles {
	list-style: none;
	margin: 0;
	padding: 0;
}

.abt-principles li {
	position: relative;
	border-top: 1px solid var(--Line);
	padding: clamp(24px, 3.2vw, 44px) 0 clamp(24px, 3.2vw, 44px) clamp(16px, 2vw, 34px);
	transition: background .4s ease;
}

.abt-principles li:last-child {
	border-bottom: 1px solid var(--Line);
}

/* gold edge — same gesture as the homepage .area-tab marker */
.abt-principles li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 3px;
	height: 0;
	transform: translateY(-50%);
	background: #b05f27;
	transition: height .45s cubic-bezier(.2, .7, .3, 1);
}

.abt-principles li:hover,
.abt-principles li:focus-within {
	background: #FBF8F3;
}

.abt-principles li:hover::before,
.abt-principles li:focus-within::before {
	height: 66%;
}

.abt-principle-lead {
	display: block;
	font-family: "Forum", serif;
	font-weight: 600;
	font-size: clamp(24px, 3.4vw, 36px);
	line-height: 1.1;
	letter-spacing: -.025em;
	color: var(--Text-primary);
	margin: 0 0 12px;
	transition: color .35s ease;
}

.abt-principles li:hover .abt-principle-lead,
.abt-principles li:focus-within .abt-principle-lead {
	color: var(--gold-ink);
}

.abt-principle-note {
	margin: 0;
	color: var(--Text-secondary);
	font-size: 17px;
	line-height: 1.62;
}

@media (min-width: 992px) {
	.abt-principles li {
		display: grid;
		grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
		column-gap: clamp(30px, 4vw, 70px);
		align-items: start;
		padding-left: clamp(24px, 2.4vw, 40px);
		padding-right: clamp(6px, 1vw, 16px);
	}

	.abt-principle-lead {
		margin-bottom: 0;
	}

	/* editorial column rule between the promise and the detail */
	.abt-principle-note {
		padding-left: clamp(26px, 3vw, 50px);
		padding-top: 8px;
		font-size: 18px;
		border-left: 1px solid var(--Line);
		transition: border-color .4s ease;
	}

	.abt-principles li:hover .abt-principle-note,
	.abt-principles li:focus-within .abt-principle-note {
		border-color: var(--Primary);
	}
}

/* ------------------------------------------------------------
4. SPECIALTIES
------------------------------------------------------------ */
.abt-specs {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(0, 1fr);
}

.abt-spec {
	display: flex;
	align-items: center;
	gap: 14px;
	height: 100%;
	background-color: #F9F7F3;
	border-radius: 16px;
	padding: clamp(15px, 2.2vw, 30px);
	transition: border-color .35s ease, transform .35s ease, box-shadow .35s ease;
}

.abt-spec i {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 50px;
	line-height: 50px;
	background: #fff;
	padding: 35px 10px;
	border-radius: 15px;
	font-size: 42px;
	line-height: 1;
	color: var(--gold-ink);
	display: inline-flex;
}

.abt-spec span {
	font-family: "Forum", serif;
	font-weight: 600;
	font-size: clamp(20px, 1.7vw, 30px);
	line-height: 1.2;
	letter-spacing: -.01em;
	color: var(--Text-primary);
}



@media (min-width: 600px) {
	.abt-specs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
}

@media (min-width: 992px) {
	.abt-specs {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 24px;
	}
}

/* ------------------------------------------------------------
5. OUTSIDE OF WORK + CLOSING CTA
(sits inside the theme's own .section-final cream ground)
------------------------------------------------------------ */
.abt-outside-inner {
	max-width: 920px;
	margin: 0 auto;
	text-align: center;
}

.abt-outside-title {
	font-size: clamp(28px, 3.4vw, 44px);
	line-height: 1.08;
	margin: 0 0 clamp(18px, 2.2vw, 26px);
}

.abt-outside-inner p {
	font-size: clamp(18px, 1.9vw, 18px);
	line-height: 1.62;
	color: var(--Text-secondary);
	margin: 0 0 18px;
}

.abt-outside-inner p:last-of-type {
	margin-bottom: 0;
}



.abt-cta {
	margin-top: clamp(38px, 4.4vw, 62px);
}

.abt-cta-actions {
	margin-top: clamp(26px, 3vw, 36px);
}

/* ------------------------------------------------------------
6. MOTION — scroll reveals
Guarded by .has-js so nothing is hidden if JS never runs,
and fully skipped under prefers-reduced-motion.
------------------------------------------------------------ */
@media (prefers-reduced-motion: no-preference) {
	.abt-chapter-fill {
		transition: height 1s cubic-bezier(.2, .7, .3, 1);
	}

	.abt-chapter.is-inview .abt-chapter-fill {
		height: 100%;
	}

	.has-js .abt-chapter .abt-chapter-body {
		opacity: 0;
		transform: translateY(18px);
		transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .3, 1);
		transition-delay: .1s;
	}

	.has-js .abt-chapter.is-inview .abt-chapter-body {
		opacity: 1;
		transform: none;
	}

	.has-js .abt-principles li {
		opacity: 0;
		transform: translateY(14px);
		transition: opacity .55s ease, transform .55s ease, background .35s ease;
	}

	.has-js .abt-principles.is-inview li {
		opacity: 1;
		transform: none;
	}

	.has-js .abt-principles.is-inview li:nth-child(1) { transition-delay: .06s; }
	.has-js .abt-principles.is-inview li:nth-child(2) { transition-delay: .13s; }
	.has-js .abt-principles.is-inview li:nth-child(3) { transition-delay: .20s; }
	.has-js .abt-principles.is-inview li:nth-child(4) { transition-delay: .27s; }
	.has-js .abt-principles.is-inview li:nth-child(5) { transition-delay: .34s; }

	.has-js .abt-specs li {
		opacity: 0;
		transform: translateY(14px);
		transition: opacity .55s ease, transform .55s ease;
	}

	.has-js .abt-specs.is-inview li {
		opacity: 1;
		transform: none;
	}

	.has-js .abt-specs.is-inview li:nth-child(1) { transition-delay: .05s; }
	.has-js .abt-specs.is-inview li:nth-child(2) { transition-delay: .11s; }
	.has-js .abt-specs.is-inview li:nth-child(3) { transition-delay: .17s; }
	.has-js .abt-specs.is-inview li:nth-child(4) { transition-delay: .23s; }
	.has-js .abt-specs.is-inview li:nth-child(5) { transition-delay: .29s; }
	.has-js .abt-specs.is-inview li:nth-child(6) { transition-delay: .35s; }
}

@media (prefers-reduced-motion: reduce) {
	.abt-chapter-fill {
		height: 100%;
	}

	.has-js .sl-faq-panel,
	.sl-faq-icon,
	.sl-faq-icon::before,
	.sl-faq-icon::after {
		transition: none;
	}
}


/* ============================================================
Maryam Bokhari — Sell page
Namespaced `sl-`. Same tokens, same three typefaces.
============================================================ */

/* --- 2. WHY ONLINE ESTIMATES MISS --------------------------- */
.sl-miss {
	background: #F9F7F3;
}

.sl-section-title {
	font-size: clamp(28px, 3.8vw, 50px);
	line-height: 1.05;
	letter-spacing: -.03em;
	margin: 0;
	max-width: 20ch;
}

/* the argument made spatially: small + faint vs. large + present */
.sl-contrast {
	display: grid;
	gap: clamp(28px, 3.4vw, 48px);
}

/* dashed = an approximation, which is exactly what it is */
.sl-estimate-note {
	border: 1px dashed var(--Line);
	border-radius: 18px;
	padding: clamp(22px, 2.6vw, 32px);
	margin: 0;
	color: var(--Text-secondary);
	font-size: 17px;
	line-height: 1.62;
}

.sl-eyebrow-label {
	font-family: "Forum", serif;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .14em;
	font-size: 14px;
	line-height: 1.6;
	color: var(--gold-ink);
	margin: 0 0 clamp(14px, 1.6vw, 20px);
}

.sl-blindspots {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--Line);
}

.sl-blindspots li {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr);
	align-items: start;
	border-bottom: 1px solid var(--Line);
	padding: clamp(18px, 2.2vw, 24px) 0;
}

.sl-blindspots li::before {
	content: "";
	width: 20px;
	height: 1px;
	margin-top: .78em;
	background: var(--Primary);
	transition: width .35s ease;
}

.sl-blindspots li:hover::before {
	width: 30px;
}

.sl-blindspot {
	font-family: "Forum", serif;
	font-weight: 600;
	font-size: clamp(18px, 2vw, 24px);
	line-height: 1.26;
	letter-spacing: -.02em;
	color: var(--Text-primary);
}

.sl-statement-wrap {
	margin-top: clamp(32px, 3.8vw, 54px);
	max-width: 900px;
}

.sl-statement-rule {
	width: 56px;
	height: 2px;
	background: var(--Primary);
	border: 0;
	opacity: 1;
	margin: 0 0 clamp(16px, 1.8vw, 22px);
}

.sl-statement {
	font-family: "Forum", serif;
	font-style: italic;
	font-weight: 500;
	font-size: clamp(22px, 2.6vw, 36px);
	line-height: 1.28;
	letter-spacing: -.01em;
	color: var(--Text-primary);
	margin: 0;
}

@media (min-width: 992px) {
	.sl-contrast {
		grid-template-columns: .78fr 1.22fr;
		gap: clamp(44px, 5vw, 88px);
		align-items: start;
	}

	.sl-contrast-weak {
		position: sticky;
		top: 130px;
	}
}

/* --- 3. PRICING PROCESS ------------------------------------- */
.sl-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: clamp(30px, 3.4vw, 44px);
	grid-template-columns: minmax(0, 1fr);
}

.sl-step-num {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: clamp(14px, 1.8vw, 20px);
}

.sl-step-num > span {
	flex: none;
	font-family: "Forum", serif;
	font-weight: 600;
	font-size: clamp(42px, 5.2vw, 76px);
	line-height: .88;
	letter-spacing: -.02em;
	color: var(--gold-ink);
}

@supports (background-clip: text) or (-webkit-background-clip: text) {
	.sl-step-num > span {
		background: var(--gold-ink);
		-webkit-background-clip: text;
		background-clip: text;
		color: transparent;
	}
}

.sl-step-num::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--Line);
	transition: background .7s ease;
}

.sl-steps.is-inview .sl-step-num::after {
	background: var(--Primary);
}

.sl-steps.is-inview li:nth-child(2) .sl-step-num::after { transition-delay: .12s; }
.sl-steps.is-inview li:nth-child(3) .sl-step-num::after { transition-delay: .24s; }

.sl-step-title {
	font-family: "Forum", serif;
	font-weight: 600;
	font-size: clamp(21px, 2.2vw, 27px);
	line-height: 1.2;
	letter-spacing: -.02em;
	color: var(--Text-primary);
	margin: 0 0 12px;
}

.sl-step p {
	margin: 0;
	color: var(--Text-secondary);
	font-size: 18px;
	line-height: 1.5;
}

@media (min-width: 900px) {
	.sl-steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: clamp(30px, 3.6vw, 56px);
	}
}

/* --- 4. MARKETING — the page's single dark moment ------------
Six contained cards on a lit navy field.
------------------------------------------------------------- */
.sl-marketing {
	background: #F9F7F3;
}

/* .sl-marketing-panel {
position: relative;
overflow: hidden;
background: #17213E;
border-radius: 24px;
padding: clamp(26px, 4.2vw, 66px);
box-shadow: 0 54px 104px -74px rgba(16, 24, 43, .92);
} */

/* same gold hairline as the valuation card, so the two read as a pair */


.sl-marketing-head {
	position: relative;
	z-index: 2;

	margin-bottom: clamp(28px, 3.4vw, 48px);
}

.sl-marketing-title {

	font-size: clamp(27px, 3.6vw, 48px);
	line-height: 1.06;
	letter-spacing: -.03em;
	margin: 0;
}

.sl-marketing-rule {
	width: 56px;
	height: 2px;
	background: var(--gold-ink);
	border: 0;
	opacity: 1;
	margin: clamp(18px, 2vw, 24px) 0 0;
}

.sl-services {
	position: relative;
	z-index: 2;
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(0, 1fr);
}

.sl-service {
	height: 100%;
	display: flex;

	gap: clamp(15px, 1.8vw, 30px);
	background-color: #fff;
	border-radius: 18px;
	padding: clamp(22px, 2.6vw, 30px);
	transition: background-color .4s ease, border-color .4s ease, transform .4s ease, box-shadow .4s ease;
}


.sl-service-icon {
	flex: none;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	background: rgba(238, 192, 98, .12);
	border: 1px solid rgba(238, 192, 98, .22);
	transition: background .45s ease, border-color .45s ease;
}

.sl-service-icon i {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 50px;
	line-height: 50px;
	background:  var(--gold-ink);
	padding: 30px 10px;
	border-radius: 15px;
	font-size: 42px;
	line-height: 1;
	color:#fff;
	display: inline-flex;

}

/* the tile fills with the brand gradient and the glyph flips to navy */
.sl-service:hover .sl-service-icon {
	background: #000;
	border-color: #fff;
}

.sl-service:hover .sl-service-icon i {
	color: #fff;
}

.sl-service-lead {
	display: block;
	font-family: "Forum", serif;
	font-weight: 600;
	font-size: clamp(19px, 1.95vw, 23px);
	line-height: 1.24;
	letter-spacing: -.02em;

	margin-top: auto;
}

.sl-service p {
	margin: 0;
	font-size: 18px;
	line-height: 1.5;
}

@media (min-width: 768px) {
	.sl-services {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
}

@media (min-width: 1200px) {
	.sl-services {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 22px;
	}
}

/* --- 5. TIMING ---------------------------------------------- */
.sl-timing-inner {
	max-width: 880px;
}

.sl-timing-lead {
	position: relative;
	padding-left: clamp(18px, 2vw, 28px);
	font-family: "Forum", serif;
	font-style: italic;
	font-weight: 500;
	font-size: clamp(22px, 2.6vw, 34px);
	line-height: 1.3;
	letter-spacing: -.01em;
	color: var(--Text-primary);
	margin: 0 0 clamp(20px, 2.4vw, 28px);
}

.sl-timing-lead::before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	bottom: 5px;
	width: 3px;
	border-radius: 3px;
	background:var(--gold-ink);
}

.sl-timing-inner p {
	color: var(--Text-secondary);
	font-size: 18px;
	line-height: 1.65;
	margin: 0 0 18px;
}

.sl-timing-close {
	margin: clamp(24px, 3vw, 34px) 0 0;
	padding-top: clamp(20px, 2.6vw, 30px);
	border-top: 1px solid var(--Line);
	font-family: "Forum", serif;
	font-weight: 600;
	font-size: clamp(20px, 2.2vw, 27px) !important;
	line-height: 1.25 !important;
	letter-spacing: -.02em;
	color: var(--Text-primary) !important;
}

/* --- 6. VALUATION FORM -------------------------------------- */
.sl-form-section {

	scroll-margin-top: 120px;
}

.sl-form-card {
	position: relative;
	overflow: hidden;
	max-width: 1000px;
	margin: 0 auto;
	background-color:#F9F7F3;
	border-radius: 16px;
	padding: clamp(26px, 4vw, 58px);
}


.sl-form-head {
	max-width: 640px;
	margin-bottom: clamp(26px, 3.2vw, 40px);
}

.sl-form-title {
	font-size: clamp(26px, 3.2vw, 42px);
	line-height: 1.06;
	letter-spacing: -.03em;
	margin: 0 0 14px;
}

.sl-form-sub {
	margin: 0;
	color: var(--Text-secondary);
	font-size: 17px;
	line-height: 1.6;
}

.sl-form-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr);
}

.sl-label {
	display: block;
	font-family: "Forum", serif;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .13em;
	font-size: 16px;
	line-height: 1.5;
	color: #101010;
	margin-bottom: 8px;
}

.sl-req {
	color: var(--Primary);
}

.sl-input,
.sl-select,
.sl-textarea {
	width: 100%;
	background: #fff;
	border: none!important;
	outline:none!important;
	border-radius: 14px;
	padding: 14px 18px;
	font-family: "Forum", serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
	color: var(--Text-primary);
	transition: border-color .3s ease, box-shadow .3s ease;
}

.sl-input::placeholder,
.sl-textarea::placeholder {
	color: var(--Text-muted);
}

.sl-input:focus,
.sl-select:focus,
.sl-textarea:focus {
	border: none!important;
	outline:none!important;
	box-shadow:none!important;
	border-color: var(--Primary);
	box-shadow: 0 0 0 3px rgba(176, 95, 39, .14);
}

.sl-input:focus-visible,
.sl-select:focus-visible,
.sl-textarea:focus-visible {
	border: none!important;
	outline:none!important;
	box-shadow:none!important;
	border-color: var(--Primary);
	box-shadow: 0 0 0 3px rgba(176, 95, 39, .14);
}

.sl-textarea {
	min-height: 132px;
	resize: vertical;
}

.sl-select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 46px;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%2355607A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
}

.sl-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.sl-consents {
	margin-top: clamp(22px, 2.6vw, 30px);
	display: grid;
	gap: 16px;
}

.sl-consent {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	align-items: start;
	column-gap: 12px;
}

.sl-consent input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin: 3px 0 0;
	accent-color: var(--Primary);
	flex: none;
}

.sl-consent label {
	font-size: 14px;
	line-height: 1.58;
	color: var(--Text-secondary);
}

.sl-consent a {
	color: var(--Text-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.sl-form-actions {
	margin-top: clamp(24px, 2.8vw, 34px);
}

.sl-submit {
	border: 0;
	cursor: pointer;
	font: inherit;
}

.sl-disclaimer {
	margin: clamp(18px, 2vw, 24px) 0 0;
	font-size: 14px;
	line-height: 1.6;

}

@media (min-width: 768px) {
	.sl-form-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px 24px;
	}

	.sl-col-full {
		grid-column: 1 / -1;
	}
}

/* --- 7. FAQ (accordion) ------------------------------------- */

.sl-faq{
	background: #F9F7F3;
}
.sl-faq-grid {
	max-width: 940px;
	margin: 0 auto;

}

.sl-faq-item {
	border-top: 1px solid var(--Line);
}

.sl-faq-item:last-child {
	border-bottom: 1px solid var(--Line);
}

.sl-faq-heading {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
	letter-spacing: normal;
}

.sl-faq-q {
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: clamp(16px, 2vw, 28px);
	padding: clamp(20px, 2.4vw, 30px) 0;
	background: none;
	border: 0;
	text-align: left;
	cursor: pointer;
	font-family: "Forum", serif;
	font-weight: 600;
	font-size: clamp(20px, 2.2vw, 27px);
	line-height: 1.22;
	letter-spacing: -.02em;
	color: var(--Text-primary);
	transition: color .3s ease;
}

.sl-faq-q:hover {
	color: var(--gold-ink);
}

/* plus that becomes a minus */
.sl-faq-icon {
	position: relative;
	flex: none;
	width: 28px;
	height: 28px;
	margin-top: .12em;
	border: 1px solid var(--Line);
	border-radius: 50%;
	transition: border-color .35s ease, background-color .35s ease, transform .35s ease;
}

.sl-faq-icon::before,
.sl-faq-icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	background: var(--Primary);
	transition: transform .4s cubic-bezier(.2, .7, .3, 1);
}

.sl-faq-icon::before {
	width: 11px;
	height: 1.5px;
	transform: translate(-50%, -50%);
}

.sl-faq-icon::after {
	width: 1.5px;
	height: 11px;
	transform: translate(-50%, -50%);
}

.sl-faq-q:hover .sl-faq-icon {
	border-color: var(--Primary);
}

.sl-faq-item.is-open .sl-faq-icon {
	border-color: var(--Primary);
	background-color: rgba(176, 95, 39, .09);
}

.sl-faq-item.is-open .sl-faq-icon::after {
	transform: translate(-50%, -50%) scaleY(0);
}

/* 0fr -> 1fr gives a real height transition with no JS measuring */
.sl-faq-panel {
	display: grid;
	grid-template-rows: 1fr;
}

.has-js .sl-faq-panel {
	grid-template-rows: 0fr;
	transition: grid-template-rows .45s cubic-bezier(.2, .7, .3, 1);
}

.has-js .sl-faq-item.is-open .sl-faq-panel {
	grid-template-rows: 1fr;
}

.sl-faq-panel-inner {
	overflow: hidden;
}

.sl-faq-a {
	margin: 0;
	padding: 0 clamp(36px, 4vw, 52px) clamp(22px, 2.6vw, 30px) 0;
	color: var(--Text-secondary);
	font-size: 18px;
	line-height: 1.5;
}





/* --- 3.1 Hero additions ------------------------------------------------ */

.page-title.style-inner .sub-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
	color: var(--Text-secondary);
}

.page-title.style-inner .sub-title .dot {
	display: flex;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: var(--Primary);
}

.page-title .sub {
	max-width: 760px;
}

.nb-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 32px;
}


/* --- 3.2 Two-column prose ---------------------------------------------- */

.nb-split {
	display: grid;
	grid-template-columns: 340px 1fr;
	gap: 40px 80px;
	align-items: start;
}

.nb-split .nb-split-aside {
	position: sticky;
	top: 120px;
}

.nb-prose > p {
	margin: 0 0 20px;
	font-size: 18px;
	line-height: 30px;
	color: var(--Text-secondary);
}

.nb-prose > p:last-child {
	margin-bottom: 0;
}

.nb-prose strong {
	color: var(--Text-primary);
	font-weight: 600;
}


/* --- 3.3 Fits / doesn't fit -------------------------------------------- */

.nb-fit-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-top: 48px;
}

.nb-fit-card {
	padding: 32px;
	border: 1px solid var(--Line);
	border-radius: 16px;
	background-color: var(--White);
}

.nb-fit-card.is-yes {
	background-color:#F9F7F3;
	border-color: transparent;
}

.nb-fit-card .nb-fit-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--Line);
}

.nb-fit-card .nb-fit-head i {
	font-size: 22px;
	line-height: 1;
	color: var(--Primary);
}

.nb-list {
	display: grid;
	gap: 14px;
}

.nb-list li {
	display: grid;
	grid-template-columns: 20px 1fr;
	gap: 12px;
	align-items: start;
	color: var(--Text-secondary);
}

.nb-list li i {
	margin-top: 5px;
	font-size: 14px;
	line-height: 1;
	color: var(--Primary);
}

.nb-fit-card.is-no .nb-list li i {
	color: var(--Text-muted);
}


/* --- 3.4 Market pulse panel --------------------------------------------- */

.mp-panel {
	position: relative;
	padding: 64px;
	border-radius: 16px;
	background-color: #17213E;
	overflow: hidden;
	isolation: isolate;
}



.mp-head {
	padding-bottom: 32px;
	margin-bottom: 48px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.mp-title {
	margin: 0 0 8px;
	color: var(--White);
}

.mp-source {
	margin: 0;
	font-family: var(--font-accent);
	font-size: 19px;
	line-height: 28px;
	font-style: italic;
	color: rgba(255, 255, 255, 0.5);
}

.mp-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: 48px 64px;
	align-items: start;
}

.mp-label {
	display: block;
	font-family: var(--font-body);
	font-size: 13px;
	line-height: 20px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.45);
}

.mp-feature .mp-label {
	margin-bottom: 16px;
}

.mp-feature .mp-value {
	display: block;
	font-family: var(--font-display);
	font-size: 68px;
	line-height: 74px;
	font-weight: 400;
	letter-spacing: -0.02em;
	color: var(--White);
}

.mp-feature {
	position: relative;
	padding-left: 28px;
}

.mp-feature::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	bottom: 4px;
	width: 3px;
	border-radius: 3px;
	background-color: var(--Primary);
}

.mp-cells {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	background-color: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 16px;
	overflow: hidden;
}

.mp-cell {
	padding: 24px 26px;
	background-color: #17213E;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.mp-cell:hover {
	background-color: rgba(255, 255, 255, 0.04);
}

.mp-cell .mp-label {
	margin-bottom: 10px;
}

.mp-cell-value {
	display: block;
	font-size: 18px;
	line-height: 26px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.92);
}


/* --- 3.5 Schools module -------------------------------------------------- */

.sch-card {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	border-radius: 16px;
	overflow: hidden;

}

.sch-rail {
	padding: 56px 48px;
	background-color: #17213E;
}

.sch-rule {
	display: block;
	width: 48px;
	height: 3px;
	margin-bottom: 28px;
	border-radius: 3px;
	background-color: var(--Primary);
}

.sch-lead {
	margin: 0;
	font-family: var(--font-display);
	font-size: 36px;
	line-height: 46px;
	font-weight: 400;
	letter-spacing: -0.01em;
	color: var(--White);
	text-wrap: balance;
}

.sch-body {
	padding: 56px 48px;
	background-color: #F9F7F3;
}

.sch-body > p {
	margin: 0 0 18px;
	font-size: 17px;
	line-height: 29px;
	color: var(--Text-secondary);
}

.sch-flag {
	display: grid;
	grid-template-columns: 24px 1fr;
	gap: 16px;
	align-items: start;
	margin-top: 28px;
	padding: 24px 26px;
	border-radius: 14px;
	background-color: var(--White);
	border: 1px solid var(--Line);
}

.sch-flag i {
	margin-top: 3px;
	font-size: 22px;
	line-height: 1;
	color: var(--Primary);
}

.sch-flag p {
	margin: 0;
	font-size: 16px;
	line-height: 26px;
	color: var(--Text-secondary);
}

.sch-flag strong {
	display: block;
	margin-bottom: 2px;
	font-weight: 600;
	color: var(--Text-primary);
}


/* --- 3.6 What's nearby -------------------------------------------------- */

.nb-nearby {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 16px;
}

.nb-nearby .nb-nearby-item {
	display: grid;
	grid-template-columns: 30px 1fr;
	gap: 16px;
	align-items: center;
	padding: 22px 24px;

	border-radius: 12px;
	background-color: #F9F7F3;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.nb-nearby .nb-nearby-item:hover {
	border-color: var(--Primary);
}

.nb-nearby .nb-nearby-item i {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	font-size: 30px;
	line-height: 1;
	color: var(--gold-ink);
	display: inline-flex;
}

.nb-nearby .nb-nearby-item strong {
	color: var(--Text-primary);
	font-weight: 600;
}




/* --- 8. MOTION ---------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }

	.has-js .sl-blindspots li,
	.has-js .sl-steps li,
	.has-js .sl-services li,
	.has-js .sl-faq-item {
		opacity: 0;
		transform: translateY(16px);
		transition: opacity .6s ease, transform .6s cubic-bezier(.2, .7, .3, 1);
	}

	.has-js .sl-blindspots.is-inview li,
	.has-js .sl-steps.is-inview li,
	.has-js .sl-services.is-inview li,
	.has-js .sl-faq-item.is-inview {
		opacity: 1;
		transform: none;
	}

	.has-js .sl-blindspots.is-inview li:nth-child(2),
	.has-js .sl-steps.is-inview li:nth-child(2),
	.has-js .sl-services.is-inview li:nth-child(2) { transition-delay: .08s; }
	.has-js .sl-blindspots.is-inview li:nth-child(3),
	.has-js .sl-steps.is-inview li:nth-child(3),
	.has-js .sl-services.is-inview li:nth-child(3) { transition-delay: .16s; }
	.has-js .sl-blindspots.is-inview li:nth-child(4),
	.has-js .sl-services.is-inview li:nth-child(4) { transition-delay: .24s; }
	.has-js .sl-blindspots.is-inview li:nth-child(5),
	.has-js .sl-services.is-inview li:nth-child(5) { transition-delay: .32s; }
	.has-js .sl-services.is-inview li:nth-child(6) { transition-delay: .40s; }
}


.frisco .mb-table-wrap{
	max-width:100%;
}

.frisco .mb-table thead th{
	font-family: "Forum", serif;
	font-weight: 600;
	font-size: clamp(19px, 2.1vw, 25px);
	line-height: 1.24;
	letter-spacing: -.02em;
	color: var(--Text-primary);
	margin: 0 0 10px;
	transition: color .35s ease;
	text-transform:capitalize;
}


.mbmc-desc{
	max-width:100%;
}
/* --- nb-split: "The vibe" / city-page overview intro --- */
@media (max-width: 991px) {
	.nb-split {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.nb-split .nb-split-aside {
		position: static;
		top: auto;
	}
	.mbmc-disclaimer {
		    position: relative!important;
		width:100%!important;
		bottom:0!important;
	}
}

/* --- nb-fit-grid: Who it fits / doesn't, For / Against --- */
@media (max-width: 767px) {
	.nb-fit-grid {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-top: 30px;
	}

	.nb-fit-card {
		padding: 24px;
	}
	.mb-card-eyebrow{
		height: 45px!important;
	}
	h1, .h1 {
		font-size: 46px;
	}
	h3, .h3 {
		font-size: 24px;
	}
	.tf-grid-layout{
		gap:0;
	}
	.box-icon.style-1 p {
		font-size: 16px;
	}
	.box-icon.style-1{
		padding: 15px;
		gap: 15px;

	}	
	.categories-item{
		padding: 28px 30px 26px 30px;
	}
	.sell-card .content {
		padding: clamp(30px, 6vw, 76px);
	}
}

/* --- mp-panel: Market pulse --- */
@media (max-width: 991px) {
	.mp-panel {
		padding: 32px 24px;
	}
	.mb-card-eyebrow{
		height: 40px!important;
	}

	.mp-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.mp-feature .mp-value {
		font-size: 42px;
		line-height: 54px;
	}

	.mp-cell {
		padding: 18px 16px;
	}
}

@media (max-width: 480px) {
	.mp-cells {
		grid-template-columns: 1fr;
	}
}

/* --- sch-card: Schools module --- */
@media (max-width: 767px) {
	.sch-card {
		grid-template-columns: 1fr;
	}

	.sch-rail,
	.sch-body {
		padding: 32px 24px;
	}

	.nb-split,
	.story-relocation .nb-split{
		grid-template-columns: 1fr!important;
		gap: 0px 40px;
	}

	.nb-prose > p {

		font-size: 16px;
	}
	.nb-split .nb-split-aside{
		position: static;
	}

	.sch-lead {
		font-size: 28px;
		line-height: 36px;
	}
}

/* --- nb-nearby: What's nearby --- */
@media (max-width: 600px) {
	.nb-nearby {
		grid-template-columns: 1fr;
	}
}


/* ============================================================
Primary nav dropdown — desktop
Append to css/brand.css. Targets the real markup this theme
emits: <nav class="main-menu"><ul class="navigation"> from
wp_nav_menu(), with MB_Walker_Primary printing "nav-link-item"
on each <a>. Child items are assumed to still use WordPress's
default <li class="menu-item-has-children"> / <ul class="sub-menu">
wrapper, since custom walkers typically only override start_el()
and leave start_lvl()/end_lvl() alone.

If this doesn't match what actually renders, send over
MB_Walker_Primary.php and I'll adjust the selectors below —
everything here is scoped under .main-menu .navigation so it
won't touch anything else on the site either way.
============================================================ */

.main-menu .navigation > li {
	position: relative;
}

/* caret on parent items so a dropdown isn't a surprise */
.main-menu .navigation > li.menu-item-has-children > a.nav-link-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.main-menu .navigation > li.menu-item-has-children > a.nav-link-item::after {
	content: "";
	width: 7px;
	height: 7px;
	margin-top: -3px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform .3s ease;
}

.main-menu .navigation > li.menu-item-has-children:hover > a.nav-link-item::after,
.main-menu .navigation > li.menu-item-has-children:focus-within > a.nav-link-item::after {
	transform: rotate(225deg);
	margin-top: 3px;
}

/* the panel itself */
.main-menu .navigation .sub-menu {
	position: absolute;
	top: calc(100% + 16px);
	left: 50%;
	transform: translateX(-50%) translateY(8px);
	min-width: 260px;
	margin: 0;
	padding: 14px 0;
	list-style: none;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 24px 48px -24px rgba(16, 24, 43, .35);
	border: 1px solid var(--Line, rgba(0, 0, 0, .08));
	opacity: 0;
	visibility: hidden;
	z-index: 40;
	transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
}

.main-menu .navigation > li.menu-item-has-children:hover > .sub-menu,
.main-menu .navigation > li.menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

/* invisible bridge over the 16px gap so the mouse doesn't lose hover
moving from the parent link down into the panel */
.main-menu .navigation > li.menu-item-has-children::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 16px;
}

.main-menu .navigation .sub-menu li {
	list-style: none;
}

.main-menu .navigation .sub-menu li a {

	padding: 10px 26px;
	font-family: "Forum", serif;
	font-size: 16px;
	color: var(--Text-primary, #101010);
	white-space: nowrap;
	transition: background .2s ease, color .2s ease;
}

.main-menu .navigation .sub-menu li a:hover,
.main-menu .navigation .sub-menu li a:focus-visible {
	background: #FBF8F3;
	color: var(--gold-ink, #8C531D);
}

/* nested (grandchild) sub-menus, in case depth 2 ever produces one —
opens to the side instead of stacking under */
.main-menu .navigation .sub-menu .sub-menu {
	top: -14px;
	left: 100%;
	transform: translateX(8px);
}

.main-menu .navigation .sub-menu li:hover > .sub-menu,
.main-menu .navigation .sub-menu li:focus-within > .sub-menu {
	transform: translateX(0);
}

.main-menu .navigation > li.menu-item-has-children:hover > a.nav-link-item::after,
.main-menu .navigation > li.menu-item-has-children:focus-within > a.nav-link-item::after {
	transform: rotate(225deg);
	margin-top: 3px;
}


@media (max-width: 2560px) and (min-width: 2100px) {
	.hero-image {
		position: relative;
		bottom: -30px!important;
	}

}
@media (max-width: 1690px) and (min-width: 1400px) {
	.hero-image .tf-animate-1{
		width: 90%!important;
	}.hero-image {
		position: relative;
		bottom: -35px!important;
	}
}

@media (max-width: 1366px) and (min-width: 1280px) {
	.hero-image {
		position: relative;
		bottom: -35px!important;
	}
	.hero-image .tf-animate-1{
		width: 90%!important;
	}
}
@media (max-width: 1152px) and (min-width: 1000px) {
	.hero-image {
		position: relative;
		bottom: -35px!important;
	}
	    h1, .h1 {
			font-size: 72px;
	}

}

@media (max-width: 991px) and (min-width: 768px) {
	.hero-image {
		position: relative;
		bottom: 20px!important;
		text-align:center;
	}
	.hero-image .tf-animate-1{
		width: 80%;
		margin: 0 auto;
	}
}
/* ===== MB custom additions (top-level, outside all media queries) ===== */
/* Neighborhood-guide card: city tag pill */
.mb-card-city{
	display:inline-flex;
	align-items:center;
	gap:6px;
	align-self:flex-start;
	font-family:"Forum", serif;
	text-transform:uppercase;
	letter-spacing:.12em;
	font-size:12px;
	line-height:1;
	color:var(--gold-ink);
	background:#FBF3EA;
	border:1px solid rgba(176,95,39,.22);
	border-radius:999px;
	padding:7px 12px;
	margin:0 0 14px;
	transition:background .35s ease, border-color .35s ease;
}
.mb-card-city i{ font-size:14px; }
.mb-card:hover .mb-card-city{ background:#F6E8D8; border-color:var(--Primary); }

/* Footer compliance: license line + Equal Housing / REALTOR badges */
.footer-brand-legal .footer-license{ color:#C8CDD9; margin-top:10px; font-weight:600; letter-spacing:.02em; }
.footer-badges{ display:flex; align-items:flex-end; justify-content:flex-start; gap:24px; margin-top:22px; flex-wrap:wrap; }
.footer-badge-logo{ width:auto; display:block; }
.footer-badge-eho{ max-height:36px; }                       /* house emblem (landscape) */
.footer-badge-realtor{ max-height:40px; margin-bottom:-3px; } /* R block + wordmark */

/* Inner-page hero title: self-contained fade so it never depends on the
scroll-triggered animation stack (which can leave it hidden on tall heroes). */
.mb-hero-title.mb-hero-fade{ opacity:1; animation:mbHeroFade .8s ease both; }
@keyframes mbHeroFade{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }

/* Home banner: the top-of-page WOW elements can fail to trigger under the
smooth-scroll setup and stay hidden. Force them visible and give them a
simple, self-contained entrance fade (no scroll-trigger dependency). The
base opacity:1 guarantees the copy shows even if the entrance never runs. */
.page-title.style-2 .content .wow{ visibility:visible !important; opacity:1 !important; }
.page-title.style-2 .content .wow{ animation:mbHeroFadeIn .9s ease both; }
@keyframes mbHeroFadeIn{ from{ transform:translateY(16px); } to{ transform:none; } }

/* Home banner portrait: sit flush to the bottom edge of the hero, responsive.
The banner fills the viewport and vertically centres the copy, while the
portrait column stretches full height and bottom-aligns the image so it
touches the banner's bottom edge instead of floating in the middle. */
.page-title.style-2{ position:relative; display:flex; justify-content:center; align-items:stretch; overflow:hidden; }
.page-title.style-2 > .tf-container{ display:flex; align-items:stretch; width:100%; }
.page-title.style-2 > .tf-container > .row{ width:100%; align-items:stretch !important; }
/* copy column — vertically centred */
.page-title.style-2 .row > [class*="col-"]:first-child{ display:flex; flex-direction:column; justify-content:center; padding-top:110px; padding-bottom:40px; }
/* portrait column becomes the positioning context; the image FILLS it and pins to the bottom */
.page-title.style-2 .row > [class*="col-"]:last-child{ position:relative; }
.page-title.style-2 .hero-image{ position:absolute !important; top:0; left:0; right:0; bottom:1px !important; display:flex; align-items:flex-end; justify-content:center; height:auto !important; }
.page-title.style-2 .hero-image img{
	display:block;
	width:auto !important;
	max-width:100%;
	max-height:100% !important;   /* never taller than the banner -> never overflows */
	height:auto;
	margin:0 auto;
	border-radius:20px 20px 0 0;
}
@media (max-width:991px){
	.page-title.style-2{ height:auto; min-height:100vh; padding-bottom:0 !important; }
	.page-title.style-2 .row > [class*="col-"]:first-child{ padding-top:60px; padding-bottom:24px; }
	.page-title.style-2 .hero-image{ justify-content:center; }
	.page-title.style-2 .hero-image img{ max-height:70vh; margin-left:auto; margin-right:auto; }
}
.mbmc-result{
	height: 100%;
    position: relative;
}
/* ============================================================
Property listings
============================================================ */
.mb-listings-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px;     margin-bottom: 30px;}
@media (max-width:1024px){ .mb-listings-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .mb-listings-grid{ grid-template-columns:1fr; } }

.mb-listing-card{ display:flex; flex-direction:column; background:#F9F7F3; border-radius:16px; overflow:hidden; transition:transform .4s ease, box-shadow .4s ease; }
.mb-listing-card:hover{ transform:translateY(-6px); box-shadow:0 24px 48px -28px rgba(23,33,62,.4); }
.mb-listing-media{ position:relative; display:block; aspect-ratio:4/3; overflow:hidden; }
.mb-listing-media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.mb-listing-card:hover .mb-listing-media img{ transform:scale(1.06); }
.mb-listing-price{ position:absolute; left:16px; bottom:16px; background:rgba(23,33,62,.92); color:#fff; font-family:"Forum", serif; font-weight:600; font-size:20px; line-height:1; padding:9px 14px; border-radius:999px; }
.mb-listing-status{ position:absolute; right:16px; top:16px; font-family:"Forum", serif; text-transform:uppercase; letter-spacing:.1em; font-size:11px; padding:6px 12px; border-radius:999px; color:#fff; background:var(--Primary); }
.mb-listing-status.is-active{ background:#F9F7F3; color:#000000;}
.mb-listing-status.is-pending{ background:#b8862b; }
.mb-listing-status.is-sold{ background:#9a3b3b; }
.mb-listing-status.is-coming-soon{ background:#17213E; }
.mb-listing-body{ padding:22px 24px 26px; display:flex; flex-direction:column; gap:8px; }
.mb-listing-title{ font-family:"Forum", serif; font-size:22px; line-height:1.2; margin:0; }
.mb-listing-title a{ color:var(--Text-primary); transition:color .3s; }
.mb-listing-title a:hover{ color:var(--gold-ink); }
.mb-listing-addr{ display:flex; align-items:center; gap:7px; color:var(--Text-secondary); font-size:15px; margin:0; }
.mb-listing-addr i{ color:var(--gold-ink); font-size:15px; }
.mb-listing-facts{ list-style:none; margin:8px 0 0; padding:14px 0 0; display:flex; gap:20px; flex-wrap:wrap; border-top:1px solid rgba(23,33,62,.1); }
.mb-listing-facts li{ font-size:15px; color:var(--Text-secondary); }
.mb-listing-facts strong{ color:var(--Text-primary); font-weight:600; }

/* archive filter chips */
.mb-listings-filter{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:32px; }
.mb-listings-chip{ font-family:"Forum", serif; text-transform:uppercase; letter-spacing:.08em; font-size:13px; padding:9px 18px; border-radius:999px; border:1px solid rgba(23,33,62,.16); color:var(--Text-secondary); transition:all .3s; }
.mb-listings-chip:hover{ border-color:var(--Primary); color:var(--gold-ink); }
.mb-listings-chip.is-active{ background:var(--Primary); border-color:var(--Primary); color:#fff; }

/* single: gallery */
.mb-listing-gallery{ display:grid; grid-template-columns:1.7fr 1fr; gap:16px; margin-bottom:40px; }
.mb-listing-gallery-main{ position:relative; }
.mb-listing-gallery-main img{ width:100%; height:100%; max-height:520px; object-fit:cover; }
.mb-listing-gallery-main .mb-listing-status{ font-size:12px; padding:7px 14px; }
.mb-listing-gallery-side{ display:grid; grid-template-columns:1fr 1fr; gap:16px; align-content:start; }
.mb-listing-gallery-side img{ width:100%; aspect-ratio:1/1; object-fit:cover; }
@media (max-width:820px){ .mb-listing-gallery{ grid-template-columns:1fr; } .mb-listing-gallery-side{ grid-template-columns:repeat(4,1fr); } }

/* single: detail layout */
.mb-listing-detail{ display:grid; grid-template-columns:1fr 340px; gap:44px; align-items:start; }
@media (max-width:900px){ .mb-listing-detail{ grid-template-columns:1fr; } }
.mb-listing-headline-price{ font-family:"Forum", serif; font-weight:600; font-size:40px; line-height:1; color:var(--Text-primary); }
.mb-listing-headline-addr{ display:flex; align-items:center; gap:8px; color:var(--Text-secondary); margin:10px 0 0; font-size:17px; }
.mb-listing-headline-addr i{ color:var(--gold-ink); }
.mb-listing-specbar{ list-style:none; margin:26px 0; padding:22px 0; display:flex; gap:44px; flex-wrap:wrap; border-top:1px solid rgba(23,33,62,.12); border-bottom:1px solid rgba(23,33,62,.12); }
.mb-listing-specbar .v{ display:block; font-family:"Forum", serif; font-size:30px; font-weight:600; line-height:1; color:var(--gold-ink); }
.mb-listing-specbar .l{ display:block; margin-top:6px; font-size:13px; text-transform:uppercase; letter-spacing:.08em; color:var(--Text-secondary); }
.mb-listing-desc{ margin:8px 0 32px; }
.mb-listing-facts-table dl{ margin:16px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
.mb-listing-facts-table dl > div{ display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid rgba(23,33,62,.1); }
.mb-listing-facts-table dt{ color:var(--Text-secondary); }
.mb-listing-facts-table dd{ margin:0; font-weight:600; color:var(--Text-primary); }
@media (max-width:560px){ .mb-listing-facts-table dl{ grid-template-columns:1fr; } }
.mb-listing-cta{ background:#F9F7F3; border:1px solid rgba(23,33,62,.1); border-radius:16px; padding:28px; position:sticky; top:110px; }
.mb-listing-cta .tf-btn{ justify-content:center; }
.w-100{ width:100%; }

/* Home "What's your home worth?" band: equal breathing room top & bottom so the
dark card clears the photo above it and the cards below it symmetrically. */
.section-sell{ margin-top:36px; margin-bottom:36px; }
@media (max-width:767px){ .section-sell{ margin-top:20px; margin-bottom:20px; } }


/* ---- Mortgage calculator disclaimer ---- */
.mbmc-disclaimer {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 18px auto 0;
	padding: 16px 20px;
	background: #F9F7F3;
	border: 1px solid var(--Line);
	border-radius: 12px;
	font-family: "Switzer", sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: var(--Text-secondary);
	    position: absolute;
    width: 85%;
    bottom: 30px;
}
.mbmc-disclaimer i {
	flex: none;
	margin-top: 2px;
	font-size: 16px;
	color: var(--gold-ink);
}
@media (max-width: 575px) {
	.mbmc-disclaimer {
		padding: 14px 16px;
		font-size: 13px;
	}
}



/* ---- Gallery trigger buttons (wrap the main + side thumbnail images) ---- */
.mb-gallery-trigger {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  border: 0;
  background: none;
  cursor: zoom-in;
  font: inherit;
  color: inherit;
  text-align: left;
}
.mb-listing-gallery-main .mb-gallery-trigger {
  height: 100%;
}
.mb-gallery-trigger img {
  transition: filter .3s ease;
}
.mb-gallery-trigger:hover img {
  filter: brightness(.9);
}

/* ---- "See Gallery" button ---- */
.mb-gallery-btn {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  background: rgba(16, 16, 16, .72);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 999px;
  color: #fff;
  font-family: "Forum", serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .02em;
  cursor: pointer;
  transition: background .3s ease, transform .3s ease;
}
.mb-gallery-btn i {
  font-size: 18px;
}
.mb-gallery-btn:hover {
  background: var(--Primary);
  transform: translateY(-2px);
}
.mb-gallery-btn-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .18);
  font-size: 12px;
  font-weight: 700;
}
@media (max-width: 575px) {
  .mb-gallery-btn {
    right: 12px;
    bottom: 12px;
    padding: 10px 14px;
    font-size: 0;
    gap: 8px;
  }
  .mb-gallery-btn span:not(.mb-gallery-btn-count) {
    display: none;
  }
}

/* ---- Lightbox ---- */
.mb-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  flex-direction: column;
}
.mb-lightbox[hidden] {
  display: none;
}
.mb-lightbox-overlay {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 10, .94);
}
.mb-lightbox-inner {
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 80px;
}
.mb-lightbox-close {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 2;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .2);
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  transition: background .25s ease, transform .25s ease;
}
.mb-lightbox-close:hover {
  background: var(--Primary);
  transform: rotate(90deg);
}
.mb-lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .2);
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  transition: background .25s ease, border-color .25s ease;
}
.mb-lightbox-nav:hover {
  background: var(--Primary);
  border-color: transparent;
}
.mb-lightbox-prev {
  left: 20px;
}
.mb-lightbox-next {
  right: 20px;
}
.mb-lightbox-stage {
  max-width: 100%;
  max-height: 78vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mb-lightbox-stage img {
  max-width: 100%;
  max-height: 78vh;
  width: auto;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .7);
}
.mb-lightbox-count {
  position: absolute;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  z-index: 2;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .1);
  color: #fff;
  font-family: "Forum", serif;
  font-size: 13px;
  letter-spacing: .05em;
}
.mb-lightbox-thumbs {
  display: flex;
  gap: 10px;
  padding: 14px 20px 20px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.mb-lightbox-thumb {
  flex: none;
  width: 76px;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid transparent;
  padding: 0;
  cursor: pointer;
  opacity: .55;
  transition: opacity .25s ease, border-color .25s ease;
}
.mb-lightbox-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mb-lightbox-thumb:hover {
  opacity: .85;
}
.mb-lightbox-thumb.is-active {
  opacity: 1;
  border-color: var(--Primary);
}
body.mb-lightbox-open {
  overflow: hidden;
}
@media (max-width: 767px) {
  .mb-lightbox-inner {
    padding: 16px 56px;
  }
  .mb-lightbox-nav {
    width: 42px;
    height: 42px;
    font-size: 16px;
  }
  .mb-lightbox-prev {
    left: 8px;
  }
  .mb-lightbox-next {
    right: 8px;
  }
  .mb-lightbox-close {
    top: 12px;
    right: 12px;
    width: 38px;
    height: 38px;
  }
  .mb-lightbox-thumbs {
    display: none;
  }
}
/* Neighborhood guide: accuracy disclaimer at the foot of every guide */
.mb-guide-disclaimer{ max-width:900px; margin:0 auto; padding-top:26px; border-top:1px solid rgba(23,33,62,.12); color:#8A93A6; font-size:13px; line-height:1.7; text-align:center; }

/* ---- Neighborhood city filter bar ---- */
.mb-filter{
	display:flex;
	flex-wrap:wrap;
	gap:2px 6px;
	margin:0 0 38px;
	border-bottom:1px solid var(--Line);
}
.mb-filter-btn{
	appearance:none;
	border:0;
	background:none;
	cursor:pointer;
	position:relative;
	font-family:"Forum", serif;
	font-size:clamp(15px,1.15vw,17px);
	letter-spacing:.02em;
	color:var(--Text-secondary);
	padding:12px 16px;
	transition:color .3s ease;
}
.mb-filter-btn::after{
	content:"";
	position:absolute;
	left:16px; right:16px; bottom:-1px;
	height:2px;
	background:var(--Gold-gradient);
	transform:scaleX(0);
	transform-origin:center;
	transition:transform .3s ease;
}
.mb-filter-btn:hover{ color:var(--gold-ink); }
.mb-filter-btn.is-active{ color:var(--gold-ink); }
.mb-filter-btn.is-active::after{ transform:scaleX(1); }
.mb-filter-empty{
	margin-top:8px;
	color:var(--Text-secondary);
	font-size:15px;
}
.mb-filter-empty a{ color:var(--gold-ink); text-decoration:underline; }

/* ---- Moving page: full-width FAQ + neighborhoods-in-city grid ---- */
.sl-faq.faq-wide .sl-faq-grid{ max-width:none; }
.section-city-hoods .mb-cards{ margin-top:8px; }

/* ---- Moving city pages: CTA sits on white, flush under the FAQ ---- */
body.single-moving .section-final{ background:#fff; padding-top:0; }
body.single-neighborhood .section-final{ background:#fff; }

/* ---- Sellers valuation form: full width + mortgage-calculator (navy/gold) scheme ---- */
.page-id-11 .sl-form-card{
	max-width:none;
	background-color:#17213E;   /* --mbmc-navy */
	color:#E8EAF0;
}
.page-id-11 .sl-form-title{ color:#b05f27; }   /* --mbmc-gold */
.page-id-11 .sl-form-sub{ color:#E8EAF0; }
.page-id-11 .sl-label{ color:#fff; }
.page-id-11 .sl-req{ color:#b05f27; }
.page-id-11 .sl-input,
.page-id-11 .sl-select,
.page-id-11 .sl-textarea{
	background-color:rgba(255,255,255,.05);
	border:1px solid rgba(255,255,255,.16)!important;
	color:#E8EAF0;
}
.page-id-11 .sl-input::placeholder,
.page-id-11 .sl-textarea::placeholder{ color:#8892A6; }
.page-id-11 .sl-input:focus,
.page-id-11 .sl-select:focus,
.page-id-11 .sl-textarea:focus{
	border-color:#b05f27!important;
	background-color:rgba(255,255,255,.08);
	box-shadow:none!important;
}
.page-id-11 .sl-select{
	background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23b05f27' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 18px center;
}
.page-id-11 .sl-consent label{ color:#B7BECC; }
.page-id-11 .sl-consent a{ color:#b05f27; }
.page-id-11 .sl-consent input[type="checkbox"]{ accent-color:#b05f27; }
.page-id-11 .sl-disclaimer{ color:#8892A6; }
.page-id-11 .sl-submit{ background:#b05f27!important; }
.page-id-11 .sl-submit > span:not(.bg-effect){ color:#fff!important; position:relative; z-index:1; }
.page-id-11 .sl-submit .bg-effect{ background:#101010; }

/* ---- Newsletter signup: solid rust SIGN UP button (matches brand primary) ---- */
.section-signup .signup-field .tf-btn{ background-color:var(--Primary); }
.section-signup .signup-field .tf-btn > span:not(.bg-effect){ color:#fff; position:relative; z-index:1; }
.section-signup .signup-field .tf-btn .bg-effect{ background-color:#8f4c1f; }
.section-signup .signup-field .tf-btn:hover{ background-color:#8f4c1f; }
.section-signup .signup-field .tf-btn:hover > span:not(.bg-effect){ color:#fff !important; }

/* ---- Newsletter signup field: absolute button layout ---- */
.section-signup .signup-field{ position:relative; padding-left:8px; }
.section-signup .signup-field input[type="email"]{ padding-left:20px; }
.section-signup .signup-field .tf-btn{ position:absolute; right:10px; top:50%; transform:translateY(-50%); }

/* signup email input radius */
.section-signup .signup-field input[type="email"]{ border-radius:40px; }

/* ---- Home hero banner: cover background (no tiling on wide screens) ---- */
.page-title.style-2.hero-module{
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
}
/* ---- Home hero: full portrait flush to the banner's bottom edge on mobile ---- */
@media (max-width:991px){
	/* banner height = content height; show the full portrait, anchored to the bottom (no float, no crop) */
	.page-title.style-2{ display:block; height:auto !important; min-height:0 !important; max-height:none !important; padding:0 !important; overflow:visible; }
	.page-title.style-2 > .tf-container,
	.page-title.style-2 > .tf-container > .row{ display:block; }
	.page-title.style-2 .row > [class*="col-"]{ width:100%; max-width:100%; }
	.page-title.style-2 .row > [class*="col-"]:first-child{ padding:60px 0 24px; }
	.page-title.style-2 .hero-image{ display:block; height:auto !important; position:static !important; padding-bottom:1px; }
	.page-title.style-2 .hero-image img{ display:block; width:100%; max-width:100%; height:auto; max-height:none; margin:0; border-radius:0; }
.blog-article-item {
    margin-bottom: 45px;
}

.blog-article-item:last-child {
    margin-bottom: 0;
}

}

/* ---- One gold for all buttons: hero primary buttons use the brand --Primary rust ---- */
.page-title.style-2 .tf-btn.btn-bg-1{ background-color:var(--Primary) !important; }
.page-title.style-2 .tf-btn.btn-bg-1 .bg-effect{ background-color:#8f4c1f !important; }

/* ---- Primary buttons: keep the label white on hover (hover bg is rust, dark text was unreadable) ---- */
.tf-btn.btn-bg-1:hover span:not(.bg-effect){ color:#fff !important; }
.page-title.style-2 .tf-btn.btn-bg-1:hover span:not(.bg-effect){ color:#fff !important; }
.page-id-11 .sl-submit:hover span:not(.bg-effect){ color:#fff !important; }

/* ---- Mortgage calc "Calculate Payment": filled rust + white text (readable on navy) ---- */
.mbmc .mbmc-calc{ background:var(--Primary) !important; border-color:var(--Primary) !important; color:#fff !important; }
.mbmc .mbmc-calc:hover{ background:#8f4c1f !important; border-color:#8f4c1f !important; color:#fff !important; }

/* ---- Navy mortgage calculator: brighter intro + white labels for readability ---- */
.mbmc-desc{ color:#E8EAF0; }
.mbmc-field label{ color:#fff; }

/* ---- Buyers hero: city chips readable on the white background ---- */
.mb-hero-copy .reloc-cities{ display:flex; flex-wrap:wrap; gap:10px; margin-top:32px; }
.mb-hero-copy .reloc-cities .tf-btn.btn-border{ border-color:rgba(23,33,62,.22); }
.mb-hero-copy .reloc-cities .tf-btn.btn-border > span:not(.bg-effect){ color:#17213E !important; position:relative; z-index:1; }
.mb-hero-copy .reloc-cities .tf-btn.btn-border:hover{ border-color:#17213E; }
.mb-hero-copy .reloc-cities .tf-btn.btn-border .bg-effect{ background:#17213E; }
.mb-hero-copy .reloc-cities .tf-btn.btn-border:hover > span:not(.bg-effect){ color:#fff !important; }

/* ---- Home hero: ambient background zoom (Ken Burns) for subtle movement ---- */
.page-title.style-2.hero-module::before{
	content:"";
	position:absolute; inset:0; z-index:0;
	background-image:inherit;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
/* 	animation: mbHeroKen 26s ease-in-out infinite alternate; */
	will-change: transform;
	pointer-events:none;
}
.mobile-nav-wrap .mb-body .wrap-contact{
	margin-top:30px;
}
@keyframes mbHeroKen{ from{ transform:scale(1); } to{ transform:scale(1.07); } }
/* keep the copy + portrait above the animated background layer */
.page-title.style-2.hero-module > .tf-container{ position:relative; z-index:2; }

/* ---- Home hero: animated "scroll down" mouse indicator ---- */
.mb-scroll-cue{
	position:absolute; left:50%; bottom:24px; transform:translateX(-50%);
	z-index:6; display:flex; flex-direction:column; align-items:center; gap:9px;
	text-decoration:none; opacity:.9; transition:opacity .3s ease;
}
.mb-scroll-cue:hover{ opacity:1; }
.mb-scroll-mouse{
	width:26px; height:42px; border:2px solid rgba(255,255,255,.85);
	border-radius:16px; display:flex; justify-content:center; padding-top:7px; box-sizing:border-box;
}
.mb-scroll-dot{
	width:3px; height:8px; border-radius:3px; background:#fff;
	animation: mbScrollDot 1.7s cubic-bezier(.4,0,.2,1) infinite;
}
/* dot starts at the top, travels down, fades, then reappears at the top */
@keyframes mbScrollDot{
	0%{ transform:translateY(0); opacity:0; }
	15%{ opacity:1; }
	55%{ transform:translateY(12px); opacity:0; }
	56%,100%{ transform:translateY(0); opacity:0; }
}
.mb-scroll-chev{
	width:11px; height:11px;
	border-right:2px solid rgba(255,255,255,.75);
	border-bottom:2px solid rgba(255,255,255,.75);
	transform:rotate(45deg);
	animation: mbScrollChev 1.7s ease-in-out infinite;
}
@keyframes mbScrollChev{
	0%,100%{ opacity:.35; transform:rotate(45deg) translate(-1px,-1px); }
	50%{ opacity:.9; transform:rotate(45deg) translate(2px,2px); }
}
@media (max-width:991px){ .mb-scroll-cue{ display:none; } }   /* on mobile it would sit over the portrait */
@media (prefers-reduced-motion: reduce){
	.page-title.style-2.hero-module::before{ animation:none; }
	.mb-scroll-dot, .mb-scroll-chev{ animation:none; }
}

/* ---- Thank-you / post-submission confirmation card ---- */
.mb-ty-section{ background:#F9F7F3; }
.mb-ty-card{
	position:relative;
	max-width:720px;
	margin:0 auto;
	background:#17213E;
	border-radius:24px;
	padding:clamp(40px,6vw,76px) clamp(26px,5vw,72px) clamp(34px,5vw,60px);
	text-align:center;
	color:#E8EAF0;
	box-shadow:0 40px 90px -50px rgba(23,33,62,.65);
	overflow:hidden;
}
.mb-ty-card::before{
	content:""; position:absolute; left:0; top:0; right:0; height:4px;
	background:var(--Gold-gradient);
}
.mb-ty-badge{
	display:inline-flex; align-items:center; justify-content:center;
	width:76px; height:76px; border-radius:50%;
	background:var(--Primary);
	box-shadow:0 0 0 8px rgba(176,95,39,.18);
	margin-bottom:26px;
}
.mb-ty-check{ stroke-dasharray:48; stroke-dashoffset:48; animation: mbTyCheck .7s .25s cubic-bezier(.65,0,.35,1) forwards; }
@keyframes mbTyCheck{ to{ stroke-dashoffset:0; } }
.mb-ty-eyebrow{
	font-family:"Forum", serif; text-transform:uppercase; letter-spacing:.18em;
	font-size:13px; color:#C6893B; margin-bottom:14px;
}
.mb-ty-title{
	font-family:"Forum", serif; color:#fff;
	font-size:clamp(28px,3.6vw,42px); line-height:1.1; letter-spacing:-.01em;
	margin:0 0 18px;
}
.mb-ty-text{
	max-width:520px; margin:0 auto 32px;
	color:#B7BECC; font-size:17px; line-height:1.65;
}
.mb-ty-actions{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-bottom:26px; }
.mb-ty-actions .tf-btn.btn-border{ border-color:rgba(255,255,255,.35); }
.mb-ty-actions .tf-btn.btn-border > span:not(.bg-effect){ color:#fff; position:relative; z-index:1; }
.mb-ty-actions .tf-btn.btn-border .bg-effect{ background:#fff; }
.mb-ty-actions .tf-btn.btn-border:hover > span:not(.bg-effect){ color:#17213E !important; }
.mb-ty-links{
	display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px;
	padding-top:26px; border-top:1px solid rgba(255,255,255,.12);
}
.mb-ty-links a{ color:#C9CFDA; font-size:15px; transition:color .25s ease; }
.mb-ty-links a:hover{ color:#C6893B; }
.mb-ty-dot{ width:4px; height:4px; border-radius:50%; background:rgba(255,255,255,.3); }
.mb-ty-sign{
	margin:22px 0 0; font-family:"Forum", serif; font-style:italic;
	color:#fff; font-size:15px;
}
@media (prefers-reduced-motion: reduce){ .mb-ty-check{ animation:none; stroke-dashoffset:0; } }
/* Thank-you card: primary phone CTA in rust (readable on the navy card) */
.mb-ty-actions .tf-btn.btn-bg-1{ background-color:var(--Primary); }
.mb-ty-actions .tf-btn.btn-bg-1 > span:not(.bg-effect){ color:#fff; position:relative; z-index:1; }
.mb-ty-actions .tf-btn.btn-bg-1 .bg-effect{ background:#8f4c1f; }
.mb-ty-actions .tf-btn.btn-bg-1:hover > span:not(.bg-effect){ color:#fff !important; }

@media (min-width: 1441px) {
  .section-about .left-image {
    padding-right: 0px!important;
  }
  .section-about .right-content {
    padding: 0!important;
  }
}


/* ============================================================
   Moving / Relocation Guides page template
   Append to css/components.css. Everything below reuses tokens
   brand.css already defines. Namespaced `mvg-`.
   ============================================================ */

/* --- intro: copy beside the portrait ------------------------ */
.mvg-intro-grid {
	display: grid;
	gap: clamp(30px, 4vw, 54px);
	align-items: center;
}

.mvg-intro-copy .sub-title {
	margin-bottom: 15px;
}

.mvg-intro-copy .mb-hero-rule {
	background: var(--Primary);
	margin: clamp(20px, 2.4vw, 28px) 0;
}

.mvg-intro-media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 16px;
}

@media (min-width: 992px) {
	.mvg-intro-grid {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
		gap: clamp(44px, 5vw, 78px);
	}

	.mvg-intro-media img {
		aspect-ratio: 1 / 1;
	}
}

/* --- city cards --------------------------------------------- */
/* The card title is a link here (it is plain text on the in-city grid
   inside single-moving.php), so it needs the same hover colour the
   card already gives .mb-card-title. */
.section-moving-cities .mb-card-title a {
	color: inherit;
	transition: color .35s ease;
}

.section-moving-cities .mb-card:hover .mb-card-title a {
	color: var(--gold-ink);
}

/* the card ground is #F9F7F3, the same tint the section now carries,
   so lift the cards to white to keep them readable as cards */
.section-moving-cities .mb-card,
.page-template-archive-moving .section-final{
	background-color:#F9F7F3;
}

/* thumbnail sits above the pill, so it needs its own bottom rhythm */
.section-moving-cities .mb-post-media {
	margin-bottom: 20px;
}

/* the count line is pushed to the foot of the card so every button
   in the row starts from the same baseline regardless of blurb length */
.section-moving-cities .mb-card-note {
	margin-top: auto;
	padding-top: 14px;
}

.section-moving-cities .mb-card .tf-btn {
	align-self: flex-start;
}


/* --- closing CTA sits on white, flush under the card grid ---- */
