/* vm7- · launch-edition additions. Nothing here restyles v6; every rule is new surface.
   Section order and rationale live in launch-website-brief.html §04. */

/* B · the category, stated. A single ruled block the eye cannot skip past. */
.vm7-cat{background:var(--ivory-200);border-block:1.6px solid var(--rule-sand)}
.vm7-cat__grid{display:grid;grid-template-columns:1fr;gap:clamp(24px,3vw,52px);align-items:start}
@media(min-width:900px){.vm7-cat__grid{grid-template-columns:1.15fr .85fr}}
.vm7-cat__is{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-25),3vw,var(--step-39));line-height:1.18;color:var(--ink);margin:16px 0 0;max-width:30ch;text-wrap:pretty}
.vm7-cat__is b{font-weight:400;color:var(--accent)}
.vm7-not{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-sand)}
.vm7-not li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--rule-sand);font-family:var(--font-body);font-size:14.5px;line-height:1.6;color:var(--ink)}
.vm7-not .x{font-family:var(--font-mono);font-size:12px;color:var(--umber-300)}
.vm7-not b{font-weight:600}

/* C · the four verbs. Numbered, equal weight, no cards. */
.vm7-model{display:grid;grid-template-columns:1fr;margin-top:clamp(28px,3.4vw,52px);border-top:1px solid var(--rule-sand)}
@media(min-width:760px){.vm7-model{grid-template-columns:repeat(2,1fr);column-gap:clamp(28px,4vw,64px)}}
@media(min-width:1120px){.vm7-model{grid-template-columns:repeat(4,1fr)}}
.vm7-model__col{padding:22px 0;border-bottom:1px solid var(--rule-sand)}
.vm7-model__v{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-20),2.2vw,var(--step-25));line-height:1.1;color:var(--ink);margin:8px 0 8px}
.vm7-model__col p{font-family:var(--font-body);font-size:14.5px;line-height:1.7;color:var(--ink-muted);margin:0;max-width:40ch}

/* D · outcomes. Statements, not features — so they set as a list of sentences. */
.vm7-gets{list-style:none;margin:clamp(26px,3vw,44px) 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:0;max-width:900px}
@media(min-width:820px){.vm7-gets{grid-template-columns:repeat(2,1fr);column-gap:clamp(28px,4vw,64px)}}
.vm7-gets li{display:grid;grid-template-columns:26px 1fr;gap:14px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--rule-sand);font-family:var(--font-body);font-size:15px;line-height:1.65;color:var(--ink)}
.vm7-gets .n{font-family:var(--font-mono);font-size:11.5px;color:var(--accent)}

/* E · the evidence spread. The note is the hero of this section, not a link in it. */
.vm7-ev__grid{display:grid;grid-template-columns:1fr;gap:clamp(26px,3.4vw,56px);align-items:center;margin-top:clamp(26px,3vw,44px)}
@media(min-width:960px){.vm7-ev__grid{grid-template-columns:1fr 1fr}}
.vm7-ev__sheet{background:var(--white);border:1px solid var(--rule-sand);box-shadow:0 1px 0 var(--rule-sand),0 18px 40px -28px rgba(41,38,34,.45);padding:clamp(22px,2.6vw,34px)}
.vm7-ev__head{display:flex;justify-content:space-between;gap:14px;align-items:baseline;border-bottom:1px solid var(--rule-sand);padding-bottom:12px;margin-bottom:16px}
.vm7-ev__head span{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}
.vm7-ev__ln{font-family:var(--font-body);font-size:14.5px;line-height:1.7;color:var(--ink);margin:0 0 12px}
.vm7-ev__ticks{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--rule-sand)}
.vm7-ev__ticks li{font-family:var(--font-body);font-size:13.5px;line-height:1.6;color:var(--ink-muted);padding:5px 0 5px 22px;position:relative}
.vm7-ev__ticks li::before{content:"\2713";position:absolute;left:0;color:var(--status-well-deep);font-size:12px}
.vm7-ev__sig{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-top:18px;padding-top:12px;border-top:1px solid var(--rule-sand);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}

/* G · who is responsible. One face, one name, one sentence of judgment. */
.vm7-who{display:grid;grid-template-columns:1fr;gap:clamp(24px,3vw,52px);align-items:center}
@media(min-width:880px){.vm7-who{grid-template-columns:.8fr 1.2fr}}
.vm7-who__img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;background:var(--ivory-300)}
.vm7-who__say{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-25),2.8vw,var(--step-39));line-height:1.2;color:var(--ink);margin:14px 0 16px;max-width:32ch;text-wrap:pretty}
.vm7-who p.vm-body{margin:0 0 14px;max-width:54ch}
.vm7-who__names{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-top:10px;display:block}

/* I · the one next step. What happens after, on a timed rule. */
.vm7-next{list-style:none;margin:clamp(24px,3vw,40px) auto 0;padding:0;max-width:760px;border-top:1px solid var(--ivory-a32)}
.vm7-lede--iv{font-family:var(--font-body);font-size:15px;line-height:1.7;color:var(--ivory-200);margin:0 auto;max-width:54ch}
.vm7-next li{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--ivory-a32);text-align:left}
.vm7-next .w{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ivory-300);white-space:nowrap}
.vm7-next p{font-family:var(--font-body);font-size:14.5px;line-height:1.65;color:var(--ivory-100);margin:0}

/* Chrome for the launch prototype: real six-route nav, so the IA is visible. */
/* ── HEADER · OPTION D ────────────────────────────────────────────────────────
   Three moves, approved from the comparison study: Kiawah becomes persistent context inside
   the lockup, the navigation inherits the site's own settled state, and the phone reads like
   a person is on the other end. No second tier, no new asset, no JS for the lockup or the
   active state — aria-current does both. */
.vm7-hdr{position:sticky;top:0;z-index:30;background:var(--surface-header);min-height:86px;display:flex;align-items:center;gap:20px;padding:0 clamp(20px,3vw,37px);transition:min-height var(--motion-quick,.18s) ease}
.vm7-hdr__logo{display:flex;flex-direction:column;align-items:flex-start;gap:0;text-decoration:none;min-height:44px;flex:0 0 auto}
.vm7-hdr__lock{display:flex;align-items:center;gap:12px}
/* the geography line. Same ruled-eyebrow device the site opens every section with. */
.vm7-hdr__place{display:flex;align-items:center;gap:10px;margin-top:8px;padding-left:33px}
.vm7-hdr__place i{display:block;width:26px;height:1px;background:var(--ivory-a32);flex:0 0 auto}
.vm7-hdr__place span{font-family:var(--font-mono);font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--ivory-400);white-space:nowrap}
.vm7-logo{width:214px;height:auto;display:block;transition:width var(--motion-quick,.2s) ease}
@media(max-width:620px){.vm7-logo{width:172px}}
.vm7-ftr__lock{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.vm7-ftr__lock img{width:236px;height:auto;display:block}
.vm7-nav{margin-left:auto;display:flex;gap:clamp(14px,1.8vw,30px);align-items:baseline;flex-wrap:wrap}
.vm7-nav a{font-family:var(--font-sans);font-stretch:expanded;font-size:15px;color:var(--ivory-200);text-decoration:none;white-space:nowrap}
.vm7-nav a:hover{color:var(--ivory-100)}
.vm7-nav a{display:flex;align-items:center;gap:8px;min-height:44px}
.vm7-nav a::before{content:"";width:5px;height:5px;border-radius:50%;background:transparent;flex:0 0 auto}
/* ACCESSIBILITY · the dot is never the only channel. aria-current carries it for assistive
   technology, and full ivory plus the mark carries it visually. */
.vm7-nav a[aria-current]{color:var(--ivory-100)}
.vm7-nav a[aria-current]::before{background:var(--teal-footer)}
.vm7-nav a:focus-visible,.vm7-hdr__tel:focus-visible,.vm7-nav__cta:focus-visible,.vm7-hdr__logo:focus-visible{outline:2px solid var(--ivory-100);outline-offset:3px}

.vm7-nav{flex-wrap:nowrap}
/* DEFECT 02 · the primary conversion action used to carry data-drop and was display:none
   below 1100px, so the CTA left the header at exactly the widths a laptop browser window
   uses. It is now a pill that never drops; the five text links tighten instead, and the
   least commercially important of them is the one allowed to go. */
.vm7-nav__cta{font-family:var(--font-sans);font-stretch:expanded;font-size:14px;color:var(--ivory-100);background:var(--umber-action);border:1px solid var(--umber-action);border-radius:var(--radius-pill);padding:9px 18px;text-decoration:none;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.vm7-nav__cta{justify-content:center;gap:0}.vm7-nav__cta::before{display:none}
.vm7-nav__cta:hover{background:var(--umber-action-hover);border-color:var(--umber-action-hover);color:var(--ivory-100)}
.vm7-hdr__tel{font-family:var(--font-sans);font-stretch:expanded;font-size:15px;color:var(--ivory-100);text-decoration:none;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;padding-left:clamp(14px,1.8vw,22px);border-left:1px solid var(--ivory-a32);flex:0 0 auto}
.vm7-hdr__tel:hover{color:var(--ivory-100);text-decoration:underline}
/* scrolled · the place line and the caption compress out, height drops 86 → 64 */
.vm7-hdr[data-scrolled]{min-height:64px}
.vm7-hdr[data-scrolled] .vm7-hdr__place{display:none}
.vm7-hdr[data-scrolled] .vm7-logo{width:180px}
.vm7-hdr__tel b{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ivory-400);font-weight:400}
@media(max-width:1280px){.vm7-nav{gap:14px}.vm7-nav a{font-size:14px}}
@media(max-width:1140px){.vm7-nav a[data-secondary]{display:none}}
@media(max-width:1020px){.vm7-hdr__tel{display:none}}
@media(max-width:880px){.vm7-nav a:not(.vm7-nav__cta){display:none}}
@media(max-width:620px){.vm7-nav{display:none}.vm7-hdr__tel{display:none}}
.vm7-ftr{background:var(--teal-footer-deep);padding:clamp(34px,4vw,60px) clamp(20px,5vw,72px)}
.vm7-ftr__grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:clamp(24px,3vw,44px)}
.vm7-ftr__grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.vm7-ftr__grid>div:first-child{grid-column:1/-1}
@media(min-width:720px){.vm7-ftr__grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px}}
@media(min-width:1080px){.vm7-ftr__grid{grid-template-columns:1.4fr repeat(3,minmax(0,1fr))}.vm7-ftr__grid>div:first-child{grid-column:1;grid-row:1/span 2}}
.vm7-ftr h4{font-family:var(--font-display);font-weight:500;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory-300);margin:0 0 12px}
.vm7-ftr ul{list-style:none;margin:0;padding:0}
.vm7-ftr li{margin:0 0 9px}
.vm7-ftr a{font-family:var(--font-body);font-size:14px;color:var(--ivory-100);text-decoration:none}
.vm7-ftr a:hover{color:var(--ivory-100);text-decoration:underline}
.vm7-ftr p{font-family:var(--font-body);font-size:13px;line-height:1.7;color:var(--ivory-200);margin:0 0 8px;max-width:38ch}

/* The banner that marks this as a prototype. Not part of the design. */
.vm7-flag{background:var(--umber-900);color:var(--ivory-300);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;padding:8px 22px;display:flex;gap:16px;flex-wrap:wrap;align-items:baseline}
.vm7-flag b{color:var(--ivory-100);text-transform:uppercase}
.vm7-flag span{color:var(--ivory-a75);letter-spacing:0;font-family:var(--font-body);font-size:12.5px}

/* What We Do · the standard rendered as expertise: reasoning beside requirements. */
.vm7-std{display:grid;grid-template-columns:1fr;gap:clamp(20px,2.6vw,48px);padding:clamp(26px,3vw,44px) 0;border-bottom:1px solid var(--rule-sand)}
.vm7-std:first-of-type{border-top:1px solid var(--rule-sand);margin-top:clamp(28px,3.4vw,52px)}
@media(min-width:900px){.vm7-std{grid-template-columns:.85fr 1.15fr}}
.vm7-std__why h3{margin:8px 0 10px}
.vm7-std__why p{max-width:44ch;margin:0}
.vm7-std__list{list-style:none;margin:0;padding:0}
.vm7-std__list li{position:relative;padding:11px 0 11px 26px;border-bottom:1px solid var(--rule-sand-50);font-family:var(--font-body);font-size:14.5px;line-height:1.62;color:var(--ink)}
.vm7-std__list li:last-child{border-bottom:none}
.vm7-std__list li::before{content:"";position:absolute;left:2px;top:19px;width:9px;height:1.6px;background:var(--accent)}
/* shared page furniture, used by every launch page */
.rt{width:100%;max-width:262px;display:flex;flex-direction:column;gap:8px}
.rt--c{margin:0 auto}
.rt i{height:1.6px;background:var(--rule-sand);display:block}
.rt em{font-family:var(--font-display);font-weight:500;font-size:12.83px;letter-spacing:var(--tracking-section-title);text-transform:uppercase;font-style:normal;color:var(--ink)}
.rt--c em{text-align:center}
.rt--iv i{background:var(--ivory-a32)}.rt--iv em{color:var(--ivory-100)}
.btnrow{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.btnrow--c{justify-content:center}
.btn{font-family:var(--font-sans);font-stretch:expanded;font-size:15px;padding:13px 24px;border-radius:var(--radius-pill);text-decoration:none;border:1px solid var(--umber-action);color:var(--umber-action);display:inline-block}
.btn:hover{color:var(--umber-action-hover);border-color:var(--umber-action-hover)}
.btn--solid{background:var(--umber-action);color:var(--ivory-100);border-color:var(--umber-action)}
.btn--solid:hover{background:var(--umber-action-hover);color:var(--ivory-100)}
.btn--iv{border-color:var(--ivory-a32);color:var(--ivory-100)}.btn--iv:hover{border-color:var(--ivory-100)}
.stamp{margin-top:clamp(26px,3vw,40px);border:1px solid var(--rule-sand);padding:20px 22px;max-width:760px}
.stamp b{display:block;font-family:var(--font-sans);font-stretch:expanded;font-size:clamp(var(--step-16),1.8vw,var(--step-20));color:var(--ink);margin-bottom:6px}
.stamp p{font-family:var(--font-body);font-size:14px;line-height:1.65;color:var(--ink-muted);margin:0;max-width:60ch}

/* Fees · Option B — the entry point and the method. */
.vm7-entry{max-width:760px;margin:clamp(26px,3vw,40px) auto 0;border-top:1.6px solid var(--rule-sand);border-bottom:1.6px solid var(--rule-sand);padding:clamp(26px,3vw,38px) 0;text-align:center}
.vm7-entry__fig{font-family:var(--font-sans);font-stretch:expanded;font-size:clamp(var(--step-39),5.4vw,var(--step-61));line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.vm7-entry__cap{font-family:var(--font-display);font-size:clamp(var(--step-16),1.6vw,var(--step-20));line-height:1.45;color:var(--ink-muted);margin:12px 0 0}
.vm7-meth{max-width:820px;margin:clamp(28px,3vw,44px) auto 0;padding:0}
.vm7-meth li{list-style:none;display:grid;grid-template-columns:34px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--rule-sand)}
.vm7-meth li:first-child{border-top:1px solid var(--rule-sand)}
.vm7-meth .n{font-family:var(--font-mono);font-size:12px;color:var(--accent);padding-top:4px}
.vm7-meth h3{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-16),1.7vw,var(--step-20));margin:0 0 5px;color:var(--ink)}
.vm7-meth p{font-family:var(--font-body);font-size:15px;line-height:1.7;color:var(--ink-muted);margin:0;max-width:56ch}
.vm7-pass{width:100%;max-width:760px;margin:clamp(26px,3vw,40px) auto 0;border-collapse:collapse}
.vm7-pass th,.vm7-pass td{text-align:left;padding:15px 16px;border-bottom:1px solid var(--rule-sand);font-family:var(--font-body);font-size:15px;color:var(--ink)}
.vm7-pass td{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-sans);font-stretch:expanded}
.vm7-pass tr:last-child th,.vm7-pass tr:last-child td{border-bottom:none;font-weight:600}
.vm7-pass .zero{color:var(--status-well-deep)}
/* How it works · the four steps */
.vm7-step{display:grid;grid-template-columns:1fr;gap:clamp(14px,2vw,40px);padding:clamp(26px,3vw,44px) 0;border-bottom:1px solid var(--rule-sand)}
.vm7-step:first-of-type{border-top:1px solid var(--rule-sand)}
@media(min-width:900px){.vm7-step{grid-template-columns:.7fr 1.3fr}}
.vm7-step__h{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-25),2.8vw,var(--step-31));line-height:1.1;color:var(--ink);margin:8px 0 0}
.vm7-step__b p{max-width:62ch}

/* Who We Are · the people, with a point of view each */
.vm7-people{margin-top:clamp(28px,3.4vw,52px);border-top:1px solid var(--rule-sand)}
.vm7-person{display:grid;grid-template-columns:1fr;gap:clamp(16px,2.4vw,40px);padding:clamp(24px,2.8vw,40px) 0;border-bottom:1px solid var(--rule-sand);align-items:start}
@media(min-width:760px){.vm7-person{grid-template-columns:200px 1fr}}
.vm7-person__img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;background:var(--ivory-300)}
.vm7-person__slot{width:100%;aspect-ratio:4/5;display:grid;place-content:center;border:1px dashed var(--border-field);background:var(--ivory-100)}
.vm7-person__slot span{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);text-align:center;line-height:1.7}
.vm7-person__n{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-25),2.6vw,var(--step-31));line-height:1.15;color:var(--ink);margin:6px 0 10px}
.vm7-person .vm-body{max-width:60ch;margin:0 0 14px}
.vm7-person__say{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-20),2.1vw,var(--step-25));line-height:1.35;color:var(--accent);margin:0;max-width:46ch;padding-left:18px;border-left:2px solid var(--rule-sand)}
.vm7-input{border-left:2px solid var(--umber-300);padding-left:16px;color:var(--ink-muted)}
/* House notes cards */
.vm7-notes{display:grid;grid-template-columns:1fr;gap:1px;background:var(--rule-sand);border:1px solid var(--rule-sand);margin-top:clamp(28px,3.4vw,52px)}
@media(min-width:820px){.vm7-notes{grid-template-columns:repeat(3,1fr)}}
.vm7-note-card{background:var(--white);padding:clamp(22px,2.4vw,30px);text-decoration:none;display:flex;flex-direction:column;gap:8px}
.vm7-note-card h3{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-20),2.1vw,var(--step-25));line-height:1.2;color:var(--ink);margin:4px 0 0}
.vm7-note-card p{font-family:var(--font-body);font-size:14px;line-height:1.65;color:var(--ink-muted);margin:0}
.vm7-note-card__go{font-family:var(--font-sans);font-stretch:expanded;font-size:14px;color:var(--accent);margin-top:auto;padding-top:12px}
a.vm7-note-card:hover h3{color:var(--accent)}
.vm7-note-card--soon{background:var(--ivory-100)}
.vm7-note-card--soon h3,.vm7-note-card--soon p{color:var(--ink-muted)}
/* Field note · long-form article */
.vm7-art{max-width:calc(1240px + 2 * clamp(20px,5vw,72px));margin:0 auto;padding:clamp(40px,5vw,84px) clamp(20px,5vw,72px) 0}
.vm7-art__head{max-width:40rem;margin:0 auto clamp(30px,3.4vw,52px)}
.vm7-art__crumb{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);text-decoration:none}
.vm7-art__h1{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-31),4.6vw,var(--step-49));line-height:1.1;color:var(--ink);margin:14px 0 14px;text-wrap:pretty}
.vm7-art__standfirst{font-family:var(--font-body);font-size:clamp(var(--step-16),1.7vw,var(--step-20));line-height:1.65;color:var(--ink);margin:0 0 18px;text-wrap:pretty}
.vm7-art__meta{display:flex;gap:8px;flex-wrap:wrap;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);padding-top:16px;border-top:1px solid var(--rule-sand)}
.vm7-art__body{max-width:40rem;margin:0 auto;padding-bottom:clamp(40px,5vw,80px)}
.vm7-art__lede{font-family:var(--font-body);font-size:17px;line-height:1.7;color:var(--ink);margin:0 0 20px}
.vm7-art__body p{font-family:var(--font-body);font-size:16px;line-height:1.78;color:var(--ink);margin:0 0 18px;text-wrap:pretty}
.vm7-art__body h2{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-20),2.2vw,var(--step-25));line-height:1.2;color:var(--ink);margin:40px 0 14px;padding-top:20px;border-top:1px solid var(--rule-sand)}
.vm7-art__pull{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-20),2.4vw,var(--step-31));line-height:1.3;color:var(--accent);margin:28px 0;padding-left:22px;border-left:2px solid var(--accent);max-width:34ch;text-wrap:pretty}
.vm7-art__list{margin:0 0 18px;padding:0;list-style:none}
.vm7-art__list li{position:relative;padding:10px 0 10px 26px;border-bottom:1px solid var(--rule-sand-50);font-family:var(--font-body);font-size:15.5px;line-height:1.65;color:var(--ink)}
.vm7-art__list li::before{content:"";position:absolute;left:2px;top:20px;width:9px;height:1.6px;background:var(--accent)}
.vm7-art__end{margin-top:36px;padding-top:22px;border-top:1.6px solid var(--rule-sand)}
.vm7-art__end p{font-size:14.5px;color:var(--ink-muted)}

/* The visit note · the artifact, annotated */
.vm7-sheetwrap{max-width:calc(1240px + 2 * clamp(20px,5vw,72px));margin:0 auto;padding:0 clamp(20px,5vw,72px) clamp(40px,5vw,80px)}
.vm7-nrow{display:grid;grid-template-columns:1fr;gap:clamp(12px,1.6vw,28px);align-items:start;margin-bottom:clamp(12px,1.4vw,20px)}
@media(min-width:1000px){.vm7-nrow{grid-template-columns:minmax(0,1fr) 264px}}
.vm7-sheet{background:var(--white);border:1px solid var(--rule-sand);padding:clamp(22px,2.6vw,34px);box-shadow:0 14px 32px -30px rgba(41,38,34,.6)}
.vm7-sheet--head{border-top:3px solid var(--umber-panel)}
.vm7-sheet__brand{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.vm7-sheet__brand img{height:26px;width:auto;display:block}
.vm7-sheet__brand span{font-family:var(--font-display);font-weight:500;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.vm7-sheet__ttl{font-family:var(--font-sans);font-stretch:expanded;font-size:clamp(var(--step-20),2.1vw,var(--step-25));line-height:1.15;color:var(--ink)}
.vm7-sheet__dt{font-family:var(--font-mono);font-size:12px;color:var(--ink-muted);margin-top:6px}
.vm7-sheet__two{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid var(--rule-sand)}
.vm7-sheet__two .k,.vm7-sheet__sign .k{display:block;font-family:var(--font-display);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:4px}
.vm7-sheet__two .v{font-family:var(--font-body);font-size:15px;color:var(--ink)}
.vm7-sheet__h{font-family:var(--font-display);font-weight:500;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}
.vm7-sheet__lede{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-20),2.2vw,var(--step-25));line-height:1.3;color:var(--ink);margin:0 0 12px;max-width:38ch}
.vm7-sheet__p{font-family:var(--font-body);font-size:15px;line-height:1.7;color:var(--ink);margin:0 0 10px;max-width:64ch}
.vm7-sheet__foot{font-family:var(--font-body);font-size:13px;line-height:1.6;color:var(--ink-muted);margin:14px 0 0}
.vm7-chk{list-style:none;margin:0;padding:0}
.vm7-chk li{display:grid;grid-template-columns:22px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--rule-sand-50)}
.vm7-chk li:last-child{border-bottom:none}
.vm7-chk .t{font-size:13px;color:var(--status-well-deep);line-height:1.6}
.vm7-chk .t.f{color:var(--accent)}
.vm7-chk b{font-family:var(--font-body);font-weight:600;font-size:14.5px;line-height:1.55;color:var(--ink)}
.vm7-chk .d{display:block;font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--ink-muted);margin-top:3px}
.vm7-chk .lg{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--ink-muted);margin-top:5px}
.vm7-shots{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.vm7-shots figure{margin:0}
.vm7-shots img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--ivory-300)}
.vm7-shots figcaption{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:var(--ink-muted);margin-top:7px;line-height:1.5}
.vm7-work{width:100%;border-collapse:collapse;margin:0 0 14px}
.vm7-work th{text-align:left;width:34%;font-family:var(--font-display);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);padding:10px 12px 10px 0;border-bottom:1px solid var(--rule-sand);vertical-align:baseline}
.vm7-work td{font-family:var(--font-body);font-size:15px;color:var(--ink);padding:10px 0;border-bottom:1px solid var(--rule-sand)}
.vm7-sheet__sign{margin-top:16px;padding-top:16px;border-top:1px solid var(--rule-sand)}
.vm7-sheet__sign p{font-family:var(--font-body);font-size:14.5px;line-height:1.7;color:var(--ink);margin:0;max-width:60ch}
.vm7-anno{padding:4px 0 0 16px;border-left:2px solid var(--accent)}
@media(max-width:999px){.vm7-anno{background:var(--ivory-100);padding:16px;border-left:2px solid var(--accent)}}
.vm7-anno h3{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:15px;line-height:1.25;color:var(--ink);margin:6px 0 8px}
.vm7-anno p{font-family:var(--font-body);font-size:13.5px;line-height:1.65;color:var(--ink-muted);margin:0 0 8px}
.vm7-anno p.x{color:var(--ink);padding-top:8px;border-top:1px solid var(--rule-sand)}

/* For Homeowners · the instruments */
.vm7-res{margin-top:clamp(28px,3.4vw,52px);border-top:1px solid var(--rule-sand)}
.vm7-res__item{display:grid;grid-template-columns:1fr;gap:clamp(12px,2vw,40px);padding:clamp(24px,2.8vw,40px) 0;border-bottom:1px solid var(--rule-sand);align-items:start}
@media(min-width:900px){.vm7-res__item{grid-template-columns:.62fr 1.38fr}}
.vm7-res__k h3{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-25),2.6vw,var(--step-31));line-height:1.15;color:var(--ink);margin:8px 0 0;max-width:20ch}
.vm7-res__b p{max-width:62ch;margin:0 0 14px}
.vm7-res__b .vm-lede{margin-bottom:16px}
.vm7-res__b .btnrow{margin-top:18px}
.vm7-soon{display:inline-block;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--umber-500);border-bottom:1px dotted var(--umber-300)}
/* the five questions */
.vm7-ask{margin-top:clamp(30px,3.4vw,52px);background:var(--ivory-100);border-block:1.6px solid var(--rule-sand);padding:clamp(26px,3vw,40px) clamp(22px,2.6vw,36px)}
.vm7-ask h3{margin:0 0 14px}
.vm7-ask__list{counter-reset:q;list-style:none;margin:0 0 16px;padding:0;max-width:70ch}
.vm7-ask__list li{counter-increment:q;position:relative;padding:14px 0 14px 40px;border-bottom:1px solid var(--rule-sand);font-family:var(--font-body);font-size:15px;line-height:1.7;color:var(--ink)}
.vm7-ask__list li::before{content:counter(q,decimal-leading-zero);position:absolute;left:0;top:17px;font-family:var(--font-mono);font-size:11.5px;color:var(--accent)}
.vm7-ask__list b{font-weight:600}
/* The Kiawah year · twelve months */
.vm7-yeargrid{max-width:calc(1240px + 2 * clamp(20px,5vw,72px));margin:0 auto;padding:0 clamp(20px,5vw,72px);border-top:1.6px solid var(--rule-sand)}
.vm7-mo{display:grid;grid-template-columns:1fr;gap:clamp(10px,1.6vw,36px);padding:clamp(22px,2.4vw,34px) 0;border-bottom:1px solid var(--rule-sand);align-items:start}
@media(min-width:900px){.vm7-mo{grid-template-columns:.52fr 1.48fr}}
.vm7-mo__k h3{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-20),2.2vw,var(--step-25));line-height:1.2;color:var(--ink);margin:6px 0 0;max-width:22ch}
.vm7-mo__b p{font-family:var(--font-body);font-size:15.5px;line-height:1.75;color:var(--ink);margin:0 0 12px;max-width:62ch}
.vm7-mo__b p:last-child{margin-bottom:0}
.vm7-mo__b b{font-weight:600;color:var(--ink)}

/* Mobile menu · CSS-only, no script. Shown only where the inline nav is hidden. */
.vm7-menu{display:none;margin-left:auto}
.vm7-menu summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;gap:8px;width:28px;padding:10px 0;min-height:44px;justify-content:center}
.vm7-menu summary::-webkit-details-marker{display:none}
.vm7-menu summary span{height:1px;background:var(--ivory-300);display:block}
.vm7-menu summary span:nth-child(1),.vm7-menu summary span:nth-child(3){width:28px}
.vm7-menu summary span:nth-child(2){width:19px}
.vm7-menu[open] summary span{background:var(--ivory-100)}
.vm7-menu__list{position:absolute;left:0;right:0;top:100%;background:var(--umber-panel);display:flex;flex-direction:column;padding:8px clamp(20px,3vw,37px) 20px;border-top:1px solid var(--ivory-a32);z-index:40}
.vm7-menu__list a{font-family:var(--font-sans);font-stretch:expanded;font-size:17px;color:var(--ivory-200);text-decoration:none;padding:14px 0;border-bottom:1px solid var(--ivory-a22);min-height:44px;display:flex;align-items:center}
.vm7-menu__list a:last-child{border-bottom:none}
.vm7-menu__list a[aria-current]{color:var(--ivory-100)}
@media(max-width:880px){.vm7-menu{display:block}.vm7-hdr{position:sticky;padding-block:10px}}
.vm7-menu__place{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--ivory-400);padding:14px 0 10px}
.vm7-menu__list a[aria-current]::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--teal-footer);margin-right:10px;flex:0 0 auto}
.vm7-menu__act{display:grid;gap:10px;margin-top:18px}
.vm7-menu__act a{border-bottom:none;justify-content:center;border-radius:var(--radius-pill);min-height:52px;font-family:var(--font-sans);font-stretch:expanded;font-size:16px}
.vm7-menu__act a.p{background:var(--umber-action);color:var(--ivory-100)}
.vm7-menu__act a.s{border:1px solid var(--ivory-a32);color:var(--ivory-100)}
/* the narrowest lockup is a deliberate one: the rule goes, the word stays */
@media(max-width:430px){
  .vm7-hdr{min-height:74px}
  .vm7-hdr__place{padding-left:0;margin-top:5px}
  .vm7-hdr__place i{display:none}
  .vm7-hdr__place span{font-size:11px;letter-spacing:.13em}
}

/* ── Mobile call bar ────────────────────────────────────────────────────────────
   The urgent homeowner scored lowest of the six personas, and the phone number was the
   smallest useful thing in the header and absent from mobile chrome entirely. A persistent
   two-door bar on phones: call, or start the conversation. Hidden from print and above the
   phone breakpoint, and it keeps clear of the footer by pinning rather than floating over
   content — body gets padding so nothing is ever covered. */
.vm7-callbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;gap:1px;background:var(--umber-900);padding-bottom:env(safe-area-inset-bottom,0)}
.vm7-callbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;font-family:var(--font-sans);font-stretch:expanded;font-size:15px;text-decoration:none;color:var(--ivory-100);background:var(--umber-panel)}
.vm7-callbar a.on{background:var(--umber-action)}
@media(max-width:700px){.vm7-callbar{display:flex}body{padding-bottom:54px}}
@media print{.vm7-callbar{display:none}}
/* "why we publish it" notes and the security boundary */
.vm-note--why{border-left:2px solid var(--rule-sand);padding-left:16px;max-width:62ch;margin-top:14px}
.vm-note--why b{color:var(--ink)}
.vm7-warn{border-left:2px solid #8C3A18;background:rgba(140,58,24,.06);padding:16px 18px;margin:16px 0;max-width:62ch}
.vm7-warn b{display:block;font-family:var(--font-sans);font-stretch:expanded;font-size:15px;color:#6E2D12;margin-bottom:6px}
.vm7-warn{font-family:var(--font-body);font-size:14.5px;line-height:1.7;color:#6E2D12}

/* Vellum · the differentiator. No device frames, no dashboards — the argument is typographic. */
.vm7-vsay{margin:clamp(26px,3vw,40px) 0 0;padding:clamp(22px,2.6vw,32px) 0;border-block:1.6px solid var(--rule-sand)}
.vm7-vsay p{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-25),3.2vw,var(--step-39));line-height:1.22;color:var(--ink);margin:0;max-width:34ch;text-wrap:pretty}
.vm7-cont{display:grid;grid-template-columns:1fr;gap:0;margin-top:clamp(22px,2.6vw,34px)}
@media(min-width:860px){.vm7-cont{grid-template-columns:repeat(3,1fr);column-gap:clamp(24px,3vw,48px)}}
.vm7-cont div{padding:16px 0;border-top:1px solid var(--rule-sand)}
.vm7-cont p{font-family:var(--font-body);font-size:14.5px;line-height:1.68;color:var(--ink-muted);margin:8px 0 0;max-width:40ch}

/* Tell Us About Your House · the intake */
.vm7-intake{max-width:calc(1240px + 2 * clamp(20px,5vw,72px));margin:0 auto;padding:0 clamp(20px,5vw,72px) clamp(40px,5vw,80px)}
.vm7-intake__grid{display:grid;grid-template-columns:1fr;gap:clamp(26px,3.4vw,56px);align-items:start}
@media(min-width:960px){.vm7-intake__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}}
.vm7-form{background:var(--white);border:1px solid var(--rule-sand);padding:clamp(24px,3vw,40px)}
.vm7-form__step{display:flex;align-items:baseline;gap:12px;margin:0 0 22px;padding-bottom:12px;border-bottom:1.6px solid var(--rule-sand);font-family:var(--font-sans);font-stretch:expanded;font-size:clamp(var(--step-16),1.8vw,var(--step-20));color:var(--ink)}
.vm7-form__step:not(:first-child){margin-top:34px}
.vm7-form__step span{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.vm7-f{margin:0 0 24px}
.vm7-f label,.vm7-f__q{display:block;font-family:var(--font-body);font-weight:600;font-size:15px;line-height:1.5;color:var(--ink);margin-bottom:4px}
.vm7-f label em,.vm7-f__q em{font-style:normal;font-weight:400;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-left:8px}
.vm7-f__why{display:block;font-family:var(--font-body);font-size:13.5px;line-height:1.6;color:var(--ink-muted);margin-bottom:10px;max-width:58ch}
.vm7-f input[type=text],.vm7-f input[type=email],.vm7-f input[type=tel],.vm7-f textarea{width:100%;box-sizing:border-box;font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--ink);background:var(--ivory-100);border:1px solid var(--border-field);border-radius:var(--radius-field,4px);padding:13px 14px;min-height:48px}
.vm7-f textarea{min-height:96px;resize:vertical}
.vm7-f input:focus-visible,.vm7-f textarea:focus-visible,.vm7-form__go:focus-visible,.vm7-radio input:focus-visible+span,.vm7-chips input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.vm7-radio{display:grid;gap:8px}
.vm7-radio label{display:flex;align-items:center;gap:12px;font-weight:400;min-height:44px;margin:0;cursor:pointer}
.vm7-radio input{width:18px;height:18px;accent-color:var(--umber-action);flex:none}
.vm7-chips{display:flex;flex-wrap:wrap;gap:10px}
.vm7-chips label{margin:0;font-weight:400;cursor:pointer}
.vm7-chips input{position:absolute;opacity:0;width:1px;height:1px}
.vm7-chips span{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid var(--border-field);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:14.5px;color:var(--ink);background:var(--ivory-100)}
.vm7-chips input:checked+span{background:var(--umber-action);border-color:var(--umber-action);color:var(--ivory-100)}
.vm7-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.vm7-form__go{margin-top:8px;width:100%;cursor:pointer;font-family:var(--font-sans);font-stretch:expanded;font-size:16px;min-height:52px;border:1px solid var(--umber-action)}
.vm7-next-panel{background:var(--ivory-200);border-block:1.6px solid var(--rule-sand);padding:clamp(24px,2.8vw,34px)}
.vm7-nextlist{list-style:none;margin:18px 0 0;padding:0}
.vm7-nextlist li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--rule-sand)}
.vm7-nextlist .w{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);white-space:nowrap}
.vm7-nextlist p{font-family:var(--font-body);font-size:14px;line-height:1.65;color:var(--ink);margin:0}
.vm7-next-panel__foot{margin-top:22px;padding-top:18px;border-top:1.6px solid var(--rule-sand)}
.vm7-next-panel__foot h3{font-family:var(--font-display);font-weight:400;font-size:var(--step-20);margin:18px 0 6px}
.vm7-next-panel__foot h3:first-child{margin-top:0}
.vm7-next-panel__foot p{font-size:14px;margin:0}
.vm7-form__ok{background:var(--status-well-wash);border-left:2px solid var(--status-well-deep);padding:22px 24px}
.vm7-form__ok h2{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-25),2.6vw,var(--step-31));color:var(--ink);margin:0 0 10px}
.vm7-form__ok p{font-family:var(--font-body);font-size:15px;line-height:1.7;color:var(--ink);margin:0 0 10px;max-width:56ch}
.vm7-form__err{background:rgba(140,58,24,.07);border-left:2px solid #8C3A18;padding:14px 16px;margin:0 0 18px;font-family:var(--font-body);font-size:14.5px;color:#6E2D12}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001s!important;transition-duration:.001s!important}}

.vm7-select{width:100%;box-sizing:border-box;font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--ink);background:var(--ivory-100);border:1px solid var(--border-field);border-radius:var(--radius-field,4px);padding:13px 14px;min-height:48px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-muted) 50%),linear-gradient(135deg,var(--ink-muted) 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.vm7-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

:root{--vm7-measure-wide:820px;
  /* PALETTE PASS TWO · the launch edition was umber, ivory and one accent, with the brand's
     cool families reduced to a 12px checkmark. Three grounds and two encoding hues, each
     tied to a register rather than chosen for variety. Values are published tokens only. */
  --ground-cool:var(--slate-blue-100);
  --ground-cool-deep:var(--slate-blue-200);
  --rule-cool:var(--slate-blue-300)}

/* ── Palette pass ─────────────────────────────────────────────────────────────
   The launch edition was using 23 of the design system's 100 colour tokens: two ink weights,
   one accent, and none of the slate-blue ramp. That is not restraint, it is a flat ink ladder —
   every secondary thing on a 1,700-word field note sat at exactly the same weight as every
   other secondary thing. Three assignments, each with a job, each contrast-checked:

   ink-soft   #7A6A57  secondary prose on white and ivory-100 only (5.22 / 4.68) — NOT on
                       ivory-200, where it measures 4.18 and fails AA for small text.
   accent-hover #6E3600 the accent's own hover, 9.59 on white. Previously borrowed from the
                       button ramp, which is a different family.
   slate-blue-700 #4A5A5C  a second ink, for Vellamore's voice ABOUT an artifact rather than
                       the artifact itself: the annotation column on the visit note, and the
                       field-note metadata. 7.22 on white, 5.78 on ivory-200 — safe on every
                       ground we use. slate-blue-600 is NOT used: 3.74 on ivory-200.
   ink-faint is deliberately still unused — it fails AA on all three grounds at body sizes.
   ──────────────────────────────────────────────────────────────────────────── */

/* one · the ink ladder gets a third step, on white grounds only */
.vm7-f__why,
.vm7-std__why p,
.vm7-mo__b p,
.vm7-res__b p,
.vm7-art__body p{color:var(--ink-soft)}
.vm7-art__lede,.vm7-mo__b b,.vm7-res__b .vm-lede{color:var(--ink)}

/* GROUND GUARD. ink-soft measures 4.18 on ivory-200 and fails AA at body sizes, so the ground
   overrules the component: any section marked vm7-g200 forces its small prose back to
   ink-muted (5.18). The rule above is grouped by component, which is how a component on the
   wrong ground slipped through once — this makes that mistake impossible rather than unlikely.
   Applied to every ivory-200 section in the launch edition. */
.vm7-g200 .vm7-res__b p,
.vm7-g200 .vm7-f__why,
.vm7-g200 .vm7-std__why p,
.vm7-g200 .vm7-mo__b p,
.vm7-g200 .vm7-art__body p{color:var(--ink-muted)}
.vm7-g200 .vm7-res__b .vm-lede{color:var(--ink)}

/* two · the accent's own hover, rather than the button family's */
.rv a:hover,.vm7-art__body a:hover,.vm7-ask__list a:hover,.vm7-res__b a:hover{color:var(--accent-hover)}

/* three · slate as the second voice — ours, about the artifact */
.vm7-anno{border-left-color:var(--slate-blue-500)}
.vm7-anno .vm-mono{color:var(--slate-blue-700)}
.vm7-anno h3{color:var(--slate-blue-800)}
.vm7-anno p{color:var(--slate-blue-700)}
.vm7-anno p.x{border-top-color:var(--slate-blue-200)}
.vm7-art__meta{color:var(--slate-blue-700)}
.vm7-note-card .vm-mono,.vm7-res__k .vm-mono{color:var(--slate-blue-700)}

/* four · the accent's quiet end, where a finding is flagged rather than ticked */
.vm7-chk li:has(.t.f){background:var(--wash-accent-07);margin-inline:-12px;padding-inline:12px}

/* Single-column variant of the outcomes list. Was two inline max-width:820px declarations on
   how-it-works — the only bespoke pixel widths left in the launch edition. Tokenised so the
   measure can never drift between the two instances. */
.vm7-gets--one{grid-template-columns:1fr;max-width:var(--vm7-measure-wide)}
.vm7-gets--one.vm7-gets--c{margin-inline:auto}

/* ── Tab 03 · responsive defects found by measurement ─────────────────────────
   Found by the route × viewport harness at phone widths, not by eye. Fixed at the shared
   layer so every route that consumes these systems is corrected at once.

   01 · Footer links measured 19px tall — nineteen of them, on every page. Inline anchors in
        list items with no padding. WCAG 2.2 AA target size is 24px minimum and the project
        standard is 44px; a 19px target in a stacked column is also genuinely hard to hit
        one-handed. Padded to 44px and laid out with gap rather than margins. Desktop keeps
        its tighter rhythm — the constraint is a touch constraint.
   02 · Small mono labels measured 10.5–11.5px. Raised to a 12px floor at phone widths only,
        where the reading distance is shorter and the label is doing real work. The ledger
        keys (--vm4) are v6 classes, so the override is scoped to launch pages to avoid
        touching the shipped site.
   Inline links inside a sentence are deliberately NOT padded: WCAG 2.2 exempts them, and
   padding text links breaks the line box.
   ──────────────────────────────────────────────────────────────────────────── */
@media(max-width:600px){
  .vm7-ftr ul{display:flex;flex-direction:column;gap:2px}
  .vm7-ftr li{margin:0}
  .vm7-ftr li a{display:flex;align-items:center;min-height:44px;padding:4px 0}
  .vm7-ftr h4{font-size:12px}
  .vm7-next .w{font-size:12px}
  .vm7-who__names{font-size:12px}
  .vm4-ledger__k{font-size:12px}
  /* The visit note's own document labels. They are small on purpose — they imitate a real
     sheet — but Tab 03 §11 is right that the strongest proof asset must not be the least
     readable thing on a phone. 12px floor, proportions preserved. */
  .vm7-ev__head span,.vm7-ev__sig span{font-size:12px}
}

/* 03 · NOT changed, deliberately. The harness flagged 40-odd labels at 10.5-11.5px. Those are
        the design system's uppercase mono label convention, used identically on all ten launch
        pages and across the shipped v6 site — an editorial device, not an oversight, and WCAG
        sets no minimum font size. Raising them globally would restyle every page, which is a
        visual decision for Tab 04 art direction rather than a responsive defect fix, and
        Tab 03 §25 forbids restyling under QA cover. Two exceptions were made above, both
        phone-only and both where the label is doing real reading work at close range: the
        ledger keys at 10.5px, and the visit note's own document labels. */

/* 04 · The field-note breadcrumb measured 15px tall on both notes at all six phone widths —
        a standalone navigation link, so no sentence exemption applies. Padded to a 44px
        target below 600px. Inline-flex keeps the rule and the eyebrow alignment intact. */
@media(max-width:600px){
  .vm7-art__crumb{display:inline-flex;align-items:center;min-height:44px}
}

/* 05 · The menu button measured 44×28 — tall enough, 16px too narrow. It is the most-used
        control on a phone and the project standard is 44 in both axes (WCAG 2.2 AA would
        accept 24, which is not the bar here). Widened to 44 without moving the glyph. */
.vm7-menu>summary{min-width:44px;justify-content:center}

/* ── Tab 04 implementation ───────────────────────────────────────────────────────
   The roles block that stands in for shot 01. Deliberately typographic rather than a dashed
   box: it states who is accountable, which is the section's job, and it reads as finished
   rather than as a missing asset. The photograph replaces it without any layout change. */
.vm7-who__fig{display:block}
.vm7-who__roles{border-top:1.6px solid var(--rule-sand);border-bottom:1.6px solid var(--rule-sand);padding:clamp(20px,2.4vw,30px) 0}
.vm7-who__roles>.vm-mono{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:14px}
.vm7-who__roles ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.vm7-who__roles li{display:flex;flex-direction:column;gap:3px;padding-left:16px;border-left:2px solid var(--accent)}
.vm7-who__roles b{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-16),1.8vw,var(--step-20));color:var(--ink)}
.vm7-who__roles span{font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--ink-soft)}

/* The founders' portrait, in its proper place on Who We Are. */
.vm7-family{margin:clamp(22px,2.6vw,34px) 0 0}
.vm7-family img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;background:var(--ivory-300)}
.vm7-family figcaption{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-top:9px;line-height:1.6}
@media(max-width:600px){.vm7-family figcaption{font-size:12px}}

/* ── §9A · the operating loop ────────────────────────────────────────────────────
   A sequence, not a feature quad: four numbered steps on one ruled line, with the return
   stated beneath. Built from the graphic language the site already owns — hairline rules,
   mono ordinals, no icons, no arrows drawn as graphics. The ↻ is aria-hidden because the
   sentence beside it already carries the meaning; nothing here is colour-only. */
.vm7-loop{list-style:none;margin:clamp(28px,3.4vw,52px) 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:0;counter-reset:none;border-top:1.6px solid var(--rule-sand)}
@media(min-width:700px){.vm7-loop{grid-template-columns:repeat(2,1fr);column-gap:clamp(28px,4vw,64px)}}
@media(min-width:1120px){.vm7-loop{grid-template-columns:repeat(4,1fr);column-gap:clamp(24px,2.6vw,40px)}}
.vm7-loop__s{position:relative;padding:22px 0;border-bottom:1px solid var(--rule-sand)}
@media(min-width:1120px){
  .vm7-loop__s{border-bottom:none;padding-top:26px}
  /* the connector: a hairline between consecutive steps, drawn from the step itself so it
     cannot desynchronise from the grid */
  .vm7-loop__s+.vm7-loop__s::before{content:"";position:absolute;left:calc(-1 * clamp(24px,2.6vw,40px) / 2);top:0;bottom:22px;width:1px;background:var(--rule-sand)}
}
.vm7-loop__s .vm-mono{color:var(--accent);font-size:11.5px}
.vm7-loop__v{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-20),2.2vw,var(--step-25));line-height:1.1;color:var(--ink);margin:8px 0}
.vm7-loop__s p{font-family:var(--font-body);font-size:14.5px;line-height:1.7;color:var(--ink-soft);margin:0;max-width:40ch}
.vm7-loop__back{display:flex;gap:12px;align-items:baseline;margin:clamp(18px,2vw,26px) 0 0;padding-top:16px;border-top:1.6px solid var(--rule-sand);font-family:var(--font-display);font-size:clamp(var(--step-16),1.7vw,var(--step-20));line-height:1.4;color:var(--ink);max-width:56ch}
.vm7-loop__back>span:first-child{font-family:var(--font-mono);font-size:18px;color:var(--accent);line-height:1;flex:0 0 auto}
.vm7-loop__back__t{flex:1 1 auto;min-width:0}

/* ── §7 · one arrival moment ─────────────────────────────────────────────────────
   A second, larger section step. Used once on the homepage — on the evidence section, the
   thing a sceptical buyer actually came to inspect — so that one moment reads as an arrival
   instead of the ninth identical slab. One token, not a rework. */
.vm-section--arrival{padding-block:clamp(56px,7vw,124px)}
.vm7-not--top{margin-top:0;border-top:1.6px solid var(--rule-sand)}

/* ── Design-preview presentation ─────────────────────────────────────────────────
   Styled as a document annotation rather than a wireframe box, because a dashed grey
   rectangle in the middle of this system reads as a broken page. It is unmistakably not
   publishable content — slate ink, a hatched slot, an explicit label — while still sitting
   at the real dimensions of the thing it stands for. Nothing here ships: the blocks exist
   only when preview.js is present, and their source is an inert <template>. */
.vm7-pv{border:1px solid var(--slate-blue-400);background:rgba(74,90,92,.04);padding:clamp(14px,1.6vw,20px);margin:16px 0;max-width:720px}
.vm7-pv__h{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--slate-blue-200);padding-bottom:9px;margin-bottom:12px}
.vm7-pv__id{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-blue-800);font-weight:600}
.vm7-pv__kind{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-blue-700);border:1px solid var(--slate-blue-300);padding:2px 7px}
/* The reserved slot shows the real aspect ratio but is capped, so a 4:5 portrait preview does
   not swallow the column it sits in. The ratio is what needs judging, not the absolute size. */
.vm7-pv__slot{width:100%;max-width:220px;max-height:260px;background-image:repeating-linear-gradient(135deg,rgba(74,90,92,.09) 0 6px,transparent 6px 12px);border:1px solid var(--slate-blue-300);display:grid;place-content:center;margin-bottom:12px}
.vm7-pv__slot span{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--slate-blue-700)}
.vm7-pv__spec{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--slate-blue-800);margin:0 0 10px;max-width:58ch}
.vm7-pv__body{font-family:var(--font-body);font-size:13.5px;line-height:1.7;color:var(--slate-blue-700);border-left:2px solid var(--slate-blue-300);padding-left:14px;margin-bottom:12px}
.vm7-pv__body p{margin:0 0 8px}
.vm7-pv__fill{display:block;height:.72em;background:rgba(74,90,92,.16);margin-bottom:7px;border-radius:2px}
.vm7-pv__fill:last-child{width:62%}
.vm7-pv__f{display:flex;flex-wrap:wrap;gap:6px 22px;border-top:1px solid var(--slate-blue-200);padding-top:10px;font-family:var(--font-body);font-size:12.5px;line-height:1.5;color:var(--slate-blue-700)}
.vm7-pv__f b{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-blue-800);display:block}
.vm7-pvbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--slate-blue-800);color:var(--ivory-100);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;padding:9px 18px;text-align:center}
@media(max-width:600px){.vm7-pv{margin-inline:0}.vm7-pv__f{gap:10px}.vm7-pvbar{font-size:10.5px;padding:8px 12px}}

/* PUBLIC FALLBACK · §4B forbids a dashed unfinished box on the public site. A person whose
   portrait has not been taken renders as a text-only card: the other three portraits simply
   sit beside it. The dashed slot is a design-preview affordance only, so it is hidden unless
   preview mode is on — which means the public state is correct by default here too. */
/* PUBLIC FALLBACK · a person whose portrait has not been taken renders as a text-only card
   rather than a dashed box. Scoped to --pending only: the open-role card uses the same slot
   class to say "Hiring now", which is intentional design and must keep rendering. */
.vm7-person__slot--pending{display:none}
[data-preview-mode="on"] .vm7-person__slot--pending{display:grid}

/* Preview blocks that describe the hero, kept outside the hero's own grid. */
.vm7-pvhero{max-width:calc(1240px + 2 * clamp(20px,5vw,72px));margin:0 auto;padding:0 clamp(20px,5vw,72px)}
.vm7-pvhero:not(:has(.vm7-pv)){display:none}

/* ── FINISHED REVIEW MODE presentation ───────────────────────────────────────────
   These rules style interim review content so it reads as finished. They are inert in
   production because the content they style is only ever inserted by review.js. */

/* Interim photography, in the site's own figure treatment.
   The figure must size itself rather than inherit a width, because review.js drops it into
   whatever parent the slot happens to have. Two of those parents are centred flex columns
   (.vm-stack uses align-items:center), where a content-sized figure and an img at width:100%
   resolve circularly to 0x0 — the image then never even begins loading. width plus
   align-self:stretch makes it correct as a flex item and as a block child alike. */
.vm7-rvimg{margin:clamp(20px,2.4vw,32px) 0;display:block;width:100%;align-self:stretch;max-width:820px}
/* A square or portrait figure at the full prose measure becomes an 820px block that dominates
   the section it illustrates. Tall ratios are capped narrower; landscape keeps the measure. */
.vm7-rvimg--tall{max-width:460px}
.vm7-rvimg img{width:100%;height:auto;object-fit:cover;display:block;background:var(--ivory-300)}

/* The monogram portrait. Used only where a real named person's likeness would otherwise have
   to be invented. Deliberately typographic: it belongs to the same editorial language as the
   ruled eyebrows and the ledger, holds the exact geometry the photograph will occupy, and
   reads as a considered choice rather than a missing asset. */
.vm7-mono-portrait{position:relative;margin:0;width:100%;display:grid;place-items:center;background:var(--ivory-200);border:1px solid var(--rule-sand);overflow:hidden}
.vm7-mono-portrait::before{content:"";position:absolute;inset:0;background-image:var(--texture-paper);background-size:340px;opacity:.5;pointer-events:none}
.vm7-mono-portrait__i{position:relative;font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-31),4.6vw,var(--step-61));letter-spacing:.04em;color:var(--umber-400);line-height:1}
.vm7-mono-portrait figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px 14px;background:linear-gradient(to top,rgba(41,38,34,.82),rgba(41,38,34,0));display:flex;flex-direction:column;gap:2px}
.vm7-mono-portrait figcaption b{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:14px;color:var(--ivory-100)}
.vm7-mono-portrait figcaption span{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ivory-300)}
@media(max-width:600px){.vm7-mono-portrait figcaption span{font-size:12px}}

/* Owner references. One, two or three compose correctly — the grid reads its own count. */
.vm7-refs__head{max-width:760px;margin:0 0 clamp(22px,2.6vw,36px)}
.vm7-refs{display:grid;grid-template-columns:1fr;gap:0;border-top:1.6px solid var(--rule-sand)}
.vm7-refs[data-n="2"],.vm7-refs[data-n="3"]{column-gap:clamp(28px,4vw,56px)}
@media(min-width:820px){
  .vm7-refs[data-n="2"]{grid-template-columns:repeat(2,1fr)}
  .vm7-refs[data-n="3"]{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1120px){.vm7-refs[data-n="3"]{grid-template-columns:repeat(3,1fr)}}
.vm7-ref{margin:0;padding:clamp(22px,2.4vw,30px) 0;border-bottom:1px solid var(--rule-sand);display:flex;flex-direction:column;gap:14px}
.vm7-ref blockquote{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-16),1.7vw,var(--step-20));line-height:1.5;color:var(--ink);text-wrap:pretty}
.vm7-ref blockquote::before{content:"\201C"}
.vm7-ref blockquote::after{content:"\201D"}
.vm7-ref figcaption{display:flex;flex-direction:column;gap:2px;margin-top:auto}
.vm7-ref figcaption b{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:14.5px;color:var(--ink)}
.vm7-ref figcaption span{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}
@media(max-width:600px){.vm7-ref figcaption span{font-size:12px}}

/* ── PALETTE PASS TWO · the cool ground, and where each hue is allowed ──────────────
   The audit of colour usage: umber/ivory/accent carried every surface, and the brand's two
   cool families — slate-blue and teal — survived only inside a tick glyph and a form success
   wash. The fix is not more colour; it is giving the second family a job.

     WARM   · umber, ivory, accent          the house, the paper, the threat, the action
     COOL   · slate-blue                    Vellamore's own voice ABOUT an artifact: the
                                            record, annotations, the documentary ground
     TEAL   · teal-footer / -deep           settled. What has been done, checked or closed,
                                            and Vellamore's response to a season

   The header and footer stay umber — they are the brand's foundation and the one thing in the
   palette that should not move. */

/* one · the documentary register gets its own ground. Registers now differ in colour as well
   as composition: photographic on white or a photograph, documentary on the cool ground,
   tabular on warm ivory. Contrast measured: ink #5B3E22 on the cool ground is 7.1:1. */
.vm-section--doc{background:var(--ground-cool);border-block:1px solid var(--rule-cool)}
.vm-section--doc .rt i{background:var(--rule-cool)}
.vm-section--doc .vm7-note2__sheet{border-color:var(--slate-blue-200);border-top-color:var(--slate-blue-800)}
.vm-section--doc .vm-note{color:var(--slate-blue-700)}

/* GROUND GUARD, extended. ink-soft measures below AA on the cool ground at body sizes for the
   same reason it does on ivory-200, so the documentary ground forces the same fallback. */
.vm-section--doc .vm7-res__b p,
.vm-section--doc .vm7-f__why,
.vm-section--doc .vm7-std__why p,
.vm-section--doc .vm7-mo__b p,
.vm-section--doc .vm7-art__body p{color:var(--ink-muted)}

/* two · teal for settled. The ticks were already teal; now they belong to a system. */
.vm7-esc li[data-settled]{border-top-color:var(--teal-footer-deep)}
.vm7-esc li[data-settled] b{color:var(--teal-footer-deep)}
.vm7-esc li[data-settled] .vm-mono{color:var(--teal-footer-deep)}
.stamp{border-left:2px solid var(--teal-footer-deep)}
.vm7-callbar a:not(.on){background:var(--umber-panel)}
.vm7-callbar a,.vm7-callbar a:hover,.vm7-callbar a:focus-visible,.vm7-callbar a:active{color:var(--ivory-100)!important;text-decoration:none}
.vm7-callbar a:not(.on):hover,.vm7-callbar a:not(.on):active{background:color-mix(in oklab,var(--umber-panel),var(--ivory-100) 12%)}
.vm7-callbar a.on:hover,.vm7-callbar a.on:active{background:var(--umber-action-hover)}
.vm7-callbar a:focus-visible{outline:2px solid var(--ivory-100);outline-offset:-4px}

/* three · the four-verb band takes the record's voice for its ordinals rather than a fourth
   repeat of the accent, so the band reads as description and the escalation gate keeps
   accent to itself. */
.vm7-band .vm-mono{color:var(--slate-blue-700)}
.vm7-band div:last-child b{color:var(--teal-footer-deep)}

/* ════════════════════════════════════════════════════════════════════════════════
   MATERIAL REWORK · three visual registers
   The 360° review found twelve homepage sections running through one template. These are
   the three registers the rebuilt experience alternates between, so the rhythm changes as
   the argument changes. Nothing here restyles an existing component.
     REGISTER 1 · photographic  — .vm7-ah, .vm7-pair, .vm7-ppl
     REGISTER 2 · documentary   — .vm7-note2, .vm7-esc
     REGISTER 3 · tabular       — .vm7-ky, .vm7-band, .vm4-ledger (existing)
   ════════════════════════════════════════════════════════════════════════════════ */

/* ── REGISTER 1 · the arrival hero ───────────────────────────────────────────────
   Defect 01: below 1023px the hero rendered type-only, so the most important screen on the
   most-used device was the least designed thing on the site. This composition is
   photographic at every width — a 4:5 crop on phones, 16:9 on desktop — with the copy on a
   scrim rather than a panel, so the image is never decoration beside the words.
   Contrast: ivory-100 on a scrim that reaches rgba(35,32,28,.82) behind the type block. */
.vm7-ah{position:relative;isolation:isolate;background:var(--umber-900);min-height:min(78vh,760px);display:grid}
.vm7-ah__media{position:absolute;inset:0;z-index:0}
.vm7-ah__media img,.vm7-ah__media video{width:100%;height:100%;object-fit:cover;object-position:62% 55%;display:block}
.vm7-ah::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(35,32,28,.88) 0%,rgba(35,32,28,.66) 42%,rgba(35,32,28,.24) 78%,rgba(35,32,28,.34) 100%)}
.vm7-ah__in{position:relative;z-index:2;align-self:end;max-width:calc(1240px + 2 * clamp(20px,5vw,72px));width:100%;margin:0 auto;padding:clamp(40px,7vw,96px) clamp(20px,5vw,72px) clamp(34px,4.4vw,64px);box-sizing:border-box}
.vm7-ah__eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:500;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ivory-100);margin:0 0 clamp(16px,2vw,26px)}
.vm7-ah__eyebrow i{display:block;width:44px;height:1.6px;background:var(--ivory-a75)}
.vm7-ah h1{font-family:var(--font-display);font-weight:400;font-size:clamp(38px,7.4vw,86px);line-height:1.02;color:var(--ivory-100);margin:0;text-wrap:balance}
.vm7-ah h1 span{display:block}
.vm7-ah__is{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(16px,1.9vw,22px);line-height:1.4;color:var(--ivory-100);margin:clamp(18px,2.2vw,28px) 0 0;max-width:34ch;text-wrap:pretty}
.vm7-ah__why{font-family:var(--font-body);font-size:clamp(15px,1.4vw,17px);line-height:1.62;color:var(--ivory-200);margin:12px 0 0;max-width:52ch;text-wrap:pretty}
.vm7-ah .btnrow{margin-top:clamp(22px,2.6vw,32px);align-items:center;column-gap:clamp(22px,2.4vw,32px)}
.vm7-ah__link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-family:var(--font-sans);font-stretch:expanded;font-size:16px;color:var(--ivory-100);text-decoration:none}
.vm7-ah__link span{border-bottom:1px solid var(--ivory-a75);padding-bottom:3px;transition:border-color .2s}
.vm7-ah__link i{font-style:normal;transition:transform .2s}
.vm7-ah__link:hover{color:var(--ivory-100)}.vm7-ah__link:hover span{border-color:var(--ivory-100)}.vm7-ah__link:hover i{transform:translateX(4px)}
.vm7-ah__scroll{display:none}
@media(max-width:860px){
  /* The phone composition is its own thing: a 4:5 frame that the type sits under rather than
     over, because at this size a scrim strong enough for contrast erases the photograph. */
  .vm7-ah{min-height:0;display:block;background:var(--white)}
  .vm7-ah__media{position:relative;inset:auto}
  .vm7-ah__media img,.vm7-ah__media video{aspect-ratio:4/5;height:auto;object-position:58% 50%}
  .vm7-ah::after{inset:auto;top:0;left:0;right:0;height:0;background:none}
  .vm7-ah__in{padding:clamp(24px,5vw,34px) 20px clamp(28px,5vw,38px)}
  .vm7-ah__eyebrow{color:var(--ink);margin-bottom:14px}
  .vm7-ah__eyebrow i{background:var(--rule-sand)}
  .vm7-ah h1{color:var(--ink);font-size:clamp(34px,10vw,48px)}
  .vm7-ah__is{color:var(--ink);font-size:17px}
  .vm7-ah__why{color:var(--ink-muted)}
  .vm7-ah .btn--iv{border-color:var(--umber-action);color:var(--umber-action)}
  .vm7-ah .btn--iv:hover{border-color:var(--umber-action-hover);color:var(--umber-action-hover)}
  .vm7-ah__link,.vm7-ah__link:hover{color:var(--umber-action)}
  .vm7-ah__link span{border-color:var(--umber-action)}
}

/* A single held frame. On the February screen it sits in the right half of a two-column
   opening, so the copy and the photograph carry equal weight and neither becomes a band
   running the full measure. */
.vm7-feb{display:grid;grid-template-columns:1fr;gap:clamp(24px,3vw,52px);align-items:center}
@media(min-width:900px){.vm7-feb{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.vm7-feb__copy{max-width:52ch}
.vm7-frame{margin:0;max-width:100%;justify-self:end;width:100%}
.vm7-frame img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 58%;display:block;background:var(--ivory-300)}
@media(max-width:899px){.vm7-frame img{aspect-ratio:16/10}}
.vm7-frame figcaption{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--ink-muted);margin-top:11px;max-width:52ch}

/* The empty-house / occupied-house pair. The recurring photographic idea the review asked
   for: the same proposition in two frames and almost no copy. Geometry is real now so the
   final pair drops in without a layout decision. */
.vm7-pair{display:grid;grid-template-columns:1fr;gap:1px;background:var(--rule-sand);margin:clamp(26px,3vw,44px) 0 0;border:1px solid var(--rule-sand)}
@media(min-width:760px){.vm7-pair{grid-template-columns:1fr 1fr}}
.vm7-pair figure{margin:0;background:var(--white);display:flex;flex-direction:column}
.vm7-pair img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;background:var(--ivory-300)}
.vm7-pair figcaption{padding:16px 18px 18px;display:flex;flex-direction:column;gap:5px}
.vm7-pair figcaption b{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-16),1.7vw,var(--step-20));color:var(--ink)}
.vm7-pair figcaption span{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--ink-muted);max-width:38ch}

/* ── REGISTER 3 · the Kiawah Year ────────────────────────────────────────────────
   The signature instrument. Twelve months across, four risk bands down, the visit cadence
   under them. Built only from rules, mono ordinals and washes of the accent — no icons, no
   chart library, nothing that is not already this site's graphic language.
   ACCESSIBILITY: intensity is never the only channel. Every cell carries a title and an
   aria-label with the level in words, and the band's own row label states the season in
   text. The instrument is a <table> so a screen reader reads month × band correctly. */
.vm7-ky{width:100%;border-collapse:collapse;margin:clamp(26px,3vw,44px) 0 0;table-layout:fixed}
.vm7-ky caption{caption-side:top;text-align:left;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);padding:0 0 14px}
.vm7-ky th[scope=col]{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--ink-muted);font-weight:400;text-align:center;padding:0 0 9px;border-bottom:1.6px solid var(--rule-sand)}
/* With table-layout:fixed the column widths come from the FIRST row, so the label column has
   to be sized on the header row's leading cell — a width on th[scope=row] is ignored and the
   band labels wrap to three lines. A percentage inside clamp() is also ignored here: the
   fixed-layout column pass resolves it against an indefinite width and drops the whole
   declaration, which is why 25% silently became an equal 1/13 share. Absolute only. */
.vm7-ky thead td:first-child{width:210px}
@media(max-width:880px){.vm7-ky thead td:first-child{width:150px}}
.vm7-ky th[scope=row]{text-align:left;font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:14.5px;line-height:1.2;color:var(--ink);padding:10px 20px 10px 0;border-bottom:1px solid var(--rule-sand);width:clamp(150px,26%,250px);vertical-align:middle}
.vm7-ky th[scope=row] span{display:block;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;line-height:1.4;color:var(--ink-muted);margin-top:4px}
.vm7-ky td{padding:0;border-bottom:1px solid var(--rule-sand);vertical-align:middle}
.vm7-ky__c{display:block;height:clamp(22px,2.4vw,30px);margin:4px 2px;border-radius:2px;background:var(--ground-cool-deep)}
.vm7-ky__c[data-l="1"]{background:var(--accent-warm-light)}
.vm7-ky__c[data-l="2"]{background:var(--accent-warm)}
.vm7-ky__c[data-l="3"]{background:var(--accent)}
.vm7-ky tr.vm7-ky__cad th[scope=row]{border-bottom:none}
.vm7-ky tr.vm7-ky__cad td{border-bottom:none;text-align:center}
.vm7-ky__v{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;color:var(--ink);padding:9px 0 0}
/* The response channel is the OTHER family. Threat is warm; what Vellamore does about it is
   cool — the design system's settled colour. Two hues, one meaning each. */
.vm7-ky__cad th[scope=row]{color:var(--teal-footer-deep)}
.vm7-ky__cad th[scope=row] span{color:var(--teal-footer-deep)}
.vm7-ky__v{display:inline-flex;align-items:center;justify-content:center;padding:9px 0 0}
.vm7-ky__v i{display:block;width:11px;height:11px;border-radius:50%;background:var(--teal-footer-deep)}
.vm7-ky__v--off i{width:7px;height:7px;background:transparent;border:1px solid var(--slate-blue-400)}
.vm7-ky__key{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin:16px 0 0;font-family:var(--font-body);font-size:13px;color:var(--ink-muted)}
.vm7-ky__notes{list-style:none;margin:clamp(18px,2vw,26px) 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--rule-sand)}
@media(min-width:820px){.vm7-ky__notes{grid-template-columns:repeat(2,1fr);column-gap:clamp(28px,4vw,56px)}}
.vm7-ky__notes li{padding:13px 0;border-bottom:1px solid var(--rule-sand-50);font-family:var(--font-body);font-size:14.5px;line-height:1.65;color:var(--ink);max-width:48ch}
.vm7-ky__notes b{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;color:var(--ink)}
.vm7-ky__key i{display:inline-block;width:22px;height:9px;border-radius:2px;margin-right:7px;vertical-align:-1px}
@media(max-width:700px){
  /* Reauthored for the phone rather than shrunk: the month header is dropped, the band label
     spans its own line, and the twelve cells form one strip beneath it.
     A grid container BLOCKIFIES its children, so an inline-block td with a percentage width
     is discarded and the cells stack — the row itself must carry the twelve tracks. */
  .vm7-ky,.vm7-ky tbody,.vm7-ky tr,.vm7-ky th,.vm7-ky td{display:block}
  .vm7-ky thead{display:none}
  .vm7-ky tr{display:grid;grid-template-columns:repeat(12,1fr);gap:8px 1px;padding:14px 0;border-bottom:1px solid var(--rule-sand)}
  .vm7-ky th[scope=row]{grid-column:1/-1;display:block;width:auto;padding:0;border:none;font-size:15px}
  .vm7-ky td{display:block;width:auto;border-bottom:none}
  .vm7-ky__c{margin:0 1px 6px;height:30px}
  .vm7-ky__c::after{content:attr(data-m);display:block;text-align:center;font-family:var(--font-mono);font-size:9.5px;color:var(--ink-muted);padding-top:32px}
  .vm7-ky tr.vm7-ky__cad td{text-align:center}
  .vm7-ky__v{padding:0}
}

/* The four verbs, compressed to a band rather than a fifth numbered grid. */
.vm7-band{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule-sand);border:1px solid var(--rule-sand);margin:clamp(24px,2.8vw,38px) 0 0}
@media(min-width:820px){.vm7-band{grid-template-columns:repeat(4,1fr)}}
.vm7-band div{background:var(--white);padding:clamp(16px,1.8vw,22px)}
.vm7-band b{display:block;font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-16),1.8vw,var(--step-20));color:var(--ink);margin:6px 0 5px}
.vm7-band p{font-family:var(--font-body);font-size:13.5px;line-height:1.6;color:var(--ink-muted);margin:0}
.vm7-g200 .vm7-band div{background:var(--ivory-100)}

/* ── REGISTER 2 · the note, at scale ─────────────────────────────────────────────
   The review's finding was that the site's designated proof object was rendered at about
   60% of the scale its job deserves. It is now the widest element on the homepage, with the
   annotation column beside it on desktop and beneath it on phones. */
.vm7-note2{display:grid;grid-template-columns:1fr;gap:clamp(20px,2.4vw,40px);align-items:start;margin:clamp(28px,3.2vw,48px) 0 0}
@media(min-width:1060px){.vm7-note2{grid-template-columns:minmax(0,1.62fr) minmax(0,1fr)}}
.vm7-note2__sheet{background:var(--white);border:1px solid var(--rule-sand);border-top:3px solid var(--umber-panel);padding:clamp(24px,3vw,44px);box-shadow:0 1px 0 var(--rule-sand),0 28px 60px -34px rgba(41,38,34,.5)}
.vm7-note2__brand{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:22px;border-bottom:1px solid var(--rule-sand)}
.vm7-note2__brand img{height:24px;width:auto;display:block}
.vm7-note2__brand .vm-mono{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}
.vm7-note2__hd{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-20),2.2vw,var(--step-25));line-height:1.15;color:var(--ink);margin:0}
.vm7-note2__dt{font-family:var(--font-mono);font-size:12px;color:var(--ink-muted);margin:7px 0 0}
.vm7-note2__ln{font-family:var(--font-body);font-size:clamp(15px,1.5vw,16.5px);line-height:1.75;color:var(--ink);margin:0 0 14px;max-width:62ch}
.vm7-note2__ln em{font-style:normal;background:var(--wash-accent-07);box-shadow:0 0 0 3px var(--wash-accent-07)}
.vm7-note2 .vm7-ev__ticks{margin-top:20px}
.vm7-note2__sig{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:baseline;margin-top:22px;padding-top:14px;border-top:1px solid var(--rule-sand);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}
.vm7-margin{display:flex;flex-direction:column;gap:0}
.vm7-margin li{list-style:none;padding:15px 0 15px 18px;border-left:2px solid var(--slate-blue-400);border-bottom:1px solid var(--rule-sand-50)}
.vm7-margin li:last-child{border-bottom:none}
.vm7-margin b{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--slate-blue-700);margin-bottom:6px}
.vm7-margin p{font-family:var(--font-body);font-size:14px;line-height:1.66;color:var(--slate-blue-800);margin:0;max-width:44ch}
@media(max-width:600px){.vm7-margin b{font-size:12px}}

/* The escalation sequence, drawn once. The approval gate is the point of the graphic. */
.vm7-esc{list-style:none;margin:clamp(26px,3vw,42px) 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:0;border-top:1.6px solid var(--rule-sand)}
@media(min-width:680px){.vm7-esc{grid-template-columns:repeat(4,1fr);border-top:none}}
.vm7-esc li{position:relative;padding:16px 0 16px 0;border-bottom:1px solid var(--rule-sand);display:flex;flex-direction:column;gap:5px}
@media(min-width:680px){
  .vm7-esc li{border-bottom:none;border-top:1.6px solid var(--rule-sand);padding:16px clamp(14px,1.6vw,22px) 20px 0}
  .vm7-esc li[data-gate]{border-top-color:var(--accent)}
}
.vm7-esc .vm-mono{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-muted)}
.vm7-esc b{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-16),1.7vw,var(--step-20));line-height:1.2;color:var(--ink)}
.vm7-esc p{font-family:var(--font-body);font-size:13.5px;line-height:1.6;color:var(--ink-muted);margin:0;max-width:34ch}
.vm7-esc li[data-gate] b{color:var(--accent)}
.vm7-esc li[data-gate] .vm-mono{color:var(--accent)}
.vm7-esc__who{display:flex;flex-wrap:wrap;gap:10px 28px;margin:clamp(18px,2vw,26px) 0 0;padding-top:16px;border-top:1.6px solid var(--rule-sand)}
.vm7-esc__who p{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--ink);margin:0;max-width:40ch}
.vm7-esc__who b{font-family:var(--font-mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:4px}
@media(max-width:600px){.vm7-esc .vm-mono,.vm7-esc__who b{font-size:12px}}

/* ── REGISTER 1 · the people screen ──────────────────────────────────────────────
   Rebuilt. The first cut rendered the two people two entirely different ways — a 400px
   typographic plate in one column against a 156px thumbnail nested inside the other — with
   three rules at three widths and the ownership line dangling. One card shape, used twice,
   in the same order of elements: portrait, name, role, voice, responsibility. Hierarchy
   comes from sequence and from which voice is set at display size, not from one person being
   rendered as a footnote to the other.
   Deliberately capped: a pair of 4:5 portraits at the full prose measure becomes 500px tall
   each and swallows the screen. */
.vm7-ppl{display:grid;grid-template-columns:1fr;gap:clamp(26px,3.2vw,52px);align-items:start;margin:clamp(28px,3.2vw,48px) 0 0;max-width:780px}
@media(min-width:720px){.vm7-ppl{grid-template-columns:1fr 1fr}}
.vm7-ppl__card{display:flex;flex-direction:column;gap:0;min-width:0}
.vm7-ppl__card>img,.vm7-ppl__card>.vm7-mono-portrait{width:100%;height:auto;aspect-ratio:4/5;background:var(--ivory-300);margin:0}
.vm7-ppl__card>img{object-fit:cover;object-position:50% 22%;display:block}
.vm7-ppl__name{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-25),2.6vw,var(--step-31));line-height:1.12;color:var(--ink);margin:18px 0 0}
.vm7-ppl__role{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin:7px 0 0}
.vm7-ppl__say{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-20),2.1vw,var(--step-25));line-height:1.36;color:var(--ink);margin:16px 0 0;padding-top:16px;border-top:1px solid var(--rule-sand);text-wrap:pretty}
.vm7-ppl__line{font-family:var(--font-body);font-size:14.5px;line-height:1.68;color:var(--ink-muted);margin:12px 0 0}
.vm7-ppl__own{grid-column:1/-1;margin:clamp(8px,1.4vw,18px) 0 0;padding-top:18px;border-top:1.6px solid var(--rule-sand);display:grid;gap:10px;max-width:72ch}
.vm7-ppl__own p{font-family:var(--font-body);font-size:14.5px;line-height:1.7;color:var(--ink-muted);margin:0}
@media(max-width:600px){.vm7-ppl__role{font-size:12px}}

/* ── Who We Are · the two-voice masthead ────────────────────────────────────────
   The page carrying the whole human story was opening with two stacked centred type bands —
   no image, no hierarchy, and the relatability and credibility claims nowhere in sight. It
   now opens with the argument and the operating leader side by side: asymmetric, left-aligned,
   her portrait at 4:5 with her prior record stated as prior directly beneath it. */
/* .vm-wrap carries the max-width only — the horizontal gutter comes from .vm-section, which
   this masthead deliberately is not. It has to supply its own. */
.vm7-mast{padding:clamp(40px,5vw,84px) clamp(20px,5vw,72px) clamp(34px,4vw,64px);background:var(--white)}
.vm7-mast__grid{display:grid;grid-template-columns:1fr;gap:clamp(28px,3.4vw,60px);align-items:start}
@media(min-width:900px){.vm7-mast__grid{grid-template-columns:minmax(0,1.32fr) minmax(0,.68fr)}}
.vm7-mast__h{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-31),4.4vw,var(--step-49));line-height:1.08;color:var(--ink);margin:18px 0 20px;max-width:26ch;text-wrap:pretty}
.vm7-mast__h span{display:block}
.vm7-mast__h em{font-style:normal;color:var(--accent)}
.vm7-mast__copy .vm-lede{max-width:56ch}
.vm7-mast__copy .vm-body{margin-top:14px}
.vm7-mast__figure{display:flex;flex-direction:column;gap:0;max-width:340px}
@media(min-width:900px){.vm7-mast__figure{justify-self:end;max-width:none}}
.vm7-mast__figure>.vm7-mono-portrait,.vm7-mast__figure>img{width:100%;height:auto;aspect-ratio:4/5;margin:0;background:var(--ivory-300)}
.vm7-mast__figure>img{object-fit:cover;object-position:50% 22%;display:block}
/* The prior record. Its own labelled strip so nothing reads as a current client relationship
   or a former employer's endorsement — the label does that work, not a disclaimer. */
.vm7-prior{margin:0;border-top:1.6px solid var(--rule-sand);display:grid;gap:0}
.vm7-prior>div{padding:13px 0;border-bottom:1px solid var(--rule-sand-50)}
.vm7-prior>div:last-child{border-bottom:none}
.vm7-prior dt{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-muted)}
.vm7-prior dd{margin:5px 0 0;font-family:var(--font-body);font-size:14px;line-height:1.55;color:var(--ink)}
.vm7-prior dd span{display:block;font-size:13px;color:var(--ink-muted);margin-top:2px}
.vm7-prior dd:has(span){font-family:var(--font-sans);font-stretch:expanded;font-size:clamp(var(--step-16),1.8vw,var(--step-20))}
@media(max-width:600px){.vm7-prior dt{font-size:12px}}

/* The pair, stated plainly: one column for why it exists, one for how it runs. */
.vm7-two__grid{display:grid;grid-template-columns:1fr;gap:clamp(28px,3.4vw,56px);align-items:start}
@media(min-width:820px){.vm7-two__grid{grid-template-columns:1fr 1fr}}
.vm7-two__grid>div{border-top:1.6px solid var(--rule-sand);padding-top:18px}
.vm7-two__grid .vm-mono{font-family:var(--font-mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);display:block}
.vm7-two__say{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-25),2.8vw,var(--step-31));line-height:1.2;color:var(--ink);margin:12px 0 14px;max-width:26ch;text-wrap:pretty}
.vm7-two__grid .vm-body{max-width:46ch;margin:0}
.vm7-two__who{font-family:var(--font-mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);margin:16px 0 0;padding-top:12px;border-top:1px solid var(--rule-sand-50)}
@media(max-width:600px){.vm7-two__grid .vm-mono,.vm7-two__who{font-size:12px}}

/* A note from Taryn. One editorial column, her voice at reading size, not a CEO letter. */
.vm7-tnote{display:grid;grid-template-columns:1fr;gap:clamp(24px,3vw,52px);align-items:start}
@media(min-width:900px){.vm7-tnote{grid-template-columns:minmax(0,.34fr) minmax(0,.66fr)}}
.vm7-tnote__k .vm-mono{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--accent)}
.vm7-tnote__k h2{margin:12px 0 0}
.vm7-tnote__k p{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--ink-muted);margin:14px 0 0;max-width:30ch}
.vm7-tnote__body p{font-family:var(--font-body);font-size:16px;line-height:1.78;color:var(--ink);margin:0 0 18px;max-width:62ch;text-wrap:pretty}
.vm7-tnote__body p.lead{font-family:var(--font-display);font-size:clamp(var(--step-20),2.2vw,var(--step-25));line-height:1.42;color:var(--ink)}
.vm7-tnote__sign{margin:6px 0 0;padding-top:14px;border-top:1.6px solid var(--rule-sand);font-family:var(--font-mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);max-width:62ch}
@media(max-width:600px){.vm7-tnote__sign,.vm7-tnote__k .vm-mono{font-size:12px}}

/* ════════════════════════════════════════════════════════════════════════════════
   VISUAL INTELLIGENCE · four instruments
   Same family as the Kiawah Year and the note annotations: hairline rules, mono ordinals,
   one warm ramp for "getting worse" and one cool step for "contained". No icons, no chart
   library, no gradient, no dashboard. Every one is a real table or list, so a screen reader
   reads the relationship rather than a picture of it, and no cell relies on colour alone.
   ════════════════════════════════════════════════════════════════════════════════ */

/* 01 · THE COST OF NOT KNOWING — detection delay. The thesis: a house does not become
   lower-risk when the owner leaves, it becomes lower-observation. Qualitative only; there
   are no probabilities, costs or rates anywhere in it. */
.vm7-delay{width:100%;border-collapse:collapse;margin:clamp(26px,3vw,44px) 0 0;table-layout:fixed}
.vm7-delay caption{caption-side:top;text-align:left;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);padding:0 0 14px}
.vm7-delay th[scope=col]{text-align:left;font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:13.5px;line-height:1.3;color:var(--ink);padding:0 14px 10px 0;border-bottom:1.6px solid var(--rule-sand);vertical-align:bottom}
.vm7-delay th[scope=col] span{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:4px}
.vm7-delay thead td:first-child{width:24%}
.vm7-delay th[scope=row]{text-align:left;font-family:var(--font-body);font-weight:600;font-size:14px;line-height:1.4;color:var(--ink);padding:14px 16px 14px 0;border-bottom:1px solid var(--rule-sand);vertical-align:top}
.vm7-delay td{padding:14px 14px 14px 0;border-bottom:1px solid var(--rule-sand);vertical-align:top}
.vm7-delay .c{display:block;font-family:var(--font-body);font-size:13.5px;line-height:1.5;color:var(--ink)}
.vm7-delay .c b{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;margin-bottom:5px;font-weight:400}
.vm7-delay td[data-s="held"]{background:var(--ground-cool-deep)}
.vm7-delay td[data-s="held"] .c b{color:var(--teal-footer-deep)}
.vm7-delay td[data-s="rising"]{background:color-mix(in oklch,var(--accent-warm-light) 55%,transparent)}
.vm7-delay td[data-s="rising"] .c b{color:var(--accent-hover)}
.vm7-delay td[data-s="compounded"]{background:color-mix(in oklch,var(--accent-warm) 70%,transparent)}
.vm7-delay td[data-s="compounded"] .c b{color:var(--accent-deepest)}
.vm7-delay td>span{display:block;padding:0 12px 0 0}
.vm7-delay td[data-s]{padding-inline:12px}
@media(max-width:820px){
  /* Reauthored, not shrunk: one condition per block, three states stacked in order. */
  .vm7-delay,.vm7-delay tbody,.vm7-delay tr,.vm7-delay th,.vm7-delay td{display:block}
  .vm7-delay thead{display:none}
  .vm7-delay tr{border-bottom:1.6px solid var(--rule-sand);padding:16px 0}
  .vm7-delay th[scope=row]{padding:0 0 10px;border-bottom:none;font-size:16px}
  .vm7-delay td{border-bottom:none;padding:10px 12px;margin-bottom:6px}
  .vm7-delay td::before{content:attr(data-when);display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:6px}
}

/* 02 · THE 25-POINT STANDARD, as an operating sheet header. Counts are the canonical
   8 inside / 11 outside / 6 mechanical. */
.vm7-sheet25{margin:clamp(26px,3vw,44px) 0 0;border:1px solid var(--rule-sand);border-top:3px solid var(--umber-panel);background:var(--white)}
.vm7-sheet25__hd{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:baseline;justify-content:space-between;padding:clamp(16px,2vw,22px) clamp(18px,2.2vw,26px);border-bottom:1px solid var(--rule-sand)}
.vm7-sheet25__hd b{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-16),1.8vw,var(--step-20));color:var(--ink)}
.vm7-sheet25__hd span{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}
.vm7-sheet25__hd a{display:inline-flex;align-items:center;min-height:44px}
.vm7-sheet25__cols{display:grid;grid-template-columns:1fr;gap:1px;background:var(--rule-sand)}
@media(min-width:760px){.vm7-sheet25__cols{grid-template-columns:repeat(3,1fr)}}
.vm7-sheet25__col{background:var(--white);padding:clamp(16px,2vw,24px)}
.vm7-sheet25__col dt{font-family:var(--font-mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--accent)}
.vm7-sheet25__n{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-31),3.6vw,var(--step-39));line-height:1;color:var(--ink);margin:8px 0 0;font-variant-numeric:tabular-nums}
.vm7-sheet25__col p{font-family:var(--font-body);font-size:13.5px;line-height:1.6;color:var(--ink-muted);margin:10px 0 0;max-width:34ch}
.vm7-sheet25__ft{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--rule-sand)}
@media(min-width:760px){.vm7-sheet25__ft{grid-template-columns:repeat(4,1fr)}}
.vm7-sheet25__ft div{padding:14px clamp(18px,2.2vw,26px);border-bottom:1px solid var(--rule-sand-50)}
@media(min-width:760px){.vm7-sheet25__ft div{border-bottom:none;border-right:1px solid var(--rule-sand-50)}.vm7-sheet25__ft div:last-child{border-right:none}}
.vm7-sheet25__ft b{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:5px}
.vm7-sheet25__ft p{font-family:var(--font-body);font-size:13.5px;line-height:1.55;color:var(--ink);margin:0}
@media(max-width:600px){.vm7-sheet25__hd span,.vm7-sheet25__col dt,.vm7-sheet25__ft b{font-size:12px}}

/* 03 · WHO IS RESPONSIBLE FOR WHAT. The marks are never the only channel: every cell carries
   a title and a visually-hidden word, and the legend spells all three out. */
.vm7-resp{width:100%;border-collapse:collapse;margin:clamp(26px,3vw,44px) 0 0}
.vm7-resp caption{caption-side:top;text-align:left;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);padding:0 0 14px}
.vm7-resp th[scope=col]{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:400;text-align:center;padding:0 8px 10px;border-bottom:1.6px solid var(--rule-sand);width:16%}
.vm7-resp thead td{border-bottom:1.6px solid var(--rule-sand)}
.vm7-resp th[scope=row]{text-align:left;font-family:var(--font-body);font-size:14.5px;line-height:1.45;color:var(--ink);font-weight:400;padding:12px 16px 12px 0;border-bottom:1px solid var(--rule-sand-50)}
.vm7-resp td{text-align:center;padding:12px 8px;border-bottom:1px solid var(--rule-sand-50);font-family:var(--font-mono);font-size:15px;color:var(--ink-muted)}
.vm7-resp td[data-r="owns"]{color:var(--accent);font-size:17px}
.vm7-resp td[data-r="part"]{color:var(--teal-footer-deep)}
.vm7-resp__key{display:flex;flex-wrap:wrap;gap:8px 24px;margin:16px 0 0;font-family:var(--font-body);font-size:13px;color:var(--ink-muted)}
.vm7-resp__key i{font-family:var(--font-mono);font-style:normal;margin-right:7px}
.vm7-resp__key i.o{color:var(--accent)}.vm7-resp__key i.p{color:var(--teal-footer-deep)}
.vm7-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:700px){
  .vm7-resp th[scope=col]{font-size:12px;letter-spacing:0;padding-inline:2px;width:17%;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;padding-block:8px}
  .vm7-resp th[scope=row]{font-size:13.5px;padding-right:8px}
  .vm7-resp td{padding-inline:2px}
}

/* 04 · THE WORKED MONTH, as a ledger rather than a list. Two accounts, one zero line. */
.vm7-led{margin:clamp(26px,3vw,44px) 0 0;border-top:1.6px solid var(--rule-sand);border-bottom:1.6px solid var(--rule-sand);max-width:820px}
.vm7-led__r{display:grid;grid-template-columns:1fr auto;gap:12px 20px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--rule-sand-50)}
.vm7-led__r:last-child{border-bottom:none}
.vm7-led__r b{font-family:var(--font-body);font-weight:400;font-size:15px;line-height:1.5;color:var(--ink)}
.vm7-led__r b span{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:4px}
.vm7-led__v{font-family:var(--font-sans);font-stretch:expanded;font-size:clamp(var(--step-16),1.9vw,var(--step-25));color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:0}
@media(max-width:560px){.vm7-led__r{grid-template-columns:1fr}.vm7-led__v{white-space:normal;font-size:var(--step-20)}}
.vm7-led__r[data-zero] .vm7-led__v{color:var(--teal-footer-deep)}
.vm7-led__r[data-zero]{background:var(--status-well-wash);padding-inline:14px;margin-inline:-14px}
.vm7-led__r[data-total]{border-top:1.6px solid var(--rule-sand);border-bottom:none}
.vm7-led__r[data-total] b{font-weight:600}
@media(max-width:600px){.vm7-led__r b span{font-size:12px}}

/* ── THE STANDARD · the full twenty-five as a field document ─────────────────────
   Generated from the canonical care standard (v1.2.2), never hand-maintained. Reads as a
   sheet somebody actually carries: a stamped header, grouped requirements with stable IDs,
   a check box per line, and a provenance line at the foot. Prints cleanly. */
.vm7-st{max-width:calc(1000px + 2 * clamp(20px,5vw,72px));margin:0 auto;padding:clamp(28px,4vw,60px) clamp(20px,5vw,72px) clamp(40px,5vw,80px)}
.vm7-st__sheet{background:var(--white);border:1px solid var(--rule-sand);border-top:3px solid var(--umber-panel);padding:clamp(24px,3.4vw,52px);box-shadow:0 1px 0 var(--rule-sand),0 28px 60px -40px rgba(41,38,34,.4)}
.vm7-st__hd{display:grid;grid-template-columns:1fr;gap:clamp(18px,2.4vw,28px);padding-bottom:clamp(20px,2.4vw,28px);border-bottom:1.6px solid var(--rule-sand)}
@media(min-width:860px){.vm7-st__hd{grid-template-columns:1fr auto;align-items:end}}
.vm7-st__brand img{height:26px;width:auto;display:block;margin-bottom:18px}
@media(min-width:860px){.vm7-st__brand{grid-column:1/-1}.vm7-st__brand img{margin-bottom:0}}
.vm7-st__ttl h1{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,3.8vw,44px);line-height:1.08;color:var(--ink);margin:0}
.vm7-st__ttl p{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--ink-muted);margin:10px 0 0;max-width:46ch}
.vm7-st__stamp{display:grid;grid-template-columns:repeat(4,auto);gap:0 clamp(18px,2.4vw,30px);margin:0}
.vm7-st__stamp dt{font-family:var(--font-mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-muted)}
.vm7-st__stamp dd{margin:4px 0 0;font-family:var(--font-sans);font-stretch:expanded;font-size:clamp(22px,2.6vw,31px);line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.vm7-st__stamp div:last-child dd{color:var(--accent)}
.vm7-st__intro{font-family:var(--font-body);font-size:15.5px;line-height:1.75;color:var(--ink);margin:clamp(20px,2.4vw,30px) 0 0;max-width:68ch;text-wrap:pretty}
.vm7-st__legend{display:grid;grid-template-columns:1fr;gap:0;margin:clamp(20px,2.4vw,30px) 0 0;border:1px solid var(--rule-sand);background:var(--ivory-100)}
@media(min-width:760px){.vm7-st__legend{grid-template-columns:repeat(4,minmax(0,1fr))}}
.vm7-st__legend div{padding:14px 16px;border-bottom:1px solid var(--rule-sand-50)}
@media(min-width:760px){.vm7-st__legend div{border-bottom:none;border-right:1px solid var(--rule-sand-50)}.vm7-st__legend div:last-child{border-right:none}}
.vm7-st__legend b{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);margin-bottom:5px}
.vm7-st__legend p{font-family:var(--font-body);font-size:13px;line-height:1.55;color:var(--ink-muted);margin:0}
.vm7-st__grp{margin-top:clamp(28px,3.4vw,48px)}
.vm7-st__grp header{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;justify-content:space-between;padding-bottom:10px;border-bottom:1.6px solid var(--rule-sand)}
.vm7-st__grp h2{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-20),2.2vw,var(--step-25));color:var(--ink);margin:0}
.vm7-st__grp header .vm-mono{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}
.vm7-st__blurb{font-family:var(--font-body);font-size:14px;line-height:1.65;color:var(--ink-muted);margin:12px 0 0;max-width:62ch}
.vm7-st__list{list-style:none;margin:14px 0 0;padding:0}
.vm7-st__list li{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;padding:13px 0;border-bottom:1px solid var(--rule-sand-50)}
.vm7-st__list li:last-child{border-bottom:none}
.vm7-st__id{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:var(--accent);padding-top:4px;white-space:nowrap}
.vm7-st__req{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--ink);margin:0;max-width:62ch}
.vm7-st__meta{margin:7px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.vm7-st__tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--rule-sand)}
.vm7-st__tag[data-t="reading"]{color:var(--teal-footer-deep);border-color:var(--slate-blue-300)}
.vm7-st__tag[data-t="needs"]{color:var(--ink-muted)}
.vm7-st__box{width:18px;height:18px;border:1px solid var(--border-field);display:block;margin-top:3px;flex:none}
.vm7-st__ft{margin-top:clamp(28px,3.4vw,44px);padding-top:clamp(18px,2.2vw,26px);border-top:1.6px solid var(--rule-sand)}
.vm7-st__ft p{font-family:var(--font-body);font-size:13.5px;line-height:1.7;color:var(--ink-muted);margin:0 0 10px;max-width:70ch}
.vm7-st__ft b{color:var(--ink)}
.vm7-st__prov{font-family:var(--font-mono)!important;font-size:10.5px!important;letter-spacing:.06em;color:var(--slate-blue-700)!important}
@media(max-width:600px){
  .vm7-st__stamp{grid-template-columns:repeat(2,1fr);gap:14px 18px}
  .vm7-st__id{font-size:12px}
  .vm7-st__legend b,.vm7-st__grp header .vm-mono{font-size:12px}
  .vm7-st__stamp dt{font-size:12px}
  .vm7-st__tag{font-size:11.5px}
  .vm7-st__prov{font-size:11.5px!important}
  .vm7-st__list li{grid-template-columns:auto 1fr;gap:10px}
  .vm7-st__box{display:none}
}
@media print{
  .vm7-hdr,.vm7-ftr,.vm7-callbar,.vm7-st .btnrow{display:none}
  body{background:#fff}
  .vm7-st{padding:0;max-width:none}
  .vm7-st__sheet{border:none;box-shadow:none;padding:0}
  .vm7-st__grp{break-inside:avoid}
  .vm7-st__list li{break-inside:avoid}
}

/* §09 · the open-item rail. The no-copy test failed on "Vellamore follows through" because
   closure read as one step among eight. The sequence now carries a state per step and the
   rail beneath names all five in order, so the eye sees that an item is OPEN until something
   closes it. */
.vm7-esc li[data-state="open"] .vm-mono{color:var(--accent)}
.vm7-esc li[data-state="prog"] .vm-mono{color:var(--accent-warm)}
.vm7-esc li[data-state="closed"] .vm-mono,.vm7-esc li[data-state="kept"] .vm-mono{color:var(--teal-footer-deep)}
.vm7-esc__rail{display:flex;flex-wrap:wrap;gap:0;margin:clamp(18px,2vw,26px) 0 0;padding:0;border:1px solid var(--rule-sand);overflow:hidden}
.vm7-esc__rail span{flex:1 1 auto;min-width:96px;padding:11px 12px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;text-align:center;border-right:1px solid var(--rule-sand)}
.vm7-esc__rail span:last-child{border-right:none}
.vm7-esc__rail span[data-r="open"]{background:color-mix(in oklch,var(--accent-warm) 62%,transparent);color:var(--accent-deepest)}
.vm7-esc__rail span[data-r="auth"]{background:color-mix(in oklch,var(--accent-warm-light) 60%,transparent);color:var(--accent-hover)}
.vm7-esc__rail span[data-r="prog"]{background:color-mix(in oklch,var(--accent-warm-light) 34%,transparent);color:var(--accent-hover)}
.vm7-esc__rail span[data-r="closed"]{background:var(--status-well-wash);color:var(--teal-footer-deep)}
.vm7-esc__rail span[data-r="kept"]{background:var(--ground-cool);color:var(--slate-blue-800)}
@media(max-width:600px){.vm7-esc__rail span{font-size:11px;min-width:84px;padding:10px 6px}}

/* §08 · the opportunity reading of detection delay. A short documentary progression, not a
   second grid — the matrix shows what delay costs, this shows what early knowing buys. */
.vm7-early{margin:clamp(26px,3vw,40px) 0 0;padding:clamp(20px,2.4vw,28px) 0;border-top:1.6px solid var(--rule-sand);border-bottom:1.6px solid var(--rule-sand)}
.vm7-early>.vm-mono{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--teal-footer-deep);margin-bottom:16px}
.vm7-early ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:620px){.vm7-early ol{grid-template-columns:repeat(3,1fr);column-gap:clamp(18px,2.2vw,32px)}}
@media(min-width:1000px){.vm7-early ol{grid-template-columns:repeat(6,1fr);column-gap:clamp(12px,1.4vw,20px)}}
.vm7-early li{counter-increment:none;padding:12px 0;border-top:1px solid var(--rule-sand-50);display:flex;flex-direction:column;gap:3px}
.vm7-early b{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:14.5px;line-height:1.2;color:var(--ink)}
.vm7-early li:last-child b{color:var(--teal-footer-deep)}
.vm7-early span{font-family:var(--font-body);font-size:13px;line-height:1.5;color:var(--ink-muted)}
.vm7-early>p{font-family:var(--font-body);font-size:14.5px;line-height:1.7;color:var(--ink);margin:16px 0 0;max-width:64ch}

/* §11 · the commitment gradient. Three doors that are visibly not the same size of ask:
   a filling meter and a cost-of-entry line under each. */
.vm7-doors[data-gradient] a{position:relative;gap:6px}
.vm7-doors__m{display:block;height:4px;background:var(--ivory-a22);margin-top:auto;position:relative}
.vm7-doors__m::after{content:"";position:absolute;left:0;top:0;bottom:0;background:var(--accent-warm)}
.vm7-doors a[data-step="1"] .vm7-doors__m::after{width:18%}
.vm7-doors a[data-step="2"] .vm7-doors__m::after{width:52%}
.vm7-doors a[data-step="3"] .vm7-doors__m::after{width:100%}
.vm7-doors__c{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ivory-300);padding-top:8px}
@media(max-width:600px){.vm7-doors__c{font-size:11.5px}}

/* ── PAGE MASTHEAD · the shared opening ─────────────────────────────────────────
   Four pages opened with a single left column of type and an empty right half — the same
   defect in four places. Every page opening now puts copy on the left and the page's own
   subject on the right: an artifact, a photograph, or the key to how the page is organised.
   One opening per page, never two stacked headers. */
.vm7-hiw{display:grid;grid-template-columns:1fr;gap:clamp(24px,3vw,52px);align-items:center}
@media(min-width:900px){.vm7-hiw{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}}
.vm7-hiw__copy{max-width:54ch}
.vm7-hiw__fig{margin:0;justify-self:end;width:100%}
.vm7-hiw__fig img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--ivory-300)}
.vm7-hiw__fig figcaption{font-family:var(--font-body);font-size:13.5px;line-height:1.6;color:var(--ink-muted);margin-top:11px;max-width:40ch}
/* the on-page index: a long page should say what is on it before asking you to scroll */
.vm7-hiw__jump{display:flex;flex-wrap:wrap;gap:0 4px;align-items:baseline;margin:clamp(24px,2.8vw,38px) 0 0;padding-top:16px;border-top:1px solid var(--rule-sand);font-family:var(--font-mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-muted)}
.vm7-hiw__jump a{font-family:var(--font-sans);font-stretch:expanded;font-size:13.5px;letter-spacing:0;text-transform:none;color:var(--accent);text-decoration:none;padding:8px 12px;min-height:44px;display:inline-flex;align-items:center}
.vm7-hiw__jump a:hover{color:var(--accent-hover);text-decoration:underline}
@media(max-width:600px){.vm7-hiw__jump{font-size:12px}}

/* The five verbs, as the key to the toolkit rather than a footnote under it. */
.vm7-verbs{margin:0;border-top:1.6px solid var(--rule-sand);display:grid;gap:0}
.vm7-verbs>div{display:grid;grid-template-columns:92px 1fr;gap:16px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--rule-sand-50)}
.vm7-verbs>div:last-child{border-bottom:none}
.vm7-verbs dt{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid var(--rule-sand);padding:4px 0;white-space:nowrap;text-align:center}
.vm7-verbs dd{margin:0;font-family:var(--font-body);font-size:14px;line-height:1.55;color:var(--ink)}
@media(max-width:600px){.vm7-verbs dt{font-size:12px}}

/* Two doors plus a third. The review found one high-commitment form and a telephone; this is
   the middle door, presented at equal weight rather than as a footnote. */
.vm7-doors{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;background:var(--ivory-a32);border:1px solid var(--ivory-a32);margin:clamp(26px,3vw,40px) auto 0;width:100%;max-width:900px;box-sizing:border-box;text-align:left}
@media(min-width:760px){.vm7-doors{grid-template-columns:repeat(3,minmax(0,1fr))}}
.vm7-doors a{background:transparent;padding:clamp(16px,2.2vw,28px);text-decoration:none;display:flex;flex-direction:column;gap:7px;min-width:0}
.vm7-doors a:hover{background:rgba(255,255,255,.05)}
.vm7-doors .vm-mono{font-family:var(--font-mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--ivory-300)}
.vm7-doors b{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-16),1.9vw,var(--step-25));color:var(--ivory-100);line-height:1.15}
.vm7-doors p{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--ivory-200);margin:0;max-width:34ch}
@media(max-width:600px){.vm7-doors .vm-mono{font-size:12px}}
/* At 320 the door copy had an unbreakable run wider than the card's content box, which showed
   up as 20px of document overflow with no element box escaping — the hardest kind to see. */
@media(max-width:420px){
  .vm7-doors a{padding:14px}
  .vm7-doors b,.vm7-doors p,.vm7-doors .vm-mono,.vm7-doors__c{overflow-wrap:anywhere}
}
/* white-space:nowrap is inherited into this section from the v6 layer, which is correct for a
   centred one-line close and wrong for three cards of copy. Reset it at the component. */
.vm7-doors,.vm7-doors *{white-space:normal}
.vm7-doors b{text-wrap:balance}

/* §23 · progressive disclosure on the intake. One honest summary rather than a second page
   of questions the buyer has to scroll past to reach the button. */
.vm7-more{margin:0 0 24px;border-top:1.6px solid var(--rule-sand);border-bottom:1.6px solid var(--rule-sand)}
.vm7-more>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;justify-content:space-between;padding:18px 0;min-height:44px;font-family:var(--font-sans);font-stretch:expanded;font-size:15.5px;color:var(--ink)}
.vm7-more>summary::-webkit-details-marker{display:none}
.vm7-more>summary::after{content:"+";font-family:var(--font-mono);font-size:17px;color:var(--accent);line-height:1}
.vm7-more[open]>summary::after{content:"\2013"}
.vm7-more>summary span{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}
.vm7-more>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.vm7-more__in{padding:4px 0 8px}
@media(max-width:600px){.vm7-more>summary span{font-size:12px}}

/* ── THE STORM SEQUENCE ─────────────────────────────────────────────────────────
   A lifecycle, not a bullet. Nine states left to right on desktop, top to bottom on a phone,
   with the access-restricted window marked because it is the one stage where what Vellamore
   can do is decided by the island rather than by us. Every line here is a statement the site
   already makes; the stages whose detail depends on unsettled policy carry a neutral line and
   are listed in vellamore-storm-policy-decisions.html rather than promised here. */
.vm7-storm{list-style:none;margin:clamp(26px,3vw,44px) 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:0;border-top:1.6px solid var(--rule-sand)}
@media(min-width:900px){.vm7-storm{grid-template-columns:repeat(3,1fr);column-gap:clamp(20px,2.4vw,36px);border-top:none}}
.vm7-storm li{position:relative;padding:16px 0 18px;border-bottom:1px solid var(--rule-sand);display:flex;flex-direction:column;gap:5px}
@media(min-width:900px){.vm7-storm li{border-bottom:none;border-top:1.6px solid var(--rule-sand);padding-right:clamp(14px,1.6vw,24px)}}
.vm7-storm .vm-mono{font-family:var(--font-mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-muted)}
.vm7-storm b{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-16),1.8vw,var(--step-20));line-height:1.2;color:var(--ink)}
.vm7-storm p{font-family:var(--font-body);font-size:13.5px;line-height:1.6;color:var(--ink-muted);margin:0;max-width:40ch}
.vm7-storm li[data-phase="watch"]{border-top-color:var(--accent-warm-light)}
.vm7-storm li[data-phase="prep"]{border-top-color:var(--accent-warm)}
.vm7-storm li[data-phase="closed"]{border-top-color:var(--accent)}
.vm7-storm li[data-phase="closed"] .vm-mono,.vm7-storm li[data-phase="closed"] b{color:var(--accent-deepest)}
.vm7-storm li[data-phase="back"]{border-top-color:var(--slate-blue-400)}
.vm7-storm li[data-phase="settled"]{border-top-color:var(--teal-footer-deep)}
.vm7-storm li[data-phase="settled"] b{color:var(--teal-footer-deep)}
.vm7-storm__who{display:flex;flex-wrap:wrap;gap:12px 28px;margin:clamp(18px,2vw,26px) 0 0;padding-top:16px;border-top:1.6px solid var(--rule-sand)}
.vm7-storm__who p{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--ink);margin:0;max-width:38ch}
.vm7-storm__who b{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
@media(max-width:600px){.vm7-storm .vm-mono,.vm7-storm__who b{font-size:12px}}

/* ── HOMEOWNER GUIDES · instruments classified by what you would DO with them ────
   The route was seven article cards. Each asset now declares its verb, so the page reads as
   a toolkit rather than a blog index. */
.vm7-tools{display:grid;grid-template-columns:1fr;gap:1px;background:var(--rule-sand);border:1px solid var(--rule-sand);margin:clamp(26px,3vw,44px) 0 0}
@media(min-width:720px){.vm7-tools{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.vm7-tools{grid-template-columns:repeat(3,1fr)}}
.vm7-tool{background:var(--white);padding:clamp(20px,2.2vw,28px);display:flex;flex-direction:column;gap:9px;text-decoration:none}
.vm7-tool:hover{background:var(--ivory-100)}
.vm7-tool__v{display:inline-flex;align-items:center;align-self:flex-start;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border:1px solid var(--rule-sand);color:var(--accent)}
.vm7-tool__v[data-v="check"]{color:var(--accent);border-color:var(--accent)}
.vm7-tool__v[data-v="plan"]{color:var(--accent-hover);border-color:var(--accent-warm)}
.vm7-tool__v[data-v="compare"]{color:var(--slate-blue-800);border-color:var(--slate-blue-400)}
.vm7-tool__v[data-v="record"]{color:var(--teal-footer-deep);border-color:var(--slate-blue-300)}
.vm7-tool__v[data-v="find"]{color:var(--ink);border-color:var(--rule-sand)}
.vm7-tool h3{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-20),2.1vw,var(--step-25));line-height:1.18;color:var(--ink);margin:2px 0 0}
.vm7-tool p{font-family:var(--font-body);font-size:14px;line-height:1.62;color:var(--ink-muted);margin:0}
.vm7-tool__f{margin-top:auto;padding-top:12px;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;border-top:1px solid var(--rule-sand-50)}
.vm7-tool__go{font-family:var(--font-sans);font-stretch:expanded;font-size:14px;color:var(--accent)}
.vm7-tool__fmt{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}
a.vm7-tool:hover h3{color:var(--accent)}
.vm7-tool--soon{background:var(--ivory-100)}
.vm7-tool--soon h3,.vm7-tool--soon p{color:var(--ink-muted)}
.vm7-tools__key{display:flex;flex-wrap:wrap;gap:8px 22px;margin:16px 0 0;font-family:var(--font-body);font-size:13px;color:var(--ink-muted)}
.vm7-tools__key b{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:400;margin-right:6px}
@media(max-width:600px){.vm7-tool__v,.vm7-tool__fmt,.vm7-tools__key b{font-size:12px}}

/* The one human moment inside the check. Review-only until approved. */
.ehc__taryn{margin:clamp(24px,3vw,38px) 0 0;padding:clamp(20px,2.4vw,28px) 0 0;border-top:1.6px solid var(--rule-sand);max-width:60ch}
.ehc__taryn p{font-family:var(--font-display);font-weight:400;font-size:clamp(19px,2.3vw,26px);line-height:1.38;color:var(--ink);margin:0;text-wrap:pretty}
.ehc__taryn footer{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin-top:14px}
.ehc__taryn b{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:14.5px;color:var(--ink)}
.ehc__taryn span{font-family:var(--font-mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted)}

/* The homepage invitation. One placement only — Option B, after the Kiawah Year. */
.vm7-invite{display:grid;grid-template-columns:1fr;gap:clamp(20px,2.4vw,40px);align-items:center;margin:clamp(26px,3vw,42px) 0 0;background:var(--ground-cool);border:1px solid var(--rule-cool);padding:clamp(22px,2.6vw,34px)}
@media(min-width:860px){.vm7-invite{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}}
.vm7-invite>div>.vm-mono{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-footer-deep)}
.vm7-invite__h{font-family:var(--font-display);font-weight:400;font-size:clamp(21px,2.5vw,30px);line-height:1.2;color:var(--ink);margin:12px 0 0;max-width:34ch;text-wrap:pretty}
.vm7-invite__l{font-family:var(--font-body);font-size:14.5px;line-height:1.68;color:var(--ink-muted);margin:12px 0 0;max-width:56ch}
.vm7-invite__act{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
@media(min-width:860px){.vm7-invite__act{align-items:flex-end;text-align:right}}
.vm7-invite__m{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:0;line-height:1.7;max-width:26ch}
/* the lead instrument spans the toolkit's full width */
.vm7-tool--lead{border-left:3px solid var(--accent)}
@media(min-width:720px){.vm7-tool--lead{grid-column:1/-1}}
.vm7-tool--lead h3{font-size:clamp(23px,2.6vw,31px)}
.vm7-tool--lead p{font-size:15px;max-width:72ch}
@media(max-width:600px){.vm7-invite__m{font-size:11.5px}}

/* Review-only content never reaches a printed artifact, on any route. */
@media print{[data-review-temp]{display:none!important}}

/* ── MASTHEAD RIGHT COLUMN · give it a subject, not floating type ────────────────
   The pattern works on How It Works and Who We Are because the right column holds a
   photograph. On Fees and Guides it held an unanchored list, which is why both read flat and
   disconnected. Both now hold a bordered object on the cool documentary ground, stretched to
   the column so there is no dead space beneath it. */
.vm7-hiw{align-items:start}
.vm7-hiw__copy{align-self:start}
.vm7-legend{background:var(--ground-cool);border:1px solid var(--rule-cool);padding:clamp(20px,2.4vw,30px)}
.vm7-drivers>.vm-mono,.vm7-legend>.vm-mono{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-footer-deep);margin-bottom:14px}
.vm7-drivers dl{margin:0;border-top:1px solid var(--slate-blue-200)}
.vm7-drivers>dl>div{display:grid;grid-template-columns:26px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--slate-blue-200)}
.vm7-drivers dt{font-family:var(--font-mono);font-size:11px;color:var(--accent);padding-top:3px}
.vm7-drivers dd{margin:0;font-family:var(--font-body);font-size:13.5px;line-height:1.55;color:var(--ink-muted)}
.vm7-drivers dd b{display:block;font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:14.5px;color:var(--ink);margin-bottom:2px}
.vm7-drivers>p,.vm7-legend>p{font-family:var(--font-body);font-size:13px;line-height:1.6;color:var(--slate-blue-800);margin:14px 0 0;max-width:42ch}
.vm7-legend .vm7-verbs{border-top-color:var(--slate-blue-200)}
.vm7-legend .vm7-verbs>div{border-bottom-color:var(--slate-blue-200)}
.vm7-legend .vm7-verbs dt{border-color:var(--slate-blue-300)}
@media(max-width:600px){.vm7-drivers>.vm-mono,.vm7-legend>.vm-mono{font-size:12px}.vm7-drivers dt{font-size:12px}}

/* FEES · the worksheet. Tabular register: this page is about arithmetic, so the object reads
   as a build-up that totals, on paper, not as a list in a tinted box. */
div.vm7-work{background:var(--white);border:1px solid var(--rule-sand);border-top:2px solid var(--accent);padding:clamp(20px,2.4vw,30px)}
div.vm7-work>.vm-mono{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
div.vm7-work table{width:100%;border-collapse:collapse;table-layout:fixed}
div.vm7-work th[scope=row]{text-align:left;font-weight:400;font-family:var(--font-body);font-size:14px;letter-spacing:0;text-transform:none;color:var(--ink);padding:9px 14px 9px 0;border-bottom:1px solid var(--rule-sand-50);vertical-align:top;width:62%}
div.vm7-work th[scope=row] b{display:block;font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:14.5px;line-height:1.3;letter-spacing:0;text-transform:none;color:var(--ink)}
div.vm7-work th[scope=row] span{display:block;font-family:var(--font-body);font-size:12.5px;line-height:1.5;letter-spacing:0;text-transform:none;color:var(--ink-muted);margin-top:3px}
div.vm7-work td{text-align:right;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);padding:11px 0 9px;border-bottom:1px solid var(--rule-sand-50);white-space:nowrap;vertical-align:top}
div.vm7-work tfoot th[scope=row]{border-bottom:none;border-top:2px solid var(--ink);padding-top:13px;font-family:var(--font-sans);font-stretch:expanded;font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink)}
div.vm7-work tfoot td{border-bottom:none;border-top:2px solid var(--ink);padding-top:15px;color:var(--accent);text-transform:none;font-family:var(--font-body);font-size:13px;letter-spacing:0;white-space:normal}
div.vm7-work>p{font-family:var(--font-body);font-size:13px;line-height:1.6;color:var(--ink-muted);margin:16px 0 0}
@media(max-width:600px){div.vm7-work>.vm-mono{font-size:12px}div.vm7-work td{font-size:12px}}

/* GUIDES · the index. Documentary register: a contents page showing what is below, with no
   container at all — the deliberate opposite of the worksheet's ruled box. */
.vm7-idx{align-self:start}
.vm7-idx>.vm-mono{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);padding-bottom:12px;border-bottom:2px solid var(--ink)}
.vm7-idx ol{list-style:none;margin:0;padding:0}
.vm7-idx li{display:grid;grid-template-columns:26px 74px 1fr;gap:12px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--rule-sand-50)}
.vm7-idx .n{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint)}
.vm7-idx em{font-family:var(--font-mono);font-style:normal;font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--teal-footer-deep)}
.vm7-idx a{font-family:var(--font-display);font-size:16.5px;line-height:1.25;color:var(--ink);text-decoration:none;border-bottom:1px solid transparent}
.vm7-idx a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.vm7-idx>p{font-family:var(--font-body);font-size:13px;line-height:1.6;color:var(--ink-muted);margin:14px 0 0}
@media(max-width:640px){.vm7-idx li{grid-template-columns:22px 1fr;gap:6px 10px}.vm7-idx em{grid-column:2;order:3;font-size:11px}.vm7-idx a{grid-column:2}.vm7-idx>.vm-mono,.vm7-idx>p{font-size:12px}}

/* Inherited from the v6 layer: 281 characters of body copy centred on a light ground.
   Centring is reserved for the textured close. */
.vm-fees__foot{text-align:left!important;max-width:62ch;margin-inline:0}

/* FEES · the price stamp shares ONE left edge with the rest of the page.
   It was a centred 760px block with margin:auto inside an 832px wrap (x=82) while the terms
   note below it sat at the wrap edge (x=46) and the qualifier inside inherited centring —
   three left edges in one stack. Left-aligned throughout, the large figure now reads as the
   total of the worksheet above it rather than as a floating price tag. */
.vm7-entry{text-align:left;max-width:none;margin-inline:0;padding-left:0;border-top:none;border-bottom:none}
/* The reading measure belongs to the TEXT, not to the block: a max-width on .vm7-entry also
   shrank its own hairlines, so the price block opened with a 605px rule 32px below the method
   list's 820px one — two parallel dividers of the same colour, aligned at neither end. The
   list's closing rule above and the ground change below are the section's dividers. */
.vm7-entry__fig,.vm7-entry__cap{max-width:62ch}
.vm7-entry>*{text-align:left}
.vm7-entry__fig{margin-left:0}
.vm7-entry__cap{max-width:46ch;margin-inline:0}
.vm7-entry .vm-note{max-width:62ch;margin-inline:0;text-align:left;padding-left:0;border-left:none;text-indent:0}


/* ════════════════════════════════════════════════════════════════════════════════
   UAT COPY & UX PASS · Sep 2026
   Four additions, no restyling: a FAQ accordion (so scope boundaries can leave the
   opening of the service page), the fees care panel (the worksheet reframed as the
   level of care a house needs), wider two-person lead profiles on Who We Are, and a
   secondary legal/utility footer row beneath the main footer.
   ════════════════════════════════════════════════════════════════════════════════ */

/* FAQ · where service boundaries now live. Late-stage, answerable, one at a time. */
.vm7-faq{margin:clamp(24px,3vw,40px) 0 0;border-top:1.6px solid var(--rule-sand);max-width:880px}
.vm7-faq details{border-bottom:1px solid var(--rule-sand)}
.vm7-faq summary{list-style:none;cursor:pointer;display:flex;gap:18px;align-items:baseline;justify-content:space-between;padding:18px 0;min-height:44px;font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-16),1.8vw,var(--step-20));line-height:1.35;color:var(--ink)}
.vm7-faq summary::-webkit-details-marker{display:none}
.vm7-faq summary::after{content:"+";font-family:var(--font-mono);font-size:18px;color:var(--accent);line-height:1;flex:0 0 auto}
.vm7-faq details[open] summary::after{content:"\2013"}
.vm7-faq summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.vm7-faq__a{padding:0 0 22px}
.vm7-faq__a p{font-family:var(--font-body);font-size:15px;line-height:1.75;color:var(--ink-muted);margin:0 0 10px;max-width:70ch}
.vm7-faq__a p:last-child{margin-bottom:0}

/* FEES · the level of care, in place of the worksheet. Same tabular register, no
   mechanical verbs — each line says what the house asks of us. */
.vm7-care{background:var(--white);border:1px solid var(--rule-sand);border-top:2px solid var(--accent);padding:clamp(20px,2.4vw,30px)}
.vm7-care>.vm-mono{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.vm7-care ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-sand-50)}
.vm7-care li{padding:13px 0;border-bottom:1px solid var(--rule-sand-50)}
.vm7-care li:last-child{border-bottom:none}
.vm7-care b{display:block;font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:15px;line-height:1.3;color:var(--ink)}
.vm7-care span{display:block;font-family:var(--font-body);font-size:13.5px;line-height:1.6;color:var(--ink-muted);margin-top:4px;max-width:46ch}
.vm7-care>p{font-family:var(--font-body);font-size:13px;line-height:1.6;color:var(--ink-muted);margin:16px 0 0}
@media(max-width:600px){.vm7-care>.vm-mono{font-size:12px}}

/* WHO WE ARE · designed for two operators rather than a team grid. The two people
   responsible for the house get a larger portrait and a real profile beside it; the
   owners sit beneath at a compact scale, which is the correct hierarchy. */
@media(min-width:860px){
  .vm7-people--leads .vm7-person{grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(24px,3vw,48px)}
}
.vm7-people--leads .vm7-person__n{font-size:clamp(var(--step-31),3.2vw,var(--step-39))}
.vm7-people--leads .vm7-person .vm-body{max-width:64ch;font-size:15.5px}
.vm7-lead__facts{margin:20px 0 0;border-top:1.6px solid var(--rule-sand);display:grid;gap:0;max-width:64ch}
.vm7-lead__facts>div{display:grid;grid-template-columns:1fr;gap:3px;padding:12px 0;border-bottom:1px solid var(--rule-sand-50)}
@media(min-width:620px){.vm7-lead__facts>div{grid-template-columns:190px 1fr;gap:20px;align-items:baseline}}
.vm7-lead__facts>div:last-child{border-bottom:none}
.vm7-lead__facts dt{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-muted)}
.vm7-lead__facts dd{margin:0;font-family:var(--font-body);font-size:14.5px;line-height:1.6;color:var(--ink)}
@media(max-width:600px){.vm7-lead__facts dt{font-size:12px}}
.vm7-owners__k{margin:clamp(30px,3.4vw,48px) 0 0;padding-top:clamp(18px,2.2vw,26px);border-top:1.6px solid var(--rule-sand)}
.vm7-owners__k .vm-mono{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}
.vm7-owners__k p{font-family:var(--font-body);font-size:14.5px;line-height:1.7;color:var(--ink-muted);margin:10px 0 0;max-width:62ch}
.vm7-people--owners{margin-top:clamp(18px,2vw,26px)}
@media(min-width:760px){.vm7-people--owners .vm7-person{grid-template-columns:150px 1fr}}
.vm7-people--owners .vm7-person__n{font-size:clamp(var(--step-20),2.1vw,var(--step-25))}
.vm7-people--owners .vm7-person .vm-body{font-size:14.5px}

/* FOOTER · the secondary layer. Legal and utility links stop competing with the
   navigation, trust and resource groups above them. */
.vm7-ftr__legal{max-width:1240px;margin:clamp(26px,3vw,42px) auto 0;padding-top:16px;border-top:1px solid var(--ivory-a22);display:flex;flex-wrap:wrap;gap:10px 28px;align-items:baseline;justify-content:space-between}
.vm7-ftr__legal p{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ivory-300);margin:0;max-width:none}
.vm7-ftr__legal ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px}
.vm7-ftr__legal li{margin:0}
.vm7-ftr__legal a{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ivory-300);min-height:44px;display:inline-flex;align-items:center}
@media(max-width:600px){.vm7-ftr__legal p,.vm7-ftr__legal a{font-size:12px}}


/* ── The arrival passage · waves 1+2 ────────────────────────────────────────────
   The one thing the audit found missing outright: the first morning back. Set as
   editorial prose at reading size, not as a card — it is the only passage on the
   homepage whose job is purely to be imagined. */
.vm7-arrive{margin:clamp(26px,3vw,42px) 0 0;padding:clamp(20px,2.4vw,30px) 0 0;border-top:1.6px solid var(--rule-sand);max-width:66ch}
.vm7-arrive p{font-family:var(--font-body);font-size:clamp(15.5px,1.6vw,17px);line-height:1.78;color:var(--ink);margin:0 0 14px;text-wrap:pretty}
.vm7-arrive p:last-child{margin-bottom:0;font-family:var(--font-display);font-size:clamp(var(--step-16),1.9vw,var(--step-25));line-height:1.42;color:var(--ink)}

/* One outcome line per care plan — what the cadence means for the house, set apart from
   the feature list so it reads as the reason rather than as a ninth item. */
.vm-plan__out{font-family:var(--font-body);font-size:14px;line-height:1.65;color:var(--ink);margin:0 0 4px;padding:12px 0 0;border-top:1px solid var(--rule-sand-50);max-width:40ch}

/* ── WAVE 1 · print/save layer ────────────────────────────────────────────────
   .vm7-noprint is the site-wide opt-out; sheet.css owns the sheet shell. These
   rules cover the two existing assets that print from their own page. */
.vm7-st__use{font-family:var(--font-body);font-size:13.5px;line-height:1.7;color:var(--ink-muted);margin:clamp(16px,2vw,22px) 0 0;max-width:72ch}
.vm7-st__use b{color:var(--ink)}
.vm7-st__ek{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap}
.vm7-st__ek i{width:11px;height:11px;border:1px solid var(--border-field);display:block;flex:none}
/* the owner line on the Kiawah year — the third dimension of each month */
.vm7-mo__own{font-family:var(--font-body);font-size:14px;line-height:1.65;color:var(--ink);margin:10px 0 0;padding-top:10px;border-top:1px solid var(--rule-sand-50);max-width:56ch}
.vm7-mo__own b{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:3px}
@media print{
  .vm7-noprint{display:none!important}
  /* the standard prints as a field sheet: three evaluation boxes per requirement */
  .vm7-st__list li{grid-template-columns:auto 1fr 46pt}
  .vm7-st__box{position:relative;width:10pt;height:10pt;border:.6pt solid #6B6257;margin-top:2pt;overflow:visible;display:block}
  .vm7-st__box::before{content:"";position:absolute;left:14pt;top:-.6pt;width:10pt;height:10pt;border:.6pt solid #6B6257}
  .vm7-st__box::after{content:"";position:absolute;left:28pt;top:-.6pt;width:10pt;height:10pt;border:.6pt solid #6B6257}
  .vm7-st__use{font-size:8.6pt;color:#000}
  .vm7-st__ek i{border-color:#6B6257}
}

/* the fourth responsibility column · a gap, drawn as a gap */
.vm7-resp td[data-r="gap"]{color:#8C3A18;font-weight:600}
.vm7-resp__key i.g{color:#8C3A18}
@media(max-width:700px){.vm7-resp th[scope=col]{width:15%}}

/* ── GUIDES · functional groups. The homeowner asks "what am I trying to do?",
   not "what type of content is this?" ─────────────────────────────────────── */
.vm7-tgrp{margin:clamp(30px,3.6vw,52px) 0 0}
.vm7-tgrp:first-child{margin-top:0}
.vm7-tgrp__hd{max-width:62ch;padding-top:clamp(16px,2vw,22px);border-top:1.6px solid var(--rule-sand)}
.vm7-tgrp__hd .vm-mono{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.vm7-tgrp__hd h2{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-20),2.6vw,var(--step-31));line-height:1.15;color:var(--ink);margin:10px 0 8px}
.vm7-tgrp__hd p{font-family:var(--font-body);font-size:15px;line-height:1.7;color:var(--ink-muted);margin:0 0 4px;max-width:58ch}
.vm7-tgrp .vm7-tools{margin-top:clamp(16px,2vw,24px)}

/* ── CTA ARCHITECTURE · six classes, consistent treatment per class ─────────
   A · PRIMARY COMMERCIAL — the existing .vm-textured band. Home, Fees, Who We Are.
   B · CONTEXTUAL NEXT TOOL — .vm7-cta, light ground, named destinations.
   C · RESULT ACTION — .hc__nav / .lp__nav inside an instrument's result.
   D · PRINT / SAVE — .sh-actions from the Wave 1 sheet shell.
   E · QUIET COMMERCIAL INVITATION — .vm7-cta__q, one line, no band, no button row.
   F · NO CTA — the artifact ends.
   The band stays in the system; it is removed only where a contextual step is stronger. */
.vm7-cta{background:var(--ivory-200);border-top:1.6px solid var(--rule-sand);border-bottom:1.6px solid var(--rule-sand);padding:clamp(26px,3.2vw,44px) clamp(20px,5vw,72px)}
.vm7-cta .vm-mono{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.vm7-cta h2{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-20),2.6vw,var(--step-31));line-height:1.15;color:var(--ink);margin:10px 0 10px;max-width:32ch}
.vm7-cta .vm-wrap>p{font-family:var(--font-body);font-size:15px;line-height:1.7;color:var(--ink-muted);margin:0;max-width:58ch}
.vm7-cta__opts{list-style:none;display:grid;grid-template-columns:1fr;gap:0;margin:clamp(18px,2.2vw,26px) 0 0;padding:0;border-top:1px solid var(--rule-sand)}
@media(min-width:760px){.vm7-cta__opts{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));column-gap:clamp(20px,2.6vw,38px);border-top:none}}
.vm7-cta__opts li{padding:14px 0 16px;border-bottom:1px solid var(--rule-sand)}
@media(min-width:760px){.vm7-cta__opts li{border-bottom:none;border-top:1.6px solid var(--rule-sand)}}
.vm7-cta__opts a{display:block;font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:clamp(var(--step-16),1.8vw,var(--step-20));line-height:1.22;color:var(--ink);text-decoration:none}
.vm7-cta__opts a:hover{color:var(--umber-action-hover)}
.vm7-cta__opts a em{display:block;font-style:normal;font-family:var(--font-mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);margin-bottom:5px}
.vm7-cta__opts p{font-family:var(--font-body);font-size:13.5px;line-height:1.6;color:var(--ink-muted);margin:5px 0 0;max-width:40ch}
.vm7-cta__q{font-family:var(--font-body);font-size:14px;line-height:1.7;color:var(--ink-muted);margin:clamp(20px,2.4vw,28px) 0 0;padding-top:14px;border-top:1px solid var(--rule-sand);max-width:66ch}
.vm7-cta__q b{color:var(--ink);font-weight:600}

/* ── October 2026 founder review · global fixes ───────────────────────── */
/* Hover on dark grounds: outline buttons keep ivory text and gain a fill, never go dark-on-dark. */
.vm-textured .btn:not(.btn--solid),.vm7-ftr .btn:not(.btn--solid){color:var(--ivory-100);border-color:var(--ivory-a32);background:transparent}
.vm-textured .btn:not(.btn--solid):hover,.vm-textured .btn:not(.btn--solid):focus-visible,.vm7-ftr .btn:not(.btn--solid):hover{color:var(--ivory-100);border-color:var(--ivory-100);background:rgba(250,246,238,.10)}
.btn--iv:hover,.btn--iv:focus-visible{color:var(--ivory-100);background:rgba(250,246,238,.10)}
/* Footer: one off-white for all copy and links; hover underlines rather than changing colour. */
.vm7-ftr p,.vm7-ftr a,.vm7-ftr__legal p,.vm7-ftr__legal a{color:var(--ivory-200)}
.vm7-ftr a:hover,.vm7-ftr a:focus-visible{color:var(--ivory-100);text-decoration:underline}
/* Paragraph rhythm: consecutive text blocks always separate by the same step. */
.vm-lede+.vm-lede,.vm-lede+.vm-body,.vm-body+.vm-body,.vm-body+.vm-lede,.vm-lede+.vm-note,.vm-body+.vm-note,.vm-note+.vm-note{margin-top:16px}
/* People: names, roles and rules sit on one baseline across cards. */
.vm7-ppl__card{display:grid;grid-template-rows:auto auto minmax(2.6em,auto) auto auto;align-content:start}
.vm7-ppl__role{min-height:1.4em}
.vm7-hiw__jump{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:baseline;margin:clamp(22px,2.6vw,34px) 0 0;padding:14px 0;border-top:1px solid var(--rule-sand);border-bottom:1px solid var(--rule-sand)}
.vm7-hiw__jump span{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}
.vm7-step__k,#responsibility,#authorizing,#record,#storm{scroll-margin-top:96px}
.vm7-resp--three{max-width:860px}
.vm7-resp__gap{margin-top:clamp(22px,2.6vw,32px);padding:18px 20px;border:1px solid var(--rule-sand);background:var(--ivory-100);max-width:760px}
.vm7-resp__gap p{font-family:var(--font-body);font-size:15px;line-height:1.65;color:var(--ink);margin:8px 0 0}
.vm7-two__grid>div{display:flex;flex-direction:column}.vm7-two__who{margin-top:auto!important;padding-top:14px;border-top:1px solid var(--rule-sand)}
.vm7-people--leads{align-items:start}.vm7-people--leads .vm7-person{align-content:start}
.vm7-statement{font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-25),2.8vw,var(--step-31));line-height:1.3;color:var(--ink);max-width:30ch;margin:clamp(34px,4vw,56px) 0 0;padding-left:20px;border-left:2px solid var(--umber-300)}
.vm7-price{border:1px solid var(--rule-sand);background:var(--ivory-100);padding:clamp(22px,2.6vw,34px);display:flex;flex-direction:column;gap:6px;align-self:start}
.vm7-price .vm7-entry__cap{margin:0 0 14px}
.vm7-price ul{list-style:none;margin:6px 0 18px;padding:0;border-top:1px solid var(--rule-sand)}
.vm7-price li{font-family:var(--font-body);font-size:15px;line-height:1.5;color:var(--ink);padding:10px 0;border-bottom:1px solid var(--rule-sand)}
.vm7-price .btn{align-self:flex-start}
.vm7-contact{display:grid;grid-template-columns:1fr;gap:clamp(26px,3.4vw,56px);align-items:start}
@media(min-width:900px){.vm7-contact{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
.vm7-paths{list-style:none;margin:clamp(20px,2.4vw,30px) 0 0;padding:0;display:grid;gap:10px;grid-template-columns:1fr}
@media(min-width:620px){.vm7-paths{grid-template-columns:repeat(3,minmax(0,1fr))}}
.vm7-paths a{display:flex;flex-direction:column;gap:4px;min-height:44px;height:100%;box-sizing:border-box;padding:16px 18px;border:1px solid var(--rule-sand);background:var(--white);text-decoration:none;color:var(--ink);transition:border-color var(--motion-quick,.2s) ease}
.vm7-paths a:hover,.vm7-paths a:focus-visible{border-color:var(--umber-action)}
.vm7-paths b{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:16px;line-height:1.3;overflow-wrap:anywhere}
.vm7-paths a>span:last-child{font-family:var(--font-body);font-size:13px;color:var(--ink-muted)}
.vm7-contact__who{border:1px solid var(--rule-sand);background:var(--ivory-100);padding:clamp(20px,2.4vw,30px)}
.vm7-contact__who .vm7-person__slot{margin-bottom:18px}
.hr-hero{display:grid;grid-template-columns:1fr;gap:clamp(26px,3.4vw,56px);align-items:start}
@media(min-width:1000px){.hr-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
.hr-dia{margin:0;border:1px solid var(--rule-sand);background:var(--ivory-100);padding:clamp(16px,2vw,24px)}
.hr-dia ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.hr-dia li{font-family:var(--font-body);font-size:12.5px;line-height:1.3;color:var(--ink);padding:10px 10px 12px;border:1px solid var(--rule-sand);background:var(--white);min-height:64px;box-sizing:border-box}
.hr-dia li[data-op]{background:var(--ivory-300);border-color:var(--ivory-300)}
.hr-dia li span{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:var(--accent);margin-bottom:4px}
.hr-dia figcaption{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
.hr-dia figcaption i{display:inline-block;width:10px;height:10px;border:1px solid var(--rule-sand);background:var(--white);margin-right:6px;vertical-align:-1px}
.hr-dia figcaption i[data-op]{background:var(--ivory-300);border-color:var(--ivory-300)}
@media(max-width:420px){.hr-dia ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
.vm7-ntabs{display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin-top:22px;border:1px solid var(--rule-sand)}
.vm7-ntabs a{flex:1 1 180px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:10px 16px;font-family:var(--font-sans);font-stretch:expanded;font-size:14px;color:var(--ink);text-decoration:none;border-right:1px solid var(--rule-sand);background:var(--white)}
.vm7-ntabs a:last-child{border-right:0}
.vm7-ntabs a[aria-current]{background:var(--umber-action);color:var(--ivory-100)}
.vm7-ntabs a:not([aria-current]):hover{background:var(--ivory-200)}
.vm7-illus{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid var(--umber-300);padding:3px 8px}
span.vm7-st{display:inline-block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;margin-right:8px;border:1px solid var(--rule-sand);white-space:nowrap}
span.vm7-st[data-st="open"]{background:color-mix(in oklch,var(--accent-warm) 62%,transparent);border-color:transparent;color:var(--accent-deepest)}
span.vm7-st[data-st="auth"]{background:color-mix(in oklch,var(--accent-warm-light) 60%,transparent);border-color:transparent;color:var(--accent-hover)}
span.vm7-st[data-st="prog"]{background:color-mix(in oklch,var(--accent-warm-light) 34%,transparent);border-color:transparent;color:var(--accent-hover)}
span.vm7-st[data-st="closed"]{background:var(--status-well-wash);border-color:transparent;color:var(--teal-footer-deep)}
.vm7-sum{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.vm7-sum li{font-family:var(--font-body);font-size:15px;line-height:1.55;color:var(--ink)}
.vm7-nextchk{list-style:none;margin:0 0 16px;padding:0;border-top:1px solid var(--rule-sand)}
.vm7-nextchk li{font-family:var(--font-body);font-size:15px;line-height:1.5;color:var(--ink);padding:9px 0 9px 26px;border-bottom:1px solid var(--rule-sand);position:relative}
.vm7-nextchk li::before{content:"";position:absolute;left:2px;top:13px;width:12px;height:12px;border:1.4px solid var(--umber-500)}
.vm7-shots--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.vm7-work thead th{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);text-align:left;padding:8px 10px 8px 0;border-bottom:1px solid var(--rule-sand)}
.vm7-work td{vertical-align:top;padding:10px 10px 10px 0}
@media(max-width:640px){.vm7-work thead{display:none}.vm7-work tr{display:block;padding:10px 0;border-bottom:1px solid var(--rule-sand)}.vm7-work td{display:block;padding:2px 0}}
.vm7-tl{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-sand)}
.vm7-tl li{display:grid;grid-template-columns:76px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--rule-sand)}
.vm7-tl .lg{font-family:var(--font-mono);font-size:12px;color:var(--ink-muted);padding-top:2px}
.vm7-tl b{display:block;font-family:var(--font-body);font-weight:600;font-size:15px;color:var(--ink)}
.vm7-tl .d{display:block;font-family:var(--font-body);font-size:14.5px;line-height:1.6;color:var(--ink-muted);margin-top:2px}
/* Seven-item nav: phone number yields first, then the text links, before anything collides. */
@media(max-width:1240px){.vm7-hdr__tel{display:none}}
@media(max-width:1100px){.vm7-nav a:not(.vm7-nav__cta){display:none}}
.vm7-nav{gap:clamp(12px,1.5vw,26px)}
@media(max-width:1100px){.vm7-menu{display:block}.vm7-hdr{position:sticky;padding-block:10px}.vm7-nav{margin-left:auto}.vm7-menu{margin-left:16px}}
@media(max-width:620px){.vm7-menu{margin-left:auto}.vm7-menu>summary{align-items:flex-end}}

/* TYPE HIERARCHY · one rule for every interior page. The page h1 is always the largest heading on
   the page; section heads step down the DS ladder (49 → 39 → 31). The homepage keeps its larger
   section heads because its h1 is the 86px hero. */
.vm-h1{font-size:clamp(var(--step-31),4.4vw,var(--step-49));line-height:1.08;letter-spacing:0;text-wrap:balance}
body:not(:has(.vm7-ah)) .vm-h2,body:not(:has(.vm7-ah)) .vm-h2--lead{font-size:clamp(var(--step-25),3vw,var(--step-39));line-height:1.12}
/* Centered stacks: a left rule under centered text reads as a misalignment. */
.vm-stack:not(.vm-stack--left) .vm-note--why{border-left:0;padding-left:0;text-align:center}
/* Applist rows that follow a centered stack need their own air, and a reading measure. */
.vm-stack+.vm-applist{margin-top:clamp(36px,4vw,56px)}
.vm-applist__row .vm-body{max-width:72ch}
/* Plans sit on the content grid, left-aligned under their heading. */
#plans .vm-plans--two{margin-left:0;margin-right:0;max-width:none}
.vm7-resp__gap{max-width:none}.vm7-resp__gap p{max-width:72ch}
.vm7-art .vm7-yeargrid{padding-left:0;padding-right:0}
/* Eyebrows: the rule is at least 262px and grows with a long label, so labels never break mid-phrase. */
.rt{width:fit-content;min-width:min(262px,100%);max-width:100%}
.rt--c{margin-left:auto;margin-right:auto}
/* Sample-note tabs: three across, or one column — never two and an orphan. */
.vm7-ntabs{display:grid;grid-template-columns:1fr}
.vm7-ntabs a{border-right:0;border-bottom:1px solid var(--rule-sand)}.vm7-ntabs a:last-child{border-bottom:0}
@media(min-width:640px){.vm7-ntabs{grid-template-columns:repeat(3,minmax(0,1fr))}.vm7-ntabs a{border-bottom:0;border-right:1px solid var(--rule-sand)}.vm7-ntabs a:last-child{border-right:0}}
/* Open-items table: status carries the most text, price the least. */
@media(min-width:641px){table.vm7-work{table-layout:fixed}table.vm7-work th:nth-child(1){width:26%}table.vm7-work th:nth-child(2){width:24%}table.vm7-work thead tr:has(th:nth-child(4)) th:nth-child(3){width:10%}}
/* Toolkit grid: cards grow to fill each row, so an odd count never leaves an empty tan cell. */
.vm7-tools{display:flex;flex-wrap:wrap}
.vm7-tool{flex:1 1 300px;min-width:0}
.vm7-tool--lead{flex-basis:100%}
.vm7-tool__v[data-v="know"]{color:var(--slate-blue-700);border-color:var(--slate-blue-300)}
.vm7-tool__v[data-v="keep"]{color:var(--ink);border-color:var(--rule-sand)}
.vm7-person__img{object-position:50% 22%;height:auto;align-self:start}
.vm7-contact__who .vm7-person__img{margin-bottom:18px}


/* Homepage "What changes for you": four outcomes as a row of short statements, then the
   March arrival as a lead line beside its story. One rule, the eyebrow's. */
.vm7-wc{padding-block:clamp(48px,6vw,96px)}
.vm7-wc__grid{list-style:none;margin:clamp(28px,3.4vw,44px) 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
@media(min-width:640px){.vm7-wc__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 40px}}
@media(min-width:1080px){.vm7-wc__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px}}
.vm7-wc__grid li{display:flex;flex-direction:column;gap:10px}
.vm7-wc__n{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--accent)}
.vm7-wc__grid h3{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(22px,2.1vw,27px);line-height:1.18;color:var(--ink);text-wrap:balance}
.vm7-wc__grid p{margin:0;font-family:var(--font-body);font-size:15px;line-height:1.65;color:var(--ink-muted);max-width:32ch;text-wrap:pretty}
.vm7-wc__story{margin-top:clamp(48px,6vw,88px);display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
@media(min-width:860px){.vm7-wc__story{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px;align-items:start}}
.vm7-wc__lead{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(28px,3.4vw,44px);line-height:1.14;color:var(--ink);max-width:24ch;text-wrap:balance}
@media(min-width:860px){.vm7-wc__lead{max-width:16ch}}
.vm7-wc__body{margin:0;font-family:var(--font-body);font-size:clamp(16px,1.5vw,17.5px);line-height:1.75;color:var(--ink);max-width:58ch;text-wrap:pretty}
@media(min-width:860px){.vm7-wc__body{padding-top:10px}}


/* Homepage people: both cards identical — name, title, her own words, then one line about the role. */
.vm7-ppl .vm7-ppl__card{display:flex;flex-direction:column}
.vm7-ppl .vm7-ppl__role{min-height:0}
.vm7-ppl__q{margin:18px 0 0;padding-top:18px;border-top:1px solid var(--rule-sand);flex:1 1 auto}
.vm7-ppl__q blockquote{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(19px,1.8vw,22px);line-height:1.42;color:var(--ink);text-wrap:pretty}
.vm7-ppl__q figcaption{margin-top:12px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted)}
.vm7-ppl__q figcaption::before{content:"— "}
.vm7-ppl .vm7-ppl__line{margin-top:18px;font-size:15px}

/* Homepage closing: three steps on one track, then three ways in as equal cards. */
.vm7-steps{list-style:none;margin:clamp(36px,4.4vw,60px) auto 0;padding:0;max-width:1040px;width:100%;display:grid;grid-template-columns:minmax(0,1fr);text-align:left}
.vm7-steps li{position:relative;padding:0 0 26px 28px;border-left:1px solid var(--ivory-a32)}
.vm7-steps li:last-child{padding-bottom:0}
.vm7-steps li::before{content:"";position:absolute;left:-4px;top:4px;width:7px;height:7px;border-radius:50%;background:var(--ivory-100)}
@media(min-width:760px){.vm7-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.vm7-steps li{padding:28px 32px 0 0;border-left:0;border-top:1px solid var(--ivory-a32)}.vm7-steps li::before{left:0;top:-4px}}
.vm7-steps__n{display:block;margin-bottom:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--ivory-300)}
.vm7-steps__w{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(20px,1.9vw,24px);line-height:1.2;color:var(--ivory-100)}
.vm7-steps p{margin:8px 0 0;font-family:var(--font-body);font-size:15px;line-height:1.65;color:var(--ivory-200);max-width:30ch;text-wrap:pretty}
.vm7-ways{margin:clamp(40px,5vw,72px) auto 0;max-width:1040px;width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;text-align:left}
@media(min-width:860px){.vm7-ways{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
.vm7-way{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px 26px 58px;border:1px solid var(--ivory-a32);border-radius:var(--radius-sm,4px);color:var(--ivory-100);text-decoration:none;transition:background-color .2s ease,border-color .2s ease}
.vm7-way:hover{background:rgba(255,255,255,.06);border-color:var(--ivory-300);color:var(--ivory-100)}
.vm7-way:focus-visible{outline:2px solid var(--ivory-100);outline-offset:3px}
.vm7-way__k{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ivory-300)}
.vm7-way__t{font-family:var(--font-display);font-weight:400;font-size:clamp(23px,2.1vw,28px);line-height:1.15;color:inherit}
.vm7-way p{margin:0;font-family:var(--font-body);font-size:14.5px;line-height:1.6;color:var(--ivory-200)}
.vm7-way__go{position:absolute;left:26px;bottom:22px;font-family:var(--font-body);font-size:18px;line-height:1;transition:transform .2s ease}
.vm7-way:hover .vm7-way__go{transform:translateX(4px)}
.vm7-way--p{background:var(--ivory-100);border-color:var(--ivory-100);color:var(--ink)}
.vm7-way--p:hover{background:var(--white);border-color:var(--white);color:var(--ink)}
.vm7-way--p .vm7-way__k{color:var(--accent)}
.vm7-way--p p{color:var(--ink-muted)}
@media (prefers-reduced-motion:reduce){.vm7-way,.vm7-way__go{transition:none}}
.vm7-way,.vm7-way p,.vm7-way__t,.vm7-way__k{white-space:normal}.vm7-way .vm-keep{white-space:nowrap}
.vm7-ftr__soc{display:flex;gap:4px;margin-left:auto}.vm7-ftr__soc a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:inherit;opacity:.85}.vm7-ftr__soc a:hover{opacity:1}.vm7-ftr__soc a:focus-visible{outline:2px solid currentColor;outline-offset:2px}.vm7-ftr__soc svg{display:block}
@media(max-width:760px){.vm7-idx a{display:inline-flex;align-items:center;min-height:44px}.pb__l a{display:inline-flex;align-items:center;min-height:44px}}

/* Kiawah year: four seasons under the chart, one per row of the chart. */
.vm7-ky__seasons{list-style:none;margin:clamp(24px,3vw,36px) 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
@media(min-width:620px){.vm7-ky__seasons{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 32px}}
@media(min-width:1080px){.vm7-ky__seasons{grid-template-columns:repeat(4,minmax(0,1fr))}}
.vm7-ky__seasons li{display:flex;flex-direction:column;gap:6px;padding-top:14px;border-top:1px solid var(--rule-sand)}
.vm7-ky__m{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.vm7-ky__seasons b{font-family:var(--font-display);font-weight:400;font-size:clamp(20px,1.8vw,23px);line-height:1.2;color:var(--ink)}
.vm7-ky__seasons p{margin:2px 0 0;font-family:var(--font-body);font-size:14.5px;line-height:1.6;color:var(--ink-muted);max-width:34ch;text-wrap:pretty}

/* Homepage invite to the Home Management Check: the question, then a sample of the five areas the profile reports. */
.vm7-hmc{margin:clamp(40px,5vw,72px) 0 0;padding:clamp(26px,3.4vw,48px);background:var(--ground-cool);border-radius:var(--radius-sm,4px);display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:center}
@media(min-width:900px){.vm7-hmc{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}
.vm7-hmc .vm-mono{color:var(--slate-blue-700,var(--ink-muted))}
.vm7-hmc__h{margin:12px 0 12px;font-family:var(--font-display);font-weight:400;font-size:clamp(26px,2.9vw,38px);line-height:1.14;color:var(--ink);max-width:22ch;text-wrap:pretty}
.vm7-hmc__l{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--ink);max-width:44ch;text-wrap:pretty}
.vm7-hmc__act{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:24px}
.vm7-hmc__act span{font-family:var(--font-body);font-size:13.5px;color:var(--ink-muted)}
.vm7-hmc__dims{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.vm7-hmc__dims li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;align-items:baseline}
.vm7-hmc__dims b{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:14.5px;color:var(--ink)}
.vm7-hmc__dims span{grid-column:1;font-family:var(--font-body);font-size:13px;color:var(--ink-muted)}
.vm7-hmc__dims i{grid-column:1/-1;display:block;height:4px;border-radius:2px;margin-top:6px;background:linear-gradient(90deg,var(--slate-blue-700,var(--accent)) calc(var(--v)*100%),var(--rule-cool,var(--rule-sand)) 0)}
.vm7-hmc__side{display:grid;gap:16px}.vm7-hmc__side>.vm-mono{color:var(--ink-muted)}


/* Homepage "After a visit": the note, three numbered reasons beside it, one action. */
.vm7-nv{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,3.4vw,48px);margin-top:clamp(28px,3.4vw,48px);align-items:center}
@media(min-width:900px){.vm7-nv{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:56px}}
.vm7-pin{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;border-radius:50%;background:var(--slate-blue-800,var(--ink));color:var(--white);font-family:var(--font-mono);font-size:10.5px;line-height:1;vertical-align:2px;font-style:normal}
.vm7-nv__why{list-style:none;margin:0;padding:0;display:grid;gap:26px}
.vm7-nv__why li{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:14px;align-items:baseline}.vm7-nv__why b,.vm7-nv__why p{grid-column:2}
.vm7-nv__n{grid-row:1/span 2;align-self:start;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--slate-blue-800,var(--ink));color:var(--white);font-family:var(--font-mono);font-size:12px;margin-top:1px}
.vm7-nv__why b{font-family:var(--font-display);font-weight:400;font-size:clamp(20px,1.8vw,23px);line-height:1.2;color:var(--ink)}
.vm7-nv__why p{margin:6px 0 0;font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--ink-muted);max-width:34ch}
.vm7-nv__go{margin-top:clamp(32px,4vw,52px);display:grid;gap:12px}.vm7-nv__go>.vm-mono{color:var(--ink-muted)}


.vm7-nv__opts{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
@media(min-width:720px){.vm7-nv__opts{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
.vm7-nv__opt{position:relative;display:flex;flex-direction:column;gap:4px;padding:18px 48px 18px 20px;min-height:44px;background:var(--white);border:1px solid var(--rule-cool,var(--rule-sand));border-radius:var(--radius-sm,4px);text-decoration:none;color:var(--ink);transition:border-color .2s ease,box-shadow .2s ease}
.vm7-nv__opt::after{content:"→";position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--accent);transition:transform .2s ease}
.vm7-nv__opt:hover{border-color:var(--accent);color:var(--ink)}.vm7-nv__opt:hover::after{transform:translate(3px,-50%)}
.vm7-nv__opt:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.vm7-nv__opt b{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:15.5px}
.vm7-nv__opt span{font-family:var(--font-body);font-size:13.5px;color:var(--ink-muted)}
.vm7-nv__opt--p{background:var(--accent);border-color:var(--accent);color:var(--white)}
.vm7-nv__opt--p:hover{background:var(--umber-action-hover,var(--accent));border-color:var(--umber-action-hover,var(--accent));color:var(--white)}
.vm7-nv__opt--p span{color:var(--ivory-200)}.vm7-nv__opt--p::after{color:var(--white)}
@media (prefers-reduced-motion:reduce){.vm7-nv__opt,.vm7-nv__opt::after{transition:none}}

/* Homepage "What we do": four verbs on one line, a dot for each. */
.vm7-flow{list-style:none;margin:clamp(32px,4vw,52px) 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr)}
.vm7-flow li{position:relative;padding:0 0 26px 28px;border-left:1px solid var(--rule-sand)}
.vm7-flow li:last-child{padding-bottom:0}
.vm7-flow li::before{content:"";position:absolute;left:-4px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--accent)}
@media(min-width:760px){.vm7-flow{grid-template-columns:repeat(4,minmax(0,1fr))}.vm7-flow li{padding:26px 28px 0 0;border-left:0;border-top:1px solid var(--rule-sand)}.vm7-flow li::before{left:0;top:-4px}}
.vm7-flow b{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(21px,1.9vw,25px);line-height:1.2;color:var(--ink)}
.vm7-flow p{margin:8px 0 0;font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--ink-muted);max-width:30ch;text-wrap:pretty}
.vm7-flow__go{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:clamp(32px,4vw,52px)}
.vm7-flow__go p{margin:0;font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--ink-muted);max-width:56ch}
/* Homepage "How we are paid": two plain columns and one line. */
.vm7-pay{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,3vw,40px);margin-top:clamp(28px,3.4vw,44px)}
@media(min-width:760px){.vm7-pay{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px}}
.vm7-pay__col{padding-top:18px;border-top:1px solid var(--rule-sand)}
.vm7-pay__col .vm-mono{color:var(--accent)}
.vm7-pay__t{display:block;margin:8px 0 12px;font-family:var(--font-display);font-weight:400;font-size:clamp(22px,2vw,27px);line-height:1.2;color:var(--ink)}
.vm7-pay__col ul{margin:0;padding-left:18px}
.vm7-pay__col li{font-family:var(--font-body);font-size:15.5px;line-height:1.65;color:var(--ink);margin:4px 0}
.vm7-pay__col p{margin:12px 0 0;font-family:var(--font-body);font-size:14.5px;color:var(--ink-muted)}
.vm7-pay__stamp{margin:clamp(28px,3.4vw,44px) 0 0;font-family:var(--font-sans);font-stretch:expanded;font-size:clamp(17px,1.6vw,20px);letter-spacing:.01em;color:var(--accent)}
/* Homepage "What it costs": the cost of nobody, beside the price. */
.vm7-cost{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:center}
@media(min-width:900px){.vm7-cost{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:72px}}
.vm7-cost__list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.vm7-cost__list li{padding:12px 0;border-bottom:1px solid var(--rule-sand-50);font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--ink)}
.vm7-cost__card{padding:clamp(24px,3vw,36px);background:var(--ivory-200);border-radius:var(--radius-sm,4px);display:grid;gap:12px;justify-items:start}
.vm7-cost__card .vm-mono{color:var(--ink-muted)}
.vm7-cost__fig{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(48px,5.6vw,72px);line-height:1;color:var(--ink)}
.vm7-cost__fig small{font-size:.32em;color:var(--ink-muted);font-family:var(--font-body)}
.vm7-cost__l{margin:0 0 8px;font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--ink-muted);max-width:38ch}
.vm7-pay__col li b{font-weight:600}.vm-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* How It Works: one finding's life as a numbered list, two across on wide screens. */
.vm7-life{list-style:none;margin:clamp(28px,3.4vw,44px) 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:0;counter-reset:l}
@media(min-width:760px){.vm7-life{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}}
@media(min-width:1100px){.vm7-life{grid-template-columns:repeat(3,minmax(0,1fr))}}
.vm7-life li{counter-increment:l;display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:12px;padding:18px 0;border-top:1px solid var(--rule-sand);scroll-margin-top:100px}
.vm7-life li::before{content:counter(l,decimal-leading-zero);grid-row:1/span 2;font-family:var(--font-mono);font-size:12px;color:var(--accent);padding-top:5px}
.vm7-life b{grid-column:2;font-family:var(--font-display);font-weight:400;font-size:clamp(20px,1.8vw,23px);line-height:1.2;color:var(--ink)}
.vm7-life p{grid-column:2;margin:6px 0 0;font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--ink-muted);max-width:34ch}
.vm7-cost__list li b{font-weight:600}
.vm7-hiw__jump{gap:4px 20px;align-items:center}
@media(min-width:760px){.vm7-flow{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}}
.vm-plan .vm-plan__unit{font-family:var(--font-display);font-weight:400;font-size:clamp(26px,2.6vw,34px);line-height:1.15;color:var(--ink);margin:8px 0 10px}
.vm7-life--one{grid-template-columns:minmax(0,1fr)!important;margin-top:18px}
.vm7-next-panel .vm7-life li{grid-template-columns:minmax(0,1fr)}.vm7-next-panel .vm7-life li::before{display:none}.vm7-next-panel .vm7-life b,.vm7-next-panel .vm7-life p{grid-column:1}.vm7-next-panel .vm7-life p{max-width:52ch}

/* Guides: a library in six groups, each a heading beside a list of rows. */
.vm7-lib{display:grid;grid-template-columns:minmax(0,1fr);gap:14px 48px;padding:clamp(28px,3.4vw,44px) 0;border-top:1px solid var(--rule-sand);scroll-margin-top:90px}
@media(min-width:900px){.vm7-lib{grid-template-columns:minmax(0,1fr) minmax(0,2.2fr)}}
.vm7-lib__hd .vm-mono{color:var(--accent)}
.vm7-lib__hd h2{margin:8px 0 0;font-family:var(--font-display);font-weight:400;font-size:clamp(22px,2.2vw,28px);line-height:1.2;color:var(--ink);max-width:16ch}
.vm7-lib__list{display:grid}
.vm7-lib__i{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 20px;align-items:baseline;padding:14px 0;min-height:44px;border-bottom:1px solid var(--rule-sand-50);text-decoration:none;color:var(--ink)}
.vm7-lib__i:first-child{padding-top:4px}
.vm7-lib__i b{font-family:var(--font-sans);font-stretch:expanded;font-weight:400;font-size:15.5px;transition:color .2s ease}
.vm7-lib__i span{grid-column:1;font-family:var(--font-body);font-size:14px;line-height:1.55;color:var(--ink-muted);max-width:58ch}
.vm7-lib__i em{grid-column:2;grid-row:1;font-style:normal;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap}
.vm7-lib__i:hover b{color:var(--accent)}
.vm7-lib__i--lead b::after{content:"  ·  Start here";font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
@media(max-width:560px){.vm7-lib__i{grid-template-columns:minmax(0,1fr)}.vm7-lib__i em{grid-column:1;grid-row:auto}}
.vm7-lib:first-child{border-top:0;padding-top:clamp(12px,1.6vw,20px)}

/* House record: fifteen categories as a compact numbered list, two across on wide screens. */
.hr-list{list-style:none;margin:clamp(28px,3.4vw,44px) 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);column-gap:56px}
@media(min-width:900px){.hr-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hr-list li{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:12px;padding:18px 0;border-top:1px solid var(--rule-sand)}
.hr-list__n{font-family:var(--font-mono);font-size:12px;color:var(--accent);padding-top:5px}
.hr-list h3{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(19px,1.7vw,22px);line-height:1.25;color:var(--ink)}
.hr-list h3 em{font-style:normal;margin-left:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);vertical-align:3px}
.hr-list p{margin:6px 0 0;font-family:var(--font-body);font-size:14.5px;line-height:1.6;color:var(--ink-muted);max-width:52ch;text-wrap:pretty}
.hr-list .hr-list__eg{font-size:13.5px;font-style:italic;color:var(--ink-muted);opacity:.9}
.hr-list .hr-list__eg::before{content:"e.g. ";font-style:normal}
/* Sample notes: margin notes as quiet annotations, not boxes. */
.vm7-anno{background:none!important;border:0!important;box-shadow:none!important;padding:4px 0 0!important}
.vm7-anno .vm-mono{color:var(--accent)}
.vm7-anno h3{font-family:var(--font-display)!important;font-weight:400!important;font-size:18px!important;line-height:1.25;margin:6px 0 4px!important;color:var(--ink)}
.vm7-anno p{font-size:14px!important;line-height:1.6!important;color:var(--ink-muted)!important;max-width:40ch}

/* How It Works opening: headline beside a numbered contents list. */
.vm7-hhero{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(32px,4vw,56px);align-items:center}
@media(min-width:900px){.vm7-hhero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px}}
.vm7-hjump{display:grid;background:var(--ivory-200);border-radius:var(--radius-sm,4px);padding:clamp(18px,2.4vw,28px) clamp(20px,2.6vw,32px)}
.vm7-hjump>.vm-mono{color:var(--ink-muted);padding-bottom:10px}
.vm7-hjump a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;column-gap:12px;align-items:baseline;padding:14px 0;min-height:44px;border-top:1px solid var(--rule-sand);text-decoration:none;color:var(--ink)}
.vm7-hjump a::after{content:"↓";grid-column:3;grid-row:1/span 2;align-self:center;color:var(--accent);transition:transform .2s ease}
.vm7-hjump a:hover b{color:var(--accent)}.vm7-hjump a:hover::after{transform:translateY(2px)}
.vm7-hjump i{grid-row:1/span 2;font-style:normal;font-family:var(--font-mono);font-size:12px;color:var(--accent)}
.vm7-hjump b{font-family:var(--font-display);font-weight:400;font-size:clamp(19px,1.7vw,22px);line-height:1.2;transition:color .2s ease}
.vm7-hjump span{grid-column:2;font-family:var(--font-body);font-size:14px;color:var(--ink-muted);margin-top:2px}
@media (prefers-reduced-motion:reduce){.vm7-hjump a::after,.vm7-hjump b{transition:none}}
.vm7-hhero{align-items:start}@media(min-width:900px){.vm7-hhero>div:first-child{padding-top:clamp(8px,2vw,32px)}}
.vm7-hjump{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:none!important;text-align:left}.vm7-hjump>.vm-mono{text-align:left}
.vm7-hjump{display:flex!important;flex-direction:column}.vm7-hjump>a{grid-row:auto!important;grid-column:auto!important;width:100%;box-sizing:border-box}

/* How It Works "Who does what": three owners, the middle one ours. */
.vm7-who3{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:clamp(28px,3.4vw,44px);align-items:stretch}
@media(min-width:860px){.vm7-who3{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,1fr);gap:20px}}
.vm7-who3__c{padding:clamp(22px,2.6vw,32px);border:1px solid var(--rule-sand);border-radius:var(--radius-sm,4px);display:flex;flex-direction:column;gap:10px}
.vm7-who3__c .vm-mono{color:var(--accent)}
.vm7-who3__c b{font-family:var(--font-display);font-weight:400;font-size:clamp(23px,2.1vw,28px);line-height:1.15;color:var(--ink)}
.vm7-who3__c ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:0}
.vm7-who3__c li{padding:10px 0;border-top:1px solid var(--rule-sand-50);font-family:var(--font-body);font-size:15px;line-height:1.5;color:var(--ink)}
.vm7-who3__c{background:var(--ivory-100);border-color:var(--rule-sand)}
.vm7-who3__c--us{background:var(--ivory-200);border-color:var(--ivory-200)}

/* How It Works, rebuilt. */
.vm7-hw-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:center}
@media(min-width:900px){.vm7-hw-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px}}
.vm7-hw-hero__fig{margin:0}.vm7-hw-hero__fig img{width:100%;height:auto;display:block;border-radius:var(--radius-sm,4px);aspect-ratio:1344/890;object-fit:cover}
.vm7-who3__c--w{background:var(--white)!important;border-color:var(--white)!important}
.vm7-track{list-style:none;margin:clamp(32px,4vw,52px) 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr)}
.vm7-track li{position:relative;padding:0 0 26px 28px;border-left:1px solid var(--rule-sand)}
.vm7-track li:last-child{padding-bottom:0}
.vm7-track li::before{content:"";position:absolute;left:-4px;top:5px;width:7px;height:7px;border-radius:50%;background:var(--accent)}
@media(min-width:760px){.vm7-track{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:36px}.vm7-track li{padding:24px 28px 0 0;border-left:0;border-top:1px solid var(--rule-sand)}.vm7-track li::before{left:0;top:-4px}}
@media(min-width:1180px){.vm7-track{grid-template-columns:repeat(6,minmax(0,1fr))}}
.vm7-track__d{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.vm7-track b{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(20px,1.8vw,23px);line-height:1.2;color:var(--ink)}
.vm7-track p{margin:8px 0 0;font-family:var(--font-body);font-size:14.5px;line-height:1.6;color:var(--ink-muted);max-width:30ch;text-wrap:pretty}
.vm7-limit{margin-top:clamp(28px,3.4vw,44px);background:var(--white);border-radius:var(--radius-sm,4px);padding:clamp(22px,2.8vw,36px)}
.vm7-limit__bar{display:grid;grid-template-columns:minmax(0,1fr) 2px minmax(0,1fr);align-items:center;gap:0;height:44px;border-radius:22px;overflow:hidden;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase}
.vm7-limit__in{display:flex;align-items:center;height:100%;padding:0 18px;background:var(--accent);color:var(--white)}
.vm7-limit__out{display:flex;align-items:center;justify-content:flex-end;height:100%;padding:0 18px;background:var(--teal-footer-deep);color:var(--white)}
.vm7-limit__bar i{height:100%;background:var(--white)}
.vm7-limit__cols{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:20px}
@media(min-width:700px){.vm7-limit__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}.vm7-limit__cols>div:last-child{text-align:right}.vm7-limit__cols>div:last-child p{margin-left:auto}}
.vm7-limit__cols b{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(21px,1.9vw,25px);color:var(--ink)}
.vm7-limit__cols p{margin:6px 0 0;font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--ink-muted);max-width:40ch}
.vm7-hw-hero{align-items:start}.vm7-hw-hero__fig{align-self:center}
.vm7-fee-card{align-self:center}.vm7-plan__for{margin:2px 0 4px;font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--ink-muted)}.vm7-who3__c--feat{border-color:var(--accent)!important;background:var(--white)!important;box-shadow:inset 0 3px 0 var(--accent)}

/* Guides, rebuilt: a featured start, six situation cards, two field notes. */
.vm7-gfeat{display:flex;flex-direction:column;gap:12px;padding:clamp(26px,3.2vw,40px);background:var(--teal-footer-deep);color:var(--white);border-radius:var(--radius-sm,4px);text-decoration:none;transition:background-color .2s ease}
.vm7-gfeat:hover{background:color-mix(in oklch,var(--teal-footer-deep) 82%,black);color:var(--white)}
.vm7-gfeat:focus-visible{outline:2px solid var(--teal-footer-deep);outline-offset:3px}
.vm7-gfeat .vm-mono{color:var(--ivory-200)}
.vm7-gfeat b{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,3vw,38px);line-height:1.12}
.vm7-gfeat p{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--ivory-100);max-width:42ch}
.vm7-gfeat__m{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ivory-200)}
.vm7-gfeat__go{margin-top:8px;font-family:var(--font-sans);font-stretch:expanded;font-size:15.5px}
.vm7-gcards{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:clamp(28px,3.4vw,44px)}
@media(min-width:700px){.vm7-gcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1080px){.vm7-gcards{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
.vm7-gcard{background:var(--white);border-radius:var(--radius-sm,4px);padding:clamp(22px,2.6vw,30px);display:flex;flex-direction:column;gap:8px;scroll-margin-top:90px}
.vm7-gcard .vm-mono{color:var(--accent)}
.vm7-gcard h3{margin:0 0 8px;font-family:var(--font-display);font-weight:400;font-size:clamp(21px,1.9vw,25px);line-height:1.2;color:var(--ink)}
.vm7-gcard ul{list-style:none;margin:0;padding:0}
.vm7-gcard li a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;min-height:44px;box-sizing:border-box;border-top:1px solid var(--rule-sand-50);text-decoration:none;color:var(--ink)}
.vm7-gcard li a span{font-family:var(--font-body);font-size:15px;line-height:1.4;transition:color .2s ease}
.vm7-gcard li a em{font-style:normal;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap}
.vm7-gcard li a:hover span{color:var(--accent)}
.vm7-gnotes{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:clamp(28px,3.4vw,44px)}
@media(min-width:760px){.vm7-gnotes{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}}
.vm7-gnote{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink)}
.vm7-gnote img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:var(--radius-sm,4px);margin-bottom:10px}
.vm7-gnote .vm-mono{color:var(--accent)}
.vm7-gnote b{font-family:var(--font-display);font-weight:400;font-size:clamp(22px,2.1vw,27px);line-height:1.18;transition:color .2s ease}
.vm7-gnote p{margin:0;font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--ink-muted);max-width:46ch}
.vm7-gnote:hover b{color:var(--accent)}
@media (prefers-reduced-motion:reduce){.vm7-gfeat,.vm7-gcard li a span,.vm7-gnote b{transition:none}}
.vm7-gcard li a,.vm7-gcard li a span,.vm7-gcard li a em,.vm7-gnote,.vm7-gfeat{text-decoration:none!important;border-bottom:0}.vm7-gcard li a{border-top:1px solid var(--rule-sand-50)!important}.vm7-gcard li a span{color:var(--ink)}

/* Guides cards: make each row read as a link. */
.vm7-gcard li a{position:relative;padding-right:26px!important;transition:background-color .2s ease,padding-left .2s ease}
.vm7-gcard li a::after{content:"→";position:absolute;right:2px;top:50%;transform:translateY(-50%);color:var(--accent);font-family:var(--font-body);font-size:15px;transition:transform .2s ease}
.vm7-gcard li a span{color:var(--accent)!important;text-decoration:underline!important;text-decoration-color:color-mix(in oklab,var(--accent) 35%,transparent)!important;text-underline-offset:3px;text-decoration-thickness:1px}
.vm7-gcard li a:hover span{text-decoration-color:var(--accent)!important}
.vm7-gcard li a:hover::after{transform:translate(4px,-50%)}
.vm7-gcard li a:hover{background:color-mix(in oklab,var(--ivory-200) 55%,transparent);padding-left:8px}
.vm7-gcard li a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.vm7-gcard li a em{margin-right:8px}
@media (prefers-reduced-motion:reduce){.vm7-gcard li a,.vm7-gcard li a::after{transition:none}}
.vm7-gcard li{height:auto!important}.vm7-gcard li a{display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;align-items:baseline;height:auto!important;max-height:none!important;line-height:1.4}.vm7-gcard li a span{min-width:0;white-space:normal}

/* Breadcrumb back to Guides on every guide, tool and sheet. */
.vm7-crumb{border-bottom:1px solid var(--rule-sand-50);background:var(--white)}
.vm7-crumb .vm-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:48px;padding-top:6px;padding-bottom:6px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted)}
.vm7-crumb a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--accent);text-decoration:none}
.vm7-crumb a:hover{text-decoration:underline;text-underline-offset:3px}
.vm7-crumb [aria-current]{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
@media print{.vm7-crumb{display:none}}
@media(max-width:760px){.vm7-cta__opts a{display:flex;flex-direction:column;justify-content:center;min-height:48px}}
.vm7-crumb{padding-inline:var(--section-pad-x,clamp(20px,5vw,72px))}

.vm7-gcard[id],#know,#choosing,#library{scroll-margin-top:96px}
.vm7-crumb--end{border-bottom:0;border-top:1px solid var(--rule-sand-50);background:var(--ivory-200)}
.vm7-crumb--end .vm-wrap{min-height:64px}
@media(max-width:600px){.vm7-crumb [aria-current],.vm7-crumb .vm-wrap>span[aria-hidden]:has(+[aria-current]){display:none}
.vm7-gcard li em,.vm7-gfeat__m,.vm7-cta .vm-mono,.vm7-cta li em,.hr-tv b,h3 em,.vm7-st__tag,.pb__m span,.pb li em,.pb em,.rg-search label,.rg-stats dt,.vm7-crumb .vm-wrap{font-size:12px}}

/* Mobile legibility floor: no running label below 12px on a phone. Prefixed to outrank page-level rules; screen only, so printed sheets keep their sizes. */
@media screen and (max-width:600px){
html body .vm7-menu__place,
html body .vm7-ky caption,
html body .vm7-ky th[scope="row"] span,
html body .vm7-ky__v *,
html body .vm7-note2__brand .vm-mono,
html body .vm7-pin,
html body .vm7-note2__sig *,
html body .vm7-ppl__q figcaption,
html body .vm7-way__k,
html body .vm7-delay .c b,
html body .vm7-track__d,
html body .vm7-limit__bar *,
html body .vm7-gcard li em,
html body .vm7-gfeat__m,
html body .rg-search label,
html body .rg-stats dt,
html body .vm7-form__step span,
html body .vm7-f label em,
html body .vm-legal__meta,
html body .rg-crumb *,
html body .mt th,
html body .mt td.n,
html body .vm7-art__crumb,
html body .vm7-art__meta *,
html body .vm7-sheet__two .k,
html body .vm7-sheet__h,
html body .vm7-chk .lg,
html body .vm7-shots figcaption,
html body .vm7-sheet__sign .k,
html body span.vm7-st,
html body .sh-hd .sh-meta *,
html body .st-sec__k,
html body .st-sec__k *,
html body .st-f span,
html body .sh-src .sh-prov,
html body .sh-ft p,
html body .pe-flow em,
html body .sh-w__lbl,
html body .sd__k,
html body .rg-meta *,
html body .lp__meta span,
html body .yr td:first-child,
html body .vm7-mo__own b,
html body .hr-tv b,
html body h3 em,
html body .hc__meta span,
html body .hr-dia li span,
html body .hr-dia figcaption *,
html body .sp td:first-child em,
html body .sh-q__n,
html body .sh-firms > div > span,
html body .vm7-st__ek,
html body .vm7-st__prov,
html body .cq__n,
html body .ehc__meta *,
html body .pb__m > span,
html body .pb__l a em,
html body .vm7-cta .vm-mono,
html body .vm7-cta li em,
html body .vm7-st__tag{font-size:12px}
html body .sp td input{min-height:44px}
html body .hr-list h3 em{font-size:12px}
html body .vm7-st__ft .vm7-st__prov{font-size:12px!important}
}
@media screen and (max-width:600px){.vm7-nrow{grid-template-columns:minmax(0,1fr)!important}.vm7-nrow>*{min-width:0}.sh-hd,.sh-hd>*{min-width:0}.sh-meta,.sh-meta span{white-space:normal!important;overflow-wrap:anywhere}}
@media screen and (max-width:600px){.vm7-sheet__brand{flex-wrap:wrap;row-gap:6px}}

.vm7-ftr__contact{margin-top:clamp(22px,2.6vw,30px);padding-top:clamp(20px,2.4vw,26px);border-top:1px solid var(--ivory-a22);display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:340px}
.vm7-ftr p.vm7-ftr__addr{font-family:var(--font-mono);font-size:12.5px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;color:var(--ivory-300);margin:0}
.vm7-ftr p.vm7-ftr__reach{display:flex;flex-direction:column;gap:2px;margin:0}
.vm7-ftr .vm7-ftr__reach a{font-family:var(--font-display);font-size:17px;letter-spacing:.01em;color:var(--ivory-100);line-height:1.5}
.vm7-ftr a.vm7-ftr__cta{margin-top:10px;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px;border:1px solid var(--ivory-a32);border-radius:999px;font-size:14px;color:var(--ivory-100);transition:background .2s ease,border-color .2s ease}
.vm7-ftr a.vm7-ftr__cta span{transition:transform .2s ease}
.vm7-ftr a.vm7-ftr__cta:hover,.vm7-ftr a.vm7-ftr__cta:focus-visible{text-decoration:none;border-color:var(--ivory-100);background:rgba(250,246,238,.08)}
.vm7-ftr a.vm7-ftr__cta:hover span{transform:translateX(3px)}
@media(max-width:600px){.vm7-ftr .vm7-ftr__reach a{display:inline-flex;align-items:center;min-height:40px}}
.vm7-ftr p.vm7-foot__badge{margin:clamp(36px,4vw,48px) 0 clamp(12px,2vw,20px)}.vm7-ftr .vm7-foot__badge img{display:block;width:120px;height:auto;opacity:.85;transition:opacity .2s}.vm7-ftr .vm7-foot__badge a{display:inline-block}.vm7-ftr .vm7-foot__badge a:hover img,.vm7-ftr .vm7-foot__badge a:focus-visible img{opacity:1}

/* Homepage closing v2: the argument and the steps on the left, one action card on the right. */
.vm7-close{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(36px,5vw,72px);align-items:start;max-width:1120px;margin:0 auto}.vm7-close__l .vm-h2{text-wrap:balance}@media(min-width:900px){.vm7-close>:last-child{margin-top:8px}}
@media(min-width:900px){.vm7-close{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}
.vm7-close__l .vm-h2{margin:0;text-align:left;max-width:16ch}
.vm7-close__lede{font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--ivory-200);margin:18px 0 0;max-width:46ch;text-wrap:pretty}
.vm7-close__k,.vm7-close__ck{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;margin:0}
.vm7-close__k{color:var(--ivory-300);margin-top:clamp(28px,3.4vw,44px)}
.vm7-close__steps{list-style:none;margin:14px 0 0;padding:0;counter-reset:cs;border-top:1px solid var(--ivory-a32)}
.vm7-close__steps li{counter-increment:cs;display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:8px;row-gap:4px;padding:16px 0;border-bottom:1px solid var(--ivory-a32)}
.vm7-close__steps li::before{content:counter(cs,decimal-leading-zero);grid-row:span 2;font-family:var(--font-mono);font-size:12px;color:var(--ivory-300);padding-top:5px}
.vm7-close__steps b{font-family:var(--font-display);font-weight:400;font-size:20px;line-height:1.25;color:var(--ivory-100)}
.vm7-close__steps span{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--ivory-200);max-width:44ch}
.vm7-close__card{background:var(--ivory-100);color:var(--ink);border-radius:var(--radius-md,6px);padding:clamp(28px,3.2vw,40px)}
.vm7-close__card .vm7-close__ck{color:var(--umber-action)}
.vm7-close__card h3{font-family:var(--font-display);font-weight:400;font-size:clamp(26px,2.6vw,32px);line-height:1.15;color:var(--ink);margin:10px 0 0}
.vm7-close__card>p:not(.vm7-close__ck){font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--ink-muted);margin:10px 0 22px}
.vm7-close__card .btn{width:100%;justify-content:center;text-align:center;box-sizing:border-box}
.vm7-close__alt{margin-top:28px;padding-top:22px;border-top:1px solid var(--rule-sand)}
.vm7-close__alt .vm7-close__ck{color:var(--ink-muted);margin-bottom:6px}
.vm7-close__alt a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;border-bottom:1px solid var(--rule-sand);text-decoration:none;color:var(--ink)}
.vm7-close__alt a:last-child{border-bottom:0}
.vm7-close__alt a span{font-family:var(--font-body);font-size:14px;color:var(--ink-muted)}
.vm7-close__alt a b{font-family:var(--font-sans);font-weight:500;font-size:15px;color:var(--umber-action);overflow-wrap:anywhere;text-align:right}
.vm7-close__alt a:hover b{color:var(--umber-action-hover);text-decoration:underline;text-underline-offset:3px}

/* What we do: intro beside a photograph that bleeds to the right edge. */
.vm7-wwd{--g:clamp(20px,5vw,72px);display:grid;grid-template-columns:minmax(0,1fr);background:var(--white)}
.vm7-wwd__txt{padding:clamp(40px,7vw,72px) var(--g) clamp(32px,5vw,48px)}
.vm7-wwd__txt .vm-h1{margin:18px 0 16px;max-width:14ch}
.vm7-wwd__txt .vm-lede{max-width:46ch;margin:0}
.vm7-wwd__pts{list-style:none;margin:clamp(26px,3vw,36px) 0 0;padding:0;border-top:1px solid var(--rule-sand);max-width:520px}
.vm7-wwd__pts li{display:grid;gap:3px;padding:14px 0;border-bottom:1px solid var(--rule-sand)}
.vm7-wwd__pts b{font-family:var(--font-sans);font-stretch:expanded;font-weight:500;font-size:15px;color:var(--ink)}
.vm7-wwd__pts span{font-family:var(--font-body);font-size:15px;line-height:1.55;color:var(--ink-muted)}
.vm7-wwd .btnrow{margin-top:clamp(24px,3vw,32px);align-items:center;column-gap:28px}
.vm7-wwd__link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-family:var(--font-sans);font-stretch:expanded;font-size:15px;color:var(--umber-action);text-decoration:none}
.vm7-wwd__link span{border-bottom:1px solid var(--umber-action);padding-bottom:3px}
.vm7-wwd__link i{font-style:normal;transition:transform .2s}
.vm7-wwd__link:hover{color:var(--umber-action-hover)}.vm7-wwd__link:hover i{transform:translateX(4px)}
.vm7-wwd__img{margin:0;min-height:0}
.vm7-wwd__img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:58% 60%}
@media(min-width:1100px){
.vm7-wwd{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);min-height:min(82vh,760px)}
.vm7-wwd__txt{align-self:center;padding-left:max(var(--g),calc((100vw - 1240px)/2));padding-right:clamp(32px,4vw,64px)}
.vm7-wwd__img{position:relative}
.vm7-wwd__img img{position:absolute;inset:0;height:100%;aspect-ratio:auto;object-position:62% 70%}
}

/* Secondary action as a text link beside the one solid button, site-wide. */
.btnrow:has(.vm-tlink),.vm7-flow__go:has(.vm-tlink){display:flex;flex-wrap:wrap;align-items:center;column-gap:28px;row-gap:12px}
.vm-tlink{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-family:var(--font-sans);font-stretch:expanded;font-size:15px;color:var(--umber-action);text-decoration:none}
.vm-tlink span{border-bottom:1px solid currentColor;padding-bottom:3px}
.vm-tlink i{font-style:normal;transition:transform .2s}
.vm-tlink:hover{color:var(--umber-action-hover)}.vm-tlink:hover i{transform:translateX(4px)}
.vm-tlink--iv,.vm-tlink--iv:hover{color:var(--ivory-100)}
.btnrow--c:has(.vm-tlink){justify-content:center}

/* WHAT WE DO · Home Watch definition and NHWA accreditation: one ruled panel, definition left, requirements right, service area as its foot. */
.vm7-hw{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--rule-sand);border-top:2px solid var(--ink);background:var(--white)}
@media(min-width:900px){.vm7-hw{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}
.vm7-hw>div{padding:clamp(22px,2.8vw,36px)}
.vm7-hw .vm-mono{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.vm7-hw__def{background:var(--ivory-200);display:flex;flex-direction:column}
.vm7-hw__def blockquote{margin:14px 0 0;font-family:var(--font-display);font-weight:400;font-size:clamp(var(--step-25),2.6vw,var(--step-31));line-height:1.24;color:var(--ink);max-width:22ch;text-wrap:pretty}
.vm7-hw__only{margin:auto 0 0;padding-top:clamp(18px,2.2vw,26px);font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--ink)}
.vm7-hw__acc{border-top:1px solid var(--rule-sand)}
@media(min-width:900px){.vm7-hw__acc{border-top:0;border-left:1px solid var(--rule-sand)}}
.vm7-hw__acc p{font-family:var(--font-body);font-size:15px;line-height:1.7;color:var(--ink);margin:12px 0 0;max-width:50ch}
.vm7-hw__acc ul{list-style:none;margin:12px 0 0;padding:0;border-top:1px solid var(--rule-sand-50)}
.vm7-hw__acc li{position:relative;padding:9px 0 9px 20px;border-bottom:1px solid var(--rule-sand-50);font-family:var(--font-body);font-size:14.5px;line-height:1.55;color:var(--ink)}
.vm7-hw__acc li::before{content:"";position:absolute;left:2px;top:19px;width:9px;height:1.6px;background:var(--accent)}
.vm7-hw__area{grid-column:1/-1;margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;padding:16px clamp(22px,2.8vw,36px);border-top:1px solid var(--rule-sand);font-family:var(--font-body);font-size:15px;color:var(--ink)}
.vm7-hw__area .vm-mono{color:var(--ink-muted)}
@media(max-width:600px){.vm7-hw .vm-mono{font-size:12px}}

.vm7-name{background:var(--ivory-200);text-align:center}
.vm7-name__in{max-width:760px;margin:0 auto}
.vm7-name__k{display:block;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.vm7-name__word{margin:clamp(18px,2.4vw,30px) 0 0;font-family:var(--font-display);font-weight:400;font-size:clamp(44px,6vw,80px);line-height:1;letter-spacing:-.01em;color:var(--ink);display:flex;justify-content:center}
.vm7-name__word span:last-child{color:var(--accent);font-style:italic}
.vm7-name__defs{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin:clamp(24px,2.8vw,36px) 0 0;padding-top:clamp(20px,2.4vw,30px);border-top:1px solid var(--rule-sand)}
@media(min-width:700px){.vm7-name__defs{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.vm7-name__defs>div{padding:0 clamp(20px,3vw,44px)}.vm7-name__defs>div+div{border-left:1px solid var(--rule-sand)}}
.vm7-name__t{margin:0;font-family:var(--font-display);font-size:clamp(20px,1.9vw,24px);line-height:1.2;color:var(--ink)}
.vm7-name__t em{display:block;margin-top:6px;font-family:var(--font-mono);font-style:normal;font-size:11.5px;letter-spacing:.1em;color:var(--ink-muted)}
.vm7-name__defs>div>p:last-child{margin:12px auto 0;max-width:30ch;font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--ink);text-wrap:pretty}
.vm7-name__close{margin:clamp(26px,3vw,40px) auto 0;max-width:48ch;font-family:var(--font-display);font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:var(--ink);text-wrap:pretty}

.vm7-feeimg{margin:0;overflow:hidden;border-radius:var(--radius-sm,4px)}
.vm7-feeimg img{display:block;width:100%;height:100%;object-fit:cover}
.vm7-feeimg--band{border-radius:0;height:clamp(280px,42vw,560px)}
.vm7-feeimg--band img{object-position:65% 75%}
.vm7-plansintro{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(22px,3vw,40px);align-items:center;margin-bottom:clamp(8px,1vw,14px)}
.vm7-plansintro .vm7-feeimg{aspect-ratio:16/10}
.vm7-plansintro .vm7-feeimg img{object-position:40% 40%}
@media(min-width:860px){.vm7-plansintro{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.vm7-plansintro>div{padding-right:clamp(12px,3vw,48px)}}

.vm7-artfig{margin:clamp(24px,3vw,40px) 0;overflow:hidden;border-radius:var(--radius-sm,4px)}.vm7-artfig img{display:block;width:100%;height:100%;object-fit:cover}
.vm7-feeimg--rec{height:clamp(240px,34vw,460px)}.vm7-feeimg--rec img{object-position:50% 55%}

/* Footer columns: open lists on desktop, tap-to-open sections on phones. */
.vm7-ftr__col>summary{list-style:none;cursor:default;pointer-events:none}
.vm7-ftr__col>summary::-webkit-details-marker{display:none}
@media(max-width:700px){
.vm7-ftr__grid{grid-template-columns:minmax(0,1fr)!important;row-gap:0!important}
.vm7-ftr__grid>div:first-child{grid-row:auto!important;margin-bottom:clamp(24px,6vw,32px)}
.vm7-ftr__col{border-top:1px solid var(--ivory-a22)}
.vm7-ftr__col:last-child{border-bottom:1px solid var(--ivory-a22)}
.vm7-ftr__col>summary{pointer-events:auto;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:52px}
.vm7-ftr__col>summary h4{margin:0}
.vm7-ftr__col>summary::after{content:"";width:8px;height:8px;border-right:1.5px solid var(--ivory-300);border-bottom:1.5px solid var(--ivory-300);transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s ease}
.vm7-ftr__col[open]>summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.vm7-ftr__col>summary:focus-visible{outline:2px solid var(--ivory-100);outline-offset:2px}
.vm7-ftr__col>ul{padding-bottom:12px}
}

/* Captions on tables that are reflowed to blocks on phones keep the full width instead of shrinking to one word per line. */
@media(max-width:900px){.vm7-ky caption,.sp caption,.yr caption,.vm7-delay caption:not(.vm-vh){display:block;width:auto;max-width:none;letter-spacing:.06em;line-height:1.6;text-wrap:pretty}}

/* Legal strip on phones: one compact block — copyright, links in a row, icons in a row. */
.vm7-ftr__soc a{color:var(--ivory-200)}.vm7-ftr__soc a:hover{color:var(--ivory-100)}
@media(max-width:700px){
.vm7-ftr__legal{flex-direction:column;align-items:flex-start;gap:12px;padding-top:20px}
.vm7-ftr__legal ul{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 20px;width:100%}
.vm7-ftr__legal li a{min-height:36px;padding:0}
.vm7-ftr__legal p,.vm7-ftr__legal a{font-size:11.5px}
.vm7-ftr__soc{margin-left:0;flex-basis:100%;gap:8px;margin-top:4px}
.vm7-ftr__soc a{width:36px;height:36px;justify-content:flex-start}
}

/* Mobile menu: hover/tap keeps ivory text and adds a visible wash, never darkens the link. */
.vm7-menu__list a,.vm7-menu__list a:visited{color:var(--ivory-200)}
.vm7-menu__list a:hover,.vm7-menu__list a:focus-visible,.vm7-menu__list a:active{color:var(--ivory-100)!important;background:color-mix(in oklab,var(--umber-panel),var(--ivory-100) 10%);text-decoration:none;padding-left:12px;margin-left:-12px;margin-right:-12px;padding-right:12px;border-radius:4px}
.vm7-menu__list a:focus-visible{outline:2px solid var(--ivory-100);outline-offset:-2px}
.vm7-menu__act a.p:hover,.vm7-menu__act a.p:active{background:var(--umber-action-hover)!important;color:var(--ivory-100)!important}
.vm7-menu__act a.s:hover,.vm7-menu__act a.s:active{color:var(--ivory-100)!important;border-color:var(--ivory-100)!important}

@media(max-width:700px){.vm7-ftr__col:last-child{border-bottom:0}.vm7-ftr__legal{margin-top:0}}

/* Radio and checkbox rows: the whole label is the tap target, 44px tall on phones. */
@media(max-width:700px){label:has(>input[type=radio]),label:has(>input[type=checkbox]){display:flex;align-items:center;gap:10px;min-height:44px}label>input[type=radio],label>input[type=checkbox]{width:20px;height:20px;flex:0 0 auto}}

/* Winter Family Collective mark, far right of the legal row. */
.vm7-ftr__legal ul{align-items:center}.vm7-ftr__legal .vm7-ftr__wfc{margin-left:8px}.vm7-ftr__legal .vm7-ftr__wfc a{flex-direction:column;align-items:center;gap:3px;min-height:44px;color:var(--ivory-100);text-decoration:none}.vm7-ftr__wfc span{font-family:var(--font-sans,inherit);font-size:9px;letter-spacing:.32em;margin-right:-.32em;line-height:1}.vm7-ftr__legal .vm7-ftr__wfc a:hover,.vm7-ftr__legal .vm7-ftr__wfc a:focus-visible{opacity:.75;text-decoration:none}
@media(max-width:700px){.vm7-ftr__legal .vm7-ftr__soc{flex:0 1 calc(100% - 54px)}.vm7-ftr__legal .vm7-ftr__wfc{margin-left:auto}}
