@import url("tokens.css");@import url("fonts.css");*, *::before, *::after { box-sizing:border-box; }
html { overflow-x:clip; scroll-behavior:smooth; }
body {margin:0;overflow-x:clip;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-weight:400;font-size:var(--text-base);line-height:1.65;padding-bottom:env(safe-area-inset-bottom);}
.bloom {position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(42rem 24rem at 50% -10%, color-mix(in oklch, var(--color-accent-2) 9%, transparent), transparent 72%);}
main, .site-footer, .site-head, .cta-sticky { position:relative; z-index:var(--z-base); }
img, svg { max-width:100%; height:auto; }
h1, h2, h3, h4, p, ul, ol, dl, blockquote, figure { margin:0; }
a { color:var(--color-ink); }
a:not(.btn):active { color:var(--color-accent-2-hover); }
::selection { background:var(--color-accent); color:var(--color-accent-ink); }
.container { max-width:74rem; margin-inline:auto; padding-inline:var(--page-gutter); }
.display {font-family:var(--font-display);font-weight:800;text-transform:uppercase;line-height:1.02;letter-spacing:0.005em;overflow-wrap:anywhere;min-width:0;}
.caps-label {font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:0.12em;color:var(--color-muted);}
.lede { font-size:var(--text-md); color:var(--color-ink-2); max-width:58ch; }
.tnum { font-variant-numeric:tabular-nums; }
.kicker {font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:0.06em;font-size:var(--text-md);color:var(--color-accent);}
.dashes {display:inline-flex;align-items:center;gap:5px;}
.dashes::before, .dashes::after { content:none; }
.dashes i {display:block;height:4px;border-radius:2px;background:var(--color-accent-2);}
.dashes i:nth-child(1) { width:1.6rem; }
.dashes i:nth-child(2) { width:0.9rem; opacity:0.75; }
.dashes i:nth-child(3) { width:0.45rem; background:var(--color-accent); }
:focus-visible { outline:2px solid var(--color-focus); outline-offset:3px; }
.btn--fill:focus-visible {outline-color:var(--color-accent-ink);box-shadow:0 0 0 var(--rule-focus-halo) var(--color-focus);}
.btn {display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:48px;padding:var(--space-sm) var(--space-lg);border:var(--rule-hair) solid transparent;border-radius:0;clip-path:polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, var(--cut) 100%, 0 calc(100% - var(--cut)));font-family:var(--font-body);font-weight:700;font-size:var(--text-base);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),
border-color var(--dur-short) var(--ease-out),
filter var(--dur-short) var(--ease-out),
transform 100ms var(--ease-out);}
.btn--fill { background:var(--grad-flame); color:var(--color-accent-ink); }
.btn--dark { background:var(--color-paper-3); color:var(--color-ink); border-color:var(--color-rule-2); }
.btn--sm { min-height:42px; padding:var(--space-xs) var(--space-md); font-size:var(--text-sm); }
.btn:active { transform:translateY(1px); }
.btn:disabled, .btn[aria-disabled="true"] { opacity:0.55; cursor:not-allowed; transform:none; }
.btn[data-state="loading"] { cursor:progress; opacity:0.72; }
.btn[data-state="error"] { border-color:var(--color-error); }
.btn .ico { width:18px; height:18px; flex:none; }
@media (max-width:28rem) {.btn { white-space:normal; text-align:center; }}
.link-arrow {display:inline-block;font-weight:500;color:var(--color-accent-2);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;white-space:nowrap;transition:color var(--dur-micro) var(--ease-out);}
.site-head {position:sticky;top:0;z-index:var(--z-sticky);background:color-mix(in oklch, var(--color-paper) 88%, transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:var(--rule-hair) solid var(--color-rule-2);}
.site-head::before {content:"";display:block;height:var(--rule-fine);background:linear-gradient(90deg, var(--color-accent-2) 0 62%, var(--color-accent) 62% 100%);}
.site-head__inner {display:flex;align-items:center;gap:var(--space-lg);min-height:4.75rem;}
.brand {display:inline-flex;align-items:center;gap:var(--space-sm);text-decoration:none;flex:none;}
.brand img { width:46px; height:46px; flex:none; }
.brand__text { display:grid; line-height:1.05; }
.brand__text b {font-family:var(--font-wordmark);font-weight:800;font-size:1.06rem;letter-spacing:0.03em;text-transform:uppercase;white-space:nowrap;}
.brand__text span {font-size:0.62rem;font-weight:600;letter-spacing:0.42em;text-transform:uppercase;color:var(--color-accent-2);white-space:nowrap;}
.nav { margin-left:auto; }
.nav > ul {display:flex;align-items:center;gap:var(--space-lg);list-style:none;margin:0;padding:0;}
.nav a {text-decoration:none;font-size:var(--text-sm);font-weight:600;color:var(--color-ink-2);white-space:nowrap;transition:color var(--dur-micro) var(--ease-out);}
.nav a[aria-current="page"] { color:var(--color-accent-2); }
.nav__item--sub { position:relative; }
.nav__item--sub > a { display:inline-flex; align-items:center; gap:0.3em; }
.nav__item--sub > a::after {content:"";width:0.45em;height:0.45em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-0.1em);transition:transform var(--dur-micro) var(--ease-out);}
.nav .sub {position:absolute;top:calc(100% + 0.6rem);left:50%;translate:-50% 4px;min-width:15rem;visibility:hidden;opacity:0;list-style:none;margin:0;padding:var(--space-xs);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule-2);border-top:var(--rule-fine) solid var(--color-accent-2);box-shadow:var(--shadow-card);transition:opacity var(--dur-micro) var(--ease-out), translate var(--dur-micro) var(--ease-out), visibility 0s linear 160ms;}
.nav .sub::before {content:"";position:absolute;left:0;right:0;top:-0.7rem;height:0.7rem;}
.nav .sub a { display:block; padding:var(--space-sm) var(--space-md); }
.nav__item--sub:hover .sub,
.nav__item--sub:focus-within .sub { visibility:visible; opacity:1; translate:-50% 0; transition-delay:0s; }
.site-head__cta { flex:none; font-size:var(--text-sm); }
.nav-toggle {flex:none;display:none;min-width:44px;min-height:44px;border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-sm);background:var(--color-paper-3);color:var(--color-ink);font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);cursor:pointer;}
.nav-toggle:active { transform:translateY(1px); }
@media (max-width:68rem) {.nav {display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:var(--space-sm) var(--page-gutter) var(--space-lg);background:var(--color-paper-2);border-bottom:var(--rule-hair) solid var(--color-rule-2);box-shadow:var(--shadow-card);max-height:calc(100dvh - 4.75rem);overflow-y:auto;}
body.nav-open .nav { display:block; }
.nav > ul { flex-direction:column; align-items:stretch; gap:0; }
.nav > ul > li > a { display:block; padding:var(--space-sm) var(--space-xs); font-size:var(--text-base); }
.nav__item--sub > a::after { display:none; }
.nav .sub {position:static;translate:none;visibility:visible;opacity:1;transition:none;display:block;min-width:0;padding:0 0 var(--space-xs) var(--space-md);background:transparent;border:0;box-shadow:none;}
.nav .sub::before { content:none; }
.nav .sub a { color:var(--color-muted); padding-block:var(--space-xs); }
.nav-toggle { display:inline-flex; align-items:center; justify-content:center; margin-left:auto; }
.nav ~ .site-head__cta, .site-head__cta { display:none; }}
.hero { padding-block:var(--space-2xl) var(--space-3xl); }
.hero-grid {display:grid;grid-template-columns:minmax(0, 11fr) minmax(0, 9fr);gap:var(--space-2xl);align-items:center;}
.hero h1 { font-size:var(--text-display); max-width:22ch; }
.h1-break { display:none; }
@media (min-width:60rem) { .h1-break { display:inline; } }
.hero .kicker { display:flex; align-items:center; gap:var(--space-sm); margin-bottom:var(--space-md); }
.hero .lede { margin-top:var(--space-lg); }
.hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-md); margin-top:var(--space-xl); }
.hero__fineprint { margin-top:var(--space-md); font-size:var(--text-xs); color:var(--color-neutral); }
.stat-rail {list-style:none;margin:var(--space-xl) 0 0;padding:var(--space-md) 0 0;border-top:var(--rule-hair) solid var(--color-rule-2);display:grid;grid-template-columns:repeat(4, minmax(0, auto));justify-content:start;column-gap:var(--space-xl);row-gap:var(--space-md);}
.stat-rail li { display:grid; gap:2px; }
.stat-rail a { display:grid; gap:2px; color:inherit; text-decoration:none; }
.stat-rail b {font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);line-height:1;letter-spacing:0.02em;}
.stat-rail li:nth-child(odd) b { color:var(--color-accent); }
.stat-rail li:nth-child(even) b { color:var(--color-accent-2); }
.stat-rail span { color:var(--color-muted); font-size:var(--text-xs); text-transform:uppercase; letter-spacing:0.08em; font-weight:600; }
@media (max-width:40rem) { .stat-rail { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
.media-card { position:relative; }
.media-card::before {content:"";position:absolute;inset:calc(-1 * var(--space-sm)) calc(-1 * var(--space-sm)) var(--space-sm) var(--space-sm);border:var(--rule-hair) solid var(--color-rule);pointer-events:none;}
.media-card::after {content:"";position:absolute;inset:12% -5% -8% 8%;background:radial-gradient(58% 58% at 62% 50%, color-mix(in oklch, var(--color-accent-2) 18%, transparent), transparent 75%);filter:blur(26px);z-index:-1;}
.media-card img {display:block;width:100%;border:var(--rule-hair) solid var(--color-rule-2);box-shadow:var(--shadow-card);}
.media-card__badge {position:absolute;left:calc(-1 * var(--space-md));bottom:var(--space-xl);padding:var(--space-sm) var(--space-lg);background:var(--grad-flame);color:var(--color-accent-ink);font-weight:700;clip-path:polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, var(--cut) 100%, 0 calc(100% - var(--cut)));white-space:nowrap;}
@media (max-width:60rem) {.hero-grid { grid-template-columns:minmax(0, 1fr); gap:var(--space-xl); }
.media-card__badge { left:var(--space-md); }
.media-card::before { display:none; }}
.sec { padding-block:var(--space-3xl) 0; }
.sec-head { max-width:46rem; margin-bottom:var(--space-xl); }
.sec-head .dashes { margin-bottom:var(--space-sm); }
.sec-head h2 { font-size:var(--text-display-s); }
.sec-head p { margin-top:var(--space-md); color:var(--color-ink-2); }
.sec-head .caps-label { display:block; margin-bottom:var(--space-sm); color:var(--color-accent-2); }
.sec-head--center { text-align:center; margin-inline:auto; }
.sec-head--center .dashes { justify-content:center; }
.head-hang { padding-block:var(--space-3xl) var(--space-xl); max-width:44ch; }
.head-hang h2 { font-size:var(--text-display-s); }
.head-hang h2::after {content:"";display:block;width:3.5rem;height:4px;border-radius:2px;margin-top:var(--space-md);background:linear-gradient(90deg, var(--color-accent) 0 55%, var(--color-accent-2) 55% 100%);}
.head-hang p { margin-top:var(--space-md); color:var(--color-ink-2); }
.ledger {list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));column-gap:var(--space-2xl);counter-reset:ledger;}
.ledger li {counter-increment:ledger;display:grid;grid-template-columns:auto minmax(0, 1fr);gap:var(--space-md);padding-block:var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule-2);align-items:start;}
.ledger li::before {content:"0" counter(ledger);font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);line-height:1.1;color:var(--color-rule);min-width:2ch;}
.ledger li:nth-child(odd)::before { color:var(--color-accent); }
.ledger li:nth-child(even)::before { color:var(--color-accent-2); }
.ledger h3 {font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:0.02em;font-size:var(--text-md);line-height:1.15;}
.ledger p { color:var(--color-muted); font-size:var(--text-sm); margin-top:var(--space-2xs); }
@media (max-width:56rem) { .ledger { grid-template-columns:minmax(0, 1fr); } }
.grid-3 { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-md); }
.fcard {display:grid;gap:var(--space-sm);align-content:start;padding:var(--space-lg);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule-2);border-top:var(--rule-fine) solid var(--color-accent-2);border-radius:var(--radius-sm);transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);}
.fcard--warm { border-top-color:var(--color-accent); }
.fcard__icon {width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-sm);background:color-mix(in oklch, var(--color-accent-2) 14%, var(--color-paper-3));color:var(--color-accent-2);}
.fcard__icon svg { width:20px; height:20px; }
.fcard--warm .fcard__icon {background:color-mix(in oklch, var(--color-accent) 14%, var(--color-paper-3));color:var(--color-accent);}
.fcard h3 {font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:0.02em;font-size:var(--text-md);line-height:1.1;}
.fcard p { color:var(--color-muted); font-size:var(--text-sm); }
@media (max-width:60rem) { .grid-3 { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:40rem) { .grid-3 { grid-template-columns:minmax(0, 1fr); } }
.strip {margin-top:var(--space-xl);padding:var(--space-md) var(--space-lg);text-align:center;background:color-mix(in oklch, var(--color-accent-2) 9%, var(--color-paper-2));border-block:var(--rule-hair) solid color-mix(in oklch, var(--color-accent-2) 30%, var(--color-rule-2));font-weight:600;color:var(--color-ink-2);}
.strip b { color:var(--color-ink); }
.svc-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--space-md); }
.svc-card {position:relative;display:grid;gap:var(--space-sm);align-content:start;padding:var(--space-xl);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule-2);border-top:var(--rule-fine) solid var(--color-accent-2);border-radius:var(--radius-sm);transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);}
.svc-card--fire { border-top-color:var(--color-accent); }
.svc-card__num {position:absolute;top:var(--space-sm);right:var(--space-md);font-family:var(--font-display);font-weight:800;font-size:var(--text-2xl);line-height:1;color:color-mix(in oklch, var(--color-rule-2) 72%, var(--color-paper-2));pointer-events:none;}
.svc-card__icon {width:48px;height:48px;display:grid;place-items:center;border-radius:var(--radius-sm);background:color-mix(in oklch, var(--color-accent-2) 14%, var(--color-paper-3));color:var(--color-accent-2);}
.svc-card__icon svg { width:24px; height:24px; }
.svc-card--fire .svc-card__icon {background:color-mix(in oklch, var(--color-accent) 14%, var(--color-paper-3));color:var(--color-accent);}
.svc-card h3 {font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:0.02em;font-size:var(--text-lg);line-height:1.05;}
.svc-card > p { color:var(--color-ink-2); font-size:var(--text-sm); }
.svc-list { list-style:none; margin:0; padding:0; display:grid; gap:var(--space-xs); }
.svc-list li {position:relative;padding-left:var(--space-lg);color:var(--color-muted);font-size:var(--text-sm);}
.svc-list li::before {content:"";position:absolute;left:0;top:0.42em;width:0.85em;height:0.45em;border-left:2px solid var(--color-accent-2);border-bottom:2px solid var(--color-accent-2);transform:rotate(-45deg);}
.svc-card--fire .svc-list li::before { border-color:var(--color-accent); }
.svc-card .link-arrow { justify-self:start; margin-top:var(--space-xs); }
.svc-card--flag { display:flex; flex-direction:column; align-items:stretch; }
.svc-card--flag .link-arrow { align-self:flex-start; margin-top:var(--space-xs); }
.svc-card__panel {margin-top:var(--space-md);padding-top:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule-2);flex:1 0 auto;display:grid;align-content:center;justify-items:start;gap:var(--space-xs);}
.svc-card__panel > b {font-family:var(--font-display);font-weight:800;font-size:clamp(2.6rem, 3.2vw, 3.8rem);line-height:0.9;letter-spacing:0.02em;color:var(--color-accent-2);}
.svc-card__panel > b span {font-size:0.36em;letter-spacing:0.14em;text-transform:uppercase;margin-left:0.3em;color:var(--color-muted);}
.svc-card__panel p { color:var(--color-muted); font-size:var(--text-sm); max-width:36ch; }
@media (min-width:56rem) {.svc-card--flag { grid-row:span 2; }
.svc-card--flag h3 { font-size:var(--text-xl); }}
@media (max-width:56rem) { .svc-grid { grid-template-columns:minmax(0, 1fr); } }
.mini-cta {margin-top:var(--space-xl);padding:var(--space-xl);display:grid;justify-items:start;gap:var(--space-md);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule-2);border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);}
.mini-cta h2, .mini-cta h3, .mini-cta p.display { font-size:var(--text-xl); }
.mini-cta p:not(.display) { color:var(--color-ink-2); max-width:60ch; }
.mini-cta__actions { display:flex; flex-wrap:wrap; gap:var(--space-md); }
.areas-wrap {display:grid;grid-template-columns:minmax(0, 11fr) minmax(0, 9fr);gap:var(--space-2xl);align-items:start;}
.county h3 {font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:0.02em;font-size:var(--text-lg);margin-bottom:var(--space-md);}
.county + .county { margin-top:var(--space-xl); }
.chips { display:flex; flex-wrap:wrap; gap:var(--space-sm); }
.chip-link {display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);background:transparent;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:600;color:var(--color-ink-2);text-decoration:none;white-space:nowrap;transition:border-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out);}
.chip-link::before {content:"";width:6px;height:6px;border-radius:999px;background:var(--color-accent-2);}
.note-card {margin-top:var(--space-xl);padding:var(--space-lg);background:color-mix(in oklch, var(--color-accent) 8%, var(--color-paper-2));border:var(--rule-hair) solid color-mix(in oklch, var(--color-accent) 30%, var(--color-rule-2));border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);}
.note-card h3, .note-card h4 {font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:var(--text-md);color:var(--color-accent);margin-bottom:var(--space-xs);}
.note-card p { color:var(--color-ink-2); font-size:var(--text-sm); }
.note-card .link-arrow { color:var(--color-accent); font-weight:600; }
.office-card {position:relative;margin:0;border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-sm);overflow:clip;display:grid;}
.office-card img { display:block; width:100%; }
.office-card figcaption {position:absolute;inset:auto 0 0 0;padding:var(--space-xl) var(--space-lg) var(--space-md);background:linear-gradient(to top, color-mix(in oklch, var(--color-paper) 88%, transparent), transparent);display:grid;justify-items:start;gap:2px;text-align:left;}
.office-card figcaption svg { width:20px; height:20px; color:var(--color-accent-2); }
.office-card b { font-size:var(--text-md); }
.office-card span { color:var(--color-ink-2); font-size:var(--text-sm); }
.stat-tiles { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--space-md); margin-top:var(--space-md); }
.stat-tile {display:grid;justify-items:start;gap:var(--space-3xs);padding:var(--space-lg);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule-2);border-top:var(--rule-fine) solid var(--color-accent-2);border-radius:var(--radius-sm);}
.stat-tile--warm { border-top-color:var(--color-accent); }
.stat-tile svg { width:20px; height:20px; color:var(--color-accent-2); }
.stat-tile--warm svg { color:var(--color-accent); }
.stat-tile b {font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);line-height:1;}
.stat-tile--warm b { color:var(--color-accent); }
.stat-tile span { color:var(--color-muted); font-size:var(--text-sm); }
@media (max-width:60rem) {.areas-wrap { grid-template-columns:minmax(0, 1fr); }}
.process {list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:var(--space-xl) var(--space-lg);counter-reset:step;}
.process li {position:relative;display:grid;align-content:start;gap:var(--space-xs);counter-increment:step;padding-top:var(--space-2xl);border-top:var(--rule-hair) solid var(--color-rule-2);}
.process li::before {content:"0" counter(step);position:absolute;top:var(--space-sm);left:0;font-family:var(--font-display);font-weight:800;font-size:var(--text-3xl);line-height:0.9;color:color-mix(in oklch, var(--color-rule-2) 80%, var(--color-paper));pointer-events:none;transition:color var(--dur-short) var(--ease-out);}
.process li::after {content:"";position:absolute;top:-1px;left:0;width:2.6rem;height:var(--rule-fine);background:var(--color-accent-2);transition:background-color var(--dur-short) var(--ease-out);}
.process h3 {position:relative;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:0.03em;font-size:var(--text-md);line-height:1.1;}
.process p { position:relative; color:var(--color-muted); font-size:var(--text-sm); max-width:30ch; }
@media (max-width:64rem) { .process { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:40rem) { .process { grid-template-columns:minmax(0, 1fr); } }
.proof-wrap {display:grid;grid-template-columns:minmax(0, 4fr) minmax(0, 9fr);gap:var(--space-2xl);align-items:start;}
.proof-rail {position:sticky;top:6.5rem;display:grid;justify-items:start;gap:var(--space-sm);}
.proof-rail .big-score {font-family:var(--font-display);font-weight:800;font-size:clamp(4rem, 8vw, 6.5rem);line-height:0.85;color:var(--color-accent);letter-spacing:0.01em;}
.proof-rail .stars svg { width:20px; height:20px; }
.proof-rail p { color:var(--color-muted); font-size:var(--text-sm); max-width:24ch; }
.stars { display:inline-flex; gap:2px; color:var(--color-accent); }
.stars svg { width:18px; height:18px; }
.quote-feature {border-left:3px solid var(--color-accent);padding-left:var(--space-lg);margin-bottom:var(--space-xl);}
.quote-feature blockquote {font-size:clamp(1.25rem, 1.2vw + 0.9rem, 1.65rem);line-height:1.45;color:var(--color-ink);max-width:56ch;}
.quote-feature footer { margin-top:var(--space-md); display:flex; align-items:center; gap:var(--space-sm); }
.quote-wall { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--space-lg) var(--space-2xl); }
.quote-wall article {display:grid;gap:var(--space-sm);align-content:start;padding-top:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule-2);}
.quote-wall blockquote { color:var(--color-ink-2); font-size:var(--text-sm); line-height:1.6; }
.quote-wall footer, .review-card footer { display:flex; align-items:center; gap:var(--space-sm); }
.avatar {width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:999px;background:var(--grad-hydro);color:var(--color-ink);font-family:var(--font-display);font-weight:800;font-size:var(--text-md);}
.quote-wall footer b, .review-card footer b { display:block; font-size:var(--text-sm); }
.quote-wall footer span, .review-card footer span { color:var(--color-muted); font-size:var(--text-xs); }
.quote-wall footer a, .review-card footer a, .quote-feature footer a {display:block;color:var(--color-muted);font-size:var(--text-xs);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
@media (max-width:60rem) {.proof-wrap { grid-template-columns:minmax(0, 1fr); }
.proof-rail { position:static; }
.quote-wall { grid-template-columns:minmax(0, 1fr); }}
.review-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-md); }
.review-card {display:grid;gap:var(--space-md);align-content:start;padding:var(--space-lg);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule-2);border-top:var(--rule-fine) solid var(--color-accent);border-radius:var(--radius-sm);}
.review-card blockquote { color:var(--color-ink-2); font-size:var(--text-sm); line-height:1.6; }
@media (max-width:60rem) { .review-grid { grid-template-columns:minmax(0, 1fr); } }
.ins-cols { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:var(--space-2xl); align-items:start; }
.ins-points { display:grid; gap:var(--space-md); }
.ins-points h3 { font-family:var(--font-display); font-weight:700; text-transform:uppercase; font-size:var(--text-xl); line-height:1.05; margin-bottom:var(--space-xs); }
.ins-points p { color:var(--color-ink-2); }
.ins-points p b { color:var(--color-ink); }
.authz-card {margin-top:var(--space-md);padding:var(--space-lg);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule-2);border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);}
.authz-card h4 { font-family:var(--font-display); font-weight:700; text-transform:uppercase; font-size:var(--text-md); margin-bottom:var(--space-xs); }
.authz-card p { color:var(--color-ink-2); font-size:var(--text-sm); }
.partner-card {padding:var(--space-xl);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule-2);border-top:var(--rule-fine) solid var(--color-accent-2);border-radius:var(--radius-sm);}
.partner-card h3 { font-family:var(--font-display); font-weight:700; text-transform:uppercase; font-size:var(--text-xl); margin-bottom:var(--space-lg); }
@media (max-width:60rem) { .ins-cols { grid-template-columns:minmax(0, 1fr); gap:var(--space-xl); } }
.faq { max-width:50rem; display:grid; counter-reset:q; }
.qa {counter-increment:q;border-bottom:var(--rule-hair) solid var(--color-rule-2);border-left:var(--rule-fine) solid transparent;transition:border-color var(--dur-short) var(--ease-out);}
.qa:first-of-type { border-top:var(--rule-hair) solid var(--color-rule-2); }
.qa[open] { border-left-color:var(--color-accent-2); background:color-mix(in oklch, var(--color-paper-2) 55%, transparent); }
.qa summary {list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:var(--space-md);padding:var(--space-md) var(--space-md) var(--space-md) var(--space-sm);font-weight:600;min-height:44px;}
.qa summary::before {content:"0" counter(q);font-family:var(--font-display);font-weight:800;font-size:var(--text-md);color:var(--color-rule);flex:none;min-width:2ch;}
.qa[open] summary::before { color:var(--color-accent-2); }
.qa summary::-webkit-details-marker { display:none; }
.qa summary::after {content:"";flex:none;margin-left:auto;width:0.55em;height:0.55em;border-right:2px solid var(--color-accent-2);border-bottom:2px solid var(--color-accent-2);transform:rotate(45deg) translateY(-0.15em);transition:transform var(--dur-short) var(--ease-out);}
.qa[open] summary::after { transform:rotate(225deg); }
.qa p { padding:0 var(--space-lg) var(--space-lg) calc(var(--space-sm) + 2ch + var(--space-md)); color:var(--color-ink-2); font-size:var(--text-sm); max-width:70ch; }
.form-card {max-width:52rem;background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule-2);border-top:var(--rule-fine) solid var(--color-accent-2);border-radius:var(--radius-sm);padding:var(--space-xl);}
.form { display:grid; gap:var(--space-lg); }
.form-row { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--space-lg); }
@media (max-width:40rem) { .form-row { grid-template-columns:minmax(0, 1fr); } }
.field { display:grid; gap:var(--space-2xs); }
.field label { font-size:var(--text-sm); font-weight:500; color:var(--color-ink-2); }
.field input, .field textarea, .field select {font:inherit;color:var(--color-ink);background:var(--color-paper);border:var(--rule-hair) solid var(--color-rule);outline:2px solid transparent;border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);min-height:48px;width:100%;transition:border-color var(--dur-short) var(--ease-out);}
.field select { appearance:none; background-image:linear-gradient(45deg, transparent 50%, var(--color-muted) 50%), linear-gradient(135deg, var(--color-muted) 50%, transparent 50%); background-position:calc(100% - 1.3rem) 55%, calc(100% - 1rem) 55%; background-size:0.32rem 0.32rem; background-repeat:no-repeat; }
.field input::placeholder, .field textarea::placeholder { color:var(--color-muted); }
.field textarea { min-height:7rem; resize:vertical; }
.field input:focus-visible, .field textarea:focus-visible, .field select:focus-visible { outline:2px solid var(--color-focus); outline-offset:1px; }
.field input[aria-invalid="true"], .field textarea[aria-invalid="true"] { border-color:var(--color-error); }
.field .error { color:var(--color-error); font-size:var(--text-sm); min-height:1lh; visibility:hidden; }
.field[data-invalid] .error { visibility:visible; }
.radio-row { display:flex; flex-wrap:wrap; gap:var(--space-sm); }
.radio-pill { position:relative; }
.radio-pill input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.radio-pill span {display:inline-block;padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-pill);border:var(--rule-hair) solid var(--color-rule);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:600;transition:border-color var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out);}
.radio-pill input:checked + span { background:color-mix(in oklch, var(--color-accent-2) 16%, var(--color-paper-3)); border-color:var(--color-accent-2); color:var(--color-ink); }
.radio-pill input:focus-visible + span { outline:2px solid var(--color-focus); outline-offset:2px; }
.consent { display:flex; gap:var(--space-sm); align-items:start; font-size:var(--text-xs); color:var(--color-muted); }
.consent input { width:18px; height:18px; margin-top:2px; accent-color:var(--color-accent-2); flex:none; }
.form__alt { color:var(--color-muted); font-size:var(--text-sm); }
.form-status { font-weight:600; color:var(--color-accent-2); }
.form-status[data-kind="error"] { color:var(--color-error); }
.form--sent > *:not(.form-status) { display:none; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.contact-grid { display:grid; grid-template-columns:5fr 7fr; gap:var(--space-2xl); }
@media (max-width:60rem) { .contact-grid { grid-template-columns:minmax(0, 1fr); } }
.contact-direct { display:grid; gap:var(--space-lg); align-content:start; }
.contact-direct a.big {font-family:var(--font-display);font-weight:800;font-size:clamp(1.8rem, 4vw, 2.8rem);letter-spacing:0.02em;color:var(--color-accent);text-decoration:none;line-height:1.05;overflow-wrap:anywhere;}
.trust-band ul {list-style:none;margin:var(--space-lg) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-xl);}
.trust-band li {display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:600;white-space:nowrap;}
.trust-band li a { color:inherit; text-decoration:none; }
.trust-band svg { width:16px; height:16px; color:var(--color-accent-2); }
.trust-band li:nth-child(odd) svg { color:var(--color-accent); }
.trust-chips {display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);margin-top:var(--space-xl);list-style:none;padding:var(--space-md) 0 0;border-top:var(--rule-hair) solid var(--color-rule-2);}
.trust-chips li {display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);font-weight:600;color:var(--color-ink-2);}
.trust-chips svg { width:18px; height:18px; color:var(--color-accent-2); flex:none; }
.trust-chips li:nth-child(odd) svg { color:var(--color-accent); }
.statement {margin-top:var(--space-3xl);padding:var(--space-3xl) 0;background:radial-gradient(50rem 26rem at 50% 0%, color-mix(in oklch, var(--color-accent-2) 10%, transparent), transparent 70%),
var(--color-paper-2);border-top:var(--rule-hair) solid var(--color-rule-2);}
.statement .dashes { margin-bottom:var(--space-md); }
.statement h2 { font-size:var(--text-display-s); max-width:22ch; }
.statement .sub { margin-top:var(--space-md); color:var(--color-ink-2); max-width:56ch; }
.statement__phone {display:inline-block;margin-top:var(--space-xl);font-family:var(--font-display);font-weight:800;font-size:clamp(2.6rem, 7vw, 5rem);letter-spacing:0.02em;color:var(--color-accent);text-decoration:none;line-height:1;white-space:nowrap;}
.statement__meta {margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule-2);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md) var(--space-xl);color:var(--color-muted);font-size:var(--text-sm);}
.statement__meta .btn { margin-left:auto; }
@media (max-width:40rem) { .statement__meta .btn { margin-left:0; } }
.band {margin-block:var(--space-3xl) 0;background:var(--color-paper-2);padding:var(--space-2xl) 0;border-block:var(--rule-hair) solid var(--color-rule-2);}
.band__inner { display:grid; gap:var(--space-lg); justify-items:start; }
.band p.display { font-size:var(--text-display-s); max-width:20ch; }
.band .sub { color:var(--color-ink-2); max-width:52ch; }
.band__phone {font-family:var(--font-display);font-weight:800;font-size:clamp(2rem, 5vw, 3.4rem);letter-spacing:0.02em;color:var(--color-accent);text-decoration:none;line-height:1;white-space:nowrap;}
.gallery-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-md); }
.gallery-grid figure {margin:0;background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule-2);border-radius:var(--radius-sm);overflow:clip;display:grid;}
.gallery-grid img { display:block; width:100%; aspect-ratio:4 / 3; object-fit:cover; }
.gallery-grid figcaption {padding:var(--space-sm) var(--space-md);color:var(--color-muted);font-size:var(--text-sm);border-top:var(--rule-fine) solid var(--color-rule-2);}
.gallery-grid figure:nth-child(3n+1) figcaption { border-top-color:var(--color-accent-2); }
.gallery-grid figure:nth-child(3n+2) figcaption { border-top-color:var(--color-accent); }
@media (max-width:60rem) { .gallery-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:40rem) { .gallery-grid { grid-template-columns:minmax(0, 1fr); } }
.post-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-md); }
.post-card {display:grid;gap:var(--space-xs);align-content:start;padding:var(--space-lg);background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule-2);border-top:var(--rule-fine) solid var(--color-accent-2);border-radius:var(--radius-sm);text-decoration:none;transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);}
.post-card:nth-child(even) { border-top-color:var(--color-accent); }
.post-card .caps-label { color:var(--color-accent-2); }
.post-card h3 { font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:0.02em; font-size:var(--text-md); line-height:1.12; }
.post-card p { color:var(--color-muted); font-size:var(--text-sm); }
.post-card .link-arrow { justify-self:start; margin-top:var(--space-2xs); }
@media (max-width:60rem) { .post-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:40rem) { .post-grid { grid-template-columns:minmax(0, 1fr); } }
.guide-list {list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--space-lg) var(--space-2xl);}
.guide-list li { display:grid; gap:var(--space-2xs); }
.guide-list li a { font-size:var(--text-md); font-weight:500; width:fit-content; }
.guide-list li span { color:var(--color-muted); font-size:var(--text-sm); }
@media (max-width:56rem) { .guide-list { grid-template-columns:minmax(0, 1fr); } }
.about-split { display:grid; grid-template-columns:minmax(0, 6fr) minmax(0, 5fr); gap:var(--space-2xl); align-items:center; }
.about-split img { border:var(--rule-hair) solid var(--color-rule-2); box-shadow:var(--shadow-card); }
@media (max-width:56rem) { .about-split { grid-template-columns:minmax(0, 1fr); } }
.page-hero { padding-block:var(--space-2xl) var(--space-xl); }
.page-hero h1 { font-size:var(--text-display-s); max-width:20ch; }
.page-hero .lede { margin-top:var(--space-lg); }
.page-hero .crumbs { margin-bottom:var(--space-md); }
.crumbs { font-size:var(--text-sm); color:var(--color-muted); }
.crumbs a { color:var(--color-muted); text-decoration:none; }
.crumbs a:hover { color:var(--color-ink-2); }
.hero__actions, .page-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-md); margin-top:var(--space-xl); }
.prose { max-width:65ch; display:grid; gap:var(--space-md); color:var(--color-ink-2); }
.prose strong { color:var(--color-ink); }
.checklist { list-style:none; margin:0; padding:0; display:grid; gap:var(--space-sm); max-width:60ch; }
.checklist li { padding-left:var(--space-lg); position:relative; color:var(--color-ink-2); }
.checklist li::before {content:"";position:absolute;left:0;top:0.45em;width:0.85em;height:0.45em;border-left:2px solid var(--color-accent-2);border-bottom:2px solid var(--color-accent-2);transform:rotate(-45deg);}
.site-footer {margin-top:var(--space-3xl);padding:var(--space-3xl) 0 var(--space-lg);background:var(--color-paper-2);border-top:var(--rule-hair) solid var(--color-rule-2);}
.statement + .site-footer,
.band + .site-footer,
main:has(> .statement:last-child) + .site-footer,
main:has(> .band:last-child) + .site-footer { margin-top:0; }
.foot-line {font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.9rem, 4.6vw, 3.2rem);line-height:1.04;letter-spacing:0.01em;max-width:24ch;overflow-wrap:anywhere;}
.foot-line em { font-style:normal; color:var(--color-accent); }
.foot-meta {margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule-2);display:grid;grid-template-columns:auto minmax(0, 1fr);gap:var(--space-xl) var(--space-2xl);align-items:start;}
.foot-meta__brand { display:grid; gap:var(--space-sm); justify-items:start; }
.foot-meta__brand img { width:11rem; }
.foot-rating {display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);font-weight:600;color:var(--color-ink-2);text-decoration:none;white-space:nowrap;}
.foot-rating .stars svg { width:14px; height:14px; }
.foot-meta__info { display:grid; gap:var(--space-md); }
.foot-contactline {display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-xl);align-items:baseline;}
.foot-contactline a.phone {font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);color:var(--color-accent);text-decoration:none;letter-spacing:0.02em;white-space:nowrap;}
.foot-contactline a, .foot-contactline span { color:var(--color-ink-2); text-decoration:none; font-size:var(--text-sm); }
.foot-links {display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg);font-size:var(--text-sm);}
.foot-links a { color:var(--color-muted); text-decoration:none; white-space:nowrap; }
.foot-areas { color:var(--color-neutral); font-size:var(--text-sm); max-width:72ch; }
.foot-areas a { color:var(--color-muted); text-decoration:none; white-space:nowrap; }
.foot-bottom {margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule-2);display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-xl);justify-content:space-between;color:var(--color-neutral);font-size:var(--text-sm);}
@media (max-width:56rem) {.foot-meta { grid-template-columns:minmax(0, 1fr); }}
@media (hover:hover) and (pointer:fine) {.btn--fill:hover { filter:brightness(1.08); }
.btn--dark:hover { background:var(--color-paper-2); border-color:var(--color-rule); }
.link-arrow:hover { color:var(--color-accent-2-hover); }
.nav a:hover { color:var(--color-accent-2); }
.fcard:hover, .svc-card:hover, .post-card:hover { background:var(--color-paper-3); border-color:var(--color-rule); }
.chip-link:hover { border-color:var(--color-accent-2); color:var(--color-ink); background:var(--color-paper-2); }
.band__phone:hover, .statement__phone:hover { color:var(--color-accent-hover); }
.process li:hover::before { color:var(--color-accent-3); }
.process li:hover::after { background:var(--color-accent-3); }
.field input:hover, .field textarea:hover, .field select:hover { background:var(--color-paper-3); }
.foot-links a:hover, .foot-areas a:hover, .foot-bottom a:hover { color:var(--color-ink); }
.foot-rating:hover { color:var(--color-ink); }
.stat-rail a:hover span, .trust-band li a:hover { color:var(--color-ink); }
.quote-wall footer a:hover, .review-card footer a:hover, .quote-feature footer a:hover { color:var(--color-ink-2); }
.qa summary:hover { color:var(--color-accent-2); }}
.cta-sticky {position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sticky);display:none;justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--page-gutter) calc(var(--space-sm) + env(safe-area-inset-bottom));background:color-mix(in oklch, var(--color-paper-2) 90%, transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:var(--rule-hair) solid var(--color-rule-2);transform:translateY(100%);transition:transform var(--dur-short) var(--ease-out);}
.cta-sticky span { font-size:var(--text-sm); color:var(--color-ink-2); }
.cta-sticky .btn { min-height:44px; }
.cta-sticky.is-visible { transform:none; }
@media (max-width:64rem) {body { padding-bottom:calc(var(--space-2xl) + var(--space-xs) + env(safe-area-inset-bottom)); }
.cta-sticky { display:flex; }}
.reveal {opacity:0;transform:translateY(8px);animation:reveal var(--dur-long) var(--ease-out) forwards;animation-delay:calc(var(--i, 0) * 60ms);}
@keyframes reveal { to { opacity:1; transform:none; } }
[data-reveal] { opacity:0; transform:translateY(8px); }
[data-reveal].in {opacity:1;transform:none;transition:opacity var(--dur-long) var(--ease-out), transform var(--dur-long) var(--ease-out);transition-delay:calc(var(--i, 0) * 100ms);}
@media (prefers-reduced-motion:reduce) {*, *::before, *::after {animation-duration:150ms !important;animation-iteration-count:1 !important;transition-duration:150ms !important;}
html { scroll-behavior:auto; }
.reveal { animation:reveal-reduced 150ms linear forwards; }
[data-reveal] { opacity:1; transform:none; }
@keyframes reveal-reduced { to { opacity:1; transform:none; } }}