/*
Theme Name: Fowler Property Advisors
Theme URI: https://fowlerpropertyadvisors.com/
Author: Fowler Property Advisors
Description: Custom theme for Fowler Property Advisors, a Charlotte commercial real estate brokerage representing tenants and buyers. Includes the homepage, About Us, Our Process, Services (with Tenant and Buyer Representation) and Areas Served pages, and matching blog templates.
Version: 1.0.10
Requires at least: 6.0
Requires PHP: 7.4
License: All rights reserved
Text Domain: fowler-property-advisors
*/

/* Base reset */
*,*::before,*::after{box-sizing:border-box}
body{margin:0}
img,svg{max-width:100%}
[hidden]{display:none!important}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed!important;top:8px;left:8px;width:auto;height:auto;clip:auto;z-index:100;background:#fff;color:#26272b;padding:10px 16px;border-radius:8px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.menu>li>a.active,.menu>li>button.active{color:var(--brand)}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}


/* Brand: logo orange #F17511 + charcoal #57585C. Layout: corporate CRE homepage — utility bar + sticky nav, full-bleed skyline hero, reviews slider, lead form card, icon card grid, CTA bands, service tiles, FAQ, multi-column footer. */
:root{
  --bg:#ffffff;
  --bg-alt:#f4f4f5;
  --ink:#26272b;
  --muted:#5c5d63;
  --brand:#d4600a;
  --brand-deep:#2e2f33;
  --brand-tint:#fdeadb;
  --accent:#e26a0d;
  --line:#dedfe2;
  --on-brand:#ffffff;
  --field:#ffffff;
  --head:"Montserrat", "Helvetica Neue", Arial, sans-serif;
  --body:"Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
  --wrap:1180px;
  --radius:18px;
}
.logo-img.lg-d{display:none}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#17181b; --bg-alt:#1f2024; --ink:#ececee; --muted:#a7a8ae; --brand:#e86d10; --brand-deep:#0f1012;
  --brand-tint:#3b2719; --accent:#f58a3a; --line:#313237; --on-brand:#ffffff; --field:#1b1c1f; color-scheme:dark}
  :root:not([data-theme="light"]) .lg-l{display:none} :root:not([data-theme="light"]) .lg-d{display:block}}
:root[data-theme="dark"]{
  --bg:#17181b; --bg-alt:#1f2024; --ink:#ececee; --muted:#a7a8ae; --brand:#e86d10; --brand-deep:#0f1012;
  --brand-tint:#3b2719; --accent:#f58a3a; --line:#313237; --on-brand:#ffffff; --field:#1b1c1f; color-scheme:dark}
:root[data-theme="dark"] .lg-l{display:none} :root[data-theme="dark"] .lg-d{display:block}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.65}
h1,h2,h3,h4{font-family:var(--head);margin:0;line-height:1.15;text-wrap:balance}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:400;letter-spacing:-.01em}
h3{font-weight:600;font-size:1.1rem}
p{margin:0}
a{color:var(--brand)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
section{padding-block:clamp(60px,8vw,100px)}
.kicker{font-family:var(--head);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.lead{font-size:1.15rem;color:var(--muted);max-width:62ch}
.center{text-align:center;margin-inline:auto}

/* pill buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 .95rem var(--head);padding:13px 26px;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.btn:hover{transform:translateY(-1px)}
.btn-brand{background:var(--brand);color:var(--on-brand)}
.btn-brand:hover{background:var(--brand-deep)}
.btn-light{background:#fff;color:#2e2f33}
.btn-outline{border-color:currentColor;color:inherit;background:transparent}
.btn-sm{padding:8px 18px;font-size:.82rem}

/* utility bar + header */
.topbar{background:var(--brand-deep);color:var(--on-brand);font-size:.86rem;border-bottom:3px solid #f17511}
.topbar .wrap{display:flex;justify-content:flex-end;gap:24px;padding-block:7px;flex-wrap:wrap}
.topbar a{color:var(--on-brand);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.topbar svg{width:14px;height:14px}
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--bg);box-shadow:0 1px 0 var(--line);transition:box-shadow .2s}
.site-header.scrolled{box-shadow:0 6px 24px rgba(20,20,25,.12)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.logo-img{height:48px;width:auto;max-width:100%;display:block}
@media (max-width:420px){.logo-img{height:40px}}
.logo-mark{width:42px;height:42px;border-radius:10px;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;font:700 1.05rem var(--head);letter-spacing:.02em}
.logo-text{display:flex;flex-direction:column;line-height:1.05}
.logo-text b{font:700 1.02rem var(--head);letter-spacing:.06em;text-transform:uppercase}
.logo-text span{font:500 .62rem var(--head);letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.menu{display:flex;align-items:center;list-style:none;margin:0;padding:0}
.menu>li{position:relative}
.menu>li+li::before{content:"";position:absolute;left:0;top:50%;height:16px;margin-top:-8px;border-left:1px solid var(--line)}
.menu>li>a,.menu>li>button{display:block;padding:10px 15px;font:500 .9rem var(--head);color:var(--ink);text-decoration:none;background:none;border:0;cursor:pointer}
.menu>li>a:hover,.menu>li>button:hover{color:var(--brand)}
.has-sub>button::after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.sub{position:absolute;top:100%;left:8px;min-width:250px;list-style:none;margin:0;padding:10px;background:var(--bg);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px rgba(20,20,25,.16);opacity:0;visibility:hidden;transform:translateY(6px);transition:all .18s}
.has-sub:hover .sub,.has-sub:focus-within .sub,.has-sub.open .sub{opacity:1;visibility:visible;transform:none}
.sub a{display:block;padding:9px 12px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:.95rem}
.sub a:hover{background:var(--bg-alt);color:var(--brand)}
.nav-right{display:flex;align-items:center;gap:10px}
.burger{display:none;width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;align-items:center;justify-content:center}
.burger svg{width:22px;height:22px}
@media (max-width:1040px){
  .burger{display:inline-flex}
  .nav-right .btn{display:none}
  .menu{position:fixed;inset:0 0 0 auto;width:min(340px,88vw);flex-direction:column;align-items:stretch;background:var(--bg);padding:calc(80px + env(safe-area-inset-top,0px)) calc(20px + env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) 20px;box-shadow:-20px 0 40px rgba(0,0,0,.18);transform:translateX(105%);transition:transform .25s;overflow-y:auto}
  .menu.open{transform:none}
  .menu>li+li::before{display:none}
  .menu>li{border-bottom:1px solid var(--line)}
  .menu>li>a,.menu>li>button{padding:14px 4px;font-size:1rem;width:100%;text-align:left}
  .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 10px 10px;display:none;min-width:0}
  .has-sub.open .sub{display:block}
  .menu .mobile-cta{display:block;padding:18px 0;border:0}
}
.mobile-cta{display:none}
.scrim{position:fixed;inset:0;background:rgba(10,10,12,.45);z-index:-1;opacity:0;pointer-events:none;transition:opacity .2s}
.scrim.on{opacity:1;pointer-events:auto}

/* hero */
.hero{position:relative;color:#fff;background:#2a2b2f;overflow:hidden;padding:0;isolation:isolate}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:62% 42%;animation:drift 24s ease-out both}
@keyframes drift{from{transform:scale(1.08)}to{transform:scale(1)}}
@media (prefers-reduced-motion: reduce){.hero-photo{animation:none}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,25,28,.86) 0%,rgba(24,25,28,.62) 38%,rgba(24,25,28,.12) 72%,rgba(24,25,28,0) 100%),linear-gradient(0deg,rgba(24,25,28,.45) 0%,rgba(24,25,28,0) 35%)}
@media (max-width:760px){.hero::after{background:linear-gradient(0deg,rgba(24,25,28,.9) 0%,rgba(24,25,28,.7) 55%,rgba(24,25,28,.35) 100%)}}
.hero-inner{position:relative;z-index:2;padding-block:clamp(90px,14vw,170px) clamp(80px,11vw,140px);display:grid;gap:22px;max-width:760px}
.hero .kicker{color:#f7a25a}
.hero h1{font-weight:300;font-size:clamp(2.3rem,5.6vw,4.1rem);letter-spacing:-.015em}
.hero h1 b{font-weight:600;color:#f7a25a}
.hero p{font-size:1.2rem;color:rgba(255,255,255,.86);max-width:56ch}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:8px;font:500 .85rem var(--head);color:rgba(255,255,255,.8)}
.hero-badges span{display:inline-flex;align-items:center;gap:8px}
.hero-badges span::before{content:"";width:7px;height:7px;border-radius:50%;background:#f7a25a}


/* scroll motion: elements stay visible at rest; a short rise plays when they enter view */
@keyframes rise{from{opacity:.25;transform:translateY(22px)}to{opacity:1;transform:none}}
.rise-in{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
@media (prefers-reduced-motion: reduce){.rise-in{animation:none}}

/* intro */
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(36px,6vw,80px);align-items:center}
.intro-copy{display:grid;gap:18px;min-width:0}
.intro-copy p{color:var(--muted)}
.values{position:relative;display:grid;place-items:center;text-align:center;padding:40px 20px;border-radius:var(--radius);background:var(--bg-alt);min-height:300px;overflow:hidden}
.values svg.bldg{position:absolute;inset:auto 50% 0 auto;transform:translateX(50%);width:60%;height:90%;opacity:.12}
.values .stack{position:relative;display:grid;gap:4px;font-family:var(--head)}
.values .stack span{font-weight:300;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);font-size:clamp(.95rem,2vw,1.15rem)}
.values .stack strong{font-weight:600;font-size:clamp(2rem,4.6vw,3rem);letter-spacing:.12em;color:var(--brand);display:flex;align-items:center;gap:16px;justify-content:center}
.values .stack strong::before,.values .stack strong::after{content:"";width:34px;border-top:3px solid var(--brand)}

/* reviews */
.reviews{background:var(--bg-alt);padding-block:clamp(50px,6vw,72px)}
.rev-grid{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:center}
.rev-summary{text-align:center;display:grid;gap:6px;justify-items:center}
.rev-summary b{font:700 1.3rem var(--head);letter-spacing:.04em;text-transform:uppercase}
.stars{display:flex;gap:3px;color:var(--accent)}
.stars svg{width:22px;height:22px}
.rev-summary small{color:var(--muted)}
.slider{position:relative;min-width:0}
.track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 8px}
.track::-webkit-scrollbar{display:none}
.rev{flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;gap:10px;align-content:start}
.rev-head{display:flex;align-items:center;gap:12px}
.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font:600 .95rem var(--head);color:#fff;background:var(--brand);flex:none}
.rev-head div{line-height:1.25;min-width:0}
.rev-head strong{display:block;font:600 .95rem var(--head)}
.rev-head small{color:var(--muted);font-size:.85rem}
.rev .stars svg{width:16px;height:16px}
.rev p{font-size:.98rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rev.expanded p{-webkit-line-clamp:unset;display:block}
.more{justify-self:start;background:none;border:0;padding:0;color:var(--brand);font:600 .88rem var(--head);cursor:pointer}
.arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.1);z-index:2}
.arrow svg{width:18px;height:18px}
.arrow.prev{left:-18px}.arrow.next{right:-18px}
@media (max-width:980px){.rev{flex-basis:calc((100% - 18px)/2)}}
@media (max-width:760px){.rev-grid{grid-template-columns:1fr}.arrow.prev{left:-6px}.arrow.next{right:-6px}}
@media (max-width:560px){.rev{flex-basis:88%}}

/* lead form card */
.pattern{background-color:var(--brand-deep);position:relative;isolation:isolate}
.mark{position:relative;isolation:isolate;overflow:hidden}
.mark::before{content:"";position:absolute;z-index:-1;width:min(440px,70%);aspect-ratio:1;right:-6%;bottom:-18%;background:url("assets/images/mark-white.png") center/contain no-repeat;opacity:.07;pointer-events:none}
.form-card{border-radius:24px;color:#fff;padding:clamp(28px,5vw,56px);display:grid;gap:26px}
.form-card h2{color:#fff;max-width:24ch}
.form-card .sub-note{color:rgba(255,255,255,.75);font-size:.92rem}
.form-card .req{color:#f7a25a}
form .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 18px}
.field{display:grid;gap:6px;min-width:0}
.field.span2{grid-column:span 2}.field.span3{grid-column:1/-1}
.field label{font:600 .85rem var(--head);color:rgba(255,255,255,.92)}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:1rem;padding:12px 14px;border-radius:8px;border:1px solid transparent;background:#fff;color:#26272b}
.field textarea{min-height:96px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #f7a25a;outline-offset:1px}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.form-foot small{color:rgba(255,255,255,.7)}
.form-msg{padding:14px 16px;border-radius:10px;background:rgba(247,162,90,.16);border:1px solid rgba(247,162,90,.5);color:#fff}
.err{color:#ffd27a;font-size:.85rem}
@media (max-width:760px){form .grid{grid-template-columns:1fr}.field.span2{grid-column:auto}}

.agent{display:flex;align-items:center;gap:14px;margin-top:8px}
.agent img{width:64px;height:64px;border-radius:50%;border:3px solid #f17511;object-fit:cover;flex:none}
.agent strong{display:block;font:600 1rem var(--head);color:#fff}
.agent span{font-size:.92rem;color:rgba(255,255,255,.75)}

.text-link{font:600 .95rem var(--head);color:var(--brand);text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}

/* benefit cards */
.benefits h2{margin-bottom:44px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{border-radius:var(--radius);padding:32px 28px;display:grid;gap:14px;align-content:start;min-height:230px;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(20,20,25,.16)}
.card.dark{color:#fff}
.card.lite{background:var(--bg-alt);border:1px solid var(--line)}
.card.lite:nth-child(even){background:var(--bg)}
.ico{width:58px;height:58px;border-radius:50%;display:grid;place-items:center}
.card.dark .ico{background:#fff;color:#d4600a}
.card.lite .ico{background:var(--brand);color:#fff}
.ico svg{width:28px;height:28px}
.card h3{font-size:1.15rem}
.card p{font-size:.98rem;opacity:.86}
.card .btn{justify-self:start;margin-top:4px}
.card.dark .btn{background:#fff;color:#2e2f33}
@media (max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.cards{grid-template-columns:1fr}}

/* CTA band */
.band{position:relative;overflow:hidden;background:var(--brand-tint);color:var(--ink);padding-block:clamp(48px,6vw,72px)}
.band::after{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#f17511}
.band .wrap{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.band h2{max-width:22ch}
.band p{color:var(--muted);margin-top:10px;max-width:55ch}

/* tenant only split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.side{border-radius:var(--radius);padding:30px;display:grid;gap:14px;align-content:start}
.side.them{background:var(--bg);border:1px solid var(--line);color:var(--muted)}
.side.them h3{color:var(--ink)}
.side.us{color:#fff}
.side ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.side li{display:flex;gap:10px;align-items:flex-start}
.side li svg{flex:none;width:20px;height:20px;margin-top:3px}
.side.us li svg{color:#f7a25a}
@media (max-width:760px){.split{grid-template-columns:1fr}}

/* services: two cards */
.svc2{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:44px}
.svc-card{border-radius:var(--radius);border:1px solid var(--line);overflow:hidden;display:grid;grid-template-rows:auto auto 1fr;background:var(--bg);scroll-margin-top:120px}
.svc-img{display:block;width:100%;height:auto;aspect-ratio:16/8;object-fit:cover}
.svc-top{color:#fff;padding:32px 30px;display:grid;gap:14px;border-bottom:4px solid #f17511}
.svc-top .ico{width:58px;height:58px;border-radius:50%;background:#fff;color:#d4600a;display:grid;place-items:center}
.svc-top .ico svg{width:28px;height:28px}
.svc-top h3{font-size:1.5rem;font-weight:600}
.svc-top p{color:rgba(255,255,255,.85)}
.svc-body{padding:28px 30px 32px;display:grid;gap:14px;align-content:start}
.svc-body h4{font:600 .78rem var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.svc-body .btn{justify-self:start;margin-top:8px}
.ticks{list-style:none;margin:0 0 4px;padding:0;display:grid;gap:12px}
.ticks li{display:flex;gap:12px;align-items:flex-start;color:var(--muted)}
.ticks li b{color:var(--ink);font-weight:600}
.ticks svg{flex:none;width:20px;height:20px;margin-top:3px;color:var(--brand)}
@media (max-width:860px){.svc2{grid-template-columns:1fr}}

/* process */
.process{background:var(--bg-alt)}
.steps{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s}
.steps li{counter-increment:s;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;display:grid;gap:10px;align-content:start}
.steps li::before{content:counter(s);width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font:600 1.05rem var(--head)}
.steps p{color:var(--muted);font-size:.98rem}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* team/about */
.about-grid{display:grid;grid-template-columns:380px 1fr;gap:clamp(36px,5vw,70px);align-items:start}
.portrait{border-radius:var(--radius);overflow:hidden;color:#fff;display:grid}
.portrait .ph-img{display:block;width:100%;height:auto;aspect-ratio:720/792;object-fit:cover}
.portrait .ph{aspect-ratio:4/4.4;max-width:100%;display:grid;place-items:center;font:300 4.5rem var(--head);letter-spacing:.06em;background:linear-gradient(160deg,#5a5b61,#2e2f33)}
.portrait .cap{padding:20px 22px;display:grid;gap:2px}
.portrait .cap strong{font:600 1.15rem var(--head)}
.portrait .cap span{opacity:.8;font-size:.95rem}
.portrait .lic{padding:0 22px 20px;font-size:.82rem;opacity:.75;font-variant-numeric:tabular-nums}
.about-copy{display:grid;gap:18px;min-width:0}
.about-copy p{color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:8px}
.stat{border-radius:14px;background:var(--bg-alt);border:1px solid var(--line);padding:18px 16px;display:grid;gap:4px}
.stat b{font:600 1.45rem var(--head);color:var(--brand);font-variant-numeric:tabular-nums}
.stat span{font-size:.86rem;color:var(--muted);line-height:1.35}
@media (max-width:980px){.about-grid{grid-template-columns:1fr}.portrait{max-width:420px}}
@media (max-width:640px){.stats{grid-template-columns:repeat(2,1fr)}}

.facts{margin-top:8px;border:1px solid var(--line);border-radius:16px;padding:22px 24px;background:var(--bg)}
.facts h3{font:600 .8rem var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.facts dl{margin:0;display:grid;gap:0}
.facts dl>div{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:9px 0;border-top:1px solid var(--line)}
.facts dl>div:first-child{border-top:0}
.facts dt{font:600 .85rem var(--head);color:var(--ink)}
.facts dd{margin:0;color:var(--muted);font-size:.97rem;min-width:0}
@media (max-width:520px){.facts dl>div{grid-template-columns:1fr;gap:2px}}

/* areas */
.areas-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.area{border-radius:var(--radius);border:1px solid var(--line);padding:26px;display:grid;gap:12px;align-content:start}
.area h3{display:flex;align-items:center;gap:10px}
.area h3 svg{width:20px;height:20px;color:var(--brand)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{font-size:.9rem;padding:5px 12px;border-radius:999px;background:var(--brand-tint);color:var(--ink)}
@media (max-width:860px){.areas-wrap{grid-template-columns:1fr}}

.areas-intro{display:grid;grid-template-columns:minmax(0,360px) 1fr;gap:clamp(24px,5vw,64px);align-items:center}
.areas-intro-copy{display:grid;gap:12px;min-width:0}
.carolinas-home{display:block;width:100%;height:auto;overflow:visible}
.carolinas-home .st{fill:var(--bg);stroke:var(--muted);stroke-width:1.3;stroke-linejoin:round}
.carolinas-home .border{fill:none;stroke:#f17511;stroke-width:2.6;stroke-linejoin:round}
.carolinas-home .metro{fill:rgba(241,117,17,.12);stroke:#e26a0d;stroke-width:1.2;stroke-dasharray:3 3}
.carolinas-home .clt{fill:#f17511;stroke:var(--bg);stroke-width:2}
.carolinas-home .clt-lbl{font:700 12px Montserrat,Arial,sans-serif;fill:var(--ink);paint-order:stroke;stroke:var(--bg);stroke-width:3px}
.carolinas-home .st-lbl{font:600 9px Montserrat,Arial,sans-serif;letter-spacing:.18em;fill:var(--muted)}
@media (max-width:760px){.areas-intro{grid-template-columns:1fr}.carolinas-home{max-width:320px}}

/* faq */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,5vw,70px);align-items:start}
.faq-grid>div:first-child{display:grid;gap:16px}
.faq details{border:1px solid var(--line);border-radius:14px;margin-bottom:12px;background:var(--bg)}
.faq summary{list-style:none;cursor:pointer;padding:18px 54px 18px 20px;font:600 1rem var(--head);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--brand-tint);color:var(--brand);display:grid;place-items:center;font-size:1.2rem;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 20px 18px;color:var(--muted)}
@media (max-width:860px){.faq-grid{grid-template-columns:1fr}}

/* quote + cta */
.closing{border-top:1px solid var(--line)}
.closing .wrap{display:grid;grid-template-columns:1.4fr auto .8fr;gap:clamp(24px,4vw,56px);align-items:center}
.closing blockquote{margin:0;font:300 italic clamp(1.5rem,3vw,2.2rem)/1.3 var(--head);color:var(--brand)}
.closing .rule{width:2px;align-self:stretch;background:var(--brand)}
.closing .cta{display:grid;gap:16px;justify-items:start}
.closing .cta h3{font:400 clamp(1.5rem,2.6vw,2rem)/1.2 var(--head)}
@media (max-width:820px){.closing .wrap{grid-template-columns:1fr}.closing .rule{width:60px;height:2px;align-self:auto}}

/* footer */
footer{color:rgba(255,255,255,.82);font-size:.95rem;border-top:4px solid #f17511}
.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:32px;padding-block:56px 36px}
.foot h4{font:600 .8rem var(--head);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:14px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot a{color:rgba(255,255,255,.82);text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline}
.foot .logo{color:#fff;margin-bottom:14px}
.foot .logo-mark{background:#fff;color:#2e2f33}
.foot .logo-text span{color:rgba(255,255,255,.7)}
.foot address{font-style:normal;display:grid;gap:8px}
.bbb-seal{display:inline-block;margin-top:18px;background:#fff;border-radius:10px;padding:10px 14px 8px;line-height:1.3}
.bbb-seal img{display:block;max-width:100%;height:auto}
.bbb-seal #gpt-passback{height:0;overflow:hidden}
.copyrow{border-top:1px solid rgba(255,255,255,.14);padding-block:18px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.84rem;color:rgba(255,255,255,.65)}
@media (max-width:860px){.foot{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.foot{grid-template-columns:1fr}}

.totop{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));width:44px;height:44px;border-radius:12px;border:0;background:var(--brand);color:#fff;display:grid;place-items:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s;z-index:40;box-shadow:0 8px 20px rgba(0,0,0,.2)}
.totop.on{opacity:1;pointer-events:auto}
.totop svg{width:20px;height:20px}
