
:root {
  --ink:#171918; --paper:#F7F5EF; --sage:#78917D; --stone:#D7D1C7;
  --brass:#B28A52; --muted:#5B625D; --line:#DBDFDA; --wash:#EDF1EC;
  --gutter:clamp(24px, 3vw, 64px); --content:1440px;
  color:var(--ink); background:var(--paper);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-synthesis:none; scroll-behavior:smooth;
}
* { box-sizing:border-box; letter-spacing:0; }
body { margin:0; min-width:280px; font-size:16px; line-height:1.6; }
body.nav-open { overflow:hidden; }
[hidden],.hidden { display:none!important; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
button,a,input,textarea,summary { -webkit-tap-highlight-color:transparent; }
button,a,summary { touch-action:manipulation; }
button { cursor:pointer; }
h1,h2,h3,p { overflow-wrap:break-word; }
h1,h2,h3 { margin:0; color:inherit; font-weight:650; }
h1 { font-size:48px; line-height:1.1; }
h2 { font-size:36px; line-height:1.17; }
h3 { font-size:21px; line-height:1.3; }
p { margin:0 0 18px; }
p:last-child { margin-bottom:0; }
figure { margin:0; }
:focus-visible { outline:3px solid var(--brass); outline-offset:5px; }
section[id],div[id],h2[id] { scroll-margin-top:140px; }
.wrap { width:min(var(--content),calc(100% - var(--gutter)*2)); margin-inline:auto; }
.section { padding-block:72px; }
.eyebrow { margin:0 0 16px; font-size:12px; line-height:1.3; font-weight:700; text-transform:uppercase; color:#657A69; }
.section-lead { display:grid; grid-template-columns:1.15fr .85fr; gap:64px; align-items:end; margin-bottom:36px; }
.section-lead>p { max-width:480px; margin:0; color:var(--muted); }
.section-lead>.text-link { justify-self:end; }
.text-link { display:inline-flex; align-items:center; gap:8px; margin-top:22px; font-size:14px; line-height:1.5; font-weight:650; text-decoration:none; text-underline-offset:6px; text-decoration-color:#AEBAB0; }
.text-link:hover { color:#4D6653; text-decoration-color:currentColor; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:12px 20px; border:1px solid transparent; border-radius:2px; font-size:14px; line-height:1.4; font-weight:650; transition:background .15s,color .15s; }
.button.primary { background:var(--sage); color:var(--ink); }
.button.primary:hover { background:#93AA97; }
.button.secondary { border-color:#919992; background:transparent; color:inherit; }
.button.dark { background:var(--ink); color:white; }

/* One header, on every page. */
.site-header { position:sticky; top:0; z-index:30; background:var(--ink); color:var(--paper); }
.header-actions { display:flex; justify-content:flex-end; align-items:center; gap:26px; min-height:34px; padding:5px var(--gutter); background:var(--paper); color:var(--ink); font-size:11px; font-weight:600; }
.proposal-link { border-left:1px solid #C8CCC7; padding-left:26px; }
.nav-shell { display:flex; align-items:center; justify-content:space-between; gap:36px; min-height:86px; width:100%; max-width:none; margin:0; padding:12px var(--gutter); }
.brand { display:inline-flex; flex-shrink:0; }
.brand-logo { width:230px; height:58px; object-fit:contain; }
.site-nav { display:flex; align-items:center; gap:26px; font-size:13px; font-weight:550; }
.site-nav a { padding:12px 0; border-bottom:1px solid transparent; white-space:nowrap; }
.site-nav a:hover,.site-nav a[aria-current="page"] { color:#CAD8CC; border-bottom-color:var(--sage); }
.nav-toggle { display:none; width:44px; height:44px; background:transparent; color:inherit; border:1px solid #646C66; border-radius:2px; }
.nav-toggle span { display:block; width:18px; height:1px; background:currentColor; margin:6px auto; }
.site-header.is-open .nav-toggle span:first-child { transform:translateY(3.5px) rotate(45deg); }
.site-header.is-open .nav-toggle span:last-child { transform:translateY(-3.5px) rotate(-45deg); }

/* Home: place, problems, proof, people. */
.vantage-hero { position:relative; min-height:530px; color:white; display:flex; }
.vantage-hero-image,.vantage-hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.vantage-hero-image { object-fit:cover; object-position:center 55%; }
.vantage-hero-shade { background:linear-gradient(90deg,rgba(17,26,22,.85) 0%,rgba(17,26,22,.65) 35%,rgba(17,26,22,.06) 76%); }
.hero-inner { position:relative; display:flex; flex-direction:column; justify-content:center; padding-block:48px 30px; }
.hero-intro { max-width:620px; }
.vantage-hero h1 { font-size:56px; font-weight:620; line-height:1.05; }
.hero-statement { margin:22px 0 14px; font-size:25px; line-height:1.3; font-weight:450; }
.hero-description { max-width:450px; color:#F0F1ED; font-size:15px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:28px; }
.hero-text-link { font-size:13px; font-weight:550; display:flex; gap:8px; align-items:center; }
.hero-caption { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:42px; padding-top:15px; border-top:1px solid #FFFFFF4D; color:#F2F3EF; font-size:11px; }
.trust-strip { background:var(--ink); color:#D9DED8; }
.trust-strip .wrap { display:flex; justify-content:space-between; gap:20px; padding-block:19px; font-size:12px; }
.trust-strip span { display:flex; align-items:center; gap:10px; }
.trust-strip span:before { content:""; width:5px; height:5px; background:var(--sage); }
.solutions-section { background:white; }
.solutions-workspace { display:grid; grid-template-columns:310px minmax(0,1fr); gap:48px; }
.solution-tabs { display:flex; flex-direction:column; border-top:1px solid var(--line); }
.solution-tabs button { display:grid; grid-template-columns:24px minmax(0,1fr) 18px; align-items:center; gap:10px; width:100%; min-height:66px; padding:13px 12px; color:var(--muted); background:white; border:0; border-bottom:1px solid var(--line); text-align:left; font-size:14px; }
.solution-tabs button>span:first-child { color:#8B968D; font-size:11px; }
.solution-tabs button>span:last-child { justify-self:end; opacity:0; font-size:20px; }
.solution-tabs button[aria-selected="true"] { background:var(--wash); color:var(--ink); font-weight:650; border-left:3px solid var(--sage); padding-left:9px; }
.solution-tabs button[aria-selected="true"]>span:last-child,.solution-tabs button:hover>span:last-child { opacity:1; }
.solution-tabs button:hover { background:#F5F7F3; }
.solution-panel { min-height:525px; }
.problem-label { font-size:13px; color:var(--muted); margin:0 0 12px; }
.solution-panel h3 { max-width:650px; font-size:29px; margin-bottom:18px; }
.solution-panel>p:not(.problem-label) { color:var(--muted); max-width:680px; font-size:15px; }
.check-list { margin:20px 0 26px; padding:0; list-style:none; }
.check-list li { position:relative; padding:5px 0 5px 24px; font-size:14px; }
.check-list li:before { content:""; position:absolute; top:13px; left:2px; width:9px; height:5px; border-left:2px solid #647F6A; border-bottom:2px solid #647F6A; transform:rotate(-45deg); }
.work-example { background:var(--paper); padding:22px 24px; border-top:2px solid var(--sage); }
.example-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; padding-bottom:14px; border-bottom:1px solid var(--line); font-size:13px; }
.example-heading span { color:var(--muted); font-size:10px; white-space:nowrap; }
.work-example dl { margin:0; }
.work-example dl>div { display:grid; grid-template-columns:110px 1fr; gap:18px; padding-top:13px; font-size:12px; line-height:1.55; }
.work-example dt { font-weight:650; }
.work-example dd { margin:0; color:var(--muted); }
.work-example>p { margin:16px 0 0; font-size:12px; color:var(--muted); }
.work-example .text-link { font-size:12px; }
.mini-process { display:flex; justify-content:space-between; flex-wrap:wrap; gap:18px; padding:18px 0 0 18px; margin:0; font-size:12px; }
.value-section { padding:72px 0; background:var(--paper); }
.value-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:66px; align-items:center; }
.value-photo { position:relative; height:550px; }
.value-photo img { width:100%; height:100%; object-fit:cover; object-position:69% center; }
.value-photo figcaption { position:absolute; bottom:0; left:0; right:0; padding:16px 20px; background:#171918D9; color:white; font-size:12px; }
.value-copy h2 { max-width:510px; }
.value-copy>p:not(.eyebrow) { color:var(--muted); margin:20px 0; }
.value-reasons>div { display:grid; grid-template-columns:24px 1fr; gap:16px; padding:17px 0; border-bottom:1px solid var(--line); }
.value-reasons>div>span { font-size:11px; color:#657A69; padding-top:3px; }
.value-reasons h3 { font-size:16px; margin-bottom:5px; }
.value-reasons p { font-size:13px; color:var(--muted); line-height:1.6; }
.value-copy .text-link { font-size:12px; }
.people-section { background:var(--ink); color:var(--paper); }
.people-section .eyebrow { color:#BCCABD; }
.people-layout { display:grid; grid-template-columns:1fr 1.25fr; gap:24px 64px; align-items:start; }
.people-story { color:#D4D9D3; font-size:15px; }
.people-story .text-link { color:white; }
.founder-portraits { display:flex; gap:30px; grid-column:1/-1; border-top:1px solid #FFFFFF26; margin-top:12px; padding-top:24px; }
.founder-portraits figure { display:flex; align-items:center; gap:16px; min-width:240px; }
.founder-portraits img { width:66px; height:66px; border-radius:50%; object-fit:cover; object-position:center 18%; }
.founder-portraits figcaption { display:grid; gap:3px; }
.founder-portraits strong { font-weight:600; font-size:14px; }
.founder-portraits span { color:#B9C3BA; font-size:11px; }
.home-plans { background:var(--wash); padding:64px 0; }
.plan-preview { border-top:1px solid #BFC9BE; }
.plan-preview>a { display:grid; grid-template-columns:1.1fr 1fr 32px; gap:24px; align-items:center; padding:25px 0; border-bottom:1px solid #BFC9BE; }
.plan-preview>a:hover h3 { color:#4A6450; }
.plan-preview h3 { margin-top:7px; font-size:25px; }
.plan-preview div>span { color:var(--muted); font-size:12px; }
.plan-preview p { margin:0; font-size:14px; line-height:1.7; color:#4A564C; }
.link-arrow { font-size:26px; }
.home-insights { background:white; }
.insight-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.insight-links a { display:flex; align-items:flex-start; flex-direction:column; border-top:1px solid var(--line); padding-top:20px; }
.insight-links a>span:first-child { font-size:11px; color:var(--muted); }
.insight-links h3 { margin:14px 0 20px; font-size:20px; }
.insight-links a>span:last-child { margin-top:auto; font-size:22px; color:#647F6A; }
.insight-links a:hover h3 { color:#4A6450; }

/* Proposal and footer. */
.cta-section { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; padding:64px max(var(--gutter),calc((100% - var(--content))/2)); background:var(--ink); color:var(--paper); }
.cta-copy h2 { max-width:490px; }
.cta-copy>p:not(.eyebrow) { color:#C4CDC5; margin:22px 0; max-width:430px; }
.cta-copy .eyebrow { color:#BCCABD; }
.conversation-note { display:grid; gap:8px; margin-top:38px; padding-top:20px; border-top:1px solid #FFFFFF30; font-size:13px; }
.conversation-note span { color:#BFC9C0; font-size:12px; }
.contact-form { display:grid; gap:17px; background:transparent; color:white; padding:0; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact-form label { display:grid; gap:8px; font-size:12px; }
.contact-form input,.contact-form textarea { width:100%; min-height:43px; border:1px solid #818D82; border-radius:2px; padding:11px 12px; background:#F7F5EF; color:var(--ink); }
.contact-form textarea { resize:vertical; }
.contact-form .button { justify-content:center; }
.site-footer { background:#101411; color:#D8DED8; padding:38px var(--gutter) 22px; }
.footer-main { display:grid; grid-template-columns:1fr 1fr 1.1fr; gap:40px; align-items:start; }
/* Footer and header logos share .brand-logo sizing at every breakpoint. */
.footer-main>p { font-size:14px; color:#B6C0B7; margin:6px 0 0; }
.footer-main nav { display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; font-size:12px; }
.footer-main nav a:hover { color:white; }
.footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:30px; padding-top:18px; border-top:1px solid #FFFFFF26; font-size:10px; color:#A7B3A9; }

/* Interior pages share a restrained typographic scale. */
.page-hero,.resources-hero { padding:58px max(var(--gutter),calc((100% - var(--content))/2)); background:var(--paper); }
.page-hero h1,.resources-hero h1 { max-width:820px; font-size:44px; }
.page-hero>p:not(.eyebrow),.resources-hero>p:not(.eyebrow) { max-width:760px; color:var(--muted); margin:20px 0 0; font-size:16px; }
.about-story,.boards-about,.board-difficulties,.cost-section,.homeowner-sources,.get-involved,.news-band { display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; padding:56px max(var(--gutter),calc((100% - var(--content))/2)); background:white; }
.about-story>div:last-child,.boards-about>div:last-child,.cost-section>p { color:var(--muted); font-size:15px; }
.cost-section { background:var(--wash); align-items:center; }
.cost-section h2 { font-size:30px; }
.cost-section>p { margin:0; }
.page-cta { padding:46px max(var(--gutter),calc((100% - var(--content))/2)); background:var(--wash); }
.page-cta h2 { max-width:800px; font-size:30px; }
.page-cta p { margin:14px 0 20px; color:var(--muted); }
.page-cta .button { background:var(--ink); color:white; }
.boards-intro,.homeowner-guide { display:grid; grid-template-columns:.85fr 1.15fr; background:var(--paper); }
.boards-intro figure,.homeowner-guide figure { min-height:420px; max-height:510px; overflow:hidden; }
.boards-intro img,.homeowner-guide img { width:100%; height:100%; object-fit:cover; }
.boards-intro>div,.homeowner-guide>div { padding:50px max(var(--gutter),calc((100vw - var(--content))/2)) 50px 50px; align-self:center; }
.boards-intro h1,.homeowner-guide h1 { max-width:610px; font-size:40px; }
.boards-intro>div>p:not(.eyebrow),.homeowner-guide>div>p:not(.eyebrow) { margin:20px 0 0; color:var(--muted); font-size:15px; }
.board-responsibilities,.hoa-benefits,.boards-transition,.commitments,.team-section { padding:56px max(var(--gutter),calc((100% - var(--content))/2)); background:white; }
.boards-section-heading,.section-title { display:grid; grid-template-columns:.7fr 1.3fr; gap:40px; align-items:start; }
.boards-section-heading h2,.section-title h2 { font-size:30px; max-width:640px; }
.responsibility-grid,.benefit-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; margin-top:32px; border-top:1px solid var(--line); }
.responsibility-grid article,.benefit-grid article { padding-top:24px; }
.responsibility-grid article>span,.benefit-grid article>span { font-size:11px; color:#657A69; }
.responsibility-grid h3,.benefit-grid h3 { font-size:18px; margin:18px 0 10px; }
.responsibility-grid p,.benefit-grid p { font-size:14px; color:var(--muted); }
.board-difficulties { background:var(--ink); color:var(--paper); }
.board-difficulties .eyebrow { color:#BCCABD; }
.board-difficulties h2 { font-size:32px; }
.board-difficulties>div>p:not(.eyebrow) { margin-top:20px; color:#C2CCC3; }
.board-difficulties ul { padding:0; margin:0; list-style:none; }
.board-difficulties li { padding:17px 0; border-top:1px solid #FFFFFF26; }
.board-difficulties li strong { display:block; margin-bottom:6px; font-size:15px; }
.board-difficulties li span { display:block; color:#C2CCC3; font-size:14px; }
.boards-about { background:var(--wash); }
.boards-cta { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:48px max(var(--gutter),calc((100% - var(--content))/2)); }
.boards-cta h2 { font-size:30px; }
.boards-cta .button { flex-shrink:0; background:var(--ink); color:white; }
.homeowner-sources { background:var(--wash); }
.homeowner-sources h2,.get-involved h2 { font-size:30px; }
.source-list article { display:grid; grid-template-columns:28px 1fr; gap:16px; padding:20px 0; border-top:1px solid #CAD3C8; }
.source-list article>span { font-size:11px; color:#647F6A; }
.source-list h3 { font-size:18px; margin-bottom:6px; }
.source-list p { color:var(--muted); font-size:14px; }
.get-involved { background:white; }
.get-involved>div>p:not(.eyebrow) { margin-top:20px; color:var(--muted); }
.involvement-list article { display:grid; grid-template-columns:95px 1fr; gap:6px 24px; border-top:1px solid var(--line); padding:18px 0; }
.involvement-list article>span { grid-row:span 2; color:#657A69; font-size:12px; }
.involvement-list h3 { font-size:18px; }
.involvement-list p { color:var(--muted); font-size:14px; }
.faq-section { padding:50px max(var(--gutter),calc((100% - var(--content))/2)); background:var(--paper); }
.faq-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:64px; }
.faq-section h2 { font-size:30px; }
details { border-top:1px solid var(--line); }
details:last-child { border-bottom:1px solid var(--line); }
summary { padding:18px 28px 18px 0; cursor:pointer; font-size:15px; font-weight:600; }
details p { color:var(--muted); font-size:14px; padding-bottom:20px; max-width:680px; }

/* Approach carousel: fixed content footprint, controls inside the image. */
.approach-slider { position:relative; color:white; background:var(--ink); }
.approach-slides { display:grid; }
.approach-slide { grid-area:1/1; display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr); align-items:center; gap:64px; min-height:390px; padding:42px max(var(--gutter),calc((100% - var(--content))/2)) 74px; position:relative; visibility:hidden; pointer-events:none; }
.approach-slide.is-active { visibility:visible; pointer-events:auto; }
.approach-slide>img,.slide-cover { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.slide-cover { background:#171918DE; }
.slide-content,.slide-graphic { position:relative; }
.slide-content .eyebrow { color:#BBCDBD; }
.slide-content h2 { font-size:34px; max-width:580px; }
.slide-content>p:last-child { font-size:15px; color:#DCE2DC; max-width:650px; margin-top:20px; }
.slide-graphic { display:grid; gap:14px; font-size:14px; border-left:1px solid #FFFFFF44; padding-left:30px; }
.slide-graphic strong { font-size:15px; font-weight:650; }
.slide-graphic>span { display:flex; justify-content:space-between; gap:18px; color:#DCE2DC; }
.slide-graphic small { color:#C5D2C6; font-size:11px; }
.finance-graphic>div { display:flex; align-items:end; gap:12px; height:105px; }
.finance-graphic i { flex:1; background:var(--sage); }
.slider-controls { position:absolute; inset:auto 0 22px; display:flex; justify-content:center; }
.slider-progress { display:flex; gap:10px; }
.slider-progress button { position:relative; border:0; width:44px; height:26px; background:transparent; padding:0; }
.slider-progress button:before { content:""; position:absolute; left:0; right:0; height:3px; top:12px; background:#FFFFFF55; }
.slider-progress button.is-active:before { background:#C7D9C9; }
.management-plans { padding:60px max(var(--gutter),calc((100% - var(--content))/2)) 24px; background:white; }
.plans-intro h2 { font-size:36px; }
.plans-intro>p:not(.eyebrow) { margin-top:20px; max-width:830px; color:var(--muted); font-size:15px; }
.service-foundation { padding:28px 0; margin:30px 0; border-block:1px solid var(--line); }
.foundation-heading { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-bottom:24px; }
.foundation-heading .eyebrow { margin:0; }
.foundation-heading h3 { font-size:19px; }
.foundation-groups { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }
.foundation-groups article>span { font-size:14px; font-weight:650; color:#4C6652; }
.foundation-groups ul { padding-left:16px; margin:12px 0 0; font-size:13px; color:var(--muted); }
.foundation-groups li { margin-top:7px; }
.plan-choice-heading { margin-bottom:28px; }
.plan-choice-heading h3 { font-size:24px; }
.plan-choice-heading .eyebrow { margin-bottom:10px; }
.plan-choices { display:grid; grid-template-columns:1fr 1fr; gap:0 56px; }
.plan-choices>article { display:grid; grid-template-rows:subgrid; grid-row:span 5; row-gap:16px; border-top:3px solid var(--sage); padding-top:22px; }
.plan-name { font-size:25px; font-weight:650; margin:0; }
.plan-choices article>h3 { font-size:17px; font-weight:550; max-width:390px; }
.plan-choices article>p:not(.plan-name):not(.plan-summary) { font-size:14px; color:var(--muted); margin:0; }
.plan-cadence { display:grid; grid-template-columns:1fr 1fr; background:var(--wash); margin:6px 0; padding:18px; gap:20px; }
.plan-cadence span { display:block; font-size:10px; color:var(--muted); text-transform:uppercase; }
.plan-cadence strong { display:block; margin-top:5px; font-size:18px; }
.plan-summary { margin:0; border-top:1px solid var(--line); padding-top:18px; font-size:13px; font-weight:500; color:var(--muted); }
.billing-transparency { display:grid; grid-template-columns:.8fr 1.2fr; gap:54px; background:var(--paper); padding:30px; margin-top:40px; }
.billing-transparency h3 { font-size:24px; }
.billing-transparency>div>p:not(.eyebrow) { color:var(--muted); font-size:14px; }
.billing-transparency dl { margin:0; font-size:13px; }
.billing-transparency dl>div { border-top:1px solid var(--line); padding:14px 0 0; margin-top:14px; }
.billing-transparency dt { font-weight:650; margin-bottom:5px; }
.billing-transparency dd { margin:0; color:var(--muted); }
.boards-transition { padding-top:28px; }
.boards-transition ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; padding:0; margin:28px 0 0; list-style:none; }
.boards-transition li { border-top:1px solid var(--line); padding-top:20px; }
.boards-transition li>span { display:block; margin-bottom:16px; color:#647F6A; font-size:12px; }
.boards-transition h3 { font-size:18px; }
.boards-transition p { margin-top:10px; font-size:13px; color:var(--muted); }

/* People, with small, uncropped portraits beside their names. */
.team-section { background:var(--wash); }
.team-heading { margin-bottom:30px; }
.team-heading h2 { font-size:34px; }
.team-heading>p:not(.eyebrow) { color:var(--muted); margin-top:16px; }
.team-leadership { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.team-leadership article { border-top:1px solid #C4CEC2; padding-top:24px; }
.team-profile-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.team-profile-heading h3 { font-size:28px; margin-bottom:8px; }
.team-profile-heading strong { font-size:12px; font-weight:550; color:#556E5B; }
.team-profile-heading figure { flex-shrink:0; width:105px; height:105px; }
.team-profile-heading img { width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:center 16%; }
.team-leadership article>p { color:var(--muted); font-size:14px; margin-top:24px; }
.team-management { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; margin-top:36px; }
.team-management article { border-top:1px solid #C4CEC2; padding-top:24px; }
.team-management h3 { font-size:23px; margin-bottom:4px; }
.team-management strong { font-size:12px; font-weight:550; color:#556E5B; }
.team-management p { margin-top:18px; color:var(--muted); font-size:14px; }
.commitments h2 { font-size:30px; margin-bottom:26px; }
.commitments>div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.commitments h3 { font-size:17px; margin-bottom:12px; }
.commitments p { color:var(--muted); font-size:14px; }

/* Articles have priority over their photography. */
.resources-hero { background:var(--paper); border-bottom:1px solid var(--line); }
.article-listing { padding:42px max(var(--gutter),calc((100% - var(--content))/2)) 56px; background:white; }
.article-listing-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
.article-listing-heading h2 { font-size:25px; }
.article-listing-heading .eyebrow { margin:0; }
.article-grid { border-top:1px solid var(--line); }
.article-card { border-bottom:1px solid var(--line); }
.article-card a { display:grid; grid-template-columns:160px minmax(0,1fr); gap:32px; padding:25px 0; }
.article-card figure { width:160px; height:128px; overflow:hidden; }
.article-card img { width:100%; height:100%; object-fit:cover; filter:grayscale(1); }
.article-meta { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:10px; font-weight:550; color:var(--muted); }
.article-meta span:first-child { color:#556F5C; }
.article-card h3 { font-size:22px; margin:10px 0; max-width:760px; }
.article-card p { color:var(--muted); font-size:14px; max-width:820px; margin-bottom:12px; }
.article-card strong { font-size:12px; font-weight:600; }
.article-card:hover h3 { color:#4B6753; }
.news-band { padding-block:36px; background:var(--wash); }
.news-band h2 { font-size:25px; }
.news-band p,.news-band span { color:var(--muted); font-size:14px; }
.news-band span { font-size:12px; }
.article-detail { padding:46px var(--gutter) 64px; background:white; }
.article-detail>header { max-width:820px; margin:0 auto 28px; }
.article-back { display:inline-block; font-size:12px; color:var(--muted); margin-bottom:26px; }
.article-detail h1 { font-size:40px; line-height:1.14; margin:16px 0; }
.article-deck { font-size:18px; color:var(--muted); }
.article-hero-image { max-width:820px; height:220px; margin:0 auto 35px; overflow:hidden; }
.article-hero-image img { width:100%; height:100%; object-fit:cover; filter:grayscale(1); object-position:center 60%; }
.article-body { max-width:720px; margin:auto; color:#444D46; font-size:16px; }
.article-body h2 { font-size:25px; color:var(--ink); margin:32px 0 14px; }
.article-body p { margin-bottom:20px; }
.article-body ul { padding-left:20px; }
.article-body li { margin-bottom:9px; }
.article-body a { text-decoration:underline; text-underline-offset:3px; color:#4F6E57; }
.article-body .article-sources { border-top:1px solid var(--line); margin-top:32px; padding-top:20px; font-size:12px; }

/* Responsive layouts have explicit type sizes and shared spacing. */
@media(min-width:1600px) { .vantage-hero { min-height:590px; }.hero-inner { padding-top:60px; } }
@media(max-width:1100px) {
  :root { --gutter:28px; }
  .site-nav { gap:16px; font-size:12px; }
  .brand-logo { width:200px; }
  .solutions-workspace { grid-template-columns:270px minmax(0,1fr); gap:32px; }
  .value-layout { gap:38px; }
  .section-lead { gap:40px; }
  .example-heading { flex-wrap:wrap; gap:6px; }
}
@media(max-width:900px) {
  .nav-toggle { display:block; }
  .site-nav { position:absolute; top:100%; left:0; right:0; display:none; padding:12px var(--gutter) 22px; background:var(--ink); border-top:1px solid #FFFFFF26; }
  .site-header.is-open .site-nav { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .site-nav a { padding:13px 0; border-bottom:1px solid #FFFFFF26; }
  .section-lead { grid-template-columns:1fr; gap:20px; }
  .section-lead>.text-link { justify-self:start; margin:0; }
  .solutions-workspace { grid-template-columns:1fr; gap:28px; }
  .solution-tabs { display:grid; grid-template-columns:1fr 1fr; }
  .solution-tabs button { min-height:56px; }
  .solution-panel { min-height:0; }
  .value-layout { grid-template-columns:.8fr 1fr; gap:32px; }
  .value-photo { height:550px; }
  .people-layout { gap:24px 36px; }
  .about-story,.boards-about,.board-difficulties,.cost-section,.homeowner-sources,.get-involved,.news-band { gap:36px; }
  .responsibility-grid,.benefit-grid,.foundation-groups,.commitments>div { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .boards-intro,.homeowner-guide { grid-template-columns:1fr 1.2fr; }
  .boards-intro>div,.homeowner-guide>div { padding:34px 28px; }
  .boards-intro h1,.homeowner-guide h1 { font-size:34px; }
  .boards-intro figure,.homeowner-guide figure { max-height:none; min-height:460px; }
  .cta-section { gap:40px; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-main>p { display:none; }
  .plan-choices { column-gap:30px; }
  .plan-name { font-size:23px; }
  .billing-transparency { gap:30px; padding:25px; }
}
@media(max-width:680px) {
  :root { --gutter:22px; }
  h1 { font-size:36px; } h2 { font-size:29px; } h3 { font-size:20px; }
  .section { padding-block:46px; }
  .eyebrow { font-size:11px; margin-bottom:12px; }
  .header-actions { min-height:31px; font-size:10px; gap:18px; }
  .proposal-link { padding-left:18px; }
  .nav-shell { min-height:72px; padding-block:10px; }
  .brand-logo { width:198px; height:48px; }
  .vantage-hero { min-height:530px; }
  .vantage-hero-image { object-position:65% center; }
  .vantage-hero-shade { background:#171918A8; }
  .hero-inner { padding-block:36px 20px; }
  .vantage-hero h1 { font-size:43px; }
  .hero-statement { font-size:22px; margin-top:20px; }
  .hero-description { font-size:14px; max-width:380px; }
  .hero-actions { align-items:flex-start; gap:18px; flex-direction:column; margin-top:24px; }
  .hero-actions .button { font-size:13px; padding:12px 15px; gap:8px; }
  .hero-caption { margin-top:30px; font-size:10px; }
  .hero-caption span:last-child { display:none; }
  .trust-strip .wrap { display:grid; grid-template-columns:1fr; gap:8px; padding-block:16px; font-size:11px; }
  .section-lead { margin-bottom:26px; }
  .section-lead>p { font-size:14px; }
  .solution-tabs button { font-size:12px; padding-inline:8px; gap:7px; grid-template-columns:16px 1fr; align-items:start; }
  .solution-tabs button>span:last-child { display:none; }
  .solution-tabs button[aria-selected="true"] { padding-left:5px; }
  .solution-panel h3 { font-size:25px; }
  .solution-panel>p:not(.problem-label) { font-size:14px; }
  .check-list li { font-size:13px; }
  .work-example { padding:18px; }
  .example-heading { font-size:12px; }
  .work-example dl>div { grid-template-columns:1fr; gap:4px; }
  .mini-process { display:grid; gap:8px; }
  .value-section { padding:0 0 44px; }
  .value-layout { grid-template-columns:1fr; width:100%; gap:30px; }
  .value-photo { height:285px; }
  .value-photo img { object-position:center 70%; }
  .value-copy { padding-inline:var(--gutter); }
  .value-copy>p:not(.eyebrow) { font-size:14px; }
  .people-layout { grid-template-columns:1fr; gap:22px; }
  .people-story { font-size:14px; }
  .founder-portraits { gap:22px; flex-wrap:wrap; margin-top:0; }
  .founder-portraits figure { min-width:0; width:100%; }
  .founder-portraits img { width:58px; height:58px; }
  .home-plans { padding-block:44px; }
  .plan-preview>a { grid-template-columns:1fr 22px; gap:12px; padding:22px 0; }
  .plan-preview h3 { font-size:22px; }
  .plan-preview p { grid-row:2; font-size:13px; }
  .plan-preview .link-arrow { grid-column:2; grid-row:1/3; }
  .insight-links { grid-template-columns:1fr; gap:22px; }
  .insight-links a { display:grid; grid-template-columns:1fr 22px; gap:12px; padding-top:18px; }
  .insight-links h3 { grid-column:1; margin:0; font-size:19px; }
  .insight-links a>span:last-child { grid-column:2; grid-row:1/3; align-self:center; }
  .cta-section { grid-template-columns:1fr; padding-block:42px; gap:32px; }
  .conversation-note { margin-top:24px; }
  .contact-form .field-row { gap:12px; }
  .footer-main { grid-template-columns:1fr; gap:24px; }
  .footer-main nav { gap:12px; }
  .footer-bottom { margin-top:25px; }
  .page-hero,.resources-hero { padding-block:38px; }
  .page-hero h1,.resources-hero h1 { font-size:34px; }
  .page-hero>p:not(.eyebrow),.resources-hero>p:not(.eyebrow) { font-size:14px; }
  .about-story,.boards-about,.board-difficulties,.cost-section,.homeowner-sources,.get-involved,.news-band { grid-template-columns:1fr; gap:24px; padding-block:38px; }
  .page-cta,.board-responsibilities,.hoa-benefits,.boards-transition,.commitments,.team-section { padding-block:38px; }
  .page-cta h2,.cost-section h2,.homeowner-sources h2,.get-involved h2,.board-difficulties h2 { font-size:28px; }
  .boards-intro,.homeowner-guide { grid-template-columns:1fr; }
  .boards-intro figure,.homeowner-guide figure { min-height:0; height:250px; }
  .boards-intro>div,.homeowner-guide>div { padding:32px var(--gutter); }
  .boards-section-heading,.section-title { grid-template-columns:1fr; gap:6px; }
  .boards-section-heading h2,.section-title h2 { font-size:28px; }
  .responsibility-grid,.benefit-grid { column-gap:22px; row-gap:24px; margin-top:24px; }
  .responsibility-grid h3,.benefit-grid h3 { font-size:17px; margin-top:12px; }
  .responsibility-grid p,.benefit-grid p { font-size:13px; }
  .boards-cta { flex-direction:column; align-items:start; gap:22px; padding-block:36px; }
  .boards-cta h2 { font-size:28px; }
  .faq-section { padding-block:38px; }
  .faq-layout { grid-template-columns:1fr; gap:24px; }
  .faq-section h2 { font-size:28px; }
  .approach-slide { grid-template-columns:1fr; gap:26px; padding-top:34px; padding-bottom:66px; min-height:530px; align-content:start; }
  .slide-content h2 { font-size:29px; }
  .slide-content>p:last-child { font-size:14px; margin-top:16px; }
  .slide-graphic { border-left:0; border-top:1px solid #FFFFFF44; padding:20px 0 0; font-size:12px; gap:8px; }
  .slide-graphic>span { max-width:310px; }
  .finance-graphic>div { height:55px; max-width:220px; }
  .slider-progress { gap:8px; }
  .slider-progress button { width:34px; }
  .management-plans { padding-top:40px; padding-bottom:20px; }
  .plans-intro h2 { font-size:29px; }
  .foundation-heading { display:block; margin-bottom:22px; }
  .foundation-heading h3 { margin-top:12px; font-size:18px; }
  .foundation-groups { gap:24px; }
  .foundation-groups ul { font-size:12px; }
  .plan-choice-heading h3 { font-size:22px; }
  .plan-choices { display:block; }
  .plan-choices>article { display:block; padding-top:20px; }
  .plan-choices>article+article { margin-top:32px; }
  .plan-choices article>h3 { margin:14px 0; }
  .plan-cadence { margin:20px 0; }
  .billing-transparency { grid-template-columns:1fr; gap:20px; margin-top:30px; padding:22px; }
  .billing-transparency h3 { font-size:23px; }
  .management-plans+.boards-transition { padding-top:22px; }
  .boards-transition ol { grid-template-columns:1fr 1fr; gap:26px; }
  .team-heading h2 { font-size:29px; }
  .team-leadership { grid-template-columns:1fr; gap:30px; }
  .team-profile-heading h3 { font-size:26px; }
  .team-profile-heading figure { width:90px; height:90px; }
  .team-management { grid-template-columns:1fr; gap:24px; }
  .commitments>div { gap:24px; }
  .article-listing { padding-top:28px; padding-bottom:35px; }
  .article-card a { grid-template-columns:minmax(0,1fr) 90px; gap:18px; }
  .article-card figure { grid-column:2; grid-row:1; width:90px; height:90px; margin-top:4px; }
  .article-card-copy { grid-column:1; grid-row:1; }
  .article-meta { gap:3px 10px; font-size:9px; }
  .article-card h3 { font-size:18px; }
  .article-card p { display:none; }
  .article-detail { padding-top:30px; padding-bottom:42px; }
  .article-detail h1 { font-size:32px; }
  .article-deck { font-size:16px; }
  .article-hero-image { height:170px; }
  .article-body { font-size:15px; }
  .article-body h2 { font-size:23px; }
}
@media(max-width:360px) {
  :root { --gutter:18px; }
  .vantage-hero h1 { font-size:39px; }
  .brand-logo { width:174px; }
  .field-row,.foundation-groups,.responsibility-grid,.benefit-grid,.commitments>div { grid-template-columns:1fr; }
  .solution-tabs { grid-template-columns:1fr; }
  .solution-tabs button { min-height:44px; }
  .team-profile-heading figure { width:76px; height:76px; }
}
@media(prefers-reduced-motion:reduce) {
  :root { scroll-behavior:auto; }
  *,*:before,*:after { transition:none!important; animation:none!important; }
}

/* Keep flex and grid content inside its available viewport. */
main, section, .nav-shell, .site-nav, .footer-main, .field-row, .contact-form { min-width:0; }
main > section > *, .footer-main > *, .field-row > * { min-width:0; }

/* Fixed field geometry also prevents autofill widgets from stretching grid rows. */
.contact-form .field-row { align-items:start; }
.contact-form label { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:8px; margin:0; min-width:0; }
.contact-form label > span { display:block; line-height:20px; }
.contact-form input:not([type="hidden"]) { appearance:none; box-sizing:border-box; display:block; flex:0 0 46px; height:46px; min-height:46px; max-height:46px; margin:0; padding:11px 12px; font-size:14px; line-height:22px; }
.contact-form textarea { margin:0; font-size:14px; line-height:22px; }

/* Footer navigation follows the site hierarchy. */
.site-footer .footer-main { grid-template-columns:1.3fr 1fr .8fr; gap:64px; }
.footer-brand p { font-size:14px; line-height:1.7; color:#B6C0B7; margin:18px 0 0; }
.footer-group h2 { font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#92A293; margin:6px 0 18px; }
.site-footer .footer-main nav { display:flex; flex-direction:column; align-items:flex-start; gap:11px; font-size:12px; }
.footer-local { font-size:12px; line-height:1.8; color:#92A293; margin:28px 0 0; }
.footer-bottom nav { display:flex; flex-wrap:wrap; gap:24px; }
.footer-bottom nav a:hover { color:white; }
@media(max-width:760px) { .site-footer .footer-main { grid-template-columns:1fr 1fr; gap:32px; }.footer-brand { grid-column:1/-1; } }
@media(max-width:420px) { .site-footer .footer-main { gap:28px 20px; }.footer-bottom { gap:16px; } }

/* Align the visible logo artwork with the supporting copy, compensating for transparent image padding. */
.site-footer .footer-brand .brand { margin-left:-11.56px; }
.site-footer .footer-logo { width:270px; height:90px; max-width:100%; object-position:left center; }
@media(max-width:680px) { .site-footer .footer-brand .brand { margin-left:-10.28px; }.site-footer .footer-logo { width:240px; height:80px; } }

/* Shared arrow-link treatment: decorate the label, never its arrow. */
.text-link > .text-link-label { text-decoration-line:underline; text-decoration-color:inherit; text-underline-offset:6px; }
.link-arrow { display:inline-block; text-decoration:none; font-size:.85em; }
.service-area-links { display:flex; flex-wrap:wrap; gap:20px 36px; }
.service-area-links .text-link { margin:0; }
