:root {
  --paper:        #F7F4ED;
  --ink:          #1E1B16;
  --petrol:       #3B6470;
  --root-size: clamp(16px, calc(9.6px + 0.5vw), 19.2px);
  --page-margin-wide: max(clamp(1.5rem, calc(0.05rem + 6.188vw), 5rem), calc((100vw - 1920px) / 2 + 5rem));
  --hero-min-inner: clamp(27.6448rem, calc(20.8648rem + 10.5938vw), 29.3398rem);
  --gap-first-hairline-min: clamp(5.4386rem, calc(3.1940rem + 3.5071vw), 6.0000rem);
  --photo-cap: 16rem;
  --lead-max: 40rem;
  --petrol-mark:  #307387;
  --ink-soft:     rgba(30, 27, 22, 0.64);
  --ink-faint:    rgba(30, 27, 22, 0.35);
  --ink-hairline: rgba(30, 27, 22, 0.12);
  --font-sans: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --fs-lead: clamp(1.125rem, calc(1.07313rem + 0.221vw), 1.25rem);
  --fs-services: clamp(1.25rem, calc(1.09438rem + 0.663vw), 1.625rem);
  --fs-cta: clamp(1.5625rem, calc(1.17375rem + 1.657vw), 2.5rem);
  --fs-pillar: clamp(2rem, calc(1.22313rem + 3.315vw), 3.875rem);
  --fs-h1: clamp(2.5rem, calc(1.05rem + 6.188vw), 6rem);
  --lh-h1: 1.03;      --ls-h1: -0.034em;
  --lh-pillar: 1.12;  --ls-pillar: -0.025em;
  --lh-cta: 1.15;     --ls-cta: -0.02em;
  --lh-services: 1.3; --ls-services: -0.01em;
  --fw-display: 500;
  --fs-body: 1rem;   --lh-body: 1.8;
  --lh-lead: 1.65;
  --fs-small: 0.8125rem;  --lh-small: 1.65;
  --fs-label: 0.6875rem;  --fw-label: 500; --ls-label: 0.09em;
  --fs-nav: 1rem;
  --fs-menu: var(--fs-cta);
  --fs-data: 1.375rem;   --fw-data: 600;
  --fs-data-phone: 1.25rem;
  --row-gap-phone: 1rem;
  --fs-h1-inner: var(--fs-pillar);
  --fs-h2-inner: var(--fs-cta);
  --fs-h3-inner: var(--fs-services);
  --fs-row-desc: 1.125rem;  --lh-row-desc: 1.65;
  --measure: 48ch;
  --grid-columns: 12;
  --grid-gutter: 2rem;
  --page-margin: clamp(1.5rem, calc(0.05rem + 6.188vw), 5rem);
  --gap-nav-hero: clamp(3.5rem, calc(0.80688rem + 11.492vw), 10rem);
  --gap-after-hero: clamp(6.5rem, calc(4.22125rem + 9.724vw), 12rem);
  --gap-section: clamp(5.5rem, calc(4.46438rem + 4.420vw), 8rem);
  --gap-nav-hero-inner: clamp(2.75rem, calc(1.22188rem + 6.519vw), 6.4375rem);
  --gap-after-hero-inner: clamp(5.1875rem, calc(4.12563rem + 4.530vw), 7.75rem);
  --touch-min: 3rem;
  --gap-h1-lead: 3rem;
  --feather-w: clamp(7.5rem, calc(1.8025rem + 24.309vw), 21.25rem);
  --feather-clear: 0.5rem;
  --feather-bleed: 30%;
  --bp-label-collapse: 768px;
  --bp-services-2col: 1120px;
  --lockup-h-desktop: 3.25rem;  --lockup-h-mobile: 3rem;
  --footer-lockup-h: 8.75rem;
  --footer-data-lh: 1.62875rem;
  --footer-data-offset: -0.54063rem;
  --footer-letter-gap: 1.5rem;
  --space-1: 0.5rem;  --space-2: 1rem; --space-3: 1.5rem; --space-4: 2rem;
  --space-6: 3rem; --space-8: 4rem; --space-12: 6rem; --space-16: 8rem;
  --dur-state: 180ms;
  --ease-state: cubic-bezier(0.2, 0, 0, 1);
}
@media (prefers-reduced-motion: reduce) { :root { --dur-state: 0ms; } }
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("/fonts/PlusJakartaSans-Variable.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}
html { font-size: var(--root-size); }
*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  font-kerning: normal;
  font-variant-ligatures: no-common-ligatures;
}
.page { position: relative; padding-inline: var(--page-margin-wide); }
.grid-12 {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gutter);
}
a { color: var(--petrol); text-decoration: none; }
a:hover, a:focus-visible { text-decoration: underline; text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
a:focus-visible, button:focus-visible { outline: 0.125rem solid var(--petrol); outline-offset: 0.125rem; }
.t-label { font-size: var(--fs-label); font-weight: var(--fw-label); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--petrol); line-height: 1.4; }
.t-small { font-size: var(--fs-small); line-height: var(--lh-small); }
.nowrap { white-space: nowrap; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.site-header { display: flex; justify-content: space-between; align-items: center; padding-top: var(--space-4); }
.site-logo { display: block; line-height: 0; }
.site-logo img { display: block; height: var(--lockup-h-desktop); width: auto; }
.site-nav ul { display: flex; column-gap: var(--space-4); margin: 0; padding: 0; list-style: none; font-size: var(--fs-nav); line-height: normal; }
.site-nav a { display: inline-flex; align-items: center; min-height: var(--touch-min); color: var(--ink); }
.site-nav a[aria-current="page"] { color: var(--petrol); }
.menu-toggle {
  display: none;
  appearance: none; border: 0; background: transparent; margin: 0;
  padding: 0 0 0 var(--space-2);
  min-height: var(--touch-min); min-width: var(--touch-min);
  font-family: inherit; cursor: pointer;
}
.site-footer {
  margin-top: var(--gap-section);
  border-top: 1px solid var(--ink-hairline);
  padding: var(--space-6) 0 var(--space-8);
}
:where(.site-footer p, .site-footer ul) { margin: 0; padding: 0; }
.footer-links {
  grid-column: 4 / -1; grid-row: 1;
  display: flex; flex-wrap: wrap; column-gap: var(--space-3);
  list-style: none;
  line-height: var(--footer-data-lh);
  margin-top: var(--footer-data-offset);
}
.footer-link {
  display: inline-block; padding: 0.68563rem 0; margin: -0.68563rem 0;
  line-height: var(--footer-data-lh);
}
button.footer-link { appearance: none; border: 0; background: transparent; font: inherit; color: var(--petrol); cursor: pointer; }
button.footer-link:hover, button.footer-link:focus-visible { text-decoration: underline; text-underline-offset: 0.2em; }
.footer-social-first { margin-left: auto; }
.footer-letter { display: contents; }
.footer-logo { grid-column: 1 / span 3; grid-row: 1 / span 3; align-self: start; justify-self: start; display: block; line-height: 0; }
.footer-logo img { display: block; height: var(--footer-lockup-h); width: auto; }
.footer-company { grid-column: 4 / -1; grid-row: 2; line-height: var(--footer-data-lh); margin-top: calc(var(--footer-data-lh) * 2); }
.footer-company a { display: inline-block; color: var(--ink-soft); }
.footer-company .line { white-space: nowrap; }
.footer-company .break { display: block; }
.footer-contact { grid-column: 4 / -1; grid-row: 3; line-height: var(--footer-data-lh); }
.footer-contact .sep { color: var(--ink-soft); }
@media (max-width: 767.98px) {
  .grid-12 { display: block; }
  .site-header { flex-wrap: wrap; padding-top: var(--space-2); }
  .site-logo img { height: var(--lockup-h-mobile); }
  .site-nav { display: none; }
  .menu-toggle { display: inline-flex; align-items: center; justify-content: flex-end; }
  .menu-open main, .menu-open .site-footer { display: none; }
  .menu-open .site-nav { display: block; flex-basis: 100%; }
  .menu-open .site-nav ul {
    display: block;
    margin-top: var(--space-6); padding-bottom: var(--space-8);
    font-size: var(--fs-menu); font-weight: var(--fw-display); line-height: var(--lh-cta); letter-spacing: var(--ls-cta);
  }
  .menu-open .site-nav li + li { border-top: 1px solid var(--ink-hairline); }
  .menu-open .site-nav a { display: flex; min-height: 4rem; }
  .site-footer { padding: var(--space-4) 0 var(--space-6); line-height: var(--lh-small); }
  .footer-links { line-height: var(--lh-small); margin-top: 0; }
  .footer-link { display: inline-flex; align-items: center; min-height: var(--touch-min); padding: 0; margin: 0; line-height: var(--lh-small); }
  .footer-social-first { margin-left: 0; }
  .footer-letter { display: flex; align-items: flex-start; column-gap: var(--footer-letter-gap); margin-top: var(--space-4); }
  .footer-logo { flex: none; }
  .footer-company { margin-top: var(--footer-data-offset); }
  .footer-company .line { display: block; }
  .footer-company .sep, .footer-company .break { display: none; }
  .footer-contact { display: flex; flex-direction: column; align-items: flex-start; line-height: var(--lh-small); margin-top: var(--space-3); }
  .footer-contact .sep { display: none; }
  .footer-contact a { display: inline-flex; align-items: center; min-height: var(--touch-min); }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .site-nav ul { column-gap: var(--space-2); }
  .footer-links { column-gap: var(--space-2); }
}
h1, h2, p { margin: 0; }
main:focus { outline: none; }
.skip-link {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link:focus {
  position: fixed; top: var(--space-2); left: var(--space-2); z-index: 10;
  width: auto; height: auto; margin: 0; padding: var(--space-1) var(--space-2); overflow: visible; clip: auto;
  background: var(--paper); color: var(--petrol); outline: 0.125rem solid var(--petrol); outline-offset: 0;
}
@media (max-width: 767.98px) { .menu-open .skip-link { display: none; } }
.t-h1 { font-size: var(--fs-h1); line-height: var(--lh-h1); letter-spacing: var(--ls-h1); font-weight: var(--fw-display); }
.t-pillar { font-size: var(--fs-pillar); line-height: var(--lh-pillar); letter-spacing: var(--ls-pillar); font-weight: var(--fw-display); }
.t-cta { font-size: var(--fs-cta); line-height: var(--lh-cta); letter-spacing: var(--ls-cta); font-weight: var(--fw-display); }
.t-services { font-size: var(--fs-services); line-height: var(--lh-services); letter-spacing: var(--ls-services); font-weight: var(--fw-display); }
.balance { text-wrap: balance; }
.t-lead { font-size: var(--fs-lead); line-height: var(--lh-lead); color: var(--ink-soft); max-width: var(--measure); text-wrap: pretty; }
.t-body { font-size: var(--fs-body); line-height: var(--lh-body); }
.soft { color: var(--ink-soft); }
.dot { color: var(--petrol-mark); }
.diamond { display: inline-block; width: 0.5625rem; height: auto; vertical-align: -0.04375rem; margin-right: 0.625rem; }
.link-tap { display: inline-flex; align-items: center; min-height: var(--touch-min); }
.section { margin-top: var(--gap-section); border-top: 1px solid var(--ink-hairline); padding-top: var(--space-6); align-items: baseline; }
.section-first { margin-top: var(--gap-after-hero); }
.section-label { grid-column: 1 / span 3; }
.section-body { grid-column: 4 / -1; }
@media (max-width: 767.98px) {
  .section { padding-top: var(--space-4); }
  .section-body { margin-top: var(--space-3); }
  .diamond { width: 0.5rem; vertical-align: -0.0125rem; }
}
.page { overflow: clip; }
.hero { position: relative; padding-top: var(--gap-nav-hero); row-gap: var(--gap-h1-lead); }
.hero-title { grid-column: 1 / -1; }
@media (max-width: 357.98px) { .hero-title .nowrap { white-space: normal; } }
.hero-lead { grid-column: 1 / span 7; max-width: none; }
.hero-link { grid-column: 1 / span 7; margin-top: calc(var(--space-2) - var(--gap-h1-lead)); }
@media (min-width: 768px) { .hero-lead { max-width: var(--lead-max); } }
@media (max-width: 767.98px) {
  .hero-lead { margin-top: var(--gap-h1-lead); }
  .hero-link { margin-top: var(--space-2); }
}
.feather-anchor { display: inline-block; width: 0; height: 0; vertical-align: baseline; }
.feather {
  position: absolute; display: block; pointer-events: none;
  width: var(--feather-w); height: auto;
  right: calc(-1 * var(--page-margin-wide) - var(--feather-w) * 0.3);
  margin-top: calc(0.625rem - var(--feather-w) * 0.2858);
}
.service-list { display: grid; grid-template-columns: minmax(0, 1fr); list-style: none; margin: 0; padding: 0; }
.service-list a { white-space: nowrap; }
@media (min-width: 1120px) {
  .service-list { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(4, auto); grid-auto-flow: column; column-gap: var(--grid-gutter); }
}
.pillar-list { list-style: none; margin: 0; padding: 0; }
.pillar-list li { padding: var(--space-4) 0; }
.pillar-list li:first-child { padding-top: 0; }
.pillar-list li:last-child { padding-bottom: 0; }
.pillar-list li + li { border-top: 1px solid var(--ink-hairline); }
.after-services { margin-top: var(--space-4); }
.after-pillars { margin-top: var(--space-6); }
.cta-lead { margin-top: var(--space-2); }
.cta-link { margin-top: var(--space-2); }
@media (max-width: 767.98px) {
  .pillar-list li { padding: var(--space-3) 0; }
  .after-pillars { margin-top: var(--space-4); }
}
.t-h1-inner { font-size: var(--fs-h1-inner); line-height: var(--lh-pillar); letter-spacing: var(--ls-pillar); font-weight: var(--fw-display); text-wrap: balance; }
.hero-inner { position: relative; padding-top: var(--gap-nav-hero-inner); grid-template-rows: auto auto auto 1fr; }
.hero-inner .t-h1-inner { grid-column: 1 / -1; grid-row: 1; }
.hero-inner.has-person .t-h1-inner { grid-column: 1 / span 8; }
.hero-inner .lead-inner { grid-column: 1 / span 7; grid-row: 2; margin-top: var(--gap-h1-lead); max-width: none; }
@media (min-width: 768px) { .hero-inner .lead-inner { max-width: var(--lead-max); } }
.after-hero-inner { margin-top: var(--gap-after-hero-inner); }
@media (min-width: 1024px) {
  .hero-inner { min-height: var(--hero-min-inner); }
  .after-hero-inner { margin-top: var(--gap-first-hairline-min); }
}
.section-text > * { grid-column: 1 / span 7; }
.section-text > .t-label + * { margin-top: var(--space-3); }
.contact-block {
  grid-column: 1 / span 7; grid-row: 3; margin-top: var(--space-3); font-style: normal;
  font-size: var(--fs-h3-inner); line-height: var(--lh-services); letter-spacing: var(--ls-services);
  font-weight: var(--fw-display); color: var(--ink);
}
.contact-block > * { display: flex; align-items: center; min-height: var(--touch-min); margin: 0; }
.contact-block a { width: fit-content; color: var(--petrol); }
.hero-card {
  grid-column: 9 / -1; grid-row: 1 / -1; justify-self: end; min-width: 0;
  margin-top: calc(var(--fs-h1-inner) * 0.223 - 0.05625rem);
}
.hero-card picture { display: block; }
.card-photo { display: block; width: 0; min-width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; background: var(--ink-hairline); }
.person-name {
  margin-top: var(--space-3); font-size: var(--fs-lead); line-height: 1.3; font-weight: var(--fw-display);
  letter-spacing: var(--ls-services); white-space: nowrap;
}
.person-role { margin-top: var(--space-1); }
@media (max-width: 767.98px) { .hero-card { margin-top: var(--space-3); width: fit-content; justify-self: auto; } }
@media (min-width: 1024px) {
  .hero-card { grid-column: 10 / -1; justify-self: start; width: min(100%, var(--photo-cap)); }
  .hero-card .card-photo { width: 100%; min-width: 0; }
}
.map-box { grid-column: 1 / -1; position: relative; aspect-ratio: 7 / 3; border: 1px solid var(--ink-hairline); overflow: hidden; background: var(--paper); }
.map-box.map-failed { display: none; }
.map-box .map-canvas { position: absolute; inset: 0; }
.map-marker { display: block; width: 1.75rem; height: 1.75rem; }
.map-credit {
  position: absolute; right: 0; bottom: 0; z-index: 2; margin: 0;
  font-size: var(--fs-small); line-height: var(--lh-small); color: var(--ink-soft); background: var(--paper);
  padding: 0 var(--space-1);
}
.map-credit a { display: inline-block; padding: 0.375rem 0; }
.map-box:not(.map-ready) .map-credit { visibility: hidden; }
.map-box .maplibregl-map { font: inherit; }
.map-box .maplibregl-canvas:focus-visible { outline: 0.125rem solid var(--petrol); outline-offset: -0.25rem; }
.map-box .maplibregl-ctrl-top-right { top: var(--space-1); right: var(--space-1); }
.map-box .maplibregl-ctrl-top-right .maplibregl-ctrl { margin: 0; }
.map-box .maplibregl-ctrl-group, .map-box .maplibregl-ctrl-group:not(:empty) { background: var(--paper); border: 1px solid var(--ink-faint); border-radius: 0; box-shadow: none; }
.map-box .maplibregl-ctrl-group button { width: var(--touch-min); height: var(--touch-min); }
.map-box .maplibregl-ctrl-group button + button { border-top: 1px solid var(--ink-faint); }
.map-box .maplibregl-ctrl-group button:hover { background-color: var(--ink-hairline); }
.map-box .maplibregl-ctrl-group button:focus:focus-visible, .map-box .maplibregl-ctrl-group button:focus-visible { outline: 0.125rem solid var(--petrol); outline-offset: -0.25rem; box-shadow: none; border-radius: 0; }
.map-box .maplibregl-ctrl-group button .maplibregl-ctrl-icon { background-size: 1.8125rem; background-position: 50% 50%; }
.map-box .maplibregl-cooperative-gesture-screen {
  background: color-mix(in srgb, var(--paper) 92%, transparent); color: var(--ink);
  font-size: var(--fs-body); line-height: var(--lh-body); font-weight: var(--fw-display); text-align: center; padding: var(--space-2);
}
@media (prefers-reduced-motion: reduce) {
  .map-box .maplibregl-cooperative-gesture-screen, .map-box .maplibregl-cooperative-gesture-screen.maplibregl-show { transition: none; }
}
.location-after { grid-column: 1 / span 7; margin-top: var(--space-4); }
.location-after .directions { margin-top: var(--space-1); }
@media (max-width: 767.98px) {
  .map-box { aspect-ratio: 1 / 1; }
  .location-after { margin-top: var(--space-3); }
}
.company-data p { font-size: var(--fs-body); line-height: var(--lh-body); }
.company-data .company-name { font-weight: var(--fw-display); }
.q-dot { display: inline-block; line-height: 1; background: linear-gradient(to bottom, var(--ink) 0.72em, var(--petrol-mark) 0.72em); -webkit-background-clip: text; background-clip: text; color: transparent; }
@supports not ((-webkit-background-clip: text) or (background-clip: text)) { .q-dot { color: var(--ink); background: none; } }
.hero-inner .hero-statement { grid-column: 9 / -1; grid-row: 2 / -1; justify-self: end; min-width: 0; margin-top: calc(var(--gap-h1-lead) + var(--fs-lead) * 0.488 - var(--fs-h3-inner) * 0.313 + 0.05rem); }
.statement { font-size: var(--fs-h3-inner); line-height: var(--lh-services); letter-spacing: var(--ls-services); font-weight: var(--fw-display); color: var(--ink); }
@media (min-width: 1024px) { .hero-inner .hero-statement { justify-self: start; } }
@media (max-width: 767.98px) { .hero-inner .hero-statement { justify-self: auto; margin-top: var(--space-3); } }
.phase > * { grid-column: 1 / -1; }
.t-h2-inner { position: relative; font-size: var(--fs-h2-inner); line-height: var(--lh-cta); letter-spacing: var(--ls-cta); font-weight: var(--fw-display); color: var(--petrol); text-wrap: balance; }
.phase-diamond { position: absolute; width: 0.35em; height: auto; right: calc(100% + 0.3675em); top: calc(0.4296em - 0.03125rem); }
.step-list { list-style: none; margin: var(--space-6) 0 0; padding: 0; }
.step { border-top: 1px solid var(--ink-hairline); padding: var(--space-4) 0; align-items: start; }
.step-name { grid-column: 1 / span 7; grid-row: 1; position: relative; margin: 0; font-size: var(--fs-h3-inner); line-height: var(--lh-services); letter-spacing: var(--ls-services); font-weight: var(--fw-display); text-wrap: balance; }
.step-diamond, .pkg-diamond { position: absolute; width: 0.5625rem; height: auto; right: calc(100% + 0.59062rem); top: calc(0.6855em - 0.29094rem); }
.step-text { grid-column: 1 / span 7; grid-row: 2; margin-top: var(--space-1); max-width: 46ch; font-size: var(--fs-row-desc); line-height: var(--lh-row-desc); color: var(--ink); }
.step-exit { margin-top: var(--space-4); }
@media (max-width: 767.98px) {
  .phase-diamond { right: calc(100% + 0.375rem); }
  .step-list { margin-top: var(--space-4); }
  .step-diamond, .pkg-diamond { width: 0.5rem; top: calc(0.6855em - 0.25844rem); right: calc(100% + 0.375rem); }
  .step-text { margin-top: var(--space-2); }
}
.net-note { grid-column: 1 / span 7; grid-row: 3; margin-top: var(--space-2); color: var(--ink-soft); }
.hero-prices { grid-column: 9 / -1; grid-row: 2 / -1; justify-self: start; min-width: 0; margin-top: calc(var(--gap-h1-lead) + var(--fs-lead) * 0.488 - 0.43038rem + 0.03125rem); }
.price-summary { list-style: none; margin: 0; padding: 0; }
.price-summary li { font-size: var(--fs-data); line-height: 1.3; white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--ink-soft); }
.price-summary li + li { margin-top: var(--space-1); }
.price-summary .n { font-weight: var(--fw-data); color: var(--ink); }
.pkg-phase > .t-h2-inner { grid-column: 1 / -1; }
.phase-intro { grid-column: 1 / span 7; margin-top: var(--space-6); max-width: none; }
@media (min-width: 768px) { .phase-intro { max-width: var(--lead-max); } }
.pkg-list { grid-column: 1 / -1; list-style: none; margin: var(--space-6) 0 0; padding: 0; }
.pkg { border-top: 1px solid var(--ink-hairline); padding: var(--space-4) 0; align-items: start; }
.pkg-name { grid-column: 1 / span 7; grid-row: 1; position: relative; margin: 0; font-size: var(--fs-h3-inner); line-height: var(--lh-services); letter-spacing: var(--ls-services); font-weight: var(--fw-display); text-wrap: balance; }
.pkg-text { grid-column: 1 / span 7; grid-row: 2; margin-top: var(--space-1); max-width: 46ch; font-size: var(--fs-row-desc); line-height: var(--lh-row-desc); color: var(--ink); }
.pkg-price { grid-column: 10 / span 3; grid-row: 1 / span 2; text-align: right; align-self: start; }
.price { margin-top: calc(var(--fs-h3-inner) * 0.313 - 0.313em); font-size: var(--fs-data); font-weight: var(--fw-data); line-height: 1.3; font-variant-numeric: tabular-nums; white-space: nowrap; }
.price .num { font-weight: var(--fw-data); color: var(--ink); }
.price .u { font-weight: 400; color: var(--ink-soft); }
.price-text { font-weight: 400; color: var(--ink-soft); }
.interest { margin-top: 0; }
.onward-link { grid-column: 1 / -1; margin-top: var(--space-4); }
.inline-link { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
.inline-link:hover { text-decoration-thickness: 0.125rem; }
@media (max-width: 767.98px) {
  .net-note { margin-top: var(--space-2); }
  .hero-prices { margin-top: var(--space-3); justify-self: auto; }
  .price-summary li { font-size: var(--fs-body); line-height: var(--lh-body); }
  .price-summary li + li { margin-top: 0; }
  .phase-intro { margin-top: var(--space-3); }
  .pkg-list { margin-top: var(--space-4); }
  .pkg { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--row-gap-phone); grid-template-areas: "nm pr" "ds ds" "lk lk"; padding: var(--space-4) 0; }
  .pkg-name { grid-area: nm; margin-top: 0; }
  .pkg-price { display: contents; }
  .price { grid-area: pr; align-self: baseline; margin-top: 0; font-size: var(--fs-data-phone); }
  .pkg-text { grid-area: ds; margin-top: var(--space-2); }
  .interest { grid-area: lk; margin-top: var(--space-1); text-align: left; }
  .pkg-text-price { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: var(--row-gap-phone); row-gap: var(--space-1); }
  .pkg-text-price .pkg-name { flex: 1 1 auto; order: 1; }
  .pkg-text-price .price { flex: none; order: 2; }
  .pkg-text-price .pkg-text { flex: 0 0 100%; order: 3; margin-top: calc(var(--space-2) - var(--space-1)); }
  .pkg-text-price .interest { flex: 0 0 100%; order: 4; margin-top: 0; }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .hero-inner:has(.hero-prices) .lead-inner,
  .net-note { grid-column: 1 / span 6; }
  .net-note { text-wrap: pretty; }
  .hero-prices { grid-column: 7 / -1; justify-self: end; }
}
.phase-intro + .phase-intro { margin-top: var(--space-3); }
.inline-link:focus-visible { text-decoration-thickness: 0.125rem; }
.price-total { position: relative; width: fit-content; margin-left: auto; }
.price-total .tot {
  position: absolute; left: 0; bottom: 100%;
  font-size: var(--fs-small); line-height: var(--lh-small); font-weight: 400;
  color: var(--ink-soft); font-variant-numeric: normal;
}
.split { grid-column: 1 / -1; grid-row: 3; list-style: none; margin: var(--space-4) 0 0; padding: 0; }
.split-item { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--grid-gutter); align-items: baseline; }
.split-item + .split-item { margin-top: var(--space-3); }
.split-who { grid-column: 1 / span 7; grid-row: 1; margin: 0; }
.split-name { display: block; font-size: var(--fs-body); line-height: var(--lh-body); font-weight: var(--fw-display); color: var(--ink); }
.split-contract { display: block; color: var(--ink-soft); }
.split-what { grid-column: 1 / span 7; grid-row: 2; margin: var(--space-1) 0 0; max-width: 46ch; font-size: var(--fs-body); line-height: var(--lh-body); color: var(--ink); text-wrap: pretty; }
.split-amt {
  grid-column: 10 / span 3; grid-row: 1; margin: 0; text-align: right;
  font-size: var(--fs-body); line-height: var(--lh-body); white-space: nowrap;
  font-variant-numeric: tabular-nums; color: var(--ink-soft);
}
.split-amt .num { font-weight: var(--fw-data); color: var(--ink); }
.split-note { grid-column: 1 / span 7; grid-row: 4; margin-top: var(--space-3); color: var(--ink); text-wrap: pretty; }
.legal { grid-column: 1 / -1; margin-top: var(--space-8); }
.legal-label { margin: 0; }
.legal-label .t-label { display: block; }
.legal-label .diamond { margin-left: calc(-1 * (0.5625rem + 0.59062rem)); margin-right: 0.59062rem; }
.legal-contract { display: block; color: var(--ink-soft); }
.legal-body {
  margin-top: var(--space-2); border-left: 1px solid var(--ink-faint);
  margin-left: calc(-1 * (0.59062rem + 0.5625rem / 2) - 1px); padding-left: calc(0.59062rem + 0.5625rem / 2);
}
.legal-h { margin: 0; font-size: var(--fs-h3-inner); line-height: var(--lh-services); letter-spacing: var(--ls-services); font-weight: var(--fw-display); text-wrap: balance; }
.legal-row { margin-top: var(--space-3); align-items: start; }
.legal-name { grid-column: 1 / span 7; grid-row: 1; margin: 0; font-size: var(--fs-row-desc); line-height: var(--lh-services); font-weight: var(--fw-display); }
.legal-text { grid-column: 1 / span 7; grid-row: 2; margin-top: var(--space-1); max-width: 46ch; font-size: var(--fs-row-desc); line-height: var(--lh-row-desc); color: var(--ink); text-wrap: pretty; }
.legal-row .price { margin-top: calc(var(--fs-row-desc) * 0.313 - 0.313em); }
@media (min-width: 768px) and (max-width: 1023.98px) {
  .pkg-price,
  .split-amt { grid-column: 9 / span 4; }
}
@media (max-width: 767.98px) {
  .phase-intro + .phase-intro { margin-top: var(--space-2); }
  .pkg-split { grid-template-areas: "nm pr" "ds ds" "lk lk" "sp sp" "nt nt"; }
  .split { grid-area: sp; margin-top: var(--space-3); }
  .split-item { grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--row-gap-phone); }
  .split-who { grid-column: 1; }
  .split-amt { grid-column: 2; }
  .split-what { grid-column: 1 / -1; }
  .split-note { grid-area: nt; margin-top: var(--space-3); }
  .legal { margin-top: var(--space-6); }
  .legal-label .diamond { margin-left: calc(-1 * (0.5rem + 0.375rem)); margin-right: 0.375rem; }
  .legal-body { margin-left: calc(-1 * (0.375rem + 0.5rem / 2) - 1px); padding-left: calc(0.375rem + 0.5rem / 2); }
  .legal-row { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: var(--row-gap-phone); row-gap: var(--space-1); margin-top: var(--space-3); }
  .legal-row .legal-name { flex: 1 1 auto; order: 1; }
  .legal-row .pkg-price { display: contents; }
  .legal-row .price { flex: none; order: 2; margin-top: 0; }
  .legal-row .legal-text { flex: 0 0 100%; order: 3; margin-top: calc(var(--space-2) - var(--space-1)); }
  .legal-row .interest { flex: 0 0 100%; order: 4; margin-top: 0; text-align: left; }
}
.prose { max-width: 46ch; }
.prose p { font-size: var(--fs-row-desc); line-height: var(--lh-row-desc); color: var(--ink); text-wrap: pretty; }
.prose p + p { margin-top: var(--space-3); }
.tagline { font-size: var(--fs-h2-inner); line-height: var(--lh-cta); letter-spacing: var(--ls-cta); font-weight: var(--fw-display); color: var(--ink); }
.prose + .tagline { margin-top: var(--space-6); }
.founder-name { font-size: var(--fs-h2-inner); line-height: var(--lh-cta); letter-spacing: var(--ls-cta); font-weight: var(--fw-display); color: var(--ink); text-wrap: balance; }
.founder-name + .founder-role { margin-top: var(--space-1); }
.founder .prose { margin-top: var(--space-6); }
.founder > .founder-portrait { grid-column: 9 / -1; grid-row: 2 / span 3; align-self: start; min-width: 0; margin-top: calc(var(--space-3) + var(--fs-h2-inner) * 0.238 - 0.05625rem); }
.founder-portrait picture { display: block; }
.portrait-img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; background: var(--ink-hairline); }
@media (max-width: 767.98px) {
  .prose + .tagline { margin-top: var(--space-4); }
  .prose p + p { margin-top: var(--space-2); }
  .founder > .founder-portrait { margin-top: var(--space-4); }
  .founder-portrait .portrait-img { width: calc(200% / 3); }
  .founder .prose { margin-top: var(--space-4); }
}
.faq-item { grid-column: 1 / span 7; min-width: 0; }
.faq-item + .faq-item { margin-top: var(--space-4); border-top: 1px solid var(--ink-hairline); padding-top: var(--space-4); }
.faq-q { margin: 0; font-size: var(--fs-h3-inner); line-height: var(--lh-services); letter-spacing: var(--ls-services); font-weight: var(--fw-display); text-wrap: balance; }
.faq-q + .prose { margin-top: var(--space-1); }
@media (max-width: 767.98px) {
  .faq-item { grid-column: 1 / -1; }
  .faq-q + .prose { margin-top: var(--space-2); }
}
.consent-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 100; max-height: 85vh; overflow-y: auto; background: var(--paper); color: var(--ink); border-top: 1px solid var(--ink-hairline); padding: var(--space-3) var(--page-margin-wide); }
.consent-banner[hidden] { display: none; }
.consent-inner { max-width: 64rem; }
.consent-title { margin: 0 0 var(--space-1); font-size: var(--fs-body); line-height: var(--lh-small); font-weight: var(--fw-display); color: var(--ink); }
.consent-title:focus { outline: none; }
.consent-text { margin: 0; font-size: var(--fs-small); line-height: var(--lh-small); color: var(--ink); }
.consent-choices { display: grid; grid-template-columns: 1fr; gap: var(--space-2); margin-top: var(--space-2); }
@media (min-width: 768px) { .consent-choices { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.consent-choice { display: flex; flex-direction: column; min-width: 0; padding: var(--space-2); border: 1px solid var(--ink-faint); }
.consent-choice-title { margin: 0 0 var(--space-1); font-size: var(--fs-small); line-height: var(--lh-small); font-weight: var(--fw-display); color: var(--ink); }
.consent-choice-text { margin: 0 0 var(--space-2); font-size: var(--fs-small); line-height: var(--lh-small); color: var(--ink); }
.consent-choice .consent-btn { margin-top: auto; }
.consent-btn { appearance: none; width: 100%; min-height: var(--touch-min); padding: 0 var(--space-2); border: 1px solid var(--petrol); border-radius: 0; background: transparent; color: var(--petrol); font: inherit; font-size: var(--fs-small); line-height: var(--lh-small); cursor: pointer; }
.consent-btn:hover { background: var(--petrol); color: var(--paper); }
.consent-current { margin: 0 0 var(--space-2); font-size: var(--fs-small); line-height: var(--lh-small); color: var(--ink-soft); }
.consent-current[hidden] { display: none; }
.consent-links { margin: var(--space-2) 0 0; font-size: var(--fs-small); line-height: var(--lh-small); color: var(--ink); }
.consent-links a { display: inline-flex; align-items: center; min-height: var(--touch-min); }
.consent-toggle { position: relative; display: inline-block; margin: 0; padding: 0; border: 0; background: transparent; color: var(--petrol); font: inherit; line-height: inherit; text-align: left; vertical-align: baseline; cursor: pointer; }
.consent-toggle::before { content: ""; position: absolute; top: -22px; right: -10px; bottom: -6px; left: -10px; }
.consent-toggle::after { content: ""; display: inline-block; width: 0.42em; height: 0.42em; margin-left: 0.65em; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translate(-12%, -12%); }
.consent-toggle[aria-expanded="true"]::after { transform: rotate(-135deg) translate(-12%, -12%); }
.consent-toggle:hover, .consent-toggle:focus-visible { text-decoration: underline; text-underline-offset: 0.2em; }
.consent-banner[data-expanded="false"] { padding-top: var(--space-2); padding-bottom: var(--space-1); }
.consent-banner[data-expanded="false"] .consent-choice-title,
.consent-banner[data-expanded="false"] .consent-choice-text,
.consent-banner[data-expanded="false"] .consent-current,
.consent-banner[data-expanded="false"] .consent-links { display: none; }
.consent-banner[data-expanded="false"] .consent-choices { gap: var(--space-1); margin-top: var(--space-1); }
.consent-banner[data-expanded="false"] .consent-choice { padding: 0; border: 0; }
@media (min-width: 768px) { .consent-banner[data-expanded="false"] .consent-choices { gap: var(--space-2); } }
.nf-links { grid-column: 1 / span 7; grid-row: 3; margin: var(--space-2) 0 0; padding: 0; list-style: none; }
@media (max-width: 767.98px) { .nf-links { grid-column: 1 / -1; } }
.pn-date { grid-column: 1 / -1; grid-row: 2; margin: var(--space-3) 0 0; color: var(--ink-soft); }
.pn-body { grid-column: 1 / span 8; min-width: 0; font-size: var(--fs-row-desc); line-height: var(--lh-row-desc); color: var(--ink); }
.pn-body > :first-child { margin-top: 0; }
.pn-body h2 { margin: var(--space-8) 0 var(--space-2); font-size: var(--fs-h3-inner); line-height: var(--lh-services); letter-spacing: var(--ls-services); font-weight: var(--fw-display); text-wrap: balance; }
.pn-body h3 { margin: var(--space-6) 0 var(--space-1); font-size: var(--fs-lead); line-height: var(--lh-lead); font-weight: var(--fw-display); text-wrap: balance; }
.pn-body p, .pn-body ul { max-width: var(--measure); margin: var(--space-2) 0 0; text-wrap: pretty; }
.pn-body ul { padding-left: var(--space-3); list-style: disc; }
.pn-body li + li { margin-top: var(--space-1); }
.pn-summary { padding: var(--space-3) 0 var(--space-4); border-bottom: 1px solid var(--ink-hairline); }
.pn-body .pn-summary h2 { margin-top: 0; }
.pn-table { margin-top: var(--space-3); overflow-x: auto; }
.pn-table:focus-visible { outline: 0.125rem solid var(--petrol); outline-offset: 0.125rem; }
.pn-table table { width: 100%; border-collapse: collapse; font-size: var(--fs-body); line-height: var(--lh-small); }
.pn-table th, .pn-table td { padding: var(--space-2) var(--space-2) var(--space-2) 0; border-top: 1px solid var(--ink-hairline); text-align: left; vertical-align: top; }
.pn-table th { font-size: var(--fs-small); font-weight: var(--fw-label); color: var(--ink-soft); }
.pn-table tbody tr:last-child td { border-bottom: 1px solid var(--ink-hairline); }
@media (max-width: 767.98px) {
  .pn-body { grid-column: 1 / -1; }
  .pn-body h2 { margin-top: var(--space-6); }
  .pn-body h3 { margin-top: var(--space-4); }
  .pn-stack { overflow-x: visible; }
  .pn-stack thead { display: none; }
  .pn-stack table, .pn-stack tbody, .pn-stack tr, .pn-stack td { display: block; }
  .pn-stack tr { padding: var(--space-2) 0; border-top: 1px solid var(--ink-hairline); }
  .pn-stack tr:last-child { border-bottom: 1px solid var(--ink-hairline); }
  .pn-stack td { padding: 0; border: 0; }
  .pn-stack td + td { margin-top: var(--space-1); }
  .pn-stack td::before { content: attr(data-label); display: block; font-size: var(--fs-small); font-weight: var(--fw-label); color: var(--ink-soft); }
  .pn-stack tbody tr:last-child td { border-bottom: 0; }
}
