/* ============================================================
   TOKENS
   ============================================================ */
:root{
  --navy:#26445F;
  --navy-soft:#16324a;
  --teal:#2c6e8e;
  --teal-dark:#1f5470;
  --gold:#f2a91c;
  --gold-dark:#e0930a;
  --bg-light:#eef2f6;
  --bg-lighter:#f6f8fa;
  --text-dark:#16232f;
  --text-muted:#5b6b78;
  --white:#ffffff;
  --line:#dde4ea;
  --radius:6px;
  --max:1180px;
}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}
h1,h2,h3{margin:0;font-weight:600;}
.section{padding:64px 0;}
.section-bg{background:var(--bg-light);}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 22px;border-radius:4px;font-size:14px;font-weight:600;
  border:none;cursor:pointer;transition:background .15s ease;
}
.btn-gold{background:var(--gold);color:var(--navy);}
.btn-gold:hover{background:var(--gold-dark);}

/* ============================================================
   HERO / AGENT CARD
   ============================================================ */
.hero{padding:8px 0 56px;}
.hero .wrap{display:grid;align-items:center;grid-template-columns:1fr 1.4fr;gap:40px; max-width:initial!important;}
.hero-info h1{font-size:54px;font-weight:300;line-height:1.25;color:var(--navy);margin-bottom:48px;}
.hero-info dl{margin:0;font-size:16px; font-weight: 400;}
.hero-info dt{color:#26445F;margin-top:16px;}
.hero-info dd{margin:2px 0 0;font-weight:400;}
.hero-info {padding-left: 280px;}
.hero-image{overflow:hidden;min-height:320px;}
.hero-image img{width:100%;height:100%;object-fit:cover;}

/* ============================================================
   MAP + INFO PANEL
   ============================================================ */
.map-block{position:relative; background-color:#EEF4F8;}
.map-frame-wrap{height:420px;width:100%;position:relative;}
.map-frame-wrap iframe{width:100%;height:100%;border:0;}
.map-card{
  position:absolute;top:50%;left:50%;
  background:var(--white);border-radius:var(--radius);
  box-shadow:0 8px 24px rgba(14,36,56,.15);
  padding:16px 18px;max-width:230px;font-size:13px;z-index:5;
}
.map-frame-wrap .acf-map{
	height: 420px;
}
.map-card strong{display:block;font-size:14px;margin-bottom:6px;}
.map-card .hours{color:var(--text-muted);margin-top:6px;}

.info-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.info-tiles > div{padding:89px 28px;}
.info-tiles > div:last-child{border-right:none;}
.info-tiles h3{font-size:22px; font-weight: 400; margin-bottom:16px;color:var(--navy);}
.info-tiles p{font-size:14px;color:var(--navy);margin:0; line-height: 1.5;}

/* ============================================================
   ADVISORS
   ============================================================ */
.section-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin:80px 0!important;flex-wrap:wrap;gap:16px;
}
.section-head h2{font-size:54px; font-weight: 300; color:var(--navy);}
.advisor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.advisor-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white);}
.advisor-photo{aspect-ratio:4/3;background:var(--bg-light);position:relative;overflow:hidden;}
.advisor-photo img{width:100%;height:100%;object-fit:cover;}
.advisor-photo .badge{
  position:absolute;top:10px;left:10px;background:rgba(14,36,56,.85);color:#fff;
  font-size:11px;padding:3px 8px;border-radius:3px;
}
.advisor-body{padding:16px 18px 20px;}
.advisor-body .role{font-size:12px;color:var(--text-muted);margin-bottom:4px;}
.advisor-body h4{font-size:16px;margin:0 0 10px;color:var(--navy);}
.advisor-body p.bio{font-size:12.5px;color:var(--text-muted);margin:0 0 12px;line-height:1.5;}
.advisor-body .contact{font-size:12.5px;margin-bottom:14px;}
.advisor-body .contact div{margin-top:2px;}

/* ============================================================
   SERVICES
   ============================================================ */
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);}
.services-list{display:flex;flex-direction:column;}
.services-list button.svc-row{
  all:unset;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;
  padding:60px;border-bottom:1px solid var(--line);
  
  background:var(--white);transition:background .15s ease;
}
.services-list .svc-row:nth-child(odd){
background: #EEF4F8;
}
.svc-row{
  display: flex;
  align-items: stretch;
  max-height: 145px; /* pick whatever row height you're using */
}
.svc-row-text{
  flex: 1 1 50%;
  display: flex;
  align-items: center;
  padding: 0 30px;
font-size:36px;font-weight:300;color:var(--navy);
}
.svc-row-image{
  flex: 0 0 50%;
  overflow: hidden;
}
.svc-row-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.services-list .svc-row .arrow{display: none;}
.services-images{position:relative;}
.services-images img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease;
}
.services-images img.active{opacity:1;}

/* ============================================================
   TESTIMONIALS / GOOGLE REVIEWS SLIDER
   ============================================================ */
.testi-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:48px;}
.testi-head h2{ font-size: 54px!important; font-weight: 300; }
.google-badge div {display: flex;
    justify-content: center;
    flex-flow: column;
    align-items: center;}
.google-badge{display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;color:var(--text-muted);}
.google-badge strong{display:block;color:var(--text-dark);font-size:14px;}
.stars{color:var(--gold);letter-spacing:2px;font-size:13px;}
.google-badge-wrap{ display:flex; flex-direction:column; align-items:center; gap:6px; }
.google-badge{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:2px; }
.google-wordmark{ font-size:20px; font-weight:700; letter-spacing:.5px; font-family:Arial,sans-serif; }
.google-wordmark .g-blue{ color:#4285F4; }
.google-wordmark .g-red{ color:#EA4335; }
.google-wordmark .g-yellow{ color:#FBBC05; }
.google-wordmark .g-green{ color:#34A853; }

.who{ position:relative; padding-right:26px; } /* room for the G icon */
.testi-google-g{ position:absolute; right:0; top:0; width:20px; height:20px; }

.testi-text-wrap{ position:relative; }
.testi-text{
  max-height:100px;
  overflow:hidden;
  transition:max-height .25s ease;
}
.testi-text-wrap.expanded .testi-text{ max-height:1000px; }
.testi-toggle{
  all:unset; cursor:pointer; display:flex; align-items:center; gap:4px;
  margin-top:20px; font-size:14px;  color:var(--navy);
}
.testi-toggle .chev{ transition:transform .2s ease; }
.testi-text-wrap.expanded .testi-toggle .chev{ transform:rotate(180deg); }

.testi-slider{overflow:hidden;}
.testi-track{display:flex;transition:transform .35s ease;}
.testi-track > .testi-card{flex:0 0 25%;padding:0 20px;box-sizing:border-box;}
.testi-card{border-radius:var(--radius);padding:20px;font-size:13.5px;}
.testi-card .who{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.testi-card .avatar{width:34px;height:34px;border-radius:50%;background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;}
.testi-card .who div strong{display:block;font-size:16px; color: #1D1D1D;}
.testi-card p{color:var(--navy);margin:8px 0 0;line-height:1.55;}

.testi-controls{display:none;align-items:center;justify-content:center;gap:16px;margin-top:22px;}
.testi-controls button{
  all:unset;cursor:pointer;width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg-light);color:var(--navy);font-size:18px;
}
.testi-controls button:hover{background:var(--teal);color:#fff;}
.testi-dots{display:flex;gap:6px;}
.testi-dots span{width:7px;height:7px;border-radius:50%;background:var(--line);cursor:pointer;}
.testi-dots span.active{background:var(--teal);}

/* ============================================================
   FEATURE ICONS
   ============================================================ */
.feature-grid{display:grid;grid-template-columns:repeat(3, 33.3333%);border-radius:var(--radius);overflow:hidden;}
.feature-cell{
  display:flex;flex-flow: column;align-items:flex-start;gap:16px;padding:50px 80px;
  font-size:26px;font-weight:300;color:var(--navy);
}
.feature-cell:nth-child(odd){background-color: #EEF4F8;}
.feature-cell .ic{
  width:auto;height:60px;
  display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--teal);
}

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.faq{max-width:820px;margin:0 auto;}
.faq h2{text-align:center;font-size:26px;color:var(--navy);margin-bottom:36px;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item button.faq-q{
  all:unset;cursor:pointer;width:100%;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:20px 4px;font-size:16px;font-weight:600;color:var(--navy);
}
.faq-item button.faq-q .plus{
  flex:0 0 auto;width:20px;height:20px;position:relative;color:var(--teal);font-size:18px;
  transition:transform .2s ease;
}
.faq-item[data-open="true"] button.faq-q .plus{transform:rotate(45deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .25s ease;font-size:14px;color:var(--navy);line-height:1.6;}
.faq-answer p{margin:0 4px 20px; font-size: 16px!important;}
.faq-item[data-open="true"] .faq-answer{max-height:220px;}

/* ============================================================
   SPLIT BLOCKS
   ============================================================ */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:340px;}
.split .img-side{position:relative;overflow:hidden;}
.split .img-side img{width:100%;height:100%;object-fit:cover;}
.split .img-side::after{content:"";position:absolute;inset:0;background:rgba(14,36,56,.35);}
.split .text-side{background:var(--navy);color:#fff;padding:56px 60px;display:flex;flex-direction:column;justify-content:center;}
.split.light .text-side{background:var(--white);color:var(--text-dark);}
.split .text-side h3{font-size:24px;margin-bottom:14px;}
.split .text-side p{font-size:14px;line-height:1.6;opacity:.85;margin:0 0 18px;}
.split .text-side a{font-size:13px;font-weight:700;color:var(--gold);}

/* ============================================================
   GALLERY
   ============================================================ */
.gallery-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.gallery-grid img{width:100%;height:220px;object-fit:cover;border-radius:var(--radius);}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;}
  .info-tiles{grid-template-columns:1fr;}
  .info-tiles > div{border-right:none;border-bottom:1px solid var(--line);}
  .advisor-grid{grid-template-columns:1fr 1fr;}
  .services-grid{grid-template-columns:1fr;}
  .services-images{min-height:260px;}
  .testi-track > .testi-card{flex-basis:50%;}
  .feature-grid{grid-template-columns:1fr;}
  .feature-cell{border-right:none !important;}
  .split{grid-template-columns:1fr;}
  .split .img-side{min-height:220px;}
  .gallery-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .advisor-grid,.gallery-grid{grid-template-columns:1fr;}
  .testi-track > .testi-card{flex-basis:100%;}
}

@media (prefers-reduced-motion:reduce){ *{transition:none !important;} }
:focus-visible{outline:2px solid var(--teal);outline-offset:2px;}


body.single-offices .block-half-divided-with-text__single.content{
	padding-left: 8rem!Important;
	padding-right: 8rem!important;
	
}

body.single-offices .block-half-divided-with-text__single.content h1,
body.single-offices .block-half-divided-with-text__single.content h2,
body.single-offices .block-half-divided-with-text__single.content h3{
	font-weight: 300;
	font-size: 36px;
}
body.single-offices .block-half-divided-with-text__single.content h1 strong, 
body.single-offices .block-half-divided-with-text__single.content h2 strong,
body.single-offices .block-half-divided-with-text__single.content h3 strong{
	font-weight: 300;
}

body.single-offices .block-half-divided-with-text__single.content p{
	font-weight: 400;
	font-size: 14px;
	line-height: 18px;
}

body.single-offices .float-button.alter{
	display: none!Important;
}