/* CORE CONNECT Framework — base layer. Rules are framework. Values come from Bricks variables (per client). */

body{font-family:var(--font-body);color:var(--ink);background:var(--surface);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
h1,h2,h3,h4,h5{font-family:var(--font-heading);color:var(--brand-primary);font-weight:600;line-height:1.1;letter-spacing:-.015em;margin:0;}
p{margin:0;}
img{max-width:100%;height:auto;}

.brxe-section{padding-block:var(--section-y);}
.brxe-container{width:min(100% - 2.5rem,var(--content-max));margin-inline:auto;}

.eyebrow{font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-accent);}
.lede{font-size:clamp(1.0625rem,1.4vw,1.1875rem);line-height:1.7;color:var(--ink-muted);max-width:56ch;}

.section-alt{background:var(--surface-alt);}
.section-dark{background:var(--brand-primary);}
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:var(--ink-inverse);}
.section-dark .lede{color:rgba(247,249,250,.72);}
.section-dark .eyebrow{color:var(--brand-accent-soft);}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-m);box-shadow:var(--shadow-card);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;height:100%;display:flex;flex-direction:column;gap:.6rem;}
.card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(20,24,29,.05),0 18px 40px rgba(20,24,29,.10);border-color:#C9D3DC;}
.card h3,.card .card-title{font-size:var(--display-3);}
.card .card-meta{margin-top:auto;padding-top:var(--space-xs);border-top:1px solid var(--line);font-size:.8125rem;color:var(--ink-muted);letter-spacing:.02em;}

.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:var(--space-m);}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--space-l);align-items:center;}
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-m);}

.stat{font-family:var(--font-heading);font-size:clamp(1.9rem,3vw,2.6rem);font-weight:600;color:var(--brand-accent);line-height:1;}
.stat-label{font-size:.8125rem;color:var(--ink-muted);letter-spacing:.02em;margin-top:.4rem;}

.pill{display:inline-flex;align-items:center;gap:.5rem;background:var(--brand-accent-soft);color:var(--brand-primary-dark);border-radius:999px;padding:.4rem .9rem;font-size:.8125rem;font-weight:500;}

.checklist{list-style:none;padding:0;margin:0;display:grid;gap:.7rem;}
.checklist li{position:relative;padding-left:1.75rem;color:var(--ink-muted);line-height:1.55;}
.checklist li::before{content:'';position:absolute;left:.15rem;top:.4em;width:.8rem;height:.45rem;border-left:2px solid var(--brand-accent);border-bottom:2px solid var(--brand-accent);transform:rotate(-45deg);}
.section-dark .checklist li{color:rgba(247,249,250,.8);}

.prose{max-width:var(--content-narrow);}
.prose > * + *{margin-top:1.15em;}
.prose h2{font-size:var(--display-3);margin-top:2em;}
.prose h3{font-size:1.25rem;margin-top:1.6em;}
.prose ul,.prose ol{padding-left:1.25rem;display:grid;gap:.5rem;color:var(--ink-muted);}
.prose a{color:var(--brand-accent);text-underline-offset:3px;}
.prose blockquote{border-left:2px solid var(--brand-accent);padding-left:var(--space-s);font-family:var(--font-heading);font-size:1.25rem;line-height:1.45;color:var(--brand-primary);}

.hero-split{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--space-xl);align-items:center;}
@media (max-width:900px){.hero-split{grid-template-columns:1fr;gap:var(--space-l);}}
/* header + footer */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line);}
.site-header .brxe-container{padding-block:0;}
.wordmark{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;letter-spacing:.02em;color:var(--brand-primary);text-decoration:none;}
.wordmark span{color:var(--brand-accent);}
.nav-link{font-size:.9375rem;color:var(--ink-muted);text-decoration:none;transition:color .2s ease;}
.nav-link:hover{color:var(--brand-primary);}
.phone-cta{font-family:var(--font-body);font-size:.9375rem;font-weight:600;color:var(--brand-primary);text-decoration:none;border:1px solid var(--line);border-radius:var(--radius);padding:.55rem 1rem;transition:border-color .2s ease,background .2s ease;}
.phone-cta:hover{border-color:var(--brand-accent);background:var(--brand-accent-soft);}
.site-footer{background:var(--brand-primary-dark);color:rgba(247,249,250,.7);}
.site-footer a{color:rgba(247,249,250,.7);text-decoration:none;}
.site-footer a:hover{color:#fff;}
.footer-head{font-family:var(--font-body);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,249,250,.45);margin-bottom:.9rem;}

/* buttons */
.btn-accent{display:inline-flex;align-items:center;justify-content:center;background:var(--brand-accent);color:#fff;font-family:var(--font-body);font-size:.9375rem;font-weight:600;border-radius:var(--radius);padding:.85rem 1.6rem;text-decoration:none;border:0;transition:background .2s ease,transform .2s ease;}
.btn-accent:hover{background:#B36A38;transform:translateY(-1px);}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--ink-inverse);border:1px solid rgba(247,249,250,.3);border-radius:var(--radius);padding:.85rem 1.6rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:border-color .2s ease,background .2s ease;}
.btn-ghost:hover{border-color:rgba(247,249,250,.7);background:rgba(255,255,255,.06);}

/* service page */
.svc-aside{position:sticky;top:6rem;background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-m);}
.svc-facts{display:grid;gap:1rem;margin-bottom:var(--space-s);padding-bottom:var(--space-s);border-bottom:1px solid var(--line);}
.svc-fact-label{font-size:.6875rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-muted);}
.svc-fact-value{font-family:var(--font-heading);font-size:1.25rem;color:var(--brand-primary);font-weight:600;}
.svc-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.85fr);gap:var(--space-xl);align-items:start;}
@media (max-width:900px){.svc-layout{grid-template-columns:1fr;gap:var(--space-l);}.svc-aside{position:static;}}

/* homepage */
.hero{background:linear-gradient(160deg,var(--brand-primary) 0%,var(--brand-primary-dark) 62%,#091826 100%);position:relative;overflow:hidden;}
.hero::after{content:"";position:absolute;right:-8%;bottom:-45%;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(200,121,65,.24),transparent 66%);pointer-events:none;}
.hero .brxe-container{position:relative;z-index:1;}
.hero h1{font-size:var(--display-1);max-width:17ch;}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-m);border-top:1px solid rgba(247,249,250,.16);padding-top:var(--space-m);margin-top:var(--space-l);}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--space-xs);}
.sec-head{display:flex;flex-direction:column;gap:12px;max-width:62ch;margin-bottom:var(--space-l);}
.card-link{font-size:.875rem;font-weight:600;color:var(--brand-accent);text-decoration:none;margin-top:auto;padding-top:var(--space-xs);}
.post-card{display:flex;flex-direction:column;gap:.55rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-m);height:100%;transition:border-color .25s ease,transform .25s ease;}
.post-card:hover{border-color:var(--brand-accent);transform:translateY(-3px);}
.post-card h3{font-size:1.125rem;line-height:1.3;}
.post-date{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);}
.why-list{display:grid;gap:var(--space-m);}
.why-item{display:grid;gap:.4rem;padding-left:var(--space-s);border-left:2px solid var(--brand-accent);}
.why-item h3{font-size:1.0625rem;}
