/*
Theme Name: OceanWP Child Theme
Theme URI: https://oceanwp.org/
Description: OceanWP Child Theme for Eagle Overlook Recovery — Design V4
Author: OceanWP
Author URI: https://oceanwp.org/
Template: oceanwp
Version: 2.0
*/

/* Parent stylesheet loaded via functions.php */

/* ============================================================
   GLOBAL RESETS
   ============================================================ */
html, body { margin-top: 0 !important; padding-top: 0 !important; }

/* Hide OceanWP default header/footer on homepage — V4 nav built inside Elementor */
.home #site-header,
.home #footer-inner,
.home #footer-widgets,
.home #footer-wrap { display: none !important; }

/* ============================================================
   FULL-WIDTH ELEMENTOR LAYOUT
   ============================================================ */
.home #content-wrap,
.home #primary,
.home .page-content,
.home article.page {
	max-width: 100% !important;
	width: 100% !important;
	padding: 0 !important;
}
.elementor-section > .elementor-container {
	max-width: 100% !important;
	padding: 0 !important;
}

/* Fixed transparent nav */
.v4-nav-section { position: fixed !important; top: 0; left: 0; right: 0; z-index: 200; }

/* ============================================================
   DESIGN V4 — CSS VARIABLES
   ============================================================ */
:root {
	--sage:       #7BA188;
	--sage-dark:  #5A7A65;
	--sage-light: #A8C4B0;
	--terra:      #C86B4F;
	--terra-light:#E8A088;
	--gold:       #D4A574;
	--gold-light: #EDD4B0;
	--cream:      #F5F0EB;
	--cream-2:    #EDE8DF;
	--warm:       #FFFDF9;
	--lt:         #DDD4CC;
	--dark:       #2D2520;
	--mid:        #6B5D54;
	--muted:      #9B8E86;
	--white:      #FFFFFF;
}

/* ============================================================
   DESIGN V4 — TYPOGRAPHY BASE
   ============================================================ */
.home body { font-family: 'Plus Jakarta Sans', sans-serif; color: var(--dark); line-height: 1.6; }

/* ============================================================
   NAV — Transparent over hero, transitions to cream on scroll
   ============================================================ */
.v4-nav { background: transparent; display: flex; align-items: center; justify-content: space-between; padding: 0 52px; height: 80px; border-bottom: 1px solid transparent; box-shadow: none; transition: background .45s ease, box-shadow .45s ease, border-color .45s ease; }
.v4-nav.v4-scrolled { background: var(--warm); border-bottom-color: rgba(221,212,204,0.6); box-shadow: 0 2px 28px rgba(45,37,32,0.07); }
.v4-logo { text-decoration: none; flex-shrink: 0; }
.v4-logo-main { font-family: 'Playfair Display', serif; font-size: 22px; color: white; font-weight: 700; line-height: 1; display: block; transition: color .45s ease; }
.v4-nav.v4-scrolled .v4-logo-main { color: var(--dark); }
.v4-logo-sub { font-size: 9px; letter-spacing: 2px; text-transform: uppercase; color: white; font-weight: 500; margin-top: 5px; display: block; transition: color .45s ease; }
.v4-nav.v4-scrolled .v4-logo-sub { color: var(--muted); }
.v4-nav-links { display: flex; gap: 36px; list-style: none; align-items: center; margin: 0; padding: 0; }
.v4-nav-links a { text-decoration: none; font-size: 15px; font-weight: 600; color: white !important; position: relative; padding-bottom: 3px; transition: color .2s; }
.v4-nav.v4-scrolled .v4-nav-links a { color: var(--mid) !important; }
.v4-nav-links a::after { content: ''; position: absolute; bottom: 0; left: 50%; right: 50%; height: 1.5px; background: rgba(255,255,255,0.8); transition: left .25s ease, right .25s ease, background .45s ease; }
.v4-nav.v4-scrolled .v4-nav-links a::after { background: var(--sage-dark); }
.v4-nav-links a:hover { color: white; }
.v4-nav.v4-scrolled .v4-nav-links a:hover { color: var(--dark); }
.v4-nav-links a:hover::after { left: 0; right: 0; }
.v4-nav-right { display: flex; align-items: center; gap: 20px; flex-shrink: 0; }
.v4-nav-phone { text-decoration: none; display: flex; align-items: center; gap: 10px; }
.v4-nav-phone svg { color: rgba(255,255,255,0.8); flex-shrink: 0; transition: color .45s ease; }
.v4-nav.v4-scrolled .v4-nav-phone svg { color: var(--terra); }
.v4-nav-phone-num { font-size: 15px; font-weight: 700; color: white; display: block; line-height: 1; transition: color .45s ease; }
.v4-nav.v4-scrolled .v4-nav-phone-num { color: var(--terra); }
.v4-nav-phone-sub { font-size: 10px; color: white; font-weight: 400; display: block; margin-top: 3px; transition: color .45s ease; }
.v4-nav.v4-scrolled .v4-nav-phone-sub { color: var(--muted); }
.v4-nav-cta { background: rgba(255,255,255,0.15); backdrop-filter: blur(6px); border: 1px solid rgba(255,255,255,0.35); color: white !important; padding: 13px 28px; border-radius: 30px; font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background .45s ease, border-color .45s ease; }
.v4-nav.v4-scrolled .v4-nav-cta { background: var(--terra); border-color: var(--terra); }
.v4-nav-cta:hover { background: rgba(255,255,255,0.28); border-color: rgba(255,255,255,0.6); }
.v4-nav.v4-scrolled .v4-nav-cta:hover { background: #b55a3e; border-color: #b55a3e; }
.v4-hamburger { display: none; flex-direction: column; justify-content: center; gap: 5px; background: none; border: none; cursor: pointer; padding: 6px; width: 36px; height: 36px; flex-shrink: 0; }
.v4-hamburger span { display: block; width: 22px; height: 2px; background: white; border-radius: 2px; transition: transform .3s, opacity .3s, background .45s ease; }
.v4-nav.v4-scrolled .v4-hamburger span { background: var(--dark); }
.v4-hamburger.v4-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.v4-hamburger.v4-active span:nth-child(2) { opacity: 0; }
.v4-hamburger.v4-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.v4-mobile-menu { display: none; flex-direction: column; background: var(--warm); border-bottom: 3px solid var(--sage); }
.v4-mobile-menu.v4-open { display: flex; }
.v4-mobile-menu a { padding: 18px 24px; font-size: 16px; font-weight: 500; color: var(--mid); text-decoration: none; border-bottom: 1px solid rgba(221,212,204,0.45); transition: color .2s, background .2s; }
.v4-mobile-menu a:hover { color: var(--dark); background: var(--cream); }
.v4-mobile-cta-link { color: var(--terra) !important; font-weight: 700 !important; display: flex !important; align-items: center; gap: 10px; border-bottom: none !important; }

/* ============================================================
   HERO
   ============================================================ */
.v4-hero { position: relative; min-height: 680px; display: flex; align-items: center; overflow: hidden; background: #2D2520 center 75% / cover no-repeat; }
.v4-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(10,7,5,0.30) 0%, rgba(10,7,5,0) 18%), linear-gradient(to right, rgba(45,37,32,0.68) 0%, rgba(45,37,32,0.58) 25%, rgba(45,37,32,0.28) 48%, rgba(45,37,32,0.04) 65%, rgba(45,37,32,0) 75%); }
.v4-hero-content { position: relative; z-index: 3; padding: 160px 72px 140px; max-width: 640px; }
.v4-coord-badge { display: inline-flex; align-items: center; gap: 10px; background: rgba(212,165,116,0.12); border: 1px solid rgba(212,165,116,0.35); border-radius: 4px; padding: 9px 20px; margin-bottom: 24px; }
.v4-coord-badge svg { flex-shrink: 0; color: var(--gold); }
.v4-hcb-text { display: flex; flex-direction: column; gap: 2px; }
.v4-hcb-coords { font-size: 13px; font-weight: 700; letter-spacing: 1.5px; color: var(--gold-light); font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-hcb-location { font-size: 9px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: rgba(237,212,176,0.55); }
.v4-hero-h1 { font-family: 'Playfair Display', serif; font-size: clamp(40px,4.5vw,62px); color: var(--white); line-height: 1.1; margin-bottom: 24px; font-weight: 700; }
.v4-hero-h1 em { font-style: italic; color: var(--gold-light); font-weight: 300; }
.v4-hero-sub { font-size: 17px; color: rgba(232,218,210,0.9); line-height: 1.85; margin-bottom: 40px; font-weight: 300; max-width: 520px; }
.v4-hero-btns { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.v4-btn-primary { background: var(--gold); color: var(--dark) !important; padding: 17px 34px; border-radius: 30px; font-weight: 800; font-size: 14px; text-decoration: none; transition: all .2s; display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.v4-btn-primary:hover { background: var(--terra); color: var(--white) !important; }
.v4-btn-ghost { color: rgba(255,255,255,0.85) !important; font-size: 15px; font-weight: 600; text-decoration: none; display: flex; align-items: center; gap: 6px; border-bottom: 2px solid rgba(255,255,255,0.3); padding-bottom: 2px; transition: border-color .2s; }
.v4-btn-ghost:hover { border-color: rgba(255,255,255,0.7); }
.v4-hero-trust { position: absolute; bottom: 0; left: 0; right: 0; z-index: 3; background: rgba(26,46,28,0.88); backdrop-filter: blur(16px); padding: 28px 52px; display: flex; align-items: center; gap: 16px; justify-content: center; }
.v4-ht-item { display: flex; align-items: center; gap: 12px; padding: 14px 28px; border-radius: 50px; border: 1px solid rgba(168,196,176,0.22); flex: 1; max-width: 300px; justify-content: flex-start; }
.v4-ht-item svg { flex-shrink: 0; color: var(--sage-light); }
.v4-ht-label { font-size: 14px; font-weight: 700; color: var(--white); line-height: 1.2; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-ht-sub { font-size: 11px; color: rgba(168,196,176,0.75); margin-top: 2px; display: block; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-ht-div { width: 1px; height: 44px; background: rgba(168,196,176,0.15); flex-shrink: 0; }

/* ============================================================
   STATS BAR
   ============================================================ */
.v4-stats-bar { background: var(--sage); display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 4px solid var(--sage-dark); }
.v4-sb { padding: 32px 20px; text-align: center; border-right: 1px solid rgba(255,255,255,0.2); }
.v4-sb:last-child { border-right: none; }
.v4-sb-num { font-family: 'Playfair Display', serif; font-size: 48px; color: var(--white); line-height: 1; display: block; font-weight: 700; }
.v4-sb-lbl { font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase; color: rgba(255,255,255,0.8); margin-top: 6px; display: block; font-weight: 700; font-family: 'Plus Jakarta Sans', sans-serif; }

/* ============================================================
   ABOUT
   ============================================================ */
.v4-about { display: grid; grid-template-columns: 1fr 1fr; min-height: 560px; }
.v4-about-img { position: relative; overflow: hidden; min-height: 500px; }
.v4-about-badge { position: absolute; bottom: 28px; left: 28px; right: 28px; background: var(--terra); color: var(--white); padding: 24px 28px; border-radius: 8px; box-shadow: 0 16px 40px rgba(0,0,0,0.3); }
.v4-about-badge strong { font-family: 'Playfair Display', serif; font-size: 40px; display: block; line-height: 1; font-weight: 700; }
.v4-about-badge span { font-size: 14px; opacity: .9; margin-top: 6px; display: block; line-height: 1.5; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-about-text { background: var(--warm); padding: 80px 64px; display: flex; flex-direction: column; justify-content: center; }
.v4-eyebrow { font-size: 11px; font-weight: 800; letter-spacing: 3.5px; text-transform: uppercase; color: var(--sage); margin-bottom: 14px; display: block; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-about-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.v4-about-tag { background: var(--cream); border: 1.5px solid var(--lt); color: var(--terra); padding: 8px 18px; border-radius: 30px; font-size: 13px; font-weight: 700; font-family: 'Plus Jakarta Sans', sans-serif; }

/* ============================================================
   APPROACH / THERAPY GRID
   ============================================================ */
.v4-approach { background: var(--cream); padding: 96px 52px; }
.v4-therapy-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; max-width: 1160px; margin: 0 auto; }
.v4-tc { background: var(--white); padding: 40px 32px; border-radius: 12px; transition: all .3s; border: 1.5px solid transparent; position: relative; overflow: hidden; }
.v4-tc::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg,var(--sage),var(--terra)); }
.v4-tc:hover { border-color: var(--sage-light); transform: translateY(-4px); box-shadow: 0 20px 44px rgba(90,122,101,0.12); }
.v4-tc-icon { width: 52px; height: 52px; border-radius: 14px; background: rgba(123,161,136,0.1); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; color: var(--sage-dark); }
.v4-tc-title { font-size: 17px; font-weight: 800; color: var(--sage-dark); margin-bottom: 10px; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-tc-desc { font-size: 15px; color: var(--mid); line-height: 1.75; font-weight: 300; font-family: 'Plus Jakarta Sans', sans-serif; }

/* ============================================================
   PHOTO BAND
   ============================================================ */
.v4-photo-band { display: grid; grid-template-columns: 2fr 1.5fr 1.5fr 2fr; height: 420px; }
.v4-pb { position: relative; overflow: hidden; background-size: cover; background-position: center; transition: background-size .5s ease; }
.v4-pb:hover { background-size: 108%; }
.v4-pb::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top,rgba(30,50,30,0.75) 0%,transparent 55%); }
.v4-pb-label { position: absolute; bottom: 22px; left: 24px; color: var(--white); font-size: 12px; font-weight: 800; letter-spacing: 2.5px; text-transform: uppercase; z-index: 2; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-pb-line { display: block; width: 28px; height: 2px; background: var(--gold-light); margin-bottom: 8px; }

/* ============================================================
   WHY EAGLE OVERLOOK
   ============================================================ */
.v4-why { background: var(--dark); padding: 96px 52px; }
.v4-why-inner { display: grid; grid-template-columns: 1fr 2fr; gap: 80px; align-items: center; max-width: 1160px; margin: 0 auto; }
.v4-why-h2 { font-family: 'Playfair Display', serif; font-size: clamp(28px,3vw,44px); color: var(--white); line-height: 1.15; margin-bottom: 18px; font-weight: 700; }
.v4-why-h2 em { font-style: italic; color: var(--gold-light); font-weight: 300; }
.v4-why-p { font-size: 17px; color: rgba(212,165,116,0.8); line-height: 1.85; font-weight: 300; margin-bottom: 32px; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-btn-gold { background: var(--terra); color: var(--white) !important; padding: 16px 34px; border-radius: 30px; font-weight: 700; font-size: 15px; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; transition: background .2s; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-btn-gold:hover { background: var(--gold); color: var(--dark) !important; }
.v4-why-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.v4-wc { background: rgba(255,255,255,0.04); border: 1px solid rgba(123,161,136,0.2); border-radius: 12px; padding: 28px 24px; transition: all .3s; }
.v4-wc:hover { background: rgba(123,161,136,0.08); border-color: rgba(123,161,136,0.4); }
.v4-wc-num { font-family: 'Playfair Display', serif; font-size: 11px; font-weight: 700; color: var(--sage-light); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 12px; display: block; }
.v4-wc-icon { width: 44px; height: 44px; border-radius: 12px; background: rgba(123,161,136,0.15); display: flex; align-items: center; justify-content: center; color: var(--sage-light); margin-bottom: 16px; }
.v4-wc-title { font-size: 16px; font-weight: 700; color: var(--white); margin-bottom: 8px; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-wc-text { font-size: 14px; color: rgba(212,165,116,0.7); line-height: 1.75; font-weight: 300; font-family: 'Plus Jakarta Sans', sans-serif; }

/* ============================================================
   STAFF
   ============================================================ */
.v4-staff { background: var(--cream); padding: 96px 52px; }
.v4-staff-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; max-width: 1160px; margin: 0 auto; margin-top: 56px; }
.v4-staff-card { background: var(--white); border-radius: 12px; overflow: hidden; border: 1.5px solid var(--lt); transition: all .3s; }
.v4-staff-card:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(45,37,32,0.10); }
.v4-staff-photo { height: 220px; background: var(--cream-2); display: flex; align-items: center; justify-content: center; }
.v4-staff-avatar { width: 88px; height: 88px; border-radius: 50%; background: var(--sage); display: flex; align-items: center; justify-content: center; font-family: 'Playfair Display', serif; font-size: 28px; font-weight: 700; color: var(--white); }
.v4-staff-info { padding: 22px 22px 26px; }
.v4-staff-name { font-size: 15px; font-weight: 800; color: var(--dark); margin-bottom: 4px; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-staff-role { font-size: 12px; color: var(--sage-dark); font-weight: 700; letter-spacing: .5px; text-transform: uppercase; margin-bottom: 10px; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-staff-bio { font-size: 13px; color: var(--mid); line-height: 1.7; font-weight: 300; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-staff-cta { text-align: center; margin-top: 44px; }
.v4-btn-outline-forest { border: 2px solid var(--sage-dark); color: var(--sage-dark) !important; padding: 15px 34px; border-radius: 30px; font-weight: 800; font-size: 14px; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; transition: all .2s; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-btn-outline-forest:hover { background: var(--sage-dark); color: var(--white) !important; }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.v4-testimonials { background: var(--warm); padding: 96px 52px; }
.v4-testi-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; max-width: 1160px; margin: 0 auto; margin-top: 56px; }
.v4-testi-card { background: var(--white); border-radius: 12px; padding: 36px 32px; border: 1.5px solid var(--lt); transition: all .3s; }
.v4-testi-card:hover { box-shadow: 0 20px 44px rgba(45,37,32,0.08); transform: translateY(-3px); }
.v4-testi-stars { display: flex; gap: 4px; margin-bottom: 18px; color: #F59E0B; }
.v4-testi-quote { font-family: 'Playfair Display', serif; font-size: 15px; line-height: 1.85; color: var(--dark); font-style: italic; font-weight: 300; margin-bottom: 24px; }
.v4-testi-author { display: flex; align-items: center; gap: 12px; }
.v4-testi-avatar { width: 42px; height: 42px; border-radius: 50%; background: var(--sage); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px; color: var(--white); flex-shrink: 0; font-family: 'Playfair Display', serif; }
.v4-testi-name { font-size: 13px; font-weight: 800; color: var(--dark); font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-testi-source { font-size: 11px; color: var(--muted); margin-top: 2px; display: flex; align-items: center; gap: 4px; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-testi-cta { text-align: center; margin-top: 40px; }
.v4-testi-link { color: var(--sage-dark) !important; font-size: 13px; font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; border-bottom: 1px solid var(--sage-light); font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-testi-link:hover { color: var(--dark) !important; }

/* ============================================================
   FAMILY CTA
   ============================================================ */
.v4-family-cta { position: relative; min-height: 540px; display: flex; align-items: center; overflow: hidden; padding: 80px 0; }
.v4-fcta-overlay { position: absolute; inset: 0; background: linear-gradient(to right,rgba(45,37,32,0.88) 0%,rgba(45,37,32,0.65) 60%,rgba(45,37,32,0.15) 100%); }
.v4-fcta-content { position: relative; z-index: 2; padding: 0 88px; max-width: 620px; }
.v4-fcta-eyebrow { font-size: 11px; font-weight: 800; letter-spacing: 3.5px; text-transform: uppercase; color: rgba(212,165,116,0.9); margin-bottom: 14px; display: block; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-fcta-h2 { font-family: 'Playfair Display', serif; font-size: clamp(28px,3.5vw,48px); color: var(--white); line-height: 1.15; margin-bottom: 18px; font-weight: 700; }
.v4-fcta-h2 em { font-style: italic; color: var(--gold-light); font-weight: 300; }
.v4-fcta-p { font-size: 17px; color: rgba(255,255,255,0.82); line-height: 1.85; font-weight: 300; margin-bottom: 36px; max-width: 480px; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-fcta-btns { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 40px; }
.v4-btn-cream { background: var(--cream); color: var(--dark) !important; padding: 17px 34px; border-radius: 30px; font-weight: 800; font-size: 14px; text-decoration: none; display: flex; align-items: center; gap: 8px; white-space: nowrap; transition: background .2s; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-btn-cream:hover { background: var(--white); }
.v4-btn-outline-white { border: 2px solid rgba(255,255,255,0.5); color: var(--white) !important; padding: 15px 30px; border-radius: 30px; font-weight: 700; font-size: 14px; text-decoration: none; display: flex; align-items: center; gap: 8px; white-space: nowrap; transition: border-color .2s; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-btn-outline-white:hover { border-color: rgba(255,255,255,0.9); }

/* ============================================================
   TRUST BAR
   ============================================================ */
.v4-trust-bar { background: var(--cream-2); padding: 32px 52px; display: flex; flex-direction: column; align-items: center; gap: 18px; border-top: 3px solid var(--sage); }
.v4-trust-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 3.5px; text-transform: uppercase; color: var(--mid); font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-trust-inner { display: flex; align-items: center; justify-content: center; width: 100%; max-width: 1100px; }
.v4-trust-item { display: flex; align-items: center; gap: 14px; padding: 14px 32px; border-right: 1px solid var(--lt); flex: 1; justify-content: center; }
.v4-trust-item:last-child { border-right: none; }
.v4-trust-icon { width: 40px; height: 40px; border-radius: 50%; background: var(--sage); display: flex; align-items: center; justify-content: center; color: white; flex-shrink: 0; }
.v4-trust-label { font-size: 13px; font-weight: 700; color: var(--dark); font-family: 'Plus Jakarta Sans', sans-serif; white-space: nowrap; }

/* ============================================================
   FOOTER
   ============================================================ */
.v4-footer { background: var(--dark); color: rgba(255,255,255,0.65); padding: 64px 52px 32px; font-family: 'Plus Jakarta Sans', sans-serif; }
.v4-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 52px; margin-bottom: 48px; }
.v4-footer-logo-main { font-family: 'Playfair Display', serif; font-size: 20px; color: var(--gold-light); display: block; margin-bottom: 4px; }
.v4-footer-logo-sub { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: var(--sage-light); display: block; margin-bottom: 4px; }
.v4-footer-logo-coords { font-size: 9px; letter-spacing: 2px; color: rgba(168,196,176,0.45); display: block; margin-bottom: 18px; }
.v4-footer-tagline { font-size: 13px; line-height: 1.85; font-weight: 300; margin-bottom: 22px; }
.v4-footer-contact { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px; }
.v4-footer-contact svg { color: var(--sage-light); margin-top: 2px; flex-shrink: 0; }
.v4-footer-contact span { font-size: 13px; line-height: 1.6; }
.v4-footer-contact a { color: var(--gold-light) !important; text-decoration: none; font-weight: 700; font-size: 15px; }
.v4-footer-contact a:hover { color: var(--white) !important; }
.v4-coord-block { display: flex; align-items: center; gap: 12px; margin-top: 20px; padding: 12px 16px; border: 1px solid rgba(168,196,176,0.12); border-radius: 6px; background: rgba(168,196,176,0.04); }
.v4-coord-block svg { color: var(--sage-light); flex-shrink: 0; }
.v4-fcb-coords { font-size: 12px; font-weight: 700; color: rgba(237,212,176,0.7); letter-spacing: 1px; display: block; }
.v4-fcb-label { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.25); margin-top: 2px; display: block; }
.v4-footer-col-title { font-size: 10px; font-weight: 800; letter-spacing: 2.5px; text-transform: uppercase; color: var(--sage-light); margin-bottom: 16px; }
.v4-footer-links { list-style: none; margin: 0; padding: 0; }
.v4-footer-links li { margin-bottom: 10px; }
.v4-footer-links a { color: rgba(255,255,255,0.55) !important; text-decoration: none; font-size: 15px; font-weight: 400; transition: color .2s; }
.v4-footer-links a:hover { color: var(--white) !important; }
.v4-footer-bottom { border-top: 1px solid rgba(255,255,255,0.08); padding-top: 24px; display: flex; justify-content: space-between; font-size: 12px; align-items: center; }
.v4-footer-bottom-links { display: flex; gap: 22px; }
.v4-footer-bottom-links a { color: rgba(255,255,255,0.4) !important; text-decoration: none; transition: color .2s; }
.v4-footer-bottom-links a:hover { color: var(--white) !important; }
.v4-footer-bottom-coords { font-size: 10px; letter-spacing: 2px; color: rgba(168,196,176,0.3); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
	.v4-nav, .v4-about-text, .v4-fcta-content { padding-left: 32px; padding-right: 32px; }
	.v4-hero-content { padding: 120px 40px 80px; max-width: 520px; }
	.v4-hero-trust { padding: 16px 32px; }
	.v4-approach, .v4-why, .v4-staff, .v4-testimonials, .v4-trust-bar { padding-left: 32px; padding-right: 32px; }
	.v4-footer { padding: 52px 32px 0; }
	.v4-footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
	.v4-why-inner { grid-template-columns: 1fr; gap: 40px; }
	.v4-therapy-grid { grid-template-columns: repeat(2,1fr); }
	.v4-staff-grid { grid-template-columns: repeat(2,1fr); }
	.v4-testi-grid { grid-template-columns: repeat(2,1fr); }
	.v4-photo-band { grid-template-columns: 1fr 1fr; height: 480px; grid-template-rows: 1fr 1fr; }
}
@media (max-width: 959px) {
	.v4-nav { padding: 0 24px; }
	.v4-nav-links { display: none; }
	.v4-nav-phone { display: none; }
	.v4-hamburger { display: flex; }
}
@media (max-width: 767px) {
	.v4-nav { padding: 0 20px; height: 68px; }
	.v4-hero { min-height: 520px; }
	.v4-hero-content { padding: 108px 24px 60px; max-width: 100%; }
	.v4-hero-overlay { background: rgba(18,26,19,0.80); }
	.v4-hero-h1 { font-size: 32px; }
	.v4-hero-sub { font-size: 14px; }
	.v4-hero-trust { padding: 12px 20px; gap: 4px; flex-wrap: wrap; }
	.v4-ht-item { padding: 6px 10px; max-width: none; }
	.v4-ht-div { display: none; }
	.v4-stats-bar { grid-template-columns: repeat(2,1fr); }
	.v4-sb { border-right: none; border-bottom: 1px solid rgba(255,255,255,.18); }
	.v4-about { grid-template-columns: 1fr; }
	.v4-about-img { min-height: 340px; }
	.v4-about-text { padding: 52px 24px; }
	.v4-approach { padding: 64px 20px; }
	.v4-therapy-grid { grid-template-columns: 1fr; }
	.v4-photo-band { grid-template-columns: 1fr 1fr; height: 400px; grid-template-rows: 1fr 1fr; }
	.v4-why { padding: 64px 20px; }
	.v4-why-cards { grid-template-columns: 1fr; }
	.v4-staff { padding: 64px 20px; }
	.v4-staff-grid { grid-template-columns: 1fr 1fr; }
	.v4-testimonials { padding: 64px 20px; }
	.v4-testi-grid { grid-template-columns: 1fr; }
	.v4-fcta-content { padding: 0 24px; }
	.v4-family-cta { min-height: 480px; }
	.v4-trust-bar { padding: 28px 16px; }
	.v4-trust-inner { flex-wrap: wrap; }
	.v4-trust-item { flex: 0 0 50%; border-right: none; border-bottom: 1px solid var(--lt); padding: 14px 16px; }
	.v4-trust-item:nth-child(odd) { border-right: 1px solid var(--lt); }
	.v4-trust-item:last-child { flex: 0 0 100%; border-right: none; border-bottom: none; }
	.v4-footer { padding: 48px 20px 0; }
	.v4-footer-grid { grid-template-columns: 1fr; gap: 32px; }
}

/* ============================================================
   V7 — MEET OUR TEAM (page id 5160) — Elevated Editorial
   Native Elementor widgets; OceanWP shell hidden on this page.
   ============================================================ */

/* --- Foundation: hide stale OceanWP shell + go full width (all V7 pages) --- */
.eagleor-v7 #site-header,
.eagleor-v7 .page-header,
.eagleor-v7 #footer-inner,
.eagleor-v7 #footer-widgets,
.eagleor-v7 #footer-wrap { display: none !important; }
.eagleor-v7 #content-wrap,
.eagleor-v7 #primary,
.eagleor-v7 #main,
.eagleor-v7 .page-content,
.eagleor-v7 article.page {
	max-width: 100% !important; width: 100% !important;
	padding: 0 !important; margin: 0 !important; border: 0 !important;
}
.eagleor-v7 .elementor-section > .elementor-container { max-width: 100% !important; }
/* inner-section containers carry no padding — gaps come from columns */
.page-id-5160 .eagleor-leader-row > .elementor-container { padding: 0 !important; }
.page-id-5160 .eagleor-seals > .elementor-container { padding: 42px 0 0 !important; }
.page-id-5160 .eagleor-seals { margin-top: 0 !important; }

/* V7 palette + fonts — shared across every V7 page via the eagleor-v7 body class */
.eagleor-v7 {
	--t-brown:#73563f; --t-brown-d:#5f4733; --t-espresso:#3f352c; --t-taupe:#736a5c; --t-sand:#c7bbac; /* taupe darkened from #a19385 -> #736a5c for WCAG AA contrast (small muted labels), 2026-06-22 */
	--t-cream:#f6f1ea; --t-cream2:#fffdf9; --t-sand-bg:#efe7da; --t-ink:#2c2118; --t-line:#e7ded1;
	--t-blue:#2e6e8e; --t-blue-d:#285f7a; --t-blue-soft:#eaf1f4;
	/* Footer palette — Deep Overlook Blue (client-approved 2026-06-15, replaces dark brown) */
	--f-bg:#1d4257; --f-title:#ffffff; --f-body:#bdd3dd; --f-muted:#aecada; --f-line:#2d5a70; --f-accent:#9bd2ec;
	--t-serif:"Playfair Display",Georgia,serif; --t-sans:"Plus Jakarta Sans","Avenir Next",Arial,sans-serif;
}

/* ============================================================================
   ELEMENTOR-INTERNAL (LOAD-BEARING) — RE-VERIFY AFTER EVERY ELEMENTOR MAJOR UPDATE
   ----------------------------------------------------------------------------
   These rules MUST target Elementor's own markup because free Elementor gives us
   no .eagleor-* hook on those auto-generated elements. They are the watch-list if
   an Elementor major (e.g. 4.x atomic) restructures the DOM. Everything else has
   been re-anchored to .eagleor-* + semantic tags (headings, buttons, section
   backgrounds, footer lists) so it is NOT exposed to Elementor class changes.

   Load-bearing clusters still coupled to Elementor internals (by design):
   1. `.eagleor-X > .elementor-container`  — the section's inner flex wrapper
      (padding / gap / flex-direction / max-width / centering). Elementor generates
      it; there is nowhere to put our class. Biggest blast radius if renamed (~165 rules).
   2. `.elementor-widget-wrap` / `.elementor-element-populated` — Elementor's default
      10px column padding lives here; we zero/re-add it.
   3. `.eagleor-v7 .elementor-widget { margin-bottom }` — Elementor's default 20px
      inter-widget margin lives on .elementor-widget; the global reset must hit it.
   4. `.eagleor-v7 .elementor-heading-title { margin:0 }` (base reset) +
      `.elementor-widget-text-editor` (content scope + list resets) — scope body/
      heading/list styling to Elementor content only. Re-anchorable only by adding
      classes to those widgets in the build scripts (deferred Phase 2).
   5. `.eagleor-footer .elementor-icon-list-icon` — hides Elementor's empty bullet slot.
   After an Elementor major: smoke-test section padding/gaps, column padding, widget
   spacing, footer list, and the rendered header on canvas pages, at 1280/768/390.
   ============================================================================ */
.eagleor-v7, .eagleor-v7 .elementor-widget-text-editor,
.eagleor-v7 p { font-family: var(--t-sans); color: var(--t-espresso); line-height: 1.65; }
/* zero Elementor's default widget/heading/paragraph spacing; HTML margins re-applied per element below.
   .eagleor-v7 out-specifies Elementor's default inter-widget margin without !important, so intentional
   per-widget margins (e.g. .eagleor-cta-p) are preserved. */
.eagleor-v7 .elementor-widget { margin-bottom: 0 !important; }
.eagleor-v7 .elementor-heading-title { margin: 0; }
.eagleor-v7 .elementor-widget-text-editor p { margin: 0; }
.page-id-5160 .eagleor-bio p { margin-top: 16px; }
.page-id-5160 .eagleor-pull { margin-top: 22px; }
/* CTA paragraph spacing lives on the inner <p> (widget margins are zeroed above) */
.eagleor-v7 .eagleor-cta-p p { max-width: 560px; margin: 16px auto 28px !important; }

/* shared content bound — constrain section container to wrap width */
.eagleor-v7 .eagleor-bound > .elementor-container { width: 100% !important; max-width: 1200px !important; margin: 0 auto !important; }

/* eyebrow */
.eagleor-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
	color: var(--t-blue); display: inline-flex; align-items: center; gap: 11px; }
.eagleor-eyebrow::before { content:""; width:28px; height:2px; background: var(--t-blue); border-radius:2px; }
.eagleor-eyebrow.eagleor-center { justify-content: center; }

/* --- Topbar --- */
/* Topbar - Sand #C7BBAC background (client-requested 2026-07-05, replaces the dark brown --t-ink).
   Light bar, so every text/link/icon color was re-set for legibility. WCAG AA verified on #C7BBAC:
   body text espresso #3d2f22 = 6.8:1; links deep-blue #22516a = 4.5:1 (brand blue #2e6e8e FAILED at
   3.0:1 for this small 12.5px text, so links use the darker blue). Subtle hairline lifts it off the nav. */
.eagleor-v7 .eagleor-topbar { background: var(--t-sand); box-shadow: inset 0 -1px 0 rgba(61,47,34,.14); }
.eagleor-topbar .elementor-container { min-height: 42px; align-items: center; padding: 0 44px !important; }
.eagleor-topbar .eagleor-tb-l, .eagleor-topbar .eagleor-tb-r { font-size: 12.5px; }
.eagleor-topbar, .eagleor-topbar .eagleor-tb-l, .eagleor-topbar .eagleor-tb-r,
.eagleor-topbar .elementor-widget-text-editor, .eagleor-topbar .elementor-widget-container,
.eagleor-topbar p { color:#3d2f22 !important; }
.eagleor-topbar .eagleor-tb-r { text-align: right; }
.eagleor-topbar strong { color:#2c2118 !important; font-weight:700; }
.eagleor-topbar a { color:#22516a !important; font-weight:700; }
.eagleor-topbar a:hover { color:#173b4e !important; text-decoration:underline; }
.eagleor-topbar .dot { color: rgba(61,47,34,.42) !important; }
/* Desktop topbar social icons (added 2026-07-04; recolored for the Sand bar 2026-07-05). Small inline
   chips at far right; hidden <=1000 (mobile shows them inside the burger menu via .eagleor-nav-social). */
.eagleor-topbar .eagleor-tb-social { display:inline-flex; align-items:center; gap:9px; margin-left:14px; vertical-align:middle; }
.eagleor-topbar .eagleor-tb-social a { display:inline-flex; align-items:center; justify-content:center; width:23px; height:23px; border-radius:50%; border:1px solid rgba(61,47,34,.30); transition:background .15s ease, border-color .15s ease; }
.eagleor-topbar .eagleor-tb-social svg { width:13px; height:13px; display:block; fill:#3d2f22 !important; transition:fill .15s ease; }
.eagleor-topbar .eagleor-tb-social a:hover { background:var(--t-blue); border-color:var(--t-blue); }
.eagleor-topbar .eagleor-tb-social a:hover svg { fill:#fff !important; }
/* Client 2026-07-07: hide the social icons in the DESKTOP topbar only. Topbar is display:none <=600px,
   so this is desktop/tablet-only by nature. Footer (.eagleor-fsocial) + mobile burger (.eagleor-nav-social)
   social are intentionally KEPT. To restore, delete this one rule. */
.eagleor-topbar .eagleor-tb-social { display: none !important; }

/* --- Nav --- */
.eagleor-v7 .eagleor-nav { position: sticky; top: 0; z-index: 80;
	background: rgba(246,241,234,.95); backdrop-filter: blur(14px); border-bottom: 1px solid var(--t-line); }
.eagleor-nav .elementor-container { min-height: 86px; align-items: center; padding: 0 44px !important; }
.eagleor-nav .eagleor-nav-logo img { height: 44px !important; width: auto !important; object-fit: contain; object-position: left center; }
.eagleor-nav .eagleor-nav-logo .elementor-widget-container { line-height: 0; }
.eagleor-nav .eagleor-nav-logo a { display:inline-flex; cursor:pointer; transition:opacity .2s ease; }
.eagleor-nav .eagleor-nav-logo a:hover { opacity:.78; }
/* nav links + dropdowns (match meet-our-team.html) */
.eagleor-nav .eagleor-nav-links .elementor-widget-container { display:flex; justify-content:center; }
.eagleor-nav .eagleor-nav-links p { margin:0; display:contents; }
.eagleor-nav .eagleor-nav-links .ddwrap { display:flex; align-items:center; gap:28px; flex-wrap:wrap; justify-content:center; }
.eagleor-nav .eagleor-nav-links a { font-size:14.5px; font-weight:600; color:var(--t-espresso); position:relative; }
.eagleor-nav .eagleor-nav-links .ddwrap > a::after,
.eagleor-nav .eagleor-nav-links .dd-toggle::after { content:""; position:absolute; left:0; bottom:-5px; height:2px; width:0; background:var(--t-blue); transition:width .26s; }
.eagleor-nav .eagleor-nav-links a.active { color:var(--t-blue); }
.eagleor-nav .eagleor-nav-links .ddwrap > a:hover,
.eagleor-nav .eagleor-nav-links .has-dd:hover .dd-toggle { color:var(--t-blue); }
.eagleor-nav .eagleor-nav-links .ddwrap > a:hover::after,
.eagleor-nav .eagleor-nav-links .ddwrap > a.active::after,
.eagleor-nav .eagleor-nav-links .has-dd:hover .dd-toggle::after { width:100%; }
.eagleor-nav .eagleor-nav-links .has-dd { position:relative; display:inline-flex; align-items:center; }
.eagleor-nav .eagleor-nav-links .dd-toggle { display:inline-flex; align-items:center; gap:6px; cursor:pointer; }
.eagleor-nav .eagleor-nav-links .dd-toggle .caret { width:9px; height:9px; stroke:currentColor; stroke-width:2.4; fill:none; transition:transform .2s ease; }
.eagleor-nav .eagleor-nav-links .has-dd:hover .caret { transform:rotate(180deg); }
.eagleor-nav .eagleor-nav-links .dd { position:absolute; top:calc(100% + 22px); left:50%; transform:translateX(-50%) translateY(8px);
	background:var(--t-cream2); border:1px solid var(--t-line); border-radius:12px; box-shadow:0 18px 42px -16px rgba(44,33,24,.42);
	min-width:218px; padding:8px; z-index:60; opacity:0; visibility:hidden; transition:opacity .18s ease,transform .18s ease; display:flex; flex-direction:column; }
.eagleor-nav .eagleor-nav-links .dd::before { content:""; position:absolute; top:-22px; left:0; right:0; height:22px; }
.eagleor-nav .eagleor-nav-links .has-dd:hover .dd { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.eagleor-nav .eagleor-nav-links .dd a { padding:10px 14px; border-radius:8px; font-size:14px; font-weight:600; white-space:nowrap; }
.eagleor-nav .eagleor-nav-links .dd a::after { display:none; }
.eagleor-nav .eagleor-nav-links .dd a:hover { background:var(--t-blue-soft); color:var(--t-blue); }
/* Flat group heading inside a dropdown (2026-07-22) - lets "Areas We Serve" keep its grouping cue
   while the three geo links sit FLAT in the About dropdown. A nested .has-dd was rejected on purpose:
   desktop opens .dd on :hover and mobile toggles .dd-open via JS, so a second level would need both a
   hover chain and a second tap target. Non-interactive, so it is a span, not an anchor. */
.eagleor-nav .eagleor-nav-links .dd .dd-label { margin:6px 0 2px; padding:8px 14px 4px; border-top:1px solid var(--t-line);
	font-family:var(--t-sans); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
	color:var(--t-brown); opacity:.55; white-space:nowrap; pointer-events:none; }
/* Mobile burger-menu social row (added 2026-07-04). Lives inside .ddwrap so it collapses into the
   burger with the links; hidden on desktop, shown as a centered chip row at the bottom of the open menu.
   Rules sit AFTER the .eagleor-nav-links a rules above so equal-specificity ties resolve in their favor. */
.eagleor-nav .eagleor-nav-social { display:none; }
.eagleor-nav .eagleor-nav-cta { text-align: right; }
.eagleor-nav .eagleor-nav-cta a {
	background: var(--t-blue); color:#fff; padding: 12px 24px; border-radius: 100px;
	font-weight: 700; font-size: 14px; min-height: 44px;
	display: inline-flex; align-items: center; justify-content: center; }
.eagleor-nav .eagleor-nav-cta a:hover { background: var(--t-blue-d); }

/* --- Team hero --- */
.eagleor-v7 .eagleor-team-hero { text-align: center; border-bottom: 1px solid var(--t-line); overflow: hidden;
	background-color: var(--t-cream) !important;
	background-image: url('/wp-content/uploads/2026/06/topography-lines-only.webp') !important;
	background-position: center !important; background-repeat: no-repeat !important; background-size: cover !important; }
/* Elementor caps the overlay element at opacity:.5 — force full strength so the cream gradient
   fades the topography to match the HTML (otherwise the lines show through too dark/heavy) */
.eagleor-team-hero .elementor-background-overlay { opacity: 1 !important; }
.eagleor-team-hero .elementor-container { padding: 88px 44px 76px !important; }
.eagleor-team-hero .eagleor-th-h1 :is(h1,h2,h3,h4,h5,h6) {
	font-family: var(--t-serif) !important; color: var(--t-brown); font-weight: 700; line-height: 1.12; letter-spacing: -.01em;
	font-size: clamp(38px,5vw,58px); margin: 14px 0 16px; }
.eagleor-team-hero .eagleor-th-h1 em { font-style: italic; color: var(--t-blue); font-weight: 600; }
.eagleor-team-hero .eagleor-th-p { font-size: 18px; color:#6a5e52; max-width: 620px; margin: 0 auto; }
.eagleor-team-hero .eagleor-th-eyebrow { margin-bottom: 0; }

/* --- Leaders --- */
.eagleor-v7 .eagleor-leaders { background: var(--t-cream); }
.page-id-5160 .eagleor-leaders > .elementor-container { width: 100% !important; max-width: 1148px !important; margin: 0 auto !important; padding: 90px 44px !important; }
.eagleor-v7 .elementor-column > .elementor-element-populated { padding: 0; }
.page-id-5160 .eagleor-seals .elementor-widget-wrap { padding: 0 !important; }  /* kill Elementor's 10px default around the seal cards */
.eagleor-leader-row.elementor-element { position: relative; }
.eagleor-leader-row + .eagleor-leader-row { margin-top: 78px !important; padding-top: 78px; border-top: 1px solid var(--t-line); }
.eagleor-leader-row > .elementor-container { width: 100% !important; gap: 0; align-items: center; }
.eagleor-leader-row .eagleor-col-photo > .elementor-widget-wrap { padding-right: 29px !important; }
.eagleor-leader-row .eagleor-col-info > .elementor-widget-wrap { padding-left: 29px !important; }
.eagleor-leader-row.eagleor-rev .eagleor-col-photo { order: 2; }
.eagleor-leader-row.eagleor-rev .eagleor-col-info { order: 1; }
.eagleor-leader-row.eagleor-rev .eagleor-col-photo > .elementor-widget-wrap { padding-right: 0 !important; padding-left: 29px !important; }
.eagleor-leader-row.eagleor-rev .eagleor-col-info > .elementor-widget-wrap { padding-left: 0 !important; padding-right: 29px !important; }

.eagleor-tphoto { aspect-ratio: 4/5; border-radius: 14px; overflow: hidden; background-size: cover;
	background-position: center top; box-shadow: 0 22px 50px -24px rgba(44,33,24,.55); border: 1px solid var(--t-line); }
.eagleor-tphoto.ph { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
	background: var(--t-blue-soft); border:1px dashed var(--t-sand); box-shadow:none; }
.eagleor-tphoto.ph .pic { width:78px; height:78px; border-radius:50%; background: var(--t-cream2); border:1.5px solid var(--t-sand);
	display:flex; align-items:center; justify-content:center; }
.eagleor-tphoto.ph .pic svg { width:38px; height:38px; stroke: var(--t-blue); fill:none; stroke-width:1.4; }
.eagleor-tphoto.ph .pname { font-family: var(--t-serif); font-weight:700; color: var(--t-brown); font-size:16px; }
.eagleor-tphoto.ph .plabel { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color: var(--t-taupe); }

/* idx numeral positions relative to the whole leader row (like .leader in the HTML),
   not the vertically-centered photo column — so the column chain must be static */
.page-id-5160 .eagleor-leader-row > .elementor-container { position: relative; }
.page-id-5160 .eagleor-col-photo,
.page-id-5160 .eagleor-col-photo > .elementor-widget-wrap { position: static !important; }
.eagleor-col-photo .eagleor-idx-widget { position: static; margin: 0; }
.eagleor-col-photo .eagleor-pic-widget { position: relative; z-index: 1; }
.eagleor-idx { position:absolute; top:-50px; font-family: var(--t-serif); font-size:120px; font-weight:700;
	color: var(--t-blue-soft); line-height:1; z-index:0; pointer-events:none; }
.eagleor-idx.left { left:-10px; } .eagleor-idx.right { right:-10px; }

.eagleor-role { display:inline-block; background: var(--t-blue-soft); color: var(--t-blue-d); border:1px solid #bcd6e0;
	padding:6px 14px; border-radius:100px; font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.eagleor-leaders .eagleor-name :is(h1,h2,h3,h4,h5,h6) {
	font-family: var(--t-serif) !important; color: var(--t-brown); font-weight:700; font-size:32px; line-height:1.12; margin:14px 0 8px; }
.eagleor-cred { color: var(--t-taupe); font-size:13.5px; font-weight:600; }
.eagleor-bio p { margin-top:16px; font-size:15.5px; color:#574c40; line-height:1.72; }
.eagleor-pull { margin-top:22px; padding:4px 0 4px 20px; border-left:3px solid var(--t-blue);
	font-family: var(--t-serif); font-style:italic; color: var(--t-brown); font-size:18px; line-height:1.5; }
.eagleor-leader-row.eagleor-soon .eagleor-name :is(h1,h2,h3,h4,h5,h6) { color: var(--t-taupe); }
.eagleor-leader-row.eagleor-soon .eagleor-bio p { color:#8a7d6f; }

/* --- Team CTA --- */
.eagleor-v7 .eagleor-team-cta { background: var(--t-blue); text-align: center; }
.eagleor-team-cta .elementor-container { padding: 88px 44px !important; }
.eagleor-team-cta .eagleor-eyebrow { color: rgba(255,255,255,.85); }
.eagleor-team-cta .eagleor-eyebrow::before { background: rgba(255,255,255,.7); }
.eagleor-team-cta .eagleor-cta-h2 :is(h1,h2,h3,h4,h5,h6) {
	font-family: var(--t-serif) !important; color:#fff; font-weight:700; font-size: clamp(32px,4.4vw,46px); margin-top:12px; line-height:1.12; }
.eagleor-team-cta .eagleor-cta-h2 em { font-style:italic; color:#cfe6ef; font-weight:600; }
/* blue CTA: also color the INNER <p> light - .eagleor-v7 p (line ~407) sets it espresso and out-targets
   the container rule, so on the blue background the body text was dark/low-contrast. */
.eagleor-team-cta .eagleor-cta-p, .eagleor-team-cta .eagleor-cta-p p { color: rgba(255,255,255,.9); font-size:17px; }
.eagleor-team-cta .eagleor-cta-btn a { background: var(--t-cream); color: var(--t-blue-d);
	font-weight:700; font-size:15px; padding:15px 28px; border-radius:100px; min-height:52px; }
.eagleor-team-cta .eagleor-cta-btn a:hover { background:#fff; }
/* cream button icon must be blue (matches .btn-cream color in the HTML) */
.eagleor-team-cta .eagleor-cta-btn a i,
.eagleor-team-cta .eagleor-cta-btn a svg { color: var(--t-blue-d); fill: var(--t-blue-d); }

/* --- Trust --- */
.eagleor-v7 .eagleor-trust { background: var(--t-cream2); text-align: center; }
.eagleor-trust .elementor-container { padding: 90px 44px !important; }
.eagleor-trust .eagleor-trust-h2 :is(h1,h2,h3,h4,h5,h6) {
	font-family: var(--t-serif) !important; color: var(--t-brown); font-weight:700; font-size: clamp(30px,4vw,46px); margin-top:12px; }
.eagleor-trust .eagleor-trust-h2 em { font-style:italic; color: var(--t-blue); font-weight:600; }
.eagleor-seals > .elementor-container { padding-top: 42px; justify-content: center; gap: 22px; }
.eagleor-seal .elementor-image-box-wrapper { display:flex; align-items:center; gap:16px; text-align:left;
	background: var(--t-cream); border:1px solid var(--t-line); border-radius:16px; padding:20px 28px;
	box-shadow:0 14px 32px -24px rgba(44,33,24,.5); }
.eagleor-seal .elementor-image-box-img { margin:0 !important; padding:0 !important; flex-shrink:0; width:60px !important; }
.eagleor-seal .elementor-image-box-content { flex:1; min-width:0; text-align:left; }
.eagleor-seal .elementor-image-box-img img { height:60px !important; width:auto !important; }
.eagleor-seal .elementor-image-box-title { font-family: var(--t-serif) !important; font-size:17px; color: var(--t-brown); margin:0; }
.eagleor-seal .elementor-image-box-description { font-size:12.5px; color: var(--t-taupe); }
.eagleor-seal > .elementor-widget-container { display:flex; justify-content:center; }
.page-id-5160 .eagleor-seals > .elementor-container { align-items: flex-start; }

/* --- Footer --- */
.eagleor-v7 .eagleor-footer { background: var(--f-bg); border-top: 3px solid var(--gold); }
.eagleor-footer > .elementor-container { padding: 72px 44px 36px !important; align-items: flex-start; }
.eagleor-footer .eagleor-flogo img { height:56px !important; width:auto !important; margin-bottom:18px; object-fit:contain; object-position:left center; }
.eagleor-footer .eagleor-ftag { font-size:14px; max-width:300px; color:var(--f-body); line-height:1.7; }
.eagleor-footer .eagleor-fcoord { margin-top:12px; font-size:13px; color:var(--f-muted); letter-spacing:.04em; }
/* Footer social icons (Facebook/Instagram/LinkedIn) — added 2026-07-04. Inline-SVG links,
   our own .eagleor-fsocial hook (no Elementor coupling). Markup: v7_social_html(). */
.eagleor-footer .eagleor-fsocial { display:flex; gap:10px; margin-top:20px; }
.eagleor-footer .eagleor-fsocial a { width:36px; height:36px; border-radius:50%;
	display:inline-flex; align-items:center; justify-content:center;
	border:1px solid rgba(155,210,236,.35); background:rgba(155,210,236,.06);
	transition:background .15s ease, border-color .15s ease, transform .15s ease; }
.eagleor-footer .eagleor-fsocial a svg { width:16px; height:16px; display:block;
	fill:var(--f-body); transition:fill .15s ease; }
.eagleor-footer .eagleor-fsocial a:hover { background:var(--gold); border-color:var(--gold); transform:translateY(-2px); }
.eagleor-footer .eagleor-fsocial a:hover svg { fill:#1d4257; }
.eagleor-footer .eagleor-fsocial a:focus-visible { outline:2px solid var(--f-accent); outline-offset:2px; }
/* "Get Help Now" footer button (gold, matches the topbar CTA) */
.eagleor-footer .eagleor-fbtn-wrap { margin-top:18px; }
.eagleor-footer a.eagleor-fbtn { display:inline-flex; align-items:center; gap:8px; background:var(--gold);
	color:#1d2b12 !important; font-weight:700; font-size:14px; padding:12px 22px; border-radius:10px;
	text-decoration:none; transition:background .2s, transform .2s; }
.eagleor-footer a.eagleor-fbtn:hover { background:var(--gold-light); transform:translateY(-1px); }
.eagleor-footer .eagleor-fcol-title :is(h1,h2,h3,h4,h5,h6) { color:var(--f-title); font-family: var(--t-sans) !important;
	font-size:12px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:16px; font-weight:700; }
.eagleor-footer ul { padding:0; margin:0; list-style:none; }
.eagleor-footer li { margin-bottom:10px !important; border:0 !important; padding:0 !important; }
.eagleor-footer li, .eagleor-footer li a, .eagleor-footer li span { font-size:14px; color:var(--f-body) !important; }
.eagleor-footer li a:hover { color: var(--f-accent) !important; }
/* LOAD-BEARING: hides Elementor's icon-list bullet slot (empty, no icon set). No semantic-tag
   equivalent, so this stays coupled to the Elementor class — re-verify after Elementor majors. */
.eagleor-footer .elementor-icon-list-icon { display:none !important; }
.eagleor-v7 .eagleor-fbottom { background: var(--f-bg); }
.eagleor-fbottom .elementor-container { border-top:1px solid var(--f-line); padding:22px 44px 24px !important; align-items:center; }
.eagleor-fbottom .eagleor-fb-l, .eagleor-fbottom .eagleor-fb-r { font-size:12.5px; color:var(--f-muted); }
.eagleor-fbottom .eagleor-fb-l .elementor-widget-container, .eagleor-fbottom .eagleor-fb-r .elementor-widget-container,
.eagleor-fbottom .eagleor-fb-l .elementor-widget-container p, .eagleor-fbottom .eagleor-fb-r .elementor-widget-container p { color: var(--f-muted) !important; font-size: 12.5px !important; }
.eagleor-fbottom .eagleor-fb-r { text-align:right; }
.eagleor-fbottom .eagleor-fb-l a { color:var(--f-body) !important; text-decoration:underline; text-underline-offset:2px; }
.eagleor-fbottom .eagleor-fb-l a:hover { color:var(--f-accent) !important; }
/* Footer licensing line (DBHDD) — full-width fine print at the very bottom, site-wide */
.eagleor-fbottom > .elementor-container { flex-wrap: wrap; }
.eagleor-fbottom .eagleor-fb-lic { width: 100% !important; margin-top: 12px; }
.eagleor-fbottom .eagleor-fb-lic .elementor-widget-container,
.eagleor-fbottom .eagleor-fb-lic .elementor-widget-container p,
.eagleor-asite .eagleor-fb-lic { text-align: center !important; font-family: var(--t-sans) !important; font-size: 12px !important; line-height: 1.6 !important; color: var(--f-muted) !important; margin: 0 !important; }
.eagleor-asite .eagleor-fb-lic { padding: 0 0 22px; }

/* --- Responsive --- */
@media (max-width: 1000px) {
	.eagleor-v7 .eagleor-nav > .elementor-container { flex-wrap: wrap; min-height: 0 !important; padding: 14px 44px !important; }
	.eagleor-nav .eagleor-nav-logo, .eagleor-nav .eagleor-nav-cta { width: auto !important; }
	.eagleor-nav .eagleor-nav-cta { margin-left: auto; }
	.eagleor-nav .eagleor-nav-links { order: 3; width: 100% !important; }
	.eagleor-nav .eagleor-nav-links .ddwrap { flex-direction: column; gap: 6px; }
	.eagleor-nav .eagleor-nav-links .has-dd { flex-direction: column; }
	.eagleor-nav .eagleor-nav-links .caret { display: none; }
	.eagleor-nav .eagleor-nav-links .ddwrap > a::after, .eagleor-nav .eagleor-nav-links .dd-toggle::after { display: none; }
	.eagleor-nav .eagleor-nav-links .dd { position: static; transform: none; opacity: 1; visibility: visible; box-shadow: none; border: none; background: transparent; padding: 2px 0 6px; min-width: 0; align-items: center; }
	.eagleor-nav .eagleor-nav-links .dd::before { display: none; }
	.eagleor-nav .eagleor-nav-links .dd a { color: #7a6e60; font-weight: 500; padding: 5px 10px; font-size: 13.5px; }
	/* AREAS WE SERVE is DESKTOP ONLY (2026-07-22, David). The burger list must stay byte-for-byte what
	   it was before the Areas group existed, and Contact must lose no prominence, so the whole group
	   is hidden below the nav breakpoint. The links REMAIN IN THE MARKUP on every page - hidden by
	   CSS, present in raw HTML - which is the entire SEO value of the change. Do not "tidy" this by
	   removing the nodes; that would delete the links from the DOM. */
	.eagleor-nav .eagleor-nav-links .dd .eagleor-areas { display: none !important; }
	.eagleor-nav .eagleor-nav-logo img { height: 36px !important; }
	/* social row at the bottom of the open burger menu */
	.eagleor-nav .eagleor-nav-social { display: flex; justify-content: center; gap: 16px; width: 100%; margin-top: 14px; padding-top: 16px; border-top: 1px solid var(--t-line); }
	.eagleor-nav .eagleor-nav-social a { width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(46,110,142,.28); background: rgba(46,110,142,.06); }
	.eagleor-nav .eagleor-nav-social a::after { display: none !important; }
	.eagleor-nav .eagleor-nav-social svg { width: 19px; height: 19px; display: block; fill: var(--t-blue); }
	.page-id-5160 .eagleor-leader-row > .elementor-container { flex-direction: column; max-width: 520px !important; width: 100% !important; margin: 0 auto; }
	.page-id-5160 .eagleor-leader-row > .elementor-container > .elementor-column { width: 100% !important; max-width: 100% !important; }
	.page-id-5160 .eagleor-tphoto { width: 100% !important; }
	.eagleor-leader-row.eagleor-rev .eagleor-col-photo { order: 0; }
	.eagleor-leader-row.eagleor-rev .eagleor-col-info { order: 0; }
	.page-id-5160 .eagleor-leader-row .eagleor-col-photo > .elementor-widget-wrap,
	.page-id-5160 .eagleor-leader-row .eagleor-col-info > .elementor-widget-wrap,
	.page-id-5160 .eagleor-leader-row.eagleor-rev .eagleor-col-photo > .elementor-widget-wrap,
	.page-id-5160 .eagleor-leader-row.eagleor-rev .eagleor-col-info > .elementor-widget-wrap { padding: 0 !important; }
	.eagleor-leader-row .eagleor-col-photo > .elementor-widget-wrap { margin-bottom: 30px; }
	.eagleor-idx { display: none; }
	.eagleor-tphoto { aspect-ratio: 4/5; max-width: 360px; margin-left: auto; margin-right: auto; }
	.eagleor-footer > .elementor-container { flex-wrap: wrap; }
	.eagleor-footer > .elementor-container > .elementor-column { width: 50% !important; }
}
@media (max-width: 600px) {
	.eagleor-topbar { display: none !important; }
	.eagleor-v7 .eagleor-bound > .elementor-container { padding-left: 22px !important; padding-right: 22px !important; }
	.eagleor-v7 .eagleor-nav > .elementor-container { padding: 14px 22px !important; }
	.page-id-5160 .eagleor-leaders > .elementor-container { padding: 54px 22px !important; }
	.eagleor-leaders .eagleor-name :is(h1,h2,h3,h4,h5,h6) { font-size: 26px; }
	.eagleor-footer > .elementor-container > .elementor-column { width: 100% !important; }
	.eagleor-fbottom > .elementor-container { flex-direction: column; text-align: center; gap: 6px; }
	.eagleor-fbottom .eagleor-fb-r { text-align: center; }
}

/* ===================================================================== */
/* ABOUT PAGE (post 3623) — V7. Reuses the shared .eagleor-* shell.       */
/* Source of truth: "Client Loved - V7-good copy/about.html"             */
/* ===================================================================== */

/* raw elements inside Text Editor widgets inherit theme default margins; the HTML uses
   *{margin:0}. Reset them so card h3/ul/li don't inflate height, then re-add intended gaps.
   Shared across V7 pages (About, Our Approach, …). */
.eagleor-v7 .elementor-widget-text-editor h3,
.eagleor-v7 .elementor-widget-text-editor ul,
.eagleor-v7 .elementor-widget-text-editor ol,
.eagleor-v7 .elementor-widget-text-editor li { margin: 0; padding: 0; }
.eagleor-v7 .elementor-widget-text-editor ul,
.eagleor-v7 .elementor-widget-text-editor li { list-style: none; }
/* raw headings in Text Editors inherit body line-height (1.65); HTML uses h1-h4{line-height:1.12} */
.eagleor-v7 .elementor-widget-text-editor h3,
.eagleor-v7 .elementor-widget-text-editor h4 { line-height: 1.12; }

/* shared section heading (.big in HTML) + lead + section rhythm — V7-wide helpers */
.eagleor-v7 .eagleor-big :is(h1,h2,h3,h4,h5,h6) {
	font-family: var(--t-serif) !important; color: var(--t-brown); font-weight: 700;
	font-size: clamp(34px,4.6vw,52px); line-height: 1.12; letter-spacing: -.01em; margin-top: 14px; }
.eagleor-v7 .eagleor-big em { font-style: italic; color: var(--t-blue); font-weight: 600; }
.eagleor-v7 .eagleor-lead p { font-size: 18px; color: #6a5e52; margin: 16px auto 0; }
.page-id-3623 .eagleor-lead p { max-width: 640px; }
.page-id-3631 .eagleor-lead p { max-width: 660px; }
.eagleor-v7 .eagleor-sec > .elementor-container { padding: 78px 44px !important; }
.eagleor-v7 .eagleor-center-col { text-align: center; }
.eagleor-v7 .eagleor-inner { max-width: 820px; margin: 0 auto; }
.page-id-3623 .eagleor-promise .eagleor-inner { max-width: 920px; }

/* ABOUT VIDEO — native Elementor Video widget, lazy-load facade. Editorial: contained
   max-width aligned to content, rounded, shadow, spaced so it doesn't crowd header/Mission. */
.page-id-3623 .eagleor-about-video > .elementor-container { padding: 44px 44px 44px !important; }
.eagleor-v7 .eagleor-about-video-w { max-width: 900px; margin: 0 auto !important; width: 100%; }
.eagleor-v7 .eagleor-about-video-w .elementor-wrapper { border-radius: 16px; overflow: hidden;
	box-shadow: 0 22px 50px -24px rgba(44,33,24,.45); border: 1px solid var(--t-line); }
.eagleor-v7 .eagleor-about-video-w .elementor-custom-embed-image-overlay { background-size: cover; background-position: center; }
/* Our Approach video: gap below the lead copy (widget margins are reset to 0). */
.page-id-3631 .eagleor-approach-video .eagleor-about-video-w { margin-top: 30px !important; }
@media (max-width: 600px) {
	.page-id-3623 .eagleor-about-video > .elementor-container { padding: 34px 22px 34px !important; }
}

/* PAGE HEADER — topography (same technique as team-hero: SVG + overlay opacity:1) */
.eagleor-v7 .eagleor-pagehead { text-align: center; border-bottom: 1px solid var(--t-line); overflow: hidden;
	background-color: var(--t-cream) !important;
	background-image: url('/wp-content/uploads/2026/06/topography-lines-only.webp') !important;
	background-position: center !important; background-repeat: no-repeat !important; background-size: cover !important; }
.eagleor-pagehead .elementor-background-overlay { opacity: 1 !important; }
.eagleor-pagehead .elementor-container { padding: 116px 44px 92px !important; }
.eagleor-pagehead .eagleor-ph-h1 :is(h1,h2,h3,h4,h5,h6) {
	font-family: var(--t-serif) !important; color: var(--t-brown); font-weight: 700; line-height: 1.12; letter-spacing: -.01em;
	font-size: clamp(40px,5.4vw,64px); margin: 16px 0 18px; }
.eagleor-pagehead .eagleor-ph-h1 em { font-style: italic; color: var(--t-blue); font-weight: 600; }
.eagleor-pagehead .eagleor-ph-p p { font-size: 18px; color: #6a5e52; max-width: 680px; margin: 0 auto; }

/* MISSION — full-bleed split (grid 1fr/1fr) */
.eagleor-v7 .eagleor-about { background: var(--t-cream); }
.page-id-3623 .eagleor-about > .elementor-container { padding: 0 !important; align-items: stretch; gap: 0; }
.page-id-3623 .eagleor-about > .elementor-container > .elementor-column { width: 50% !important; }
.eagleor-about-pic { position: relative; min-height: 600px; background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important; }
.eagleor-about-pic > .elementor-element-populated { padding: 0 !important; }
.eagleor-about-badge { position: absolute; left: 0; bottom: 42px; background: var(--t-blue); color: #fff; padding: 18px 26px; border-radius: 0 12px 12px 0; z-index: 2; }
.eagleor-about-badge b { font-family: var(--t-serif); font-size: 34px; display: block; line-height: 1; }
.eagleor-about-badge span { font-size: 12.5px; color: #e6eef2; }
.eagleor-about-pic .eagleor-about-badge-w { position: static; }
.eagleor-about-pic .elementor-widget-wrap { position: static; }
.page-id-3623 .eagleor-about-body > .elementor-element-populated { padding: 90px 70px; }
.page-id-3623 .eagleor-about-body p { font-size: 16.5px; color: #574c40; margin-top: 20px; }

/* PHILOSOPHY — belief cards */
.eagleor-v7 .eagleor-philosophy { background: var(--t-cream2); }
.page-id-3623 .eagleor-beliefs-wrap > .elementor-container { padding: 0 !important; }
.page-id-3623 .eagleor-beliefs { max-width: 900px; margin: 48px auto 0; text-align: left; }
.eagleor-belief { display: flex; gap: 20px; align-items: flex-start; background: var(--t-cream);
	border: 1px solid var(--t-line); border-radius: 14px; padding: 24px 28px; margin-bottom: 16px; }
.eagleor-belief .n { flex-shrink: 0; width: 38px; height: 38px; border-radius: 50%; background: var(--t-blue-soft);
	color: var(--t-blue-d); font-family: var(--t-serif); font-weight: 700; display: flex; align-items: center; justify-content: center; font-size: 17px; }
.eagleor-belief p { font-size: 16px; color: #574c40; line-height: 1.7; margin: 0 !important; }
.eagleor-beliefs .eagleor-belief-w:last-child .eagleor-belief { margin-bottom: 0; }

/* WHAT WE TREAT — 3 cards */
.page-id-3623 .eagleor-cards > .elementor-container { padding: 50px 0 0 !important; gap: 24px; align-items: stretch; }
.page-id-3623 .eagleor-card-col > .elementor-element-populated { padding: 0; height: 100%; }
.page-id-3623 .eagleor-card-col { width: 33.333% !important; }
.eagleor-card { background: var(--t-cream2); border: 1px solid var(--t-line); border-radius: 16px; padding: 34px 32px;
	text-align: left; transition: .28s; border-top: 3px solid transparent; height: 100%; }
.eagleor-card:hover { border-top-color: var(--t-blue); transform: translateY(-4px); box-shadow: 0 24px 46px -28px rgba(46,110,142,.4); }
.eagleor-card .ic { width: 54px; height: 54px; border-radius: 13px; background: var(--t-blue-soft);
	display: flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.eagleor-card .ic svg { width: 27px; height: 27px; stroke: var(--t-blue); fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.eagleor-card h3 { font-family: var(--t-serif); font-size: 19px; color: var(--t-brown); font-weight: 700; }
.eagleor-card .eagleor-treatlist { margin-top: 16px; display: grid; gap: 9px; }
.eagleor-card .eagleor-treatlist li { list-style: none; font-size: 14.5px; color: #574c40; padding-left: 20px; position: relative; line-height: 1.5; }
.eagleor-card .eagleor-treatlist li::before { content: ""; position: absolute; left: 0; top: 8px; width: 7px; height: 7px; border-radius: 50%; background: var(--t-blue); }

/* INDIVIDUALIZED PLANS — tinted band */
.eagleor-v7 .eagleor-band { background: var(--t-sand-bg); }
.page-id-3623 .eagleor-bandp p { font-size: 17px; color: #574c40; margin-top: 18px; line-height: 1.8; max-width: 820px; margin-left: auto; margin-right: auto; }

/* OUR PROMISE — large serif statement */
.eagleor-v7 .eagleor-promise { background: var(--t-cream2); }
.eagleor-promise .eagleor-q { font-family: var(--t-serif); font-style: italic; font-size: clamp(22px,2.6vw,30px);
	line-height: 1.5; color: var(--t-brown); margin: 24px auto 0 !important; max-width: 920px; }

/* OUR SERVICES — tags */
.eagleor-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; justify-content: center; }
.eagleor-tag { background: var(--t-cream2); border: 1px solid var(--t-sand); color: var(--t-brown);
	padding: 9px 18px; border-radius: 100px; font-size: 13.5px; font-weight: 600; }
.eagleor-tag:nth-child(odd) { border-color: #bcd6e0; color: var(--t-blue-d); }

/* reused CTA + TRUST use 100px section padding on About (HTML section{padding:100px}).
   Scope to the DIRECT container only — a bare ".eagleor-trust .elementor-container" also
   matches the inner seals container and balloons it (playbook trap #3). */
.page-id-3623 .eagleor-team-cta > .elementor-container { padding: 100px 44px !important; }
.page-id-3623 .eagleor-trust > .elementor-container { padding: 100px 44px !important; }
.page-id-3623 .eagleor-seals > .elementor-container { padding: 42px 0 0 !important; align-items: flex-start; }
.page-id-3623 .eagleor-seals .elementor-widget-wrap { padding: 0 !important; }
.page-id-3623 .eagleor-trust .eagleor-trust-h2 :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(34px,4.6vw,52px); margin-top: 14px; }

/* ABOUT responsive */
@media (max-width: 1000px) {
	.page-id-3623 .eagleor-about > .elementor-container { flex-direction: column; }
	.page-id-3623 .eagleor-about > .elementor-container > .elementor-column { width: 100% !important; }
	.page-id-3623 .eagleor-about-pic,
	.page-id-3623 .eagleor-about-pic > .elementor-element-populated { min-height: 360px !important; }
	.page-id-3623 .eagleor-about-body > .elementor-element-populated { padding: 56px 40px; }
	.page-id-3623 .eagleor-cards > .elementor-container { flex-direction: column; }
	.page-id-3623 .eagleor-card-col { width: 100% !important; }
	/* stacked cards: re-add the vertical gap (flex gap drops when columns stack) */
	.page-id-3623 .eagleor-card-col + .eagleor-card-col { margin-top: 16px; }
}
@media (max-width: 666px) {
	/* HTML wraps the two seal cards below ~666px; force the inline-sized columns to stack
	   (Elementor's 50% inline width leaks into mobile — playbook trap #5) */
	.page-id-3623 .eagleor-seals > .elementor-container { flex-direction: column; align-items: center; }
	.page-id-3623 .eagleor-seals > .elementor-container > .elementor-column { width: 100% !important; max-width: 360px; }
	.page-id-3623 .eagleor-seals > .elementor-container > .elementor-column + .elementor-column { margin-top: 22px; }
}
@media (max-width: 600px) {
	.page-id-3623 .eagleor-sec > .elementor-container { padding: 72px 22px !important; }
	.page-id-3623 .eagleor-team-cta > .elementor-container,
	.page-id-3623 .eagleor-trust > .elementor-container { padding: 72px 22px !important; }
	.eagleor-pagehead .elementor-container { padding: 84px 22px 64px !important; }
	/* Contact hero (3651): shorten on mobile so the "Send us a message" form peeks into view under the
	   call button. Trim hero vertical padding + zero the call-button row's container padding. */
	.page-id-3651 .eagleor-pagehead .elementor-container { padding-top: 44px !important; padding-bottom: 22px !important; }
	.page-id-3651 .eagleor-pagehead .eagleor-ph-btnrow > .elementor-container { padding: 0 !important; }
	.page-id-3651 .eagleor-pagehead .eagleor-ph-btnrow { margin-top: 20px; }
}

/* ===================================================================== */
/* OUR APPROACH (post 3631) — V7. Reuses shared shell + .eagleor-v7 helpers. */
/* Source of truth: "Client Loved - V7-good copy/our-approach.html"      */
/* ===================================================================== */
.eagleor-v7 .eagleor-clinical { background: var(--t-cream); }
.eagleor-v7 .eagleor-nature { background: var(--t-cream); }
.eagleor-v7 .eagleor-settings { background: var(--t-cream2); }
.page-id-3631 .eagleor-pagehead .eagleor-ph-p p { max-width: 720px; }

/* CLINICAL — modality blocks (mod -> Text Editor styled card; deflist -> styled <ul>) */
.page-id-3631 .eagleor-modwrap > .elementor-container { padding: 46px 0 0 !important; }
.eagleor-modwrap-col { max-width: 1120px; margin: 0 auto !important; text-align: left; }
.eagleor-mod { background: var(--t-cream2); border: 1px solid var(--t-line); border-radius: 18px;
	padding: 40px 44px; border-left: 4px solid var(--t-blue); margin-bottom: 22px; }
.eagleor-mod-w:last-child .eagleor-mod { margin-bottom: 0; }
.eagleor-mod h3 { font-family: var(--t-serif); font-size: 24px; color: var(--t-brown); font-weight: 700; }
.eagleor-mod .eagleor-tag { display: inline-block; margin-bottom: 14px; background: var(--t-blue-soft);
	color: var(--t-blue-d); border: 1px solid #bcd6e0; padding: 5px 13px; border-radius: 100px;
	font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.eagleor-mod .eagleor-tag.new { background: #f3ece0; color: var(--t-brown); border-color: var(--t-sand); }
.eagleor-v7 .eagleor-mod p { font-size: 16px; color: #574c40; margin-top: 6px; }
.eagleor-v7 .eagleor-deflist { display: grid; gap: 13px; margin-top: 20px; }
.eagleor-v7 .eagleor-deflist.two { grid-template-columns: 1fr 1fr; gap: 13px 32px; }
.eagleor-v7 .eagleor-deflist li { list-style: none; padding-left: 24px; position: relative; font-size: 15px; color: #574c40; line-height: 1.6; }
.eagleor-deflist li::before { content: ""; position: absolute; left: 0; top: 9px; width: 8px; height: 8px; border-radius: 50%; background: var(--t-blue); }
.eagleor-deflist b { color: var(--t-brown); font-weight: 700; }

/* SPLIT (wilderness + psychoeducation) — full-bleed photo + body */
.page-id-3631 .eagleor-split > .elementor-container { padding: 0 !important; align-items: stretch; gap: 0; }
.page-id-3631 .eagleor-split > .elementor-container > .elementor-column { width: 50% !important; }
.eagleor-split-pic, .eagleor-split-pic > .elementor-element-populated { min-height: 560px;
	background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important; }
.eagleor-split-pic > .elementor-element-populated { padding: 0 !important; }
.eagleor-split-spacer { display: none; }
.page-id-3631 .eagleor-split-body > .elementor-element-populated { padding: 90px 70px;
	display: flex; flex-direction: column; justify-content: center; background: var(--t-cream2); }
.eagleor-v7 .eagleor-split-body p { font-size: 16.5px; color: #574c40; margin-top: 18px; }
.eagleor-split-rev .eagleor-split-pic { order: 2; }
.eagleor-split-rev .eagleor-split-body { order: 1; }
.eagleor-v7 .eagleor-split-h2 :is(h1,h2,h3,h4,h5,h6) { margin-top: 10px; }

/* SPIRITUAL — topography texture (faint) */
.eagleor-v7 .eagleor-spirit { background: var(--t-cream2); position: relative; overflow: hidden; }
.eagleor-spirit::before { content: ""; position: absolute; inset: 0;
	background: url('/wp-content/uploads/2026/06/topography-lines-only.webp') center/1500px auto no-repeat;
	opacity: .07; pointer-events: none; }
.eagleor-spirit > .elementor-container { position: relative; z-index: 1; }
.eagleor-inner-col { max-width: 860px; margin: 0 auto !important; }
.eagleor-v7 .eagleor-spiritp p { font-size: 16.5px; color: #574c40; margin-top: 18px; }

/* CARD paragraph (nature + settings cards; base .eagleor-card shared from About) */
.eagleor-v7 .eagleor-card p { font-size: 14.5px; color: #6a5e52; line-height: 1.7; margin-top: 10px; }
/* equal-height cards: HTML uses CSS-grid stretch so a shorter card fills the row height.
   In Elementor the card is nested column>populated>widget-wrap>widget>container>.eagleor-card,
   so height:100% must cascade through every level or the short card stays at content height. */
.eagleor-v7 .eagleor-card-col > .elementor-element-populated,
.eagleor-v7 .eagleor-card-col > .elementor-element-populated > .elementor-widget-wrap,
.eagleor-v7 .eagleor-card-col .eagleor-card-w,
.eagleor-v7 .eagleor-card-col .eagleor-card-w > .elementor-widget-container { height: 100%; }
/* nowrap on desktop (gap + exact % would wrap a card to the next row); calc fits the gap exactly */
.page-id-3631 .eagleor-cards > .elementor-container { padding: 50px 0 0 !important; gap: 24px; align-items: stretch; flex-wrap: nowrap; }
.page-id-3631 .eagleor-card-col > .elementor-element-populated { padding: 0; height: 100%; }
.page-id-3631 .eagleor-card-col { width: calc((100% - 48px) / 3) !important; }
.page-id-3631 .eagleor-cards-2 > .elementor-container { max-width: 920px !important; margin: 0 auto !important; }
.page-id-3631 .eagleor-cards-2 .eagleor-card-col { width: calc((100% - 24px) / 2) !important; }

/* LEVEL SYSTEM (Our Approach, page 3631) - Levels 1-4 progression track (Overlook Blue).
   Numbers/labels only - NO per-level content. Section bg = cream (alternates vs Settings = cream2). */
.eagleor-v7 .eagleor-levels { background: var(--t-cream); }
.page-id-3631 .eagleor-leveltrack { margin: 46px auto 6px; max-width: 760px; }
.page-id-3631 .eagleor-lvl-row { list-style: none; display: flex; align-items: flex-start; justify-content: center; gap: 0; margin: 0; padding: 0; }
.page-id-3631 .eagleor-lvl { display: flex; flex-direction: column; align-items: center; gap: 10px; flex: 0 0 auto; }
.page-id-3631 .eagleor-lvl-num { width: 56px; height: 56px; border-radius: 50%; background: var(--t-blue); color: #fff; font-family: var(--t-serif); font-size: 24px; font-weight: 700; display: flex; align-items: center; justify-content: center; box-shadow: 0 12px 26px -14px rgba(46,110,142,.85); }
.page-id-3631 .eagleor-lvl-cap { font-size: 12.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--t-brown); }
.page-id-3631 .eagleor-lvl-bar { flex: 1 1 auto; min-width: 18px; height: 3px; background: var(--t-blue); opacity: .35; border-radius: 2px; margin-top: 26px; }
.page-id-3631 .eagleor-lvl-note { text-align: center; font-size: 15px; color: #6a5e52; margin: 22px auto 0; max-width: 560px; }
@media (max-width: 666px) {
	.page-id-3631 .eagleor-lvl-num { width: 46px; height: 46px; font-size: 20px; }
	.page-id-3631 .eagleor-lvl-cap { font-size: 11px; }
	.page-id-3631 .eagleor-lvl-bar { min-width: 10px; margin-top: 21px; }
}

/* EDUCATION TOUCHPOINTS - linked Education card title (home 3570) + admissions note (5162) */
.page-id-3570 .eagleor-feat-item h3 a { color: inherit; text-decoration: none; transition: color .2s; }
.page-id-3570 .eagleor-feat-item h3 a:hover { color: var(--t-blue); text-decoration: underline; }
.page-id-5162 .eagleor-edu-note { max-width: 760px; margin: 40px auto 0; text-align: center; font-size: 16px; color: #6a5e52; line-height: 1.7; }
.page-id-5162 .eagleor-edu-note a { color: var(--t-blue); font-weight: 700; text-decoration: underline; }

/* CTA two-button row */
/* the inner CTA button-row container must NOT inherit the base .eagleor-team-cta .elementor-container
   88px padding (that 2-class rule leaks into inner containers) — shared across all V7 pages */
.eagleor-v7 .eagleor-cta-btnrow > .elementor-container { padding: 0 !important; }
.eagleor-cta-btns > .elementor-widget-wrap { display: flex; flex-direction: row; justify-content: center; gap: 14px; flex-wrap: wrap; }
.eagleor-cta-btns > .elementor-widget-wrap > .elementor-widget { width: auto !important; max-width: none; margin-bottom: 0 !important; }
/* ghost button: Elementor's default dark button bg wins without the .eagleor-team-cta scope + !important */
.eagleor-team-cta .eagleor-cta-btn-ghost a { background: rgba(255,255,255,.10) !important; color: #fff !important; border: 1.5px solid rgba(255,255,255,.55);
	font-weight: 700; font-size: 15px; padding: 15px 28px; border-radius: 100px; min-height: 52px; }
.eagleor-team-cta .eagleor-cta-btn-ghost a:hover { background: rgba(255,255,255,.16) !important; }

/* reused CTA + TRUST: 100px section padding on Our Approach (HTML section{padding:100px}) */
.page-id-3631 .eagleor-team-cta > .elementor-container { padding: 100px 44px !important; }
.page-id-3631 .eagleor-trust > .elementor-container { padding: 100px 44px !important; }
.page-id-3631 .eagleor-seals > .elementor-container { padding: 42px 0 0 !important; align-items: flex-start; }
.page-id-3631 .eagleor-seals .elementor-widget-wrap { padding: 0 !important; }
.page-id-3631 .eagleor-trust .eagleor-trust-h2 :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(34px,4.6vw,52px); margin-top: 14px; }

/* OUR APPROACH responsive */
@media (max-width: 1000px) {
	.page-id-3631 .eagleor-split > .elementor-container { flex-direction: column; }
	.page-id-3631 .eagleor-split > .elementor-container > .elementor-column { width: 100% !important; }
	.eagleor-split-rev .eagleor-split-pic, .eagleor-split-rev .eagleor-split-body { order: 0; }
	.page-id-3631 .eagleor-split-pic, .page-id-3631 .eagleor-split-pic > .elementor-element-populated { min-height: 340px !important; }
	.page-id-3631 .eagleor-split-body > .elementor-element-populated { padding: 54px 40px; }
	.eagleor-v7 .eagleor-deflist.two { grid-template-columns: 1fr !important; }
	.page-id-3631 .eagleor-cards > .elementor-container { flex-wrap: wrap; }
	.page-id-3631 .eagleor-card-col { width: calc((100% - 24px) / 2) !important; }
}
@media (max-width: 666px) {
	.page-id-3631 .eagleor-seals > .elementor-container { flex-direction: column; align-items: center; }
	.page-id-3631 .eagleor-seals > .elementor-container > .elementor-column { width: 100% !important; max-width: 360px; }
	.page-id-3631 .eagleor-seals > .elementor-container > .elementor-column + .elementor-column { margin-top: 22px; }
}
@media (max-width: 600px) {
	.page-id-3631 .eagleor-sec > .elementor-container { padding: 72px 22px !important; }
	.page-id-3631 .eagleor-team-cta > .elementor-container,
	.page-id-3631 .eagleor-trust > .elementor-container { padding: 72px 22px !important; }
	/* settings (3-col) stacks to 1; nature (.eagleor-cards-2) keeps 2-col like the HTML
	   blueprint's inline grid-template-columns:1fr 1fr (which the media query can't override) */
	.page-id-3631 .eagleor-card-col { width: 100% !important; }
	.page-id-3631 .eagleor-cards-2 .eagleor-card-col { width: calc((100% - 24px) / 2) !important; }
	.page-id-3631 .eagleor-mod { padding: 30px 26px; }
}

/* ===================================================================== */
/* HOME / FRONT PAGE (post 3570) — V7. Reuses shared shell + helpers.     */
/* Source of truth: "Client Loved - V7-good copy/home.html"              */
/* ===================================================================== */
.page-id-3570 .eagleor-lead p { max-width: 620px; }

/* HERO — full photo + dark directional gradient */
.eagleor-v7 .eagleor-hero { min-height: 700px; display: flex; align-items: center;
	background-color: #1e1610;
	background-position: center 68% !important; background-size: cover !important; background-repeat: no-repeat !important; }
.eagleor-hero .elementor-background-overlay { opacity: 1 !important; }
/* Hero photo is a REAL <picture><img> (the LCP element), injected as the hero's first child via
   functions.php - NOT a CSS background. It covers the section behind the gradient overlay (z-index 1)
   and the text container (z-index 2). Removing the section background-image avoids a double download. */
.page-id-3570 .eagleor-hero { background-image: none !important; overflow: hidden; }
.eagleor-hero-pic { position: absolute; inset: 0; z-index: 0; }
.eagleor-hero-img { width: 100%; height: 100%; object-fit: cover; object-position: center 68%; display: block; }
.eagleor-hero > .elementor-background-overlay { z-index: 1; }
.page-id-3570 .eagleor-hero > .elementor-container { padding: 74px 44px 84px !important; position: relative; z-index: 2; }
.eagleor-hero-eyebrow .eagleor-eyebrow { color: #9fd0e0; }
.eagleor-hero-eyebrow .eagleor-eyebrow::before { background: #9fd0e0; }
.eagleor-v7 .eagleor-hero-h1 :is(h1,h2,h3,h4,h5,h6) { color: #fff !important; font-family: var(--t-serif) !important; font-weight: 700;
	font-size: clamp(40px,5.8vw,72px); max-width: 760px; margin: 20px 0 22px; line-height: 1.06; letter-spacing: -.01em; }
.eagleor-v7 .eagleor-hero-h1 em { font-style: italic; color: #bfe0ec; font-weight: 600; }
/* Hero subhead - added 2026-08-05 when the H1 was re-pointed at the commercial phrase
   and this emotional line was demoted from H1 to a subhead. Anchored to our own
   .eagleor-hero-sub class, reusing the hero's existing accent colour and serif face
   so it introduces no new design tokens and no new Elementor coupling. */
.eagleor-v7 .eagleor-hero-sub :is(h1,h2,h3,h4,h5,h6) { color: #bfe0ec; font-family: var(--t-serif) !important;
	font-style: italic; font-weight: 500; font-size: clamp(20px,2.3vw,27px); line-height: 1.25;
	max-width: 620px; margin: -8px 0 20px; letter-spacing: -.005em; }
.eagleor-v7 .eagleor-hero-p p { color: #ece3d6; font-size: 19px; max-width: 560px; margin-bottom: 34px; }
.eagleor-ministrip { display: flex; gap: 26px; flex-wrap: wrap; margin-top: 40px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.18); }
.eagleor-ministrip .m { color: #fff; font-size: 13.5px; display: flex; align-items: center; gap: 9px; font-weight: 500; }
.eagleor-ministrip .m svg { width: 17px; height: 17px; stroke: #9fd0e0; fill: none; stroke-width: 1.8; }

/* button row (hero + fcta) */
.page-id-3570 .eagleor-btnrow > .elementor-container { padding: 0 !important; }
.eagleor-btns > .elementor-widget-wrap { display: flex; flex-direction: row; gap: 14px; flex-wrap: wrap; }
.eagleor-btns-center > .elementor-widget-wrap { justify-content: center; }
.eagleor-btns > .elementor-widget-wrap > .elementor-widget { width: auto !important; max-width: none; margin-bottom: 0 !important; }
.eagleor-v7 .eagleor-btn-blue a { background: var(--t-blue); color: #fff; font-weight: 700; font-size: 15px; padding: 15px 28px; border-radius: 100px; min-height: 52px; }
.eagleor-v7 .eagleor-btn-blue a:hover { background: var(--t-blue-d); }
.eagleor-v7 .eagleor-btn-blue a i, .eagleor-v7 .eagleor-btn-blue a svg { color: #fff; fill: #fff; }
/* Keep phone/CTA labels on one line - a CallRail-swapped number must never wrap a pill button onto a 2nd line (mobile full-width buttons). */
.eagleor-v7 .eagleor-btn-blue a, .eagleor-v7 .eagleor-btn-ghost a, .eagleor-callcard-btn a, .eagleor-cta-btn a, .eagleor-cta-btn-ghost a { white-space: nowrap; }
.eagleor-v7 .eagleor-btn-ghost a { background: rgba(255,255,255,.07) !important; color: #fff !important; border: 1.5px solid rgba(255,255,255,.55); font-weight: 700; font-size: 15px; padding: 15px 28px; border-radius: 100px; min-height: 52px; }
.eagleor-v7 .eagleor-btn-ghost a:hover { background: rgba(255,255,255,.16) !important; }

/* STATS — 5-up bar */
.eagleor-v7 .eagleor-stats { background: var(--t-cream2); border-bottom: 1px solid var(--t-line); }
.page-id-3570 .eagleor-stats > .elementor-container { padding: 0 44px !important; }
.eagleor-stat { border-right: 1px solid var(--t-line); }
.eagleor-stat:last-child { border-right: none; }
.eagleor-stat-in { text-align: center; padding: 38px 16px; }
.eagleor-stat-in b { display: block; font-family: var(--t-serif); font-size: clamp(30px,3.4vw,42px); color: var(--t-blue); font-weight: 700; line-height: 1; }
.eagleor-stat-in span { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--t-taupe); margin-top: 9px; display: block; }

/* ABOUT — full-bleed split (reuse .eagleor-about*) */
.page-id-3570 .eagleor-about > .elementor-container { padding: 0 !important; align-items: stretch; gap: 0; }
.page-id-3570 .eagleor-about > .elementor-container > .elementor-column { width: 50% !important; }
.page-id-3570 .eagleor-about-pic { min-height: 560px; }
.page-id-3570 .eagleor-about-body > .elementor-element-populated { padding: 84px 70px; }
.page-id-3570 .eagleor-about-body p { font-size: 16.5px; color: #574c40; margin-top: 20px; }
.page-id-3570 .eagleor-tags-left { justify-content: flex-start; margin-top: 28px; }
.page-id-3570 .eagleor-tag { padding: 8px 16px; }

/* APPROACH — topography texture + 6 cards */
.eagleor-v7 .eagleor-approach { background: var(--t-cream); position: relative; overflow: hidden; }
.eagleor-approach::before { content: ""; position: absolute; inset: 0;
	background: url('/wp-content/uploads/2026/06/topography-lines-only.webp') center/1500px auto no-repeat; opacity: .07; pointer-events: none; }
.eagleor-approach > .elementor-container { position: relative; z-index: 1; }
.page-id-3570 .eagleor-approach > .elementor-container { padding-bottom: 60px !important; }
.page-id-3570 .eagleor-card { padding: 32px; }
.page-id-3570 .eagleor-card h3 { font-size: 20px; }

/* shared card grid (approach + reused on home) */
.page-id-3570 .eagleor-cards > .elementor-container { padding: 50px 0 0 !important; gap: 24px; align-items: stretch; flex-wrap: wrap; }
.page-id-3570 .eagleor-card-col > .elementor-element-populated { padding: 0; height: 100%; }
.page-id-3570 .eagleor-card-col { width: calc((100% - 48px) / 3) !important; }

/* GALLERY — 4 image cards */
.page-id-3570 .eagleor-gallery > .elementor-container { padding-top: 44px !important; }
.page-id-3570 .eagleor-gal > .elementor-container { padding: 50px 0 0 !important; gap: 18px; flex-wrap: wrap; }
.page-id-3570 .eagleor-gcard-col { width: calc((100% - 54px) / 4) !important; }
.eagleor-gcard .im { border-radius: 16px; overflow: hidden; aspect-ratio: 4/5; position: relative; box-shadow: 0 16px 36px -24px rgba(44,33,24,.5); }
.eagleor-gcard .ph { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .6s ease; }
.eagleor-gcard:hover .ph { transform: scale(1.06); }
.eagleor-gcard .cap { margin-top: 14px; text-align: center; font-weight: 700; color: var(--t-brown); font-size: 15px; }

/* WHY — 4 feature columns */
.eagleor-v7 .eagleor-why { background: var(--t-cream2); }
.page-id-3570 .eagleor-feat > .elementor-container { padding: 50px 0 0 !important; gap: 28px; flex-wrap: wrap; }
.page-id-3570 .eagleor-feat-col { width: calc((100% - 84px) / 4) !important; }
.eagleor-feat-item { text-align: center; }
.eagleor-feat-item .ic { width: 68px; height: 68px; border-radius: 50%; background: var(--t-brown); margin: 0 auto 18px; display: flex; align-items: center; justify-content: center; }
.page-id-3570 .eagleor-feat-col:nth-child(even) .eagleor-feat-item .ic { background: var(--t-blue); }
.eagleor-feat-item .ic svg { width: 30px; height: 30px; stroke: #fff; fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.eagleor-feat-item h3 { font-family: var(--t-serif); font-size: 19px; color: var(--t-brown); font-weight: 700; }
.eagleor-v7 .eagleor-feat-item p { font-size: 14.5px; color: #6a5e52; margin-top: 8px; }

/* TESTIMONIALS — 3 real Google reviews */
.eagleor-v7 .eagleor-testi { background: var(--t-sand-bg); }
.page-id-3570 .eagleor-tgrid > .elementor-container { padding: 50px 0 0 !important; gap: 24px; align-items: stretch; flex-wrap: wrap; }
.page-id-3570 .eagleor-tcard-col { width: calc((100% - 48px) / 3) !important; }
.page-id-3570 .eagleor-tcard-col > .elementor-element-populated,
.page-id-3570 .eagleor-tcard-col .elementor-widget-text-editor,
.page-id-3570 .eagleor-tcard-col .elementor-widget-text-editor > .elementor-widget-container { height: 100%; }
.eagleor-tcard { background: #fff; border: 1px solid var(--t-line); border-radius: 18px; padding: 32px; display: flex; flex-direction: column; box-shadow: 0 18px 40px -28px rgba(44,33,24,.45); height: 100%; }
.eagleor-tcard .tstars { display: flex; gap: 3px; color: #dd9b16; margin-bottom: 16px; }
.eagleor-tcard .tstars svg { width: 18px; height: 18px; }
.eagleor-v7 .eagleor-tcard .tquote { font-size: 16px; color: #4f463b; line-height: 1.7; flex: 1; }
.eagleor-tcard .tauthor { display: flex; align-items: center; gap: 14px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--t-line); }
.eagleor-tcard .tav { width: 46px; height: 46px; border-radius: 50%; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-family: var(--t-serif); font-size: 20px; flex-shrink: 0; }
.eagleor-tcard .tav.av-blue { background: var(--t-blue); }
.eagleor-tcard .tav.av-brown { background: var(--t-brown); }
.eagleor-tcard .tav.av-blued { background: var(--t-blue-d); }
.eagleor-tcard .tname { font-weight: 700; font-size: 14.5px; color: var(--t-espresso); }
.eagleor-tcard .tsrc { font-size: 12.5px; color: var(--t-taupe); display: flex; align-items: center; gap: 6px; margin-top: 2px; }
.eagleor-tcard .tsrc svg { width: 14px; height: 14px; }
.eagleor-tlink-wrap { text-align: center; margin-top: 42px; }
.eagleor-tlink { display: inline-flex; align-items: center; gap: 9px; color: var(--t-blue); font-weight: 700; font-size: 15px; }
.eagleor-tlink:hover { color: var(--t-blue-d); }
.eagleor-tlink svg { width: 14px; height: 14px; }

/* FAMILY CTA — full photo + dark overlay, centered */
.eagleor-v7 .eagleor-fcta { text-align: center; background-color: #1c150f;
	background-position: center 58% !important; background-size: cover !important; background-repeat: no-repeat !important; }
.eagleor-fcta .elementor-background-overlay { opacity: 1 !important; }
.page-id-3570 .eagleor-fcta > .elementor-container { padding: 110px 44px !important; }
.eagleor-fcta .eagleor-eyebrow { color: #9fd0e0; }
.eagleor-fcta .eagleor-eyebrow::before { background: #9fd0e0; }
.eagleor-v7 .eagleor-fcta-h2 :is(h1,h2,h3,h4,h5,h6) { color: #fff !important; font-family: var(--t-serif) !important; font-weight: 700;
	font-size: clamp(34px,5vw,56px); margin-top: 14px; line-height: 1.12; letter-spacing: -.01em; }
.eagleor-v7 .eagleor-fcta-h2 em { font-style: italic; color: #bfe0ec; font-weight: 600; }
.eagleor-v7 .eagleor-fcta-p p { color: #ece3d6; font-size: 18px; max-width: 600px; margin: 18px auto 32px; }

/* HOME responsive */
@media (max-width: 1000px) {
	.eagleor-hero-h1 :is(h1,h2,h3,h4,h5,h6) { font-size: 38px; }
	.eagleor-v7 .eagleor-hero-sub :is(h1,h2,h3,h4,h5,h6) { font-size: 19px; margin: -4px 0 18px; }
	.page-id-3570 .eagleor-about > .elementor-container { flex-direction: column; }
	.page-id-3570 .eagleor-about > .elementor-container > .elementor-column { width: 100% !important; }
	.page-id-3570 .eagleor-about-pic,
	.page-id-3570 .eagleor-about-pic > .elementor-element-populated { min-height: 340px !important; }
	.page-id-3570 .eagleor-about-body > .elementor-element-populated { padding: 54px 40px; }
	.page-id-3570 .eagleor-card-col { width: calc((100% - 24px) / 2) !important; }
	.page-id-3570 .eagleor-gcard-col { width: calc((100% - 18px) / 2) !important; }
	.page-id-3570 .eagleor-feat-col { width: calc((100% - 28px) / 2) !important; }
	.page-id-3570 .eagleor-tcard-col { width: 100% !important; }
	/* 4-tile stat bar (the "54 Wooded Acres" tile was removed 2026-06-21): clean 2x2 on tablet. */
	.page-id-3570 .eagleor-stat { width: 50% !important; }
	.page-id-3570 .eagleor-stat:nth-child(2n) { border-right: none; }
	.page-id-3570 .eagleor-stat:nth-child(-n+2) { border-bottom: 1px solid var(--t-line); }
	.page-id-3570 .eagleor-stat:nth-last-child(-n+2) { border-bottom: none; }
}
@media (max-width: 600px) {
	.page-id-3570 .eagleor-sec > .elementor-container { padding: 72px 22px !important; }
	.page-id-3570 .eagleor-card-col { width: 100% !important; }
	.page-id-3570 .eagleor-gcard-col { width: calc((100% - 18px) / 2) !important; }
	.page-id-3570 .eagleor-feat-col { width: calc((100% - 28px) / 2) !important; }
	.page-id-3570 .eagleor-stat { width: 50% !important; border-right: none; border-bottom: 1px solid var(--t-line); }
	.page-id-3570 .eagleor-stat:nth-last-child(-n+2) { border-bottom: none; }
	.page-id-3570 .eagleor-hero > .elementor-container { padding-left: 22px !important; padding-right: 22px !important; }
	.page-id-3570 .eagleor-fcta > .elementor-container { padding-left: 22px !important; padding-right: 22px !important; }
	.page-id-3570 .eagleor-stats > .elementor-container { padding-left: 22px !important; padding-right: 22px !important; }
}

/* HOME trust — same direct-container + seals fixes as the other pages (HTML section padding 100) */
.page-id-3570 .eagleor-trust > .elementor-container { padding: 100px 44px !important; }
.page-id-3570 .eagleor-seals > .elementor-container { padding: 42px 0 0 !important; align-items: flex-start; }
.page-id-3570 .eagleor-seals .elementor-widget-wrap { padding: 0 !important; }
.page-id-3570 .eagleor-trust .eagleor-trust-h2 :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(34px,4.6vw,52px); margin-top: 14px; }
@media (max-width: 666px) {
	.page-id-3570 .eagleor-seals > .elementor-container { flex-direction: column; align-items: center; }
	.page-id-3570 .eagleor-seals > .elementor-container > .elementor-column { width: 100% !important; max-width: 360px; }
	.page-id-3570 .eagleor-seals > .elementor-container > .elementor-column + .elementor-column { margin-top: 22px; }
}
@media (max-width: 600px) {
	.page-id-3570 .eagleor-trust > .elementor-container { padding: 72px 22px !important; }
}

/* ===================================================================== */
/* WHY CHOOSE US (post 2894) — V7. Reuses shared shell + helpers.         */
/* Source of truth: "Client Loved - V7-good copy/why-choose-us.html"     */
/* ===================================================================== */
.page-id-2894 .eagleor-pagehead .eagleor-ph-p p { max-width: 740px; }

/* SPLIT (treatment, campus-rev, holistic) — full-bleed photo + body */
.page-id-2894 .eagleor-split > .elementor-container { padding: 0 !important; align-items: stretch; gap: 0; }
.page-id-2894 .eagleor-split > .elementor-container > .elementor-column { width: 50% !important; }
.page-id-2894 .eagleor-split-body > .elementor-element-populated { padding: 90px 70px;
	display: flex; flex-direction: column; justify-content: center; background: var(--t-cream2); }
.page-id-2894 .eagleor-split-rev .eagleor-split-body > .elementor-element-populated { background: var(--t-cream); }
.page-id-2894 .eagleor-split-pic, .page-id-2894 .eagleor-split-pic > .elementor-element-populated { min-height: 580px;
	background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important; }
.page-id-2894 .eagleor-split-pic > .elementor-element-populated { padding: 0 !important; }
.page-id-2894 .eagleor-split-rev .eagleor-split-pic { order: 2; }
.page-id-2894 .eagleor-split-rev .eagleor-split-body { order: 1; }

/* MOD feature cards (this page: h3 22 / p 15.5; no tag pill) */
.page-id-2894 .eagleor-mod { padding: 38px 40px; }
.page-id-2894 .eagleor-mod h3 { font-size: 22px; }
.eagleor-v7 .page-id-2894 .eagleor-mod p,
.page-id-2894 .eagleor-mod p { font-size: 15.5px; color: #574c40; margin-top: 14px; }
.page-id-2894 .eagleor-mod p + p { margin-top: 12px; }

/* modwrap — 2-col (treatment-cont + small-by-design) and 1-col (daily life) */
.page-id-2894 .eagleor-modwrap-two > .elementor-container { max-width: 1120px !important; margin: 0 auto !important; padding: 46px 0 0 !important; gap: 22px; align-items: stretch; flex-wrap: wrap; }
.page-id-2894 .eagleor-modwrap-flush > .elementor-container { padding-top: 0 !important; }
.page-id-2894 .eagleor-mod-col { width: calc((100% - 22px) / 2) !important; }
.page-id-2894 .eagleor-modwrap > .elementor-container { max-width: 1120px !important; margin: 0 auto !important; padding: 46px 0 0 !important; }
.page-id-2894 .eagleor-modwrap-col .eagleor-mod-w:not(:last-child) .eagleor-mod { margin-bottom: 22px; }
/* equal-height 2-col mod cards */
.page-id-2894 .eagleor-modwrap-two .eagleor-mod-col > .elementor-element-populated,
.page-id-2894 .eagleor-modwrap-two .eagleor-mod-col .elementor-widget-text-editor,
.page-id-2894 .eagleor-modwrap-two .eagleor-mod-col .elementor-widget-text-editor > .elementor-widget-container { height: 100%; }
.page-id-2894 .eagleor-modwrap-two .eagleor-mod { height: 100%; }

/* section backgrounds */
.eagleor-v7 .eagleor-modsec { background: var(--t-cream); }
.eagleor-v7 .eagleor-mindbody { background: var(--t-cream); }
.eagleor-v7 .eagleor-daily { background: var(--t-cream2); }

/* CARD grid (Mind/Body/Spirit) */
.page-id-2894 .eagleor-cards > .elementor-container { padding: 50px 0 0 !important; gap: 24px; align-items: stretch; flex-wrap: wrap; }
.page-id-2894 .eagleor-card-col > .elementor-element-populated { padding: 0; height: 100%; }
.page-id-2894 .eagleor-card-col { width: calc((100% - 48px) / 3) !important; }

/* reused CTA + TRUST: 100px section padding (HTML section{padding:100px}) */
.page-id-2894 .eagleor-team-cta > .elementor-container { padding: 100px 44px !important; }
.page-id-2894 .eagleor-trust > .elementor-container { padding: 100px 44px !important; }
.page-id-2894 .eagleor-seals > .elementor-container { padding: 42px 0 0 !important; align-items: flex-start; }
.page-id-2894 .eagleor-seals .elementor-widget-wrap { padding: 0 !important; }
.page-id-2894 .eagleor-trust .eagleor-trust-h2 :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(34px,4.6vw,52px); margin-top: 14px; }

/* WHY CHOOSE US responsive */
@media (max-width: 1000px) {
	.page-id-2894 .eagleor-split > .elementor-container { flex-direction: column; }
	.page-id-2894 .eagleor-split > .elementor-container > .elementor-column { width: 100% !important; }
	.page-id-2894 .eagleor-split-rev .eagleor-split-pic, .page-id-2894 .eagleor-split-rev .eagleor-split-body { order: 0; }
	.page-id-2894 .eagleor-split-pic, .page-id-2894 .eagleor-split-pic > .elementor-element-populated { min-height: 340px !important; }
	.page-id-2894 .eagleor-split-body > .elementor-element-populated { padding: 54px 40px; }
	.page-id-2894 .eagleor-mod-col { width: 100% !important; }
	.page-id-2894 .eagleor-card-col { width: calc((100% - 24px) / 2) !important; }
}
@media (max-width: 666px) {
	.page-id-2894 .eagleor-seals > .elementor-container { flex-direction: column; align-items: center; }
	.page-id-2894 .eagleor-seals > .elementor-container > .elementor-column { width: 100% !important; max-width: 360px; }
	.page-id-2894 .eagleor-seals > .elementor-container > .elementor-column + .elementor-column { margin-top: 22px; }
}
@media (max-width: 600px) {
	.page-id-2894 .eagleor-sec > .elementor-container { padding: 72px 22px !important; }
	.page-id-2894 .eagleor-team-cta > .elementor-container,
	.page-id-2894 .eagleor-trust > .elementor-container { padding: 72px 22px !important; }
	.page-id-2894 .eagleor-card-col { width: 100% !important; }
	.page-id-2894 .eagleor-mod { padding: 30px 26px; }
}

/* ===================================================================== */
/* PHOTO TOUR (post 3068) — V7. Reuses shared shell + helpers.            */
/* ===================================================================== */
.page-id-3068 .eagleor-pagehead .eagleor-ph-p p { max-width: 720px; }
.page-id-3068 .eagleor-lead p { max-width: 680px; }
/* full-bleed photo band + caption overlay */
.eagleor-v7 .eagleor-photoband { position: relative; min-height: 480px; display: flex; align-items: flex-end;
	background-size: cover !important; background-position: center 40% !important; background-repeat: no-repeat !important; }
.eagleor-photoband > .elementor-container { width: 100% !important; max-width: 100% !important; padding: 0 !important; }
.page-id-3068 .eagleor-photoband-cap > .elementor-element-populated { padding: 54px 0 40px;
	background: linear-gradient(transparent, rgba(28,21,15,.72)); }
.eagleor-photoband-cap .elementor-widget-wrap { max-width: 1200px; margin: 0 auto; padding: 0 44px; width: 100%; }
.eagleor-photoband-cap .eagleor-eyebrow { color: #9fd0e0; }
.eagleor-photoband-cap .eagleor-eyebrow::before { background: #9fd0e0; }
.eagleor-v7 .eagleor-band-h2 :is(h1,h2,h3,h4,h5,h6) { color: #fff !important; font-family: var(--t-serif) !important; font-weight: 700;
	font-size: clamp(26px,3.4vw,38px); margin-top: 10px; line-height: 1.12; letter-spacing: -.01em; }
.eagleor-v7 .eagleor-band-h2 em { font-style: italic; color: #bfe0ec; font-weight: 600; }
/* gallery 3-col (sand bg) */
.eagleor-v7 .eagleor-gallery { background: var(--t-sand-bg); }
.page-id-3068 .eagleor-gal3 > .elementor-container { padding: 50px 0 0 !important; gap: 22px; flex-wrap: wrap; }
.page-id-3068 .eagleor-gcard-col { width: calc((100% - 44px) / 3) !important; }
/* (.eagleor-gcard .im/.ph/.cap styling reused from the Home block) */
/* click-to-enlarge: lightbox link fills the tile; .ph (absolute inset:0) fills the link, so hover-zoom + cover are unchanged */
.page-id-3068 .eagleor-gcard .im > a { position: absolute; inset: 0; display: block; cursor: pointer; z-index: 1; }
.page-id-3068 .eagleor-team-cta > .elementor-container { padding: 100px 44px !important; }
.page-id-3068 .eagleor-trust > .elementor-container { padding: 100px 44px !important; }
.page-id-3068 .eagleor-seals > .elementor-container { padding: 42px 0 0 !important; align-items: flex-start; }
.page-id-3068 .eagleor-seals .elementor-widget-wrap { padding: 0 !important; }
.page-id-3068 .eagleor-trust .eagleor-trust-h2 :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(34px,4.6vw,52px); margin-top: 14px; }
@media (max-width: 1000px) {
	.page-id-3068 .eagleor-gcard-col { width: calc((100% - 22px) / 2) !important; }
}
@media (max-width: 666px) {
	.page-id-3068 .eagleor-seals > .elementor-container { flex-direction: column; align-items: center; }
	.page-id-3068 .eagleor-seals > .elementor-container > .elementor-column { width: 100% !important; max-width: 360px; }
	.page-id-3068 .eagleor-seals > .elementor-container > .elementor-column + .elementor-column { margin-top: 22px; }
}
@media (max-width: 600px) {
	.page-id-3068 .eagleor-sec > .elementor-container { padding: 72px 22px !important; }
	.page-id-3068 .eagleor-gcard-col { width: calc((100% - 22px) / 2) !important; }
	.eagleor-v7 .eagleor-photoband { min-height: 360px; }
	.page-id-3068 .eagleor-team-cta > .elementor-container,
	.page-id-3068 .eagleor-trust > .elementor-container { padding: 72px 22px !important; }
}

/* ===================================================================== */
/* CONTACT (post 3651) — V7. Reuses shared shell. (Yoast untouched.)      */
/* ===================================================================== */
.page-id-3651 .eagleor-ph-h1 :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(38px,5vw,58px); margin: 16px 0 16px; }
.page-id-3651 .eagleor-pagehead .eagleor-ph-p p { max-width: 720px; }
/* Contact hero: shorten so the "Send us a message" form is in view without a long scroll. Zero the call-
   button row's container padding at ALL widths (it was ~200px around a 52px button), and reduce the hero
   vertical padding on desktop/tablet (mobile keeps its own tighter 44/22 values in the <=600 block). */
.page-id-3651 .eagleor-pagehead .eagleor-ph-btnrow > .elementor-container { padding: 0 !important; }
.page-id-3651 .eagleor-pagehead .eagleor-ph-btnrow { margin-top: 24px; }
@media (min-width: 601px) {
	.page-id-3651 .eagleor-pagehead .elementor-container { padding-top: 64px !important; padding-bottom: 36px !important; }
}
/* contact 2-col grid */
.page-id-3651 .eagleor-contact > .elementor-container { gap: 54px; align-items: start; }
.page-id-3651 .eagleor-contact > .elementor-container > .elementor-column.eagleor-formbox { width: 55% !important; }
.page-id-3651 .eagleor-contact > .elementor-container > .elementor-column.eagleor-contact-right { width: 45% !important; }
.page-id-3651 .eagleor-formbox > .elementor-element-populated { background: var(--t-cream2); border: 1px solid var(--t-line); border-radius: 18px; padding: 42px 44px; }
.eagleor-formbox-eyebrow h4 { font-family: var(--t-sans); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--t-blue); font-weight: 700; }
.page-id-3651 .eagleor-formbox-h2 :is(h1,h2,h3,h4,h5,h6) { font-size: 26px; margin-top: 10px; }
.page-id-3651 .eagleor-formbox-h2 em { font-style: italic; color: var(--t-blue); }
.eagleor-confidential { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; color: var(--t-blue-d); background: var(--t-blue-soft); border: 1px solid #bcd6e0; padding: 8px 14px; border-radius: 100px; font-size: 12.5px; font-weight: 700; }
.eagleor-v7 .eagleor-formnote p { margin-top: 18px; font-size: 15.5px; color: #574c40; }
.eagleor-formnote a { color: var(--t-blue); font-weight: 700; }
.eagleor-cf7 { margin-top: 24px; }
.eagleor-cf7 input[type=text], .eagleor-cf7 input[type=email], .eagleor-cf7 input[type=tel], .eagleor-cf7 textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--t-line); border-radius: 10px; font-family: var(--t-sans); font-size: 15px; background: var(--t-cream); margin-top: 8px; }
.eagleor-cf7 .wpcf7-submit { background: var(--t-blue); color: #fff; border: 0; border-radius: 100px; padding: 14px 28px; font-weight: 700; font-size: 15px; min-height: 50px; margin-top: 14px; cursor: pointer; }
.eagleor-cf7 .wpcf7-submit:hover { background: var(--t-blue-d); }
/* NAP card + steps */
.eagleor-napcard { background: var(--t-cream2); border: 1px solid var(--t-line); border-radius: 18px; padding: 36px 40px; }
.eagleor-napcard .nap-row { display: flex; gap: 14px; align-items: flex-start; margin-top: 20px; }
.eagleor-napcard .nap-row:first-of-type { margin-top: 18px; }
.eagleor-napcard .nap-row .ic { flex-shrink: 0; width: 40px; height: 40px; border-radius: 11px; background: var(--t-blue-soft); display: flex; align-items: center; justify-content: center; }
.eagleor-napcard .nap-row .ic svg { width: 19px; height: 19px; stroke: var(--t-blue); fill: none; stroke-width: 1.7; }
.eagleor-napcard .nap-row b { display: block; font-family: var(--t-sans); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--t-taupe); margin-bottom: 3px; font-weight: 700; }
.eagleor-napcard .nap-row span, .eagleor-napcard .nap-row a { font-size: 15.5px; color: var(--t-espresso); }
.eagleor-napcard .nap-row a { color: var(--t-blue); font-weight: 700; }
.eagleor-steps-block { margin-top: 28px; padding: 0 4px; }
.eagleor-steps { counter-reset: s; margin-top: 22px; display: grid; gap: 14px; }
.eagleor-v7 .eagleor-steps li { list-style: none; position: relative; padding: 2px 0 2px 48px; font-size: 15px; color: #574c40; line-height: 1.6; }
.eagleor-v7 .eagleor-steps li::before { counter-increment: s; content: counter(s); position: absolute; left: 0; top: 0; width: 32px; height: 32px; border-radius: 50%; background: var(--t-blue); color: #fff; font-family: var(--t-serif); font-weight: 700; display: flex; align-items: center; justify-content: center; font-size: 15px; }
.page-id-3651 .eagleor-team-cta > .elementor-container { padding: 100px 44px !important; }
@media (max-width: 1000px) {
	.page-id-3651 .eagleor-contact > .elementor-container { flex-direction: column; gap: 34px; }
	.page-id-3651 .eagleor-contact > .elementor-container > .elementor-column.eagleor-formbox,
	.page-id-3651 .eagleor-contact > .elementor-container > .elementor-column.eagleor-contact-right { width: 100% !important; }
}
@media (max-width: 600px) {
	.page-id-3651 .eagleor-sec > .elementor-container { padding: 72px 22px !important; }
	.page-id-3651 .eagleor-team-cta > .elementor-container { padding: 72px 22px !important; }
	.page-id-3651 .eagleor-formbox > .elementor-element-populated, .eagleor-napcard { padding: 30px 26px; }
}

/* ===================================================================== */
/* FAQs (post 3639) — V7. Native <details> accordions. Reuses shell.      */
/* ===================================================================== */
.page-id-3639 .eagleor-pagehead .eagleor-ph-p p { max-width: 720px; }
.eagleor-v7 .eagleor-faqsec.eagleor-faq-cream2 { background: var(--t-cream2); }
.page-id-3639 .eagleor-faqgroup { max-width: 880px; margin: 0 auto !important; }
.eagleor-faq-h2 { text-align: center; }
.page-id-3639 .eagleor-faq-list { display: grid; gap: 14px; margin-top: 40px; }
.eagleor-faqd { background: var(--t-cream2); border: 1px solid var(--t-line); border-radius: 14px; overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.eagleor-faqsec.eagleor-faq-cream2 .eagleor-faqd { background: var(--t-cream); }
.eagleor-faqd[open] { border-color: #bcd6e0; box-shadow: 0 16px 34px -26px rgba(46,110,142,.55); }
.eagleor-faqd summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 24px 28px; font-family: var(--t-serif); font-size: 18.5px; font-weight: 700; color: var(--t-brown); }
.eagleor-faqd summary::-webkit-details-marker { display: none; }
.eagleor-faqd summary .ic { flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; background: var(--t-blue-soft); display: flex; align-items: center; justify-content: center; transition: transform .25s ease; }
.eagleor-faqd summary .ic svg { width: 14px; height: 14px; stroke: var(--t-blue); stroke-width: 2.6; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.eagleor-faqd[open] summary .ic { transform: rotate(180deg); }
.eagleor-faqd[open] summary { color: var(--t-blue-d); }
.eagleor-faqd .a { padding: 0 28px 26px; font-size: 15.5px; color: #574c40; line-height: 1.72; }
.eagleor-v7 .eagleor-faqd .a p { font-size: 15.5px; color: #574c40; line-height: 1.72; }
.eagleor-v7 .eagleor-faqd .a p + p { margin-top: 12px; }
.eagleor-v7 .eagleor-faqd .a ul { margin: 12px 0 0; padding-left: 6px; list-style: none; display: grid; gap: 8px; }
.eagleor-v7 .eagleor-faqd .a li { padding-left: 22px; position: relative; }
.eagleor-faqd .a li::before { content: ""; position: absolute; left: 0; top: 8px; width: 7px; height: 7px; border-radius: 50%; background: var(--t-blue); }
.page-id-3639 .eagleor-team-cta > .elementor-container { padding: 100px 44px !important; }
.page-id-3639 .eagleor-trust > .elementor-container { padding: 100px 44px !important; }
.page-id-3639 .eagleor-seals > .elementor-container { padding: 42px 0 0 !important; align-items: flex-start; }
.page-id-3639 .eagleor-seals .elementor-widget-wrap { padding: 0 !important; }
.page-id-3639 .eagleor-trust .eagleor-trust-h2 :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(34px,4.6vw,52px); margin-top: 14px; }
@media (max-width: 666px) {
	.page-id-3639 .eagleor-seals > .elementor-container { flex-direction: column; align-items: center; }
	.page-id-3639 .eagleor-seals > .elementor-container > .elementor-column { width: 100% !important; max-width: 360px; }
	.page-id-3639 .eagleor-seals > .elementor-container > .elementor-column + .elementor-column { margin-top: 22px; }
}
@media (max-width: 600px) {
	.page-id-3639 .eagleor-sec > .elementor-container { padding: 72px 22px !important; }
	.page-id-3639 .eagleor-team-cta > .elementor-container, .page-id-3639 .eagleor-trust > .elementor-container { padding: 72px 22px !important; }
	.eagleor-faqd summary { font-size: 16.5px; padding: 20px 22px; }
	.eagleor-faqd .a { padding: 0 22px 22px; }
}

/* ===================================================================== */
/* ADMISSIONS & INSURANCE (post 5162) — V7. NET-NEW. Reuses shared shell. */
/* ===================================================================== */
.page-id-5162 .eagleor-ph-h1 :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(40px,5.4vw,62px); margin: 16px 0 16px; }
.page-id-5162 .eagleor-lead p { max-width: 680px; }
.eagleor-v7 .eagleor-ph-p p { } /* shared */
.page-id-5162 .eagleor-pagehead .eagleor-ph-p p { max-width: 720px; margin-bottom: 28px; }
.page-id-5162 .eagleor-pagehead .eagleor-btnrow > .elementor-container { padding: 0 !important; }
.eagleor-v7 .eagleor-btn-outline a { background: transparent; color: var(--t-blue-d); border: 1.5px solid var(--t-blue); font-weight: 700; font-size: 15px; padding: 15px 28px; border-radius: 100px; min-height: 52px; }
.eagleor-v7 .eagleor-btn-outline a:hover { background: var(--t-blue-soft); }
/* steps (5-col) */
.page-id-5162 .eagleor-steps5 > .elementor-container { padding: 50px 0 0 !important; gap: 18px; flex-wrap: wrap; }
.page-id-5162 .eagleor-step-col { width: calc((100% - 72px) / 5) !important; }
.page-id-5162 .eagleor-step-col > .elementor-element-populated { padding: 0; height: 100%; }
.eagleor-step { background: var(--t-cream2); border: 1px solid var(--t-line); border-radius: 16px; padding: 28px 22px; text-align: left; height: 100%; }
.eagleor-step .n { width: 38px; height: 38px; border-radius: 50%; background: var(--t-blue); color: #fff; font-family: var(--t-serif); font-weight: 700; display: flex; align-items: center; justify-content: center; font-size: 17px; margin-bottom: 16px; }
.eagleor-step h3 { font-family: var(--t-serif); font-size: 16px; color: var(--t-brown); font-weight: 700; }
.eagleor-v7 .eagleor-step p { font-size: 13.5px; color: #6a5e52; margin-top: 8px; line-height: 1.6; }
.page-id-5162 .eagleor-steps5 .eagleor-step-col > .elementor-element-populated,
.page-id-5162 .eagleor-steps5 .eagleor-step-col .elementor-widget-text-editor,
.page-id-5162 .eagleor-steps5 .eagleor-step-col .elementor-widget-text-editor > .elementor-widget-container { height: 100%; }
/* insurance intro */
.eagleor-v7 .eagleor-insintro { background: var(--t-cream2); }
.eagleor-selfpay { display: inline-flex; align-items: center; gap: 9px; margin-top: 24px; background: var(--t-blue-soft); color: var(--t-blue-d); border: 1px solid #bcd6e0; padding: 10px 16px; border-radius: 100px; font-size: 13.5px; font-weight: 700; }
.eagleor-selfpay svg { stroke: currentColor; }
/* verify */
.eagleor-v7 .eagleor-verify { background: var(--t-cream2); }
.eagleor-v7 .eagleor-vgrid > .elementor-container { padding: 48px 0 0 !important; gap: 44px; align-items: start; }
.eagleor-v7 .eagleor-vgrid > .elementor-container > .eagleor-formcard { width: 62% !important; }
.eagleor-v7 .eagleor-vgrid > .elementor-container > .eagleor-tpanel-col { width: 38% !important; }
.eagleor-v7 .eagleor-formcard > .elementor-element-populated { background: #fff; border: 1px solid var(--t-line); border-radius: 18px; padding: 38px 40px !important; box-shadow: 0 20px 48px -32px rgba(44,33,24,.45); }
.eagleor-nocontact { display: flex; gap: 11px; align-items: flex-start; background: var(--t-blue-soft); border: 1px solid #bcd6e0; border-radius: 12px; padding: 14px 18px; margin-bottom: 26px; font-size: 13.5px; color: var(--t-blue-d); line-height: 1.5; }
.eagleor-nocontact svg { flex-shrink: 0; width: 18px; height: 18px; stroke: var(--t-blue); fill: none; stroke-width: 1.8; margin-top: 1px; }
/* Full-width fields: CF7's autoformat wraps each .frow's label pair into a single <p>, which broke the
   old 2-column grid (both fields landed in one half-width cell). Full-width single column reads clean. */
.eagleor-vform .frow { display: block; }
.eagleor-vform p { margin: 0 0 18px; }
.eagleor-vform label { display: block; font-size: 13px; font-weight: 700; color: var(--t-brown-d); margin-bottom: 7px; }
.eagleor-vform input, .eagleor-vform textarea { font-family: var(--t-sans); font-size: 15px; color: var(--t-espresso); background: var(--t-cream); border: 1.5px solid var(--t-line); border-radius: 10px; padding: 13px 15px; min-height: 48px; width: 100%; }
.eagleor-vform textarea { min-height: 104px; resize: vertical; }
.eagleor-vform input:focus, .eagleor-vform textarea:focus { outline: none; border-color: var(--t-blue); background: #fff; box-shadow: 0 0 0 3px rgba(46,110,142,.13); }
/* Field labels (added for parent/older-user clarity — label above every field) */
.eagleor-vform .eagleor-flabel { display: block; text-align: left; font-family: var(--t-sans); font-size: 14px; font-weight: 600; color: var(--t-espresso); margin-bottom: 18px; line-height: 1.3; }
.eagleor-vform .eagleor-flabel .opt { font-weight: 400; color: var(--t-taupe); }
.eagleor-vform .eagleor-flabel input, .eagleor-vform .eagleor-flabel textarea { margin-top: 7px; }
.eagleor-vform .frow { margin-bottom: 18px; }
.eagleor-vform .frow > .eagleor-flabel { margin-bottom: 0; }
/* CF7 autop normalisation: CF7 wraps field pairs in <p> and inserts <br> inside each .frow, which made
   within-pair gaps (73px) far bigger than between-row gaps (43px). Neutralise the injected <p>/<br> so
   EVERY field has the same vertical rhythm. (Scoped to the form - does not touch other CF7 forms.) */
.eagleor-vform .wpcf7-form p { margin: 0; }
.eagleor-vform .frow br { display: none; }
.eagleor-vform .frow { margin-bottom: 0; }
.eagleor-vform .eagleor-flabel { margin-bottom: 20px; }
.eagleor-vform .wpcf7-submit { width: 100%; background: var(--t-blue); color: #fff; border: none; border-radius: 100px; padding: 15px 28px; font-weight: 700; font-size: 15px; min-height: 52px; margin-top: 4px; cursor: pointer; }
.eagleor-vform .wpcf7-submit:hover { background: var(--t-blue-d); }
.eagleor-v7 .eagleor-formnote2 .form-note { font-size: 12.5px; color: var(--t-taupe); text-align: center; margin-top: 14px; line-height: 1.5; }
/* trust panel */
.eagleor-tpanel { background: var(--t-cream); border: 1px solid var(--t-line); border-radius: 18px; padding: 34px 32px; }
.eagleor-tpanel .titem { display: flex; gap: 13px; align-items: flex-start; margin-bottom: 22px; }
.eagleor-tpanel .titem .ic { flex-shrink: 0; width: 40px; height: 40px; border-radius: 11px; background: var(--t-blue-soft); display: flex; align-items: center; justify-content: center; }
.eagleor-tpanel .titem .ic svg { width: 19px; height: 19px; stroke: var(--t-blue); fill: none; stroke-width: 1.7; }
.eagleor-tpanel .titem b { display: block; font-family: var(--t-serif); font-size: 16px; color: var(--t-brown); }
.eagleor-tpanel .titem p { font-size: 13.5px; color: #6a5e52; margin-top: 3px; line-height: 1.55; }
.eagleor-tpanel .callcard { background: var(--t-blue); color: #fff; border-radius: 14px; padding: 22px 22px 24px; text-align: center; margin-top: 6px; }
.eagleor-tpanel .callcard p { font-size: 14.5px; color: rgba(255,255,255,.92); margin: 0 0 14px; }
.eagleor-tpanel .callcard .callcard-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #fff; color: var(--t-blue-d); font-family: var(--t-sans); font-weight: 700; font-size: 14.5px; border-radius: 100px; padding: 12px 24px; text-decoration: none; transition: background .2s ease; }
.eagleor-tpanel .callcard .callcard-btn:hover { background: var(--t-cream); }
.eagleor-tpanel .callcard .callcard-btn svg { width: 15px; height: 15px; }
/* checklist */
.eagleor-v7 .eagleor-checklist-w .eagleor-checklist { margin: 46px auto 0; }
.eagleor-checklist { max-width: 760px; margin: 46px auto 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 30px; text-align: left; }
.eagleor-v7 .eagleor-checklist li { list-style: none; position: relative; padding-left: 34px; font-size: 15.5px; color: #574c40; line-height: 1.5; }
.eagleor-v7 .eagleor-checklist li .ck { position: absolute; left: 0; top: 1px; width: 22px; height: 22px; border-radius: 50%; background: var(--t-blue-soft); display: flex; align-items: center; justify-content: center; }
.eagleor-checklist li .ck svg { width: 12px; height: 12px; stroke: var(--t-blue); fill: none; stroke-width: 3; }
/* confidentiality */
.eagleor-v7 .eagleor-conf { background: var(--t-sand-bg); text-align: center; }
.eagleor-conf .badge { width: 64px; height: 64px; border-radius: 50%; background: #fff; border: 1px solid var(--t-line); display: flex; align-items: center; justify-content: center; margin: 0 auto 22px; }
.eagleor-conf .badge svg { width: 30px; height: 30px; stroke: var(--t-blue); fill: none; stroke-width: 1.6; }
.eagleor-v7 .eagleor-confp p { font-size: 17px; color: #574c40; margin-top: 16px; line-height: 1.8; max-width: 760px; margin-left: auto; margin-right: auto; }
.page-id-5162 .eagleor-team-cta > .elementor-container { padding: 100px 44px !important; }
.page-id-5162 .eagleor-trust > .elementor-container { padding: 90px 44px !important; }
.page-id-5162 .eagleor-seals > .elementor-container { padding: 42px 0 0 !important; align-items: flex-start; }
.page-id-5162 .eagleor-seals .elementor-widget-wrap { padding: 0 !important; }
.page-id-5162 .eagleor-trust .eagleor-trust-h2 :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(34px,4.6vw,52px); margin-top: 14px; }
@media (max-width: 1000px) {
	.page-id-5162 .eagleor-step-col { width: calc((100% - 18px) / 2) !important; }
	.eagleor-v7 .eagleor-vgrid > .elementor-container { flex-direction: column; gap: 30px; }
	.eagleor-v7 .eagleor-vgrid > .elementor-container > .eagleor-formcard,
	.eagleor-v7 .eagleor-vgrid > .elementor-container > .eagleor-tpanel-col { width: 100% !important; }
}
@media (max-width: 666px) {
	.page-id-5162 .eagleor-seals > .elementor-container { flex-direction: column; align-items: center; }
	.page-id-5162 .eagleor-seals > .elementor-container > .elementor-column { width: 100% !important; max-width: 360px; }
	.page-id-5162 .eagleor-seals > .elementor-container > .elementor-column + .elementor-column { margin-top: 22px; }
}
@media (max-width: 600px) {
	.page-id-5162 .eagleor-sec > .elementor-container { padding: 72px 22px !important; }
	.page-id-5162 .eagleor-step-col { width: 100% !important; }
	.page-id-5162 .eagleor-checklist { grid-template-columns: 1fr; }
	.eagleor-v7 .eagleor-vform .frow { grid-template-columns: 1fr; gap: 18px; }
	.page-id-5162 .eagleor-team-cta > .elementor-container, .page-id-5162 .eagleor-trust > .elementor-container { padding: 72px 22px !important; }
}

/* ===================================================================== */
/* REVIEWS (post 5163) — V7. NET-NEW. Reuses shared shell.                */
/* ===================================================================== */
.page-id-5163 .eagleor-pagehead .eagleor-ph-p p { max-width: 720px; }
.eagleor-v7 .eagleor-reviews { background: var(--t-sand-bg); }
.page-id-5163 .eagleor-rgrid > .elementor-container { padding: 50px 0 0 !important; gap: 24px; align-items: stretch; flex-wrap: wrap; }
.page-id-5163 .eagleor-rcard-col { width: calc((100% - 24px) / 2) !important; }
.page-id-5163 .eagleor-rcard-col > .elementor-element-populated,
.page-id-5163 .eagleor-rcard-col .elementor-widget-text-editor,
.page-id-5163 .eagleor-rcard-col .elementor-widget-text-editor > .elementor-widget-container { height: 100%; }
.eagleor-rcard { background: #fff; border: 1px solid var(--t-line); border-radius: 18px; padding: 36px 34px; display: flex; flex-direction: column; box-shadow: 0 18px 40px -28px rgba(44,33,24,.45); height: 100%; text-align: left; }
.eagleor-v7 .eagleor-rcard .rquote { font-family: var(--t-serif); font-style: italic; font-size: 18px; line-height: 1.6; color: var(--t-brown); flex: 1; margin: 0; }
.eagleor-rcard .rauthor { display: flex; align-items: center; gap: 14px; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--t-line); }
.eagleor-rcard .rav { width: 48px; height: 48px; border-radius: 50%; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-family: var(--t-serif); font-size: 20px; flex-shrink: 0; }
.eagleor-rcard .rname { font-weight: 700; font-size: 15px; color: var(--t-espresso); }
.eagleor-rcard .rsrc { font-size: 12.5px; color: var(--t-taupe); display: flex; align-items: center; gap: 6px; margin-top: 2px; }
.eagleor-rcard .rsrc .gicon { width: 14px; height: 14px; }
.eagleor-rlink-wrap { text-align: center; margin-top: 46px; }
.eagleor-rlink { display: inline-flex; align-items: center; gap: 9px; color: var(--t-blue); font-weight: 700; font-size: 15px; }
.eagleor-rlink:hover { color: var(--t-blue-d); }
.eagleor-rlink svg { width: 14px; height: 14px; }
.page-id-5163 .eagleor-team-cta > .elementor-container { padding: 100px 44px !important; }
.page-id-5163 .eagleor-trust > .elementor-container { padding: 100px 44px !important; }
.page-id-5163 .eagleor-seals > .elementor-container { padding: 42px 0 0 !important; align-items: flex-start; }
.page-id-5163 .eagleor-seals .elementor-widget-wrap { padding: 0 !important; }
.page-id-5163 .eagleor-trust .eagleor-trust-h2 :is(h1,h2,h3,h4,h5,h6) { font-size: clamp(34px,4.6vw,52px); margin-top: 14px; }
@media (max-width: 1000px) {
	.page-id-5163 .eagleor-rcard-col { width: 100% !important; }
}
@media (max-width: 666px) {
	.page-id-5163 .eagleor-seals > .elementor-container { flex-direction: column; align-items: center; }
	.page-id-5163 .eagleor-seals > .elementor-container > .elementor-column { width: 100% !important; max-width: 360px; }
	.page-id-5163 .eagleor-seals > .elementor-container > .elementor-column + .elementor-column { margin-top: 22px; }
}
@media (max-width: 600px) {
	.page-id-5163 .eagleor-sec > .elementor-container { padding: 72px 22px !important; }
	.page-id-5163 .eagleor-team-cta > .elementor-container, .page-id-5163 .eagleor-trust > .elementor-container { padding: 72px 22px !important; }
}

/* ===================================================================== */
/* V7 ARTICLE SYSTEM — single post template (.eagleor-asite shell +       */
/* .eagleor-v7-article body). Self-contained layout (decoupled from       */
/* Elementor DOM); colors/fonts via the shared .eagleor-v7 variables.     */
/* The .ddwrap/.has-dd/.dd/.caret dropdown rules above already apply.      */
/* ===================================================================== */
.eagleor-asite .eagleor-bound { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 44px; box-sizing: border-box; }

/* topbar - Sand #C7BBAC (client-requested 2026-07-05, matches the page topbar above). Legible colors
   for the light bar: espresso text #3d2f22 (6.8:1), deep-blue links #22516a (4.5:1). See main topbar block. */
.eagleor-asite .eagleor-topbar { background: var(--t-sand); box-shadow: inset 0 -1px 0 rgba(61,47,34,.14); }
.eagleor-asite .eagleor-tbrow { display: flex; align-items: center; min-height: 42px; }
.eagleor-asite .eagleor-tb-l { flex: 1; }
.eagleor-asite .eagleor-tb-l, .eagleor-asite .eagleor-tb-r { font-size: 12.5px; color: #3d2f22; }
.eagleor-asite .eagleor-tb-r { text-align: right; }
.eagleor-asite .eagleor-topbar strong { color: #2c2118; font-weight: 700; }
.eagleor-asite .eagleor-tb-r a { color: #22516a; font-weight: 700; }
.eagleor-asite .eagleor-tb-r a:hover { color: #173b4e; text-decoration: underline; }
.eagleor-asite .eagleor-topbar .dot { color: rgba(61,47,34,.42); }

/* nav */
.eagleor-asite .eagleor-nav { position: sticky; top: 0; z-index: 80; background: rgba(246,241,234,.95); backdrop-filter: blur(14px); border-bottom: 1px solid var(--t-line); }
.eagleor-asite .eagleor-navrow { display: flex; align-items: center; min-height: 86px; gap: 20px; }
.eagleor-asite .eagleor-nav-logo img { height: 44px; width: auto; display: block; object-fit: contain; object-position: left center; }
.eagleor-asite .eagleor-nav-logo a { display: inline-flex; transition: opacity .2s ease; }
.eagleor-asite .eagleor-nav-logo a:hover { opacity: .78; }
.eagleor-asite .eagleor-nav-links { flex: 1; display: flex; justify-content: center; }
.eagleor-asite .eagleor-nav-cta { margin-left: auto; }
.eagleor-asite .eagleor-navbtn { display: inline-flex; align-items: center; gap: 9px; background: var(--t-blue); color: #fff; padding: 12px 24px; border-radius: 100px; font-family: var(--t-sans); font-size: 14px; font-weight: 600; line-height: 1; white-space: nowrap; }
.eagleor-asite .eagleor-navbtn:hover { background: var(--t-blue-d); }
.eagleor-asite .eagleor-navbtn svg { width: 14px; height: 14px; fill: currentColor; }
/* The shared Elementor header sections carry .eagleor-bound from the builder; the canvas
   .eagleor-bound padding would double up on the header (squeezing the logo on mobile).
   Neutralize it on the header sections so the Elementor container handles bounding, matching
   the main pages. (The hand-coded fallback header puts .eagleor-bound on the inner row, not
   the section, so it is unaffected.) */
.eagleor-asite .eagleor-topbar.eagleor-bound, .eagleor-asite .eagleor-nav.eagleor-bound { max-width: none; padding-left: 0; padding-right: 0; margin: 0; }

/* article header band */
.eagleor-asite .eagleor-arthead { background: var(--t-cream); border-bottom: 1px solid var(--t-line); text-align: center; }
.eagleor-asite .eagleor-arthead-in { max-width: 840px; padding: 60px 44px 46px; }
.eagleor-asite .eagleor-arthead .eagleor-eyebrow { justify-content: center; }
.eagleor-asite .eagleor-art-h1 { font-family: var(--t-serif); color: var(--t-brown); font-weight: 700; line-height: 1.12; letter-spacing: -.01em; font-size: clamp(32px, 4vw, 50px); margin: 14px 0 12px; }
/* .eagleor-art-meta (top publish-date) removed 2026-07-20 — date now shows as "Updated {modified}" at the article bottom via .eagleor-art-updated */

/* featured image — contained editorial banner aligned to the text column */
.eagleor-asite .eagleor-artfeat { width: 100%; max-width: 760px; margin: 32px auto 0; box-sizing: border-box; }
.eagleor-asite .eagleor-artfeat img { width: 100%; height: auto; max-height: 400px; object-fit: cover; display: block; border-radius: 16px; box-shadow: 0 18px 44px -22px rgba(44,33,24,.42); }

/* body content (the_content — untouched markup, styled to V7 tokens) */
.eagleor-asite .eagleor-v7-article { padding: 48px 44px 84px; }
.eagleor-asite .eagleor-v7-article .entry-content { max-width: 760px; margin: 0 auto; }
.eagleor-asite .eagleor-v7-article .entry-content > *:first-child { margin-top: 0; }
.eagleor-asite .eagleor-v7-article .entry-content p { font-family: var(--t-sans); color: var(--t-espresso); font-size: 18px; line-height: 1.85; margin: 0 0 22px; }
.eagleor-asite .eagleor-v7-article .entry-content h2 { font-family: var(--t-serif); color: var(--t-brown); font-weight: 700; font-size: 30px; line-height: 1.22; margin: 46px 0 16px; }
.eagleor-asite .eagleor-v7-article .entry-content h3 { font-family: var(--t-serif); color: var(--t-brown); font-weight: 700; font-size: 23px; line-height: 1.3; margin: 34px 0 12px; }
.eagleor-asite .eagleor-v7-article .entry-content h4 { font-family: var(--t-sans); color: var(--t-espresso); font-weight: 700; font-size: 18px; margin: 26px 0 10px; }
.eagleor-asite .eagleor-v7-article .entry-content a { color: var(--t-blue); text-decoration: underline; text-underline-offset: 2px; font-weight: 600; }
.eagleor-asite .eagleor-v7-article .entry-content a:hover { color: var(--t-blue-d); }
.eagleor-asite .eagleor-v7-article .entry-content ul, .eagleor-asite .eagleor-v7-article .entry-content ol { margin: 0 0 22px; padding-left: 24px; }
.eagleor-asite .eagleor-v7-article .entry-content li { font-family: var(--t-sans); color: var(--t-espresso); font-size: 18px; line-height: 1.8; margin-bottom: 8px; }
.eagleor-asite .eagleor-v7-article .entry-content img { max-width: 100%; height: auto; border-radius: 12px; }
.eagleor-asite .eagleor-v7-article .entry-content blockquote { border-left: 3px solid var(--t-blue); padding: 6px 0 6px 22px; margin: 28px 0; font-style: italic; color: var(--t-brown); }

/* footer */
.eagleor-asite .eagleor-footer { background: var(--f-bg); }
.eagleor-asite .eagleor-frow { display: flex; gap: 40px; padding: 72px 44px 32px; align-items: flex-start; }
.eagleor-asite .eagleor-fcol { flex: 1; }
.eagleor-asite .eagleor-fbrand { flex: 1.7; }
.eagleor-asite .eagleor-flogo { height: 46px; width: auto; display: block; margin-bottom: 18px; object-fit: contain; object-position: left center; }
.eagleor-asite .eagleor-ftag { font-family: var(--t-sans); color: var(--f-body); font-size: 14px; line-height: 1.7; max-width: 300px; margin: 0; }
.eagleor-asite .eagleor-fcoord { color: var(--f-muted); font-size: 12.5px; margin: 10px 0 0; }
.eagleor-asite .eagleor-fcol-title { color: var(--f-title); font-family: var(--t-sans); font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; font-weight: 700; margin: 0 0 16px; }
.eagleor-asite .eagleor-fcol ul { list-style: none; padding: 0; margin: 0; }
.eagleor-asite .eagleor-fcol li { margin-bottom: 10px; font-family: var(--t-sans); font-size: 14px; color: var(--f-body); }
.eagleor-asite .eagleor-fcol a { color: var(--f-body); }
.eagleor-asite .eagleor-fcol a:hover { color: var(--f-accent); }
.eagleor-asite .eagleor-fbottom { background: var(--f-bg); }
.eagleor-asite .eagleor-fbrow2 { display: flex; align-items: center; border-top: 1px solid var(--f-line); padding: 22px 44px 24px; }
.eagleor-asite .eagleor-fb-l { flex: 1; }
.eagleor-asite .eagleor-fb-l, .eagleor-asite .eagleor-fb-r { font-size: 12.5px; color: var(--f-muted); }
.eagleor-asite .eagleor-fb-r { text-align: right; }

/* article shell responsive — mirrors the V7-page breakpoints */
@media (max-width: 1000px) {
	.eagleor-asite .eagleor-navrow { flex-wrap: wrap; min-height: 0; padding-top: 14px; padding-bottom: 14px; }
	.eagleor-asite .eagleor-nav-links { order: 3; width: 100%; flex: none; }
	.eagleor-asite .eagleor-frow { flex-wrap: wrap; }
	.eagleor-asite .eagleor-fcol { flex: 0 0 calc(50% - 20px); }
	.eagleor-asite .eagleor-fbrand { flex: 0 0 100%; }
}
@media (max-width: 600px) {
	.eagleor-asite .eagleor-topbar { display: none; }
	.eagleor-asite .eagleor-bound { padding-left: 22px; padding-right: 22px; }
	.eagleor-asite .eagleor-fcol { flex: 0 0 100%; }
	.eagleor-asite .eagleor-arthead-in { padding: 44px 22px 34px; }
	.eagleor-asite .eagleor-artfeat { padding: 0 22px; }
	.eagleor-asite .eagleor-v7-article { padding: 36px 22px 64px; }
	.eagleor-asite .eagleor-frow, .eagleor-asite .eagleor-fbrow2 { padding-left: 22px; padding-right: 22px; }
	/* Article footer copyright: stack + center on mobile (matches the V7 page footer). Was a flex ROW,
	   so "(c) 2026 Eagle Overlook Recovery . Privacy Policy" wrapped word-by-word in a cramped column. */
	.eagleor-asite .eagleor-fbrow2 { flex-direction: column; align-items: center; gap: 8px; text-align: center; }
	.eagleor-asite .eagleor-fbrow2 .eagleor-fb-l, .eagleor-asite .eagleor-fbrow2 .eagleor-fb-r { text-align: center; flex: none; }
}

/* ===================================================================== */
/* V7 ARCHIVE / SEARCH / 404 — card grid + states (.eagleor-asite shell)  */
/* ===================================================================== */
.eagleor-asite .eagleor-arch-intro { font-family: var(--t-sans); color: #6a5e52; font-size: 17px; line-height: 1.7; max-width: 640px; margin: 14px auto 0; }
.eagleor-asite .eagleor-archive { padding: 56px 44px 88px; }

.eagleor-asite .eagleor-arch-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; max-width: 1120px; margin: 0 auto; }
.eagleor-asite .eagleor-arch-card { display: flex; flex-direction: column; background: var(--t-cream2); border: 1px solid var(--t-line);
	border-radius: 16px; overflow: hidden; text-decoration: none; box-shadow: 0 14px 36px -22px rgba(44,33,24,.4);
	transition: transform .22s ease, box-shadow .22s ease; }
.eagleor-asite .eagleor-arch-card:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -22px rgba(44,33,24,.5); }
.eagleor-asite .eagleor-arch-thumb { display: block; width: 100%; aspect-ratio: 16/10; background-size: cover; background-position: center; background-color: var(--t-blue-soft); }
.eagleor-asite .eagleor-arch-card.no-thumb .eagleor-arch-body { padding-top: 26px; }
.eagleor-asite .eagleor-arch-body { display: flex; flex-direction: column; gap: 9px; padding: 22px 22px 26px; flex: 1; }
.eagleor-asite .eagleor-arch-date { font-family: var(--t-sans); font-size: 12px; letter-spacing: .09em; text-transform: uppercase; color: var(--t-taupe); }
.eagleor-asite .eagleor-arch-title { font-family: var(--t-serif); color: var(--t-brown); font-weight: 700; font-size: 21px; line-height: 1.25; }
.eagleor-asite .eagleor-arch-excerpt { font-family: var(--t-sans); color: var(--t-espresso); font-size: 14.5px; line-height: 1.6; }
.eagleor-asite .eagleor-arch-more { font-family: var(--t-sans); font-weight: 600; color: var(--t-blue); font-size: 14px; margin-top: auto; padding-top: 6px; }
.eagleor-asite .eagleor-arch-card:hover .eagleor-arch-title { color: var(--t-blue); }

/* pagination */
.eagleor-asite .eagleor-arch-pager { max-width: 1120px; margin: 44px auto 0; text-align: center; }
.eagleor-asite .eagleor-arch-pager .page-numbers { font-family: var(--t-sans); font-weight: 600; color: var(--t-brown); padding: 8px 14px;
	border: 1px solid var(--t-line); border-radius: 8px; margin: 0 4px; text-decoration: none; display: inline-block; }
.eagleor-asite .eagleor-arch-pager .page-numbers.current { background: var(--t-blue); color: #fff; border-color: var(--t-blue); }
.eagleor-asite .eagleor-arch-pager .page-numbers:hover { background: var(--t-blue-soft); color: var(--t-blue); }

/* empty / search form */
.eagleor-asite .eagleor-arch-empty { max-width: 640px; margin: 0 auto; text-align: center; font-family: var(--t-sans); color: var(--t-espresso); font-size: 17px; }
.eagleor-asite .eagleor-arch-searchform { display: flex; gap: 10px; justify-content: center; margin: 22px 0 14px; }
.eagleor-asite .eagleor-arch-searchform input { font-family: var(--t-sans); font-size: 15px; padding: 12px 16px; border: 1px solid var(--t-line); border-radius: 100px; min-width: 260px; }
.eagleor-asite .eagleor-arch-searchform button { font-family: var(--t-sans); font-weight: 600; background: var(--t-blue); color: #fff; border: 0; border-radius: 100px; padding: 12px 24px; cursor: pointer; }
.eagleor-asite .eagleor-arch-links a { color: var(--t-blue); font-weight: 600; text-decoration: none; }

/* 404 */
.eagleor-asite .eagleor-404 { max-width: 640px; margin: 0 auto; text-align: center; padding: 64px 22px 96px; }
.eagleor-asite .eagleor-404 p { font-family: var(--t-sans); color: var(--t-espresso); font-size: 18px; line-height: 1.7; }
.eagleor-asite .eagleor-404-links { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 28px 0 22px; }
.eagleor-asite .eagleor-404-btn { font-family: var(--t-sans); font-weight: 600; font-size: 14px; color: var(--t-brown); text-decoration: none;
	border: 1px solid var(--t-line); border-radius: 100px; padding: 11px 22px; transition: background .2s, color .2s; }
.eagleor-asite .eagleor-404-btn:hover { background: var(--t-blue); color: #fff; border-color: var(--t-blue); }
.eagleor-asite .eagleor-404-phone a { font-family: var(--t-sans); font-weight: 700; color: var(--t-blue); text-decoration: none; }

@media (max-width: 1000px) {
	.eagleor-asite .eagleor-arch-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}
@media (max-width: 600px) {
	.eagleor-asite .eagleor-archive { padding: 38px 22px 64px; }
	.eagleor-asite .eagleor-arch-grid { grid-template-columns: 1fr; gap: 22px; }
	.eagleor-asite .eagleor-arch-searchform { flex-direction: column; align-items: center; }
	.eagleor-asite .eagleor-arch-searchform input { min-width: 0; width: 100%; }
}

/* ===================================================================== */
/* ADMISSIONS (5162) — "Your Care Team" cross-link card -> Meet Our Team  */
/* ===================================================================== */
.page-id-5162 .eagleor-tx-card { max-width: 940px; margin: 0 auto; background: var(--t-cream2); border: 1px solid var(--t-line);
	border-radius: 22px; box-shadow: 0 28px 60px -34px rgba(44,33,24,.5); padding: 56px 54px 50px; text-align: center; }
.page-id-5162 .eagleor-tx-card .eagleor-eyebrow { justify-content: center; }
.page-id-5162 .eagleor-tx-badge { width: 64px; height: 64px; margin: 0 auto 20px; border-radius: 50%; display: flex;
	align-items: center; justify-content: center; background: var(--t-blue-soft); color: var(--t-blue); border: 1px solid var(--t-line); }
.page-id-5162 .eagleor-tx-badge svg { width: 30px; height: 30px; }
.page-id-5162 .eagleor-tx-h2 { font-family: var(--t-serif); color: var(--t-brown); font-weight: 700; line-height: 1.16;
	letter-spacing: -.01em; font-size: clamp(28px, 3.4vw, 40px); margin: 14px 0 14px; }
.page-id-5162 .eagleor-tx-h2 em { font-style: italic; color: var(--t-blue); font-weight: 600; }
.page-id-5162 .eagleor-tx-lead { font-family: var(--t-sans); color: #6a5e52; font-size: 17px; line-height: 1.7; max-width: 620px; margin: 0 auto; }
/* The lead is a <p> inside a Text Editor widget, so its margin-BOTTOM is killed by the base reset
   `.eagleor-v7 .elementor-widget-text-editor p { margin:0 }` -> lead/button gap collapses to 0. Per the
   playbook's CTA-spacing rule, put the gap on the stacked element as margin-TOP (not reset). */
.page-id-5162 .eagleor-tx-btn { display: inline-flex; align-items: center; gap: 9px; background: var(--t-blue); color: #fff;
	font-family: var(--t-sans); font-weight: 600; font-size: 15px; padding: 14px 30px; border-radius: 100px; text-decoration: none;
	margin-top: 34px; transition: background .2s ease, transform .2s ease; }
.page-id-5162 .eagleor-tx-btn:hover { background: var(--t-blue-d); transform: translateY(-2px); }
.page-id-5162 .eagleor-tx-btn svg { width: 17px; height: 17px; }

@media (max-width: 600px) {
	.page-id-5162 .eagleor-tx-card { padding: 40px 24px 38px; border-radius: 18px; }
}

/* ADMISSIONS — section background variation so it isn't a wall of white (alternating cream + a
   topography-textured band behind the care-team card; conf=sand and cta=blue already add color). */
.page-id-5162 .eagleor-teamcross { background-color: var(--t-cream);
	background-image: linear-gradient(rgba(246,241,234,0.82), rgba(246,241,234,0.82)), url('/wp-content/uploads/2026/06/topography-lines-only.webp');
	background-size: auto, 1200px auto; background-position: center, center; background-repeat: repeat, repeat; }
.page-id-5162 .eagleor-bringsec { background-color: var(--t-cream); }
/* Insurance section: widget margins are reset to 0, so the self-pay pill + Verify button collide.
   Add explicit gaps (lead -> pill -> button). */
.page-id-5162 .eagleor-insintro .eagleor-selfpay { margin-top: 26px !important; }
.page-id-5162 .eagleor-insintro .eagleor-btnrow { margin-top: 28px; }

/* Verify Insurance (5165) — "How verification works" copy block (left-aligned, centered column) */
.page-id-5165 .eagleor-verinfo-steps { max-width: 640px; margin: 26px auto 0; text-align: left; }
.page-id-5165 .eagleor-verinfo-steps .eagleor-steps-block { margin-top: 0; }
.page-id-5165 .eagleor-verinfo-selfpay p { max-width: 640px; margin: 24px auto 0; font-family: var(--t-sans); color: #6a5e52; font-size: 16px; line-height: 1.7; }

/* =====================================================================
   MOBILE FIXES (2026-06-15) — hamburger nav, stacked CTAs, Our Approach 1-col
   Appended last so source-order wins ties against the existing responsive rules.
   Desktop (>1000px) is untouched: .eagleor-navburger stays display:none.
   ===================================================================== */

/* ---- 1. Mobile nav / hamburger (engages only when JS adds .eagleor-nav--ready) ---- */
.eagleor-navburger { display: none; }

@media (max-width: 1000px) {
	/* burger button */
	.eagleor-nav--ready .eagleor-navburger {
		display: inline-flex; flex-direction: column; justify-content: center; align-items: center;
		gap: 5px; width: 46px; height: 44px; padding: 0; margin-left: 14px; flex: 0 0 auto;
		border: 1px solid var(--t-line); border-radius: 10px; background: var(--t-cream2); cursor: pointer;
	}
	.eagleor-nav--ready .eagleor-navburger span {
		display: block; width: 22px; height: 2px; background: var(--t-espresso); border-radius: 2px;
		transition: transform .25s ease, opacity .2s ease;
	}
	.eagleor-nav--ready.nav-open .eagleor-navburger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.eagleor-nav--ready.nav-open .eagleor-navburger span:nth-child(2) { opacity: 0; }
	.eagleor-nav--ready.nav-open .eagleor-navburger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

	/* keep "Get Help Now" reachable on the bar, push burger to the far right */
	.eagleor-nav--ready .eagleor-nav-cta { margin-left: auto; }

	/* hide the desktop link list; reveal as a slide-down panel only when open */
	.eagleor-nav--ready .eagleor-nav-links { display: none !important; }
	.eagleor-nav--ready.nav-open .eagleor-nav-links {
		display: block !important; position: absolute; top: 100%; left: 0; right: 0; width: 100% !important;
		background: var(--t-cream2); border-top: 1px solid var(--t-line); border-bottom: 1px solid var(--t-line);
		box-shadow: 0 26px 40px -22px rgba(44,33,24,.45); padding: 6px 22px 16px; z-index: 999;
		max-height: calc(100vh - 70px); overflow-y: auto;
	}
	.eagleor-nav--ready.nav-open .eagleor-nav-links .elementor-widget-container { display: block; }

	.eagleor-nav--ready .eagleor-nav-links .ddwrap { flex-direction: column; align-items: stretch; gap: 0; }
	.eagleor-nav--ready .eagleor-nav-links .ddwrap > a,
	.eagleor-nav--ready .eagleor-nav-links .has-dd > a {
		display: flex; align-items: center; justify-content: space-between; width: 100%;
		padding: 14px 2px; margin: 0; border-bottom: 1px solid var(--t-line);
		font-family: var(--t-sans); font-size: 16px; font-weight: 500; color: var(--t-espresso);
	}
	.eagleor-nav--ready .eagleor-nav-links .has-dd { align-items: stretch; }
	/* caret as expand indicator (the desktop ≤1000 rule hides it) */
	.eagleor-nav--ready .eagleor-nav-links .has-dd > a .caret {
		display: inline-block !important; width: 13px; height: 13px; flex: 0 0 auto;
		fill: none; stroke: currentColor; stroke-width: 2; transition: transform .25s ease;
	}
	.eagleor-nav--ready .eagleor-nav-links .has-dd.dd-open > a .caret { transform: rotate(180deg); }

	/* collapsed sub-groups (accordion) */
	.eagleor-nav--ready .eagleor-nav-links .has-dd .dd {
		display: none !important; position: static !important; left: auto !important; transform: none !important;
		opacity: 1; visibility: visible;
		box-shadow: none; border: 0; background: var(--t-cream); border-radius: 8px; padding: 4px 0; margin: 0 0 4px;
		min-width: 0; align-items: stretch;
	}
	.eagleor-nav--ready .eagleor-nav-links .has-dd.dd-open .dd { display: block !important; }
	.eagleor-nav--ready .eagleor-nav-links .has-dd .dd a {
		display: block; padding: 11px 18px; border: 0; font-size: 15px; font-weight: 500; color: #6a5e52;
	}
	.eagleor-nav--ready .eagleor-nav-links .has-dd .dd a.active { color: var(--t-blue); }

	/* MOBILE CONTACT = an obvious tappable button (2026-07-22, David). As a plain last-item link,
	   Contact looked identical to the "Our Approach"/"Admissions" dropdown headers but had no caret
	   and no panel, and its own bottom-border plus the social row's top-border left a bordered gap
	   beneath it that read as an empty/broken dropdown ("looks like the stuff under it was left out").
	   It is the primary lead path, so on mobile it becomes an outlined Overlook-Blue pill: clearly
	   interactive, distinct from the plain text links, and complementary to (not a duplicate of) the
	   filled "Get Help Now" pinned at the top. Desktop is untouched - this is inside the mobile query. */
	.eagleor-nav--ready .eagleor-nav-links .ddwrap > a[href="/contact-us/"] {
		display: block; text-align: center; margin: 14px 0 6px; padding: 15px 20px;
		border: 1.5px solid var(--t-blue); border-radius: 999px; background: rgba(46,110,142,.06);
		color: var(--t-blue) !important; font-weight: 700; letter-spacing: .01em;
	}
	/* kill the phantom empty-panel look: no leftover bottom border under the button, and the social
	   row no longer needs its own divider now that a clear button sits above it */
	.eagleor-nav--ready .eagleor-nav-links .ddwrap > a[href="/contact-us/"] { border-bottom: 1.5px solid var(--t-blue); }
	.eagleor-nav--ready .eagleor-nav-social { border-top: 0; margin-top: 6px; padding-top: 8px; }
}

/* ---- 2. CTA button rows: stack full-width, evenly, on phones ---- */
@media (max-width: 600px) {
	.eagleor-btns > .elementor-widget-wrap,
	.eagleor-btns-center > .elementor-widget-wrap,
	.eagleor-cta-btns > .elementor-widget-wrap { flex-direction: column; align-items: stretch; }
	.eagleor-btns > .elementor-widget-wrap > .elementor-widget,
	.eagleor-btns-center > .elementor-widget-wrap > .elementor-widget,
	.eagleor-cta-btns > .elementor-widget-wrap > .elementor-widget { width: 100% !important; max-width: none; }
	.eagleor-btns a,
	.eagleor-btns-center a,
	.eagleor-cta-btns a { width: 100%; justify-content: center; }
}

/* ---- 3. Our Approach (3631): nature cards collapse to 1-col on phones ---- */
@media (max-width: 600px) {
	.page-id-3631 .eagleor-cards-2 > .elementor-container { flex-wrap: wrap; gap: 18px; }
	.page-id-3631 .eagleor-cards-2 .eagleor-card-col { width: 100% !important; }
}

/* ---- 4. Mobile nav: keep logo + "Get Help Now" + burger on ONE compact row ---- */
@media (max-width: 1000px) {
	.eagleor-v7 .eagleor-nav > .elementor-container,
	.eagleor-asite .eagleor-nav .eagleor-navrow {
		flex-wrap: nowrap !important; align-items: center; gap: 10px !important;
		padding: 10px 16px !important; min-height: 0 !important;
	}
	/* cap the logo CONTAINER at 44vw; image fills it (max-width:100%) so it shrinks
	   WITH the container instead of overflowing under the CTA (fixes canvas-nav overlap) */
	.eagleor-nav .eagleor-nav-logo { min-width: 0; flex: 0 1 auto; max-width: 44vw; }
	.eagleor-nav .eagleor-nav-logo img { height: auto !important; max-height: 30px; max-width: 100% !important; width: auto !important; }
	.eagleor-nav .eagleor-nav-cta { flex: 0 0 auto; margin-left: auto; }
	.eagleor-nav .eagleor-nav-cta a,
	.eagleor-asite .eagleor-navbtn { padding: 9px 14px !important; font-size: 13px !important; }
	.eagleor-nav--ready .eagleor-navburger { width: 42px; height: 42px; margin-left: 10px; }
}

/* ============================================================================
   EDUCATIONAL SUPPORT (page 5178) — scoped to .page-id-5178, anchored to .eagleor-es-*
   ============================================================================ */
.page-id-5178 .eagleor-es-paths > .elementor-container,
.page-id-5178 .eagleor-es-coord > .elementor-container,
.page-id-5178 .eagleor-es-why > .elementor-container,
.page-id-5178 .eagleor-es-faq > .elementor-container { padding: 90px 44px !important; flex-direction: column; }
/* section colour rhythm: warm cream -> cream2 -> soft blue (with faint topography) -> sand */
.page-id-5178 .eagleor-es-paths { background: var(--t-cream); }
.page-id-5178 .eagleor-es-coord { background: var(--t-cream2); }
.page-id-5178 .eagleor-es-faq { background: var(--t-sand-bg); }
/* the "why education matters" section gets the one accent-colour + single faint topography moment */
.page-id-5178 .eagleor-es-why { background: var(--t-blue-soft); position: relative; overflow: hidden; }
.page-id-5178 .eagleor-es-why::before { content: ""; position: absolute; inset: 0;
	background: url('/wp-content/uploads/2026/06/topography-lines-only.webp') center/1500px auto no-repeat; opacity: .06; pointer-events: none; }
.page-id-5178 .eagleor-es-why > .elementor-container { position: relative; z-index: 1; }
/* Out-of-State Families (page 5222) uses the shared .eagleor-hub-* template (stats + prose + FAQ),
   same as the /teen-rehab-north-georgia/ and /teen-addiction-treatment-georgia/ hubs - no page-scoped
   CSS needed. (The earlier bespoke .page-id-5222 prose block was removed 2026-07-22 when the page was
   rebuilt on the hub template for visual parity with its siblings.) */

/* photo band: caption scrim (not inherited - that rule is page-id-3068 scoped) + framing for the books photo */
.page-id-5178 .eagleor-photoband { background-position: center 58% !important; }
.page-id-5178 .eagleor-photoband-cap > .elementor-element-populated { padding: 54px 0 40px; background: linear-gradient(transparent, rgba(28,21,15,.72)); }
/* subtle card lift for polish */
.page-id-5178 .eagleor-es-card,
.page-id-5178 .eagleor-es-mini { transition: transform .25s ease, box-shadow .25s ease; }
.page-id-5178 .eagleor-es-card:hover { transform: translateY(-4px); box-shadow: 0 26px 50px -26px rgba(44,33,24,.55); }
.page-id-5178 .eagleor-es-mini:hover { transform: translateY(-4px); box-shadow: 0 24px 46px -26px rgba(46,110,142,.5); }

/* section heading + centered lead */
.page-id-5178 .eagleor-es-h2 :is(h1,h2,h3) { font-family: var(--t-serif); font-size: clamp(30px,4vw,46px); line-height: 1.12; margin-top: 10px; color: var(--t-brown); }
.page-id-5178 .eagleor-es-h2 em { font-style: italic; color: var(--t-blue); font-weight: 600; }
/* Belt-and-suspenders: no V7 heading-widget/image-box title should ever fall back to the kit default
   colour (was a stray green) - default any un-themed heading to brand brown. Dark-section headings keep
   their explicit white via higher-specificity / !important rules. */
.eagleor-v7 .elementor-heading-title, .eagleor-v7 .elementor-image-box-title { color: var(--t-brown); }
.page-id-5178 .eagleor-es-lead p { max-width: 760px; margin: 16px auto 0; text-align: center; color: var(--t-brown); line-height: 1.75; }
.page-id-5178 .eagleor-es-coord .eagleor-es-body p { max-width: 760px; margin: 16px 0 0; color: var(--t-brown); line-height: 1.75; }
.page-id-5178 .eagleor-es-coord .eagleor-es-body a,
.page-id-5178 .eagleor-es-acc .es-a a { color: var(--t-blue); font-weight: 700; text-decoration: underline; }

/* two-path cards */
.page-id-5178 .eagleor-es-cards { display: flex; gap: 26px; flex-wrap: wrap; margin-top: 42px; }
.page-id-5178 .eagleor-es-card { flex: 1 1 0; min-width: 280px; background: #fff; border-radius: 16px; padding: 34px 32px; box-shadow: 0 18px 40px -28px rgba(44,33,24,.5); border-top: 4px solid var(--t-blue); }
.page-id-5178 .eagleor-es-card h3 { font-family: var(--t-serif); font-size: 23px; margin: 0 0 10px; color: var(--t-espresso); }
.page-id-5178 .eagleor-es-card p { margin: 0; color: var(--t-brown); line-height: 1.7; }

/* why-it-matters 4-up */
.page-id-5178 .eagleor-es-grid4 { display: flex; gap: 22px; flex-wrap: wrap; margin-top: 42px; }
.page-id-5178 .eagleor-es-mini { flex: 1 1 calc((100% - 66px) / 4); min-width: 200px; background: #fff; border-radius: 14px; padding: 28px 22px; box-shadow: 0 16px 36px -28px rgba(44,33,24,.5); text-align: center; }
.page-id-5178 .eagleor-es-mini h3 { font-family: var(--t-serif); font-size: 20px; margin: 0 0 8px; color: var(--t-blue); }
.page-id-5178 .eagleor-es-mini p { margin: 0; font-size: 14.5px; color: var(--t-brown); line-height: 1.65; }

/* coordinator checklist */
.page-id-5178 .eagleor-es-list { list-style: none; margin: 26px 0 0; padding: 0; max-width: 680px; }
.page-id-5178 .eagleor-es-list li { position: relative; padding: 13px 0 13px 40px; border-bottom: 1px solid rgba(44,33,24,.10); font-weight: 600; color: var(--t-espresso); }
.page-id-5178 .eagleor-es-list li::before { content: ""; position: absolute; left: 2px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; border-radius: 50%; background: var(--t-blue-soft); }
.page-id-5178 .eagleor-es-list li::after { content: ""; position: absolute; left: 10px; top: calc(50% - 3px); width: 8px; height: 4px; border-left: 2px solid var(--t-blue); border-bottom: 2px solid var(--t-blue); transform: rotate(-45deg); }

/* FAQ accordion */
.page-id-5178 .eagleor-es-acc { max-width: 820px; margin: 38px auto 0; }
.page-id-5178 .eagleor-es-acc details { background: #fff; border-radius: 12px; margin-bottom: 14px; box-shadow: 0 12px 30px -26px rgba(44,33,24,.55); overflow: hidden; }
.page-id-5178 .eagleor-es-acc summary { cursor: pointer; padding: 20px 24px; font-weight: 700; color: var(--t-espresso); list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 17px; }
.page-id-5178 .eagleor-es-acc summary::-webkit-details-marker { display: none; }
.page-id-5178 .eagleor-es-acc summary::after { content: "+"; color: var(--t-blue); font-size: 26px; line-height: 1; flex-shrink: 0; }
.page-id-5178 .eagleor-es-acc details[open] summary::after { content: "\2013"; } /* visual minus glyph only - not page copy */
.page-id-5178 .eagleor-es-acc .es-a { padding: 0 24px 22px; color: var(--t-brown); line-height: 1.75; }
.page-id-5178 .eagleor-es-acc .es-a p { margin: 0; }

/* CTA two-button row (styled anchors for full control, V7 Overlook Blue) */
.page-id-5178 .eagleor-es-ctabtns { margin-top: 28px; text-align: center; display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
/* This CTA sits on the blue (--t-blue) section, so buttons must CONTRAST with blue, not match it.
   Primary = cream solid w/ dark-blue text; ghost = white outline (same convention as .eagleor-team-cta). */
.page-id-5178 .eagleor-es-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 14px 30px; border-radius: 999px; font-family: var(--t-sans); font-weight: 700; font-size: 15px; text-decoration: none; transition: background .2s, color .2s, border-color .2s; background: var(--t-cream); color: var(--t-blue-d); border: 2px solid var(--t-cream); }
.page-id-5178 .eagleor-es-btn:hover { background: #fff; border-color: #fff; color: var(--t-blue-d); }
.page-id-5178 .eagleor-es-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.65); }
.page-id-5178 .eagleor-es-btn--ghost:hover { background: rgba(255,255,255,.16); border-color: #fff; color: #fff; }

@media (max-width: 1000px) {
	.page-id-5178 .eagleor-es-mini { flex: 1 1 calc((100% - 22px) / 2); }
	.page-id-5178 .eagleor-es-paths > .elementor-container,
	.page-id-5178 .eagleor-es-coord > .elementor-container,
	.page-id-5178 .eagleor-es-why > .elementor-container,
	.page-id-5178 .eagleor-es-faq > .elementor-container { padding: 64px 26px !important; }
}
@media (max-width: 666px) {
	.page-id-5178 .eagleor-es-card,
	.page-id-5178 .eagleor-es-mini { flex: 1 1 100%; }
}

/* reCAPTCHA v3: hide the floating Google badge. Google's terms permit hiding it ONLY IF the required
   attribution text is shown near the form instead (added under every CF7 form via the
   wpcf7_form_elements filter in functions.php). reCAPTCHA STILL RUNS - this hides the visual badge only.
   .grecaptcha-badge is Google's own runtime element (the only handle for the badge) - not Elementor. */
.grecaptcha-badge { visibility: hidden !important; }
.eagleor-recaptcha-note { margin: 16px 0 0; font-size: 12px; line-height: 1.5; color: #8a8178; }
.eagleor-recaptcha-note a { color: #8a8178; text-decoration: underline; }
.eagleor-recaptcha-note a:hover { color: #2e6e8e; }

/* ============================================================================
   TEEN RESIDENTIAL TREATMENT (page 5193) — scoped to .page-id-5193, anchored to .eagleor-tr-*
   The audit's #1 money page (2026-07-08). Follows the Educational Support conventions.
   ============================================================================ */
.page-id-5193 .eagleor-tr-stats > .elementor-container,
.page-id-5193 .eagleor-tr-who > .elementor-container,
.page-id-5193 .eagleor-tr-day > .elementor-container,
.page-id-5193 .eagleor-tr-atc > .elementor-container,
.page-id-5193 .eagleor-tr-team > .elementor-container,
.page-id-5193 .eagleor-tr-adm > .elementor-container,
.page-id-5193 .eagleor-tr-faq > .elementor-container { padding: 90px 44px !important; flex-direction: column; }
/* the stat strip hugs the pagehead - short band, not a full section */
.page-id-5193 .eagleor-tr-stats > .elementor-container { padding: 34px 44px 42px !important; }
/* colour rhythm: cream strip -> cream2 -> cream (flight) -> [band] -> soft blue -> cream2 -> sand */
.page-id-5193 .eagleor-tr-stats { background: var(--t-cream); }
.page-id-5193 .eagleor-tr-who { background: var(--t-cream2); }
.page-id-5193 .eagleor-tr-day { background: var(--t-cream); }
.page-id-5193 .eagleor-tr-atc { background: var(--t-cream2); }
.page-id-5193 .eagleor-tr-adm { background: var(--t-cream2); }
.page-id-5193 .eagleor-tr-faq { background: var(--t-sand-bg); }
/* team section = the one accent-colour + faint topography moment */
.page-id-5193 .eagleor-tr-team { background: var(--t-blue-soft); position: relative; overflow: hidden; }
.page-id-5193 .eagleor-tr-team::before { content: ""; position: absolute; inset: 0;
	background: url('/wp-content/uploads/2026/06/topography-lines-only.webp') center/1500px auto no-repeat; opacity: .06; pointer-events: none; }
.page-id-5193 .eagleor-tr-team > .elementor-container { position: relative; z-index: 1; }
/* photo band framing */
.page-id-5193 .eagleor-photoband { background-position: center 62% !important; }
.page-id-5193 .eagleor-photoband-cap > .elementor-element-populated { padding: 54px 0 40px; background: linear-gradient(transparent, rgba(28,21,15,.72)); }

/* section heading + centered lead (same type system as 5178) */
.page-id-5193 .eagleor-tr-h2 :is(h1,h2,h3) { font-family: var(--t-serif); font-size: clamp(30px,4vw,46px); line-height: 1.12; margin-top: 10px; color: var(--t-brown); }
.page-id-5193 .eagleor-tr-h2 em { font-style: italic; color: var(--t-blue); font-weight: 600; }
.page-id-5193 .eagleor-tr-lead p { max-width: 760px; margin: 16px auto 0; text-align: center; color: var(--t-brown); line-height: 1.75; }
.page-id-5193 .eagleor-tr-lead a, .page-id-5193 .eagleor-tr-card a, .page-id-5193 .eagleor-tr-daytx a,
.page-id-5193 .eagleor-tr-teambody a, .page-id-5193 .eagleor-tr-admnote a,
.page-id-5193 .eagleor-tr-acc .tr-a a { color: var(--t-blue); font-weight: 700; text-decoration: underline; }

/* quick-facts stat strip */
.page-id-5193 .eagleor-tr-statrow { display: flex; gap: 18px; flex-wrap: wrap; justify-content: center; }
.page-id-5193 .eagleor-tr-stat { flex: 1 1 0; min-width: 170px; background: #fff; border-radius: 14px; padding: 22px 18px; text-align: center; box-shadow: 0 16px 36px -28px rgba(44,33,24,.5); border-top: 4px solid var(--t-blue); }
.page-id-5193 .eagleor-tr-stat strong { display: block; font-family: var(--t-serif); font-size: 34px; line-height: 1; color: var(--t-blue-d); }
.page-id-5193 .eagleor-tr-stat span { display: block; margin-top: 7px; font-size: 13.5px; font-weight: 600; letter-spacing: .02em; color: var(--t-brown); }

/* who-for cards */
.page-id-5193 .eagleor-tr-cards { display: flex; gap: 26px; flex-wrap: wrap; margin-top: 42px; }
.page-id-5193 .eagleor-tr-card { flex: 1 1 0; min-width: 260px; background: #fff; border-radius: 16px; padding: 34px 32px; box-shadow: 0 18px 40px -28px rgba(44,33,24,.5); border-top: 4px solid var(--t-blue); transition: transform .25s ease, box-shadow .25s ease; }
.page-id-5193 .eagleor-tr-card:hover { transform: translateY(-4px); box-shadow: 0 26px 50px -26px rgba(44,33,24,.55); }
.page-id-5193 .eagleor-tr-card h3 { font-family: var(--t-serif); font-size: 22px; margin: 0 0 10px; color: var(--t-espresso); }
.page-id-5193 .eagleor-tr-card p { margin: 0; color: var(--t-brown); line-height: 1.7; }

/* a-day photo cards: photo top, text below; the portrait afternoon shot crops via aspect-ratio */
.page-id-5193 .eagleor-tr-daygrid { display: flex; gap: 24px; flex-wrap: wrap; margin-top: 42px; }
.page-id-5193 .eagleor-tr-daycard { flex: 1 1 calc((100% - 24px) / 2); min-width: 300px; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 18px 40px -28px rgba(44,33,24,.5); transition: transform .25s ease, box-shadow .25s ease; }
.page-id-5193 .eagleor-tr-daycard:hover { transform: translateY(-4px); box-shadow: 0 26px 50px -26px rgba(44,33,24,.55); }
.page-id-5193 .eagleor-tr-dayph { aspect-ratio: 16 / 9; overflow: hidden; }
.page-id-5193 .eagleor-tr-dayph img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.page-id-5193 .eagleor-tr-daytx { padding: 26px 28px 30px; }
.page-id-5193 .eagleor-tr-daytag { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--t-blue); margin-bottom: 8px; }
.page-id-5193 .eagleor-tr-daytx h3 { font-family: var(--t-serif); font-size: 22px; margin: 0 0 8px; color: var(--t-espresso); }
.page-id-5193 .eagleor-tr-daytx p { margin: 0; color: var(--t-brown); line-height: 1.7; }

/* team body + credential chips */
.page-id-5193 .eagleor-tr-teambody p { max-width: 760px; margin: 16px auto 0; text-align: center; color: var(--t-brown); line-height: 1.75; }
.page-id-5193 .eagleor-tr-chips { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 26px; }
.page-id-5193 .eagleor-tr-chips span { background: #fff; border-radius: 999px; padding: 10px 20px; font-size: 13.5px; font-weight: 700; color: var(--t-blue-d); box-shadow: 0 12px 26px -20px rgba(46,110,142,.55); }

/* admissions numbered steps (icon/number list -> .eagleor-v7 prefix per the recurring-bug rule) */
.eagleor-v7 .eagleor-tr-steps { list-style: none; counter-reset: tr-step; margin: 30px auto 0; padding: 0; max-width: 680px; }
.eagleor-v7 .eagleor-tr-steps li { position: relative; counter-increment: tr-step; padding: 14px 0 14px 52px; border-bottom: 1px solid rgba(44,33,24,.10); font-weight: 600; color: var(--t-espresso); }
.eagleor-v7 .eagleor-tr-steps li::before { content: counter(tr-step); position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; border-radius: 50%; background: var(--t-blue); color: #fff; font-family: var(--t-serif); font-size: 17px; display: flex; align-items: center; justify-content: center; }
.page-id-5193 .eagleor-tr-admnote { max-width: 680px; margin: 26px auto 0; text-align: center; color: var(--t-brown); line-height: 1.75; }

/* FAQ accordion (same pattern as 5178) */
.page-id-5193 .eagleor-tr-acc { max-width: 820px; margin: 38px auto 0; }
.page-id-5193 .eagleor-tr-acc details { background: #fff; border-radius: 12px; margin-bottom: 14px; box-shadow: 0 12px 30px -26px rgba(44,33,24,.55); overflow: hidden; }
.page-id-5193 .eagleor-tr-acc summary { cursor: pointer; padding: 20px 24px; font-weight: 700; color: var(--t-espresso); list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 17px; }
.page-id-5193 .eagleor-tr-acc summary::-webkit-details-marker { display: none; }
.page-id-5193 .eagleor-tr-acc summary::after { content: "+"; color: var(--t-blue); font-size: 26px; line-height: 1; flex-shrink: 0; }
.page-id-5193 .eagleor-tr-acc details[open] summary::after { content: "\2013"; } /* visual minus glyph only - not page copy */
.page-id-5193 .eagleor-tr-acc .tr-a { padding: 0 24px 22px; color: var(--t-brown); line-height: 1.75; }
.page-id-5193 .eagleor-tr-acc .tr-a p { margin: 0; }

/* CTA two-button row on the blue section (cream solid + white ghost, same as 5178 convention) */
.page-id-5193 .eagleor-tr-ctabtns { margin-top: 28px; text-align: center; display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.page-id-5193 .eagleor-tr-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 14px 30px; border-radius: 999px; font-family: var(--t-sans); font-weight: 700; font-size: 15px; text-decoration: none; white-space: nowrap; transition: background .2s, color .2s, border-color .2s; background: var(--t-cream); color: var(--t-blue-d); border: 2px solid var(--t-cream); }
.page-id-5193 .eagleor-tr-btn:hover { background: #fff; border-color: #fff; color: var(--t-blue-d); }
.page-id-5193 .eagleor-tr-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.65); }
.page-id-5193 .eagleor-tr-btn--ghost:hover { background: rgba(255,255,255,.16); border-color: #fff; color: #fff; }

@media (max-width: 1000px) {
	.page-id-5193 .eagleor-tr-stats > .elementor-container { padding: 28px 26px 34px !important; }
	.page-id-5193 .eagleor-tr-who > .elementor-container,
	.page-id-5193 .eagleor-tr-day > .elementor-container,
	.page-id-5193 .eagleor-tr-team > .elementor-container,
	.page-id-5193 .eagleor-tr-adm > .elementor-container,
	.page-id-5193 .eagleor-tr-faq > .elementor-container { padding: 64px 26px !important; }
	.page-id-5193 .eagleor-tr-stat { min-width: 140px; }
}
@media (max-width: 666px) {
	.page-id-5193 .eagleor-tr-card,
	.page-id-5193 .eagleor-tr-daycard { flex: 1 1 100%; }
	.page-id-5193 .eagleor-tr-stat { flex: 1 1 calc((100% - 18px) / 2); }
}

/* ============================================================================
   PRIVACY POLICY (page 3) — scoped to .page-id-3, anchored to .eagleor-legal
   Last old-OceanWP page; rebuilt V7 2026-07-09. Readable long-form legal column.
   ============================================================================ */
.page-id-3 .eagleor-legal > .elementor-container { padding: 76px 44px 96px !important; flex-direction: column; }
.page-id-3 .eagleor-legal { background: var(--t-cream); }
.page-id-3 .eagleor-legal-tx { max-width: 820px; margin: 0 auto; }
.page-id-3 .eagleor-legal-tx h2 { font-family: var(--t-serif); font-size: clamp(24px,3vw,32px); line-height: 1.2; color: var(--t-brown); margin: 46px 0 14px; }
.page-id-3 .eagleor-legal-tx h2:first-child { margin-top: 0; }
.page-id-3 .eagleor-legal-tx h3 { font-family: var(--t-sans); font-weight: 700; font-size: 18px; color: var(--t-espresso); margin: 30px 0 10px; }
.page-id-3 .eagleor-legal-tx p { color: var(--t-brown); line-height: 1.8; margin: 0 0 18px; }
.page-id-3 .eagleor-legal-tx a { color: var(--t-blue); font-weight: 600; text-decoration: underline; word-break: break-word; }
.page-id-3 .eagleor-legal-tx ul, .page-id-3 .eagleor-legal-tx ol { color: var(--t-brown); line-height: 1.8; margin: 0 0 18px; padding-left: 22px; }
.page-id-3 .eagleor-legal-tx li { margin: 0 0 8px; }
@media (max-width: 1000px) {
	.page-id-3 .eagleor-legal > .elementor-container { padding: 54px 24px 72px !important; }
}

/* ============================================================================
   REGIONAL HUB PAGES (Georgia 5194 + North Georgia 5195) — shared .eagleor-hub-*
   Class-scoped to .eagleor-v7 so BOTH pages reuse one block. Local-SEO build 2026-07-09.
   ============================================================================ */
.eagleor-v7 .eagleor-hub-stats > .elementor-container { padding: 32px 44px 40px !important; flex-direction: column; }
.eagleor-v7 .eagleor-hub-body > .elementor-container,
.eagleor-v7 .eagleor-hub-faq > .elementor-container { padding: 20px 44px 84px !important; flex-direction: column; }
.eagleor-v7 .eagleor-hub-stats { background: var(--t-cream); }
.eagleor-v7 .eagleor-hub-body { background: var(--t-cream); }
.eagleor-v7 .eagleor-hub-faq { background: var(--t-sand-bg); }
.eagleor-v7 .eagleor-hub-faq > .elementor-container { padding-top: 76px !important; }

/* pagehead CTA buttons (above the fold) */
.eagleor-v7 .eagleor-hub-phbtns { margin-top: 26px; text-align: center; }
.eagleor-v7 .eagleor-hub-ctabtns { display: inline-flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
.eagleor-v7 .eagleor-hub-ctawrap { margin-top: 28px; text-align: center; }
.eagleor-v7 .eagleor-hub-ctawrap .eagleor-hub-ctabtns { display: flex; }
.eagleor-v7 .eagleor-hub-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 14px 30px; border-radius: 999px; font-family: var(--t-sans); font-weight: 700; font-size: 15px; text-decoration: none; white-space: nowrap; transition: background .2s, color .2s, border-color .2s; background: var(--t-blue); color: #fff; border: 2px solid var(--t-blue); }
.eagleor-v7 .eagleor-hub-btn:hover { background: var(--t-blue-d); border-color: var(--t-blue-d); color: #fff; }
.eagleor-v7 .eagleor-hub-btn--ghost { background: transparent; color: var(--t-blue-d); border-color: var(--t-blue); }
.eagleor-v7 .eagleor-hub-btn--ghost:hover { background: var(--t-blue-soft); color: var(--t-blue-d); }
/* CTA band sits on the dark/photo CTA section — buttons need light treatment there */
.eagleor-v7 .eagleor-team-cta .eagleor-hub-btn { background: var(--t-cream); color: var(--t-blue-d); border-color: var(--t-cream); }
.eagleor-v7 .eagleor-team-cta .eagleor-hub-btn:hover { background: #fff; border-color: #fff; }
.eagleor-v7 .eagleor-team-cta .eagleor-hub-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.65); }
.eagleor-v7 .eagleor-team-cta .eagleor-hub-btn--ghost:hover { background: rgba(255,255,255,.16); color: #fff; }

/* stat strip */
.eagleor-v7 .eagleor-hub-statrow { display: flex; gap: 18px; flex-wrap: wrap; justify-content: center; max-width: 980px; margin: 0 auto; }
.eagleor-v7 .eagleor-hub-stat { flex: 1 1 0; min-width: 170px; background: #fff; border-radius: 14px; padding: 22px 18px; text-align: center; box-shadow: 0 16px 36px -28px rgba(44,33,24,.5); border-top: 4px solid var(--t-blue); }
.eagleor-v7 .eagleor-hub-stat strong { display: block; font-family: var(--t-serif); font-size: 34px; line-height: 1; color: var(--t-blue-d); }
.eagleor-v7 .eagleor-hub-stat span { display: block; margin-top: 7px; font-size: 13.5px; font-weight: 600; color: var(--t-brown); }

/* prose body */
.eagleor-v7 .eagleor-hub-prose { max-width: 820px; margin: 0 auto; }
.eagleor-v7 .eagleor-hub-prose h2 { font-family: var(--t-serif); font-size: clamp(25px,3.2vw,34px); line-height: 1.18; color: var(--t-brown); margin: 46px 0 14px; }
.eagleor-v7 .eagleor-hub-prose h2:first-child { margin-top: 8px; }
.eagleor-v7 .eagleor-hub-prose p { color: var(--t-brown); line-height: 1.8; margin: 0 0 18px; }
.eagleor-v7 .eagleor-hub-prose a { color: var(--t-blue); font-weight: 700; text-decoration: underline; }
.eagleor-v7 .eagleor-hub-prose ul { margin: 0 0 18px; padding-left: 4px; list-style: none; }
.eagleor-v7 .eagleor-hub-prose li { position: relative; padding: 0 0 12px 30px; color: var(--t-brown); line-height: 1.7; }
.eagleor-v7 .eagleor-hub-prose li::before { content: ""; position: absolute; left: 4px; top: 9px; width: 9px; height: 9px; border-radius: 50%; background: var(--t-blue); }
.eagleor-v7 .eagleor-hub-prose strong { color: var(--t-espresso); }

/* section heading (FAQ) */
.eagleor-v7 .eagleor-hub-h2 :is(h1,h2,h3) { font-family: var(--t-serif); font-size: clamp(28px,3.6vw,40px); line-height: 1.14; color: var(--t-brown); margin-top: 8px; }
.eagleor-v7 .eagleor-hub-h2 em { font-style: italic; color: var(--t-blue); font-weight: 600; }

/* FAQ accordion (same pattern as residential) */
.eagleor-v7 .eagleor-hub-acc { max-width: 820px; margin: 34px auto 0; }
.eagleor-v7 .eagleor-hub-acc details { background: #fff; border-radius: 12px; margin-bottom: 14px; box-shadow: 0 12px 30px -26px rgba(44,33,24,.55); overflow: hidden; }
.eagleor-v7 .eagleor-hub-acc summary { cursor: pointer; padding: 20px 24px; font-weight: 700; color: var(--t-espresso); list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 17px; }
.eagleor-v7 .eagleor-hub-acc summary::-webkit-details-marker { display: none; }
.eagleor-v7 .eagleor-hub-acc summary::after { content: "+"; color: var(--t-blue); font-size: 26px; line-height: 1; flex-shrink: 0; }
.eagleor-v7 .eagleor-hub-acc details[open] summary::after { content: "\2013"; }
.eagleor-v7 .eagleor-hub-acc .hub-a { padding: 0 24px 22px; color: var(--t-brown); line-height: 1.75; }
.eagleor-v7 .eagleor-hub-acc .hub-a p { margin: 0; }

@media (max-width: 1000px) {
	.eagleor-v7 .eagleor-hub-stats > .elementor-container { padding: 24px 24px 30px !important; }
	.eagleor-v7 .eagleor-hub-body > .elementor-container,
	.eagleor-v7 .eagleor-hub-faq > .elementor-container { padding: 16px 24px 60px !important; }
	.eagleor-v7 .eagleor-hub-stat { flex: 1 1 calc((100% - 18px) / 2); min-width: 140px; }
}

/* ============================================================================
   POST CTA callout (high-traffic blogs -> money pages). Local-SEO P4 2026-07-09.
   Rendered inside the V7 article template (.eagleor-v7-article the_content).
   ============================================================================ */
.eagleor-v7-article .eagleor-postcta { margin: 40px 0 8px; padding: 30px 32px; background: var(--t-blue-soft); border-left: 5px solid var(--t-blue); border-radius: 14px; }
.eagleor-v7-article .eagleor-postcta h2 { font-family: var(--t-serif); color: var(--t-brown); font-size: 24px; margin: 0 0 10px; }
.eagleor-v7-article .eagleor-postcta p { margin: 0; color: var(--t-brown); line-height: 1.8; }
.eagleor-v7-article .eagleor-postcta a { color: var(--t-blue-d); font-weight: 700; text-decoration: underline; }

/* Phone numbers never split mid-number across a line break (2026-07-18). .eagleor-nowrap wraps
   plain-text numbers in body copy; the a[href^="tel:"] rule is a defensive catch-all for any tel link
   that lacks a button class. Cosmetic only. */
.eagleor-nowrap { white-space: nowrap; }
a[href^="tel:"] { white-space: nowrap; }

/* Article "Updated" date, moved to the BOTTOM of the body and showing the MODIFIED date (2026-07-20).
   Subtle + muted so it reads as a freshness footnote, not a headline. */
/* Organizational byline + Updated line sit together as one block under the article body (2026-07-22).
   The byline takes the top border; .eagleor-art-updated drops its own when it follows the byline so
   the pair reads as a single footer, not two rules. */
.eagleor-v7-article .eagleor-art-byline { margin: 44px 0 0; padding-top: 18px; border-top: 1px solid rgba(44,33,24,.12); font-family: var(--t-sans); font-size: 13.5px; font-weight: 600; letter-spacing: .01em; color: var(--t-brown); opacity: .72; }
.eagleor-v7-article .eagleor-art-byline a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.eagleor-v7-article .eagleor-art-byline a:hover { color: var(--t-blue); }
.eagleor-v7-article .eagleor-art-updated { margin: 44px 0 0; padding-top: 18px; border-top: 1px solid rgba(44,33,24,.12); font-family: var(--t-sans); font-size: 13.5px; font-weight: 600; letter-spacing: .01em; color: var(--t-brown); opacity: .72; }
.eagleor-v7-article .eagleor-art-byline + .eagleor-art-updated { margin-top: 4px; padding-top: 0; border-top: 0; }

/* ===== CF7 FAILED-SUBMIT UX (2026-07-23) — make a blocked submission impossible to miss ===== */
/* Loud red banner injected at the top of the form by js/eagleor-formvalidate.js on a failed submit.
   scroll-margin clears the sticky topbar/nav when it is scrolled into view. */
.eagleor-form-alert {
	display: none; align-items: flex-start; gap: 12px;
	margin: 0 0 22px; padding: 15px 18px;
	background: #fdecec; border: 2px solid #c0392b; border-radius: 12px;
	color: #8e2119; font-family: var(--t-sans); font-size: 15.5px; font-weight: 600; line-height: 1.5;
	scroll-margin-top: 120px;
}
.eagleor-form-alert svg { flex: 0 0 auto; width: 22px; height: 22px; margin-top: 1px; stroke: #c0392b; stroke-width: 2; fill: none; stroke-linecap: round; }
.eagleor-form-alert strong { color: #8e2119; font-weight: 800; }
/* Invalid fields: unmistakable red, not the hairline default */
.wpcf7-form .wpcf7-not-valid {
	border: 2px solid #c0392b !important;
	background: #fdf3f2 !important;
	box-shadow: 0 0 0 3px rgba(192,57,43,.12) !important;
}
.wpcf7-form .wpcf7-not-valid-tip {
	display: block; margin-top: 6px;
	color: #b02a1e; font-family: var(--t-sans); font-size: 13.5px; font-weight: 600;
}
/* CF7's own response line (below Submit): make it a loud banner too, reinforcing at the button */
.wpcf7-form .wpcf7-response-output {
	margin: 20px 0 0 !important; padding: 13px 16px !important;
	border: 2px solid #c0392b !important; border-radius: 12px !important;
	background: #fdecec !important; color: #8e2119 !important;
	font-family: var(--t-sans); font-weight: 700; font-size: 15px; text-align: center;
}
.wpcf7-form.sent .wpcf7-response-output { border-color: #2e6e8e !important; background: #eaf3f7 !important; color: #1f4d63 !important; }
@media (max-width: 767px) {
	.eagleor-form-alert { font-size: 15px; scroll-margin-top: 96px; }
}
