/* UPG Palette v2 (D-069); Fira Sans remains draft pending Stewardship approval. */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/fira-sans-latin-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/fira-sans-latin-600-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/fira-sans-latin-700-normal.woff2') format('woff2');
}
:root {
  color-scheme: dark;
  --color-primary: #1B2C40;
  --color-secondary: #5F6D78;
  --color-signature: #916075;
  --color-text: #161E29;
  --color-background: #FAF7F8;
  --paper-rgb: 250 247 248;
  --surface-elevated: #F1EBED;
  --surface-deep: #DFD6DA;
  --text-muted: #615459;
  --success: #2E7457;
  --warning: #89621F;
  --danger: #A43E48;
  --color-signature-text: #795061;
  --rim: #8A8187;
  --rim-soft: #BBB1B6;
  --gradient-end: #5B4258;
  --focus: #3B5779;
  --selection: #EAD9E0;
  --card-accent: #F8DFEA;
  --pipeline-idle: #C5CDD5;
  --success-band: #80A897;
  --signature-band: #BB9CA9;
  --ground-mid: #213652;
  --ground-end: #2B4364;
  --frost-pink: 217 140 178;
  --frost-pink-edge: 255 204 229;
  --gradient-ground: linear-gradient(135deg, var(--color-primary) 0%, var(--ground-mid) 55%, var(--ground-end) 100%);
  --glass-fill: linear-gradient(23.58deg, rgb(var(--paper-rgb) / 0.2), rgb(var(--paper-rgb) / 0.124) 50%, rgb(var(--paper-rgb) / 0.2));
  --glass-stroke: rgb(95 109 120 / 0.3);
  --hairline: rgb(var(--paper-rgb) / 0.25);
  --font-sans: 'Fira Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
body {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  margin: 0;
  background: var(--gradient-ground);
  color: var(--color-background);
  font: 400 1.0625rem/1.6 var(--font-sans);
  overflow-wrap: anywhere;
}
main {
  flex: 1;
  min-width: 0;
  background: radial-gradient(ellipse 80% 400px at bottom, rgb(var(--frost-pink) / 0.08), transparent);
}
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3 {
  color: var(--color-background);
  line-height: 1.12;
  letter-spacing: -0.025em;
}
h1 {
  max-width: 18ch;
  margin-bottom: 1.5rem;
  font-size: clamp(2.4rem, 4.5vw, 4.4rem);
  font-weight: 700;
}
h2 {
  margin-bottom: 1.25rem;
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  font-weight: 600;
}
h3 {
  margin-bottom: 0.75rem;
  font-size: 1.25rem;
  font-weight: 600;
}
a {
  color: inherit;
  text-underline-offset: 0.25em;
}
button, input, select, textarea { font: inherit; }
button, summary { cursor: pointer; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible {
  outline: 2px solid var(--ring, var(--color-background));
  outline-offset: 4px;
}
::selection {
  background: var(--selection);
  color: var(--color-text);
}
[hidden] { display: none !important; }
[id] { scroll-margin-top: 9rem; }
.c-container {
  width: min(100% - 3rem, 1240px);
  margin-inline: auto;
}
.c-prose {
  max-width: 65ch;
  margin-bottom: 1.5rem;
  color: rgb(var(--paper-rgb) / 0.9);
}
.c-eyebrow {
  display: block;
  margin-bottom: 1.25rem;
  color: var(--selection);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 30;
  padding: 0.75rem 1rem;
  background: var(--color-background);
  color: var(--color-primary);
}
.skip-link:focus { left: 1rem; }
.c-header {
  --ring: var(--color-primary);
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 2rem;
  min-height: 84px;
  padding: 0.75rem max(1.5rem, calc((100% - 1240px) / 2));
  background: linear-gradient(115deg, rgb(27 44 64 / 0.07), transparent 45%, rgb(145 96 117 / 0.13)), rgb(var(--paper-rgb) / 0.98);
  backdrop-filter: blur(16px);
  color: var(--color-primary);
  border-bottom: 1px solid rgb(27 44 64 / 0.12);
  box-shadow: inset 0 1px 0 rgb(250 247 248 / 0.8), 0 8px 24px rgb(27 44 64 / 0.14);
}
.c-header__logo img {
  display: block;
  width: auto;
  height: 60px;
}
.c-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(1rem, 2.5vw, 2.5rem);
  margin-left: auto;
}
.c-nav a {
  padding-block: 0.5rem;
  font-size: 0.9375rem;
  text-decoration: none;
}
.c-nav a:hover, .c-nav a[aria-current='page'] {
  color: var(--color-signature-text);
  text-decoration: underline 2px;
}
.c-btn {
  display: inline-flex;
  max-width: 100%;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  gap: 0.75rem;
  padding: 0.75rem 1.4rem;
  border: 1px solid rgb(var(--frost-pink-edge) / 0.5);
  border-radius: 8px;
  background: linear-gradient(rgb(var(--frost-pink) / 0.35), rgb(var(--frost-pink) / 0.35)), var(--color-primary);
  color: var(--color-background);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: background 160ms, border-color 160ms;
}
.c-btn:hover {
  background: var(--focus);
  border-color: var(--color-background);
}
.c-btn:active { background: var(--color-primary); }
.c-header .c-btn {
  min-height: 42px;
  background: var(--color-primary);
  border-color: var(--color-primary);
  white-space: nowrap;
}
.c-header .c-btn:hover { background: var(--color-signature-text); }
.c-footer {
  --ring: var(--ground-mid);
  margin-top: 4rem;
  padding-block: 2rem 1rem;
  background: linear-gradient(140deg, var(--signature-band), color-mix(in srgb, var(--signature-band), var(--color-background) 8%));
  color: var(--ground-mid);
}
.c-footer__inner {
  display: grid;
  grid-template-columns: 1.35fr repeat(3, 1fr);
  gap: 2rem;
  width: min(100% - 3rem, 1240px);
  margin-inline: auto;
}
.c-footer__logo img {
  display: block;
  width: 136px;
  height: 80px;
  object-fit: cover;
  margin-bottom: 0.75rem;
}
.c-footer__signoff {
  max-width: 20ch;
  font-size: 0.9375rem;
  font-weight: 600;
}
.c-footer h4 {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.c-footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-footer li + li { margin-top: 0.4rem; }
.c-footer a { font-size: 0.9375rem; }
.c-footer__legal, .c-footer__regulated {
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 1rem;
  border-top: 1px solid rgb(27 44 64 / 0.25);
  font-size: 0.875rem;
}
.c-footer a[href='/sitemap.xml'], .c-footer a[href='/llms.txt'] { font-size: 0.875rem; }
.c-eho-logo { display: block; width: 6rem; height: auto; }
.c-footer__regulated { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem 3rem; padding-top: 1.5rem; }
.c-footer__regulated p { margin: 0; line-height: 1.7; }
.c-footer__registry { display: grid; gap: 0.5rem; align-content: start; }
.c-footer__marks { display: grid; gap: 0.5rem; justify-items: center; align-content: start; }
.c-footer__coverage, .c-footer__notices { grid-column: 1 / -1; }
.c-footer__coverage { padding-top: 1.25rem; border-top: 1px solid rgb(27 44 64 / 0.15); }
.c-footer__coverage h4 { margin-bottom: 0.5rem; }
.c-footer__notices { display: flex; flex-wrap: wrap; gap: 0.75rem 2rem; }
@media (max-width: 767.98px) { .c-footer__regulated { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; } .c-footer__marks { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; } }
:where(.c-footer__regulated:not(:has(p:not(:empty), img)), .c-footer__marks:not(:has(img))),
.c-footer__contact:empty, .c-footer__nmls:empty, .c-footer__licensing:empty,
.c-footer__disclosure:empty, .c-footer__signoff:empty, .c-proof__stats:empty { display: none; }
.p-hero {
  position: relative;
  overflow: clip;
  padding-block: clamp(3rem, 7vw, 6rem) clamp(3rem, 6vw, 5rem);
}
.p-hero > .c-container {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}
.p-hero__copy .c-eyebrow {
  padding-left: 1rem;
  border-left: 2px solid var(--signature-band);
}
.p-actions, .p-tool-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  margin-top: 1.75rem;
}
.p-text-link {
  display: inline-block;
  width: fit-content;
  padding-block: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration-thickness: 1px;
}
.p-text-link:hover { text-decoration-thickness: 2px; }
.p-section { padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.p-section-heading {
  max-width: 65ch;
  margin-bottom: 2rem;
}
.p-intro {
  padding-block: 2.5rem;
  border-block: 1px solid var(--hairline);
}
.p-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}
.p-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.75rem;
}
.p-card p { margin-bottom: 1.25rem; }
.p-card .p-text-link { margin-top: auto; }
.p-price-grid { margin-bottom: 1.5rem; }
.p-price-card { min-width: 0; }
.p-price-card h3 { margin: 0 0 0.75rem; }
.p-price-card__price { margin: 0 0 1.5rem; color: var(--card-accent); font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; line-height: 1.1; }
.p-price-card__price span { display: block; margin-top: 0.25rem; color: var(--color-background); font-size: 0.9375rem; font-weight: 400; }
.p-price-card__roles { margin-bottom: 1.5rem; }
.p-price-card__roles h4 { margin: 1rem 0 0.5rem; font-size: 1rem; }
.p-price-card__roles ul { margin: 0; padding-left: 1.25rem; }
.p-price-card__roles li + li { margin-top: 0.5rem; }
.p-price-card--compact .p-card__number { margin-bottom: 0.75rem; }
.p-price-card--compact .p-price-card__price { margin-bottom: 1.25rem; }
.p-card__number {
  display: block;
  margin-bottom: 1.5rem;
  color: var(--selection);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}
.p-split {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 3rem;
  align-items: start;
}
.p-note {
  padding: 1rem 1.25rem;
  border-left: 2px solid var(--signature-band);
  background: rgb(var(--paper-rgb) / 0.04);
  font-size: 0.9375rem;
  color: rgb(var(--paper-rgb) / 0.9);
}
.p-closing {
  padding-block: clamp(3rem, 6vw, 5rem);
  text-align: center;
}
.p-closing h2, .p-closing p {
  max-width: 50ch;
  margin-inline: auto;
}
.p-card, .c-card, .p-journey, .p-planner, .p-workload, .p-contact__panel {
  background: var(--glass-fill), rgb(27 44 64 / 0.6);
  border: 1px solid var(--glass-stroke);
  border-radius: 16px;
  backdrop-filter: blur(30px);
  box-shadow: inset 0 1px 0 rgb(var(--paper-rgb) / 0.18), 0 16px 40px rgb(27 44 64 / 0.15);
}
.c-steps__panel { padding: clamp(1.5rem, 4vw, 3rem); }
.c-steps__panel h2 { margin-bottom: 2rem; }
.c-steps__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  counter-reset: steps;
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-steps__step h3::before, .p-card__illustration { margin-bottom: 1rem; }
.c-steps__step h3::before {
  display: block;
  counter-increment: steps;
  content: counter(steps, decimal-leading-zero);
  color: var(--selection);
  font-size: 2rem;
}
.c-steps__step p {
  margin-bottom: 0;
  font-size: 1rem;
}
.p-legal {
  max-width: 820px;
  padding-block: 1rem 3rem;
}
.p-legal h2 {
  margin-top: 2rem;
  font-size: 1.4rem;
}
.p-contact {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  padding-block: 1rem 3rem;
}
.p-contact__panel { padding: clamp(1.25rem, 3vw, 2.5rem) min(clamp(1.25rem, 3vw, 2.5rem), 5vw); }
.c-form, .p-planner__form, .p-workload {
  display: grid;
  gap: 1.25rem;
}
.c-form label, .p-workload label, .p-planner__summary {
  display: grid;
  gap: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 600;
}
input, select, textarea {
  width: 100%;
  min-width: 0;
  padding: 0.75rem 0.875rem;
  border: 1px solid rgb(var(--paper-rgb) / 0.5);
  border-radius: 6px;
  background: rgb(27 44 64 / 0.6);
  color: var(--color-background);
  font-weight: 400;
}
select option { background: var(--color-primary); }
textarea {
  min-height: 120px;
  resize: vertical;
}
input:focus, select:focus, textarea:focus { border-color: var(--color-background); }
input[type='checkbox'], input[type='radio'] {
  width: 1.2rem;
  height: 1.2rem;
  margin: 0;
  accent-color: var(--color-signature-text);
}
.c-form button { justify-self: start; }
.c-form__hint, .p-tool-status {
  margin: 0;
  color: rgb(var(--paper-rgb) / 0.9);
  font-size: 0.875rem;
  font-weight: 400;
}
.p-tool-status:empty { display: none; }
.p-optional {
  border-block: 1px solid var(--hairline);
  padding-block: 0.75rem;
}
.p-optional summary {
  font-weight: 600;
  font-size: 0.9375rem;
}
.p-optional__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.p-journey { --pipeline-green: #A1C9B4; }
.p-journey > p {
  max-width: 65ch;
}
.p-journey__stages {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-stage {
  border: 1px solid var(--hairline);
  border-radius: 8px;
  background: rgb(27 44 64 / 0.65);
}
.p-stage__trigger {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  min-height: 54px;
  padding: 0.875rem 1rem;
  list-style: none;
  font-size: 1rem;
  font-weight: 600;
  border-radius: 8px;
}
summary::-webkit-details-marker { display: none; }
.p-stage__trigger::after {
  content: '+';
  margin-left: auto;
  color: var(--color-background);
  font-size: 1.25rem;
  font-weight: 400;
}
.p-stage[open] > .p-stage__trigger::after { content: '−'; }
.p-stage[open] { border-color: var(--signature-band); }
.p-stage__trigger:hover { background: rgb(var(--paper-rgb) / 0.06); }
.p-stage__number {
  font-size: 0.875rem;
  font-weight: 400;
}
.p-stage--funded { --stage-color: var(--pipeline-green); }
#stage-ctc { --stage-color: var(--card-accent); }
.p-stage__label { color: var(--stage-color, var(--color-background)); }
.p-stage__body { padding: 0 1rem 1rem; font-size: 0.9375rem; }
.p-stage__facts { display: grid; gap: 0.5rem; margin: 0; padding-top: 1rem; border-top: 1px solid var(--hairline); }
.p-stage__facts > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 0.5rem 1.25rem; padding: 0.875rem 1rem; background: rgb(var(--paper-rgb) / 0.05); border-radius: 6px; }
.p-stage__facts dt { font-weight: 600; }
.p-stage__facts dd {
  margin: 0;
}
.p-stage__waiting {
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--hairline);
}
.p-stage:target { border-color: var(--color-background); }
.p-journey, .p-planner, .p-workload { padding: clamp(1.25rem, 3vw, 2rem) min(clamp(1.25rem, 3vw, 2rem), 5vw); }
.p-planner__group {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.p-planner__group legend {
  margin-bottom: 0.75rem;
  font-weight: 600;
}
.p-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}
.p-options label {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem;
  border: 1px solid var(--hairline);
  border-radius: 6px;
  font-size: 0.9375rem;
  cursor: pointer;
}
.p-options input {
  flex: 0 0 auto;
  margin-top: 0.2rem;
}
.p-options label:has(input:checked) {
  border-color: var(--signature-band);
  background: rgb(var(--paper-rgb) / 0.06);
}
.p-planner__summary textarea { min-height: 220px; margin-top: 0.5rem; }
.p-workload__tasks {
  display: grid;
  gap: 0.75rem;
}
.p-workload__result {
  padding: 1.25rem;
  border-left: 3px solid var(--signature-band);
  background: rgb(var(--paper-rgb) / 0.06);
}
.p-workload__result dl { margin: 0; }
.p-workload__result dd {
  margin: 0.25rem 0 1rem;
  font-size: 1.5rem;
  font-weight: 600;
}
.u-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@supports not (backdrop-filter: blur(30px)) {
  .p-card, .c-card, .p-journey, .p-planner, .p-workload {
    background: var(--ground-mid);
  }
  .c-header {
    background: var(--color-background);
  }
}
@media (prefers-reduced-transparency: reduce) {
  .p-card, .c-card, .p-journey, .p-planner, .p-workload {
    background: var(--ground-mid);
    backdrop-filter: none;
  }
  .c-header {
    background: var(--color-background);
    backdrop-filter: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
@media (max-width: 1000px) {
  .p-hero > .c-container {
    gap: 1.25rem 2rem;
  }
  .p-hero h1 {
    font-size: clamp(2.4rem, 5vw, 3.5rem);
  }
  .c-steps__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .p-grid {
    gap: 1rem;
  }
  .p-card {
    padding: 1.25rem;
  }
}
@media (max-width: 767.98px) {
  .c-header, .c-footer__brand { flex-wrap: wrap; }
  .c-container, .c-footer__inner {
    width: calc(100% - 2rem);
  }
  .c-header {
    min-height: 0;
    gap: 0.5rem 1rem;
    padding: 0.625rem 1rem;
  }
  .c-header__logo img {
    width: auto;
    height: 54px;
  }
  .c-header .c-btn {
    margin-left: auto;
    min-height: 38px;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
  }
  .c-nav {
    order: 3;
    justify-content: space-between;
    flex-basis: 100%;
    gap: 0.5rem;
    margin: 0;
  }
  .c-nav a {
    padding-block: 0.25rem;
    font-size: 0.875rem;
  }
  .p-hero > .c-container, .p-grid, .p-split, .p-contact {
    grid-template-columns: minmax(0, 1fr);
  }
  .p-hero {
    padding-block: 2.5rem 2rem;
  }
  .p-hero h1 {
    max-width: 20ch;
  }
  .p-split, .p-contact {
    gap: 1.5rem;
  }
  .c-footer {
    margin-top: 2rem;
    padding-top: 2rem;
  }
  .c-footer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.75rem 1rem;
  }
  .c-footer__brand {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 1.5rem;
  }
  .c-footer__signoff {
    max-width: none;
    margin: 0;
  }
  .c-footer__logo img {
    width: 100px;
    height: 60px;
    margin: 0;
  }
}
@media (max-width: 480px) {
  .c-steps__list, .p-optional__fields, .p-workload__fields, .p-options {
    grid-template-columns: minmax(0, 1fr);
  }
  .c-steps__list {
    gap: 1.5rem;
  }
  .c-steps__step h3::before {
    margin-bottom: 0.5rem;
  }
  .p-stage__trigger {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: min(0.875rem, 2vw);
    padding-inline: min(0.75rem, 3vw);
  }
  .p-stage__number { grid-column: 1 / -1; }
}
.c-hero__lede {
  max-width: 55ch;
  font-size: 1.125rem;
  color: rgb(var(--paper-rgb) / 0.9);
}
.p-about-mark {
  align-self: center;
  padding: 2rem 1rem;
  background: var(--surface-elevated);
  border-radius: 16px;
}
.p-about-mark img { width: 100%; height: auto; }
.p-card__label { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin-bottom: 1.5rem; color: var(--card-accent); }
.p-card__label svg { flex: none; }
.p-card .p-card__label .p-card__number { color: inherit; margin: 0; }
.p-hero__caption p {
  margin: 0;
  font-size: 1.35rem;
  line-height: 1.4;
}
.p-hero__copy .p-note {
  margin-top: 2rem;
  background: transparent;
  padding-block: 0;
}
.p-card--link {
  text-decoration: none;
  transition: background 180ms, border-color 180ms;
}
.p-card--link:hover { border-color: var(--color-background); }
.p-intro, .p-contact, .p-legal { padding-top: clamp(2.5rem, 5vw, 4.5rem); }
.p-intro .p-split, .p-closing .p-split { align-items: center; }
.p-closing .p-split {
  grid-template-columns: minmax(0, 1fr) auto;
  text-align: left;
}
.p-closing .p-split h2, .p-closing .p-split p { margin-inline: 0; }
.p-legal__header {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--hairline);
}
fieldset[data-tool-fields] {
  display: grid;
  gap: 1.5rem;
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
.p-form-row, .p-workload__task {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.p-workload__task {
  min-width: 0;
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--hairline);
  border-radius: 8px;
}
.p-workload__task legend {
  padding-inline: 0.4rem;
  font-weight: 600;
}
.p-planner__role {
  display: grid;
  gap: 0.5rem;
  font-weight: 600;
}
.p-tool-note, .p-tool-formula {
  font-size: 0.9375rem;
  color: rgb(var(--paper-rgb) / 0.9);
}
.p-tool-formula { margin-top: 1rem; }
.p-journey__track {
  position: relative;
  border-left: 2px solid var(--hairline);
  padding-left: min(1rem, 3vw);
}
.c-pipeline__runner {
  position: absolute;
  left: -2px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--success-band);
  transform-origin: top;
}
.c-pipeline.is-animated .p-stage:not(.is-lit) .p-stage__label { color: var(--pipeline-idle); }
.p-stage.is-lit .p-stage__label { text-shadow: 0 0 12px currentColor; }
.p-stage.is-lit { border-color: var(--stage-color, var(--hairline)); }
@media (max-width: 767.98px) {
  .p-closing .p-split, .p-stage__facts > div, .p-workload__task, .p-form-row {
    grid-template-columns: minmax(0, 1fr);
  }
  .p-closing .c-btn {
    justify-self: start;
  }
  .p-hero__caption p {
    font-size: 1.0625rem;
  }
}
body:has(.p-closing) .c-footer { margin-top: 0; }
.p-footer-stages summary {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.03em;
}
.p-footer-stages ul { margin-top: 0.75rem; }
.p-editorial__item + .p-editorial__item {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--hairline);
}
.p-journey__track + .p-tool-note { margin-top: 1rem; }
fieldset[data-tool-fields] > .c-btn { justify-self: start; }
.c-card .c-eyebrow { color: var(--color-background); }
.p-hero__visual { position: relative; min-height: 360px; display: grid; align-items: center; }
.p-hero__monogram {
  position: absolute;
  width: clamp(580px, 70vw, 1080px);
  height: auto;
  max-width: none;
  left: -12%;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.12;
  pointer-events: none;
}
.p-hero__caption { position: relative; z-index: 1; }
@media (max-width: 767.98px) {
  .c-footer__col:has(.p-footer-stages) { grid-column: 1 / -1; }
  .p-hero__monogram { left: 15%; }
  .p-hero__visual { min-height: 200px; }
}
body::before {
  --bloom-x: calc((100vw - max(1200px, 100vw)) / 2 - max(256.25px, 21.354167vw));
  --bloom-size: max(1900px, 158.333333vw);
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: url('/assets/design/figma-blooms.svg') var(--bloom-x) min(-512.5px, -42.708333vw) / var(--bloom-size) auto no-repeat,
    url('/assets/design/figma-blooms.svg') var(--bloom-x) 50% / var(--bloom-size) auto no-repeat,
    url('/assets/design/figma-blooms.svg') var(--bloom-x) bottom / var(--bloom-size) auto no-repeat;
  opacity: 0.75;
}
.p-card p, .p-card .p-card__number, .p-journey > p, .p-stage__number, .p-stage__facts dd,
.p-planner .p-tool-note, .p-workload .p-tool-note, .c-form__hint { color: var(--color-background); }
.p-card--link, .c-btn { position: relative; isolation: isolate; }
.p-card--link::after, .c-btn::after {
  content: '';
  position: absolute;
  inset: -1px;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(110deg, transparent 25%, var(--selection) 50%, transparent 75%) 100% 0 / 300% 100%;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  opacity: 0;
  pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
  :is(.p-card, .c-steps__panel, .p-journey, .p-about-mark, .p-editorial__item).is-revealed {
    animation: glass-arrive 500ms ease-out both;
  }
  :is(.p-card--link, .c-btn):is(:hover, :focus-visible)::after {
    animation: rim-pass 1s ease-out both;
  }
}
@keyframes glass-arrive {
  from { transform: translateY(10px); opacity: 0.85; }
  to { transform: none; opacity: 1; }
}
@keyframes rim-pass {
  0% { background-position: 100% 0; opacity: 0; }
  25% { opacity: 1; }
  100% { background-position: 0% 0; opacity: 0; }
}
@media (prefers-reduced-transparency: reduce), (forced-colors: active) {
  body::before, .p-card--link::after, .c-btn::after { display: none; }
}
@media (forced-colors: active) {
  .p-card, .c-card, .p-journey, .p-planner, .p-workload {
    background: Canvas;
    border-color: CanvasText;
    box-shadow: none;
    backdrop-filter: none;
  }
  :is(.p-card, .c-steps__panel, .p-journey, .p-about-mark, .p-editorial__item).is-revealed { animation: none; }
}
.p-card__illustration--file { opacity: 0.85; }
.p-card__illustration--padded { transform: scale(1.35); }
.p-tool-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: clamp(1rem, 3vw, 3rem); }
.p-tool-heading > div { flex: 1 1 12rem; }
.p-tool-heading--compact { justify-content: flex-start; gap: 1.25rem; }
.p-tool-heading--compact > div { flex: 0 1 auto; }
.p-section-art { width: clamp(4rem, 8vw, 8rem); height: auto; flex: none; }
@media (max-width: 767.98px) { .p-contact__art { display: none; } }
.p-home-choice .p-section-heading, .p-home-journey .p-section-heading { max-width: 55ch; margin-inline: auto; text-align: center; }

.home-flow {
  position: relative;
  overflow: hidden;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--hairline);
  border-radius: 12px;
  background: radial-gradient(circle at 51% 48%, rgb(var(--frost-pink) / 0.1), transparent 35%), rgb(var(--paper-rgb) / 0.08);
  box-shadow: 0 24px 70px rgb(11 20 34 / 0.16);
}
.home-flow__motion { position: absolute; z-index: 2; right: 0.75rem; bottom: 0.75rem; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 1px solid transparent; border-radius: 50%; background: rgb(var(--paper-rgb) / 0.05); color: var(--color-background); font: inherit; font-size: 1.05rem; opacity: 0.42; cursor: pointer; }
.home-flow__motion:hover, .home-flow__motion:focus-visible { border-color: var(--selection); background: rgb(var(--paper-rgb) / 0.12); opacity: 1; }
.home-flow__motion[hidden] { display: none; }
.home-flow__diagram { position: relative; min-height: 35rem; }
.home-flow__lanes { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.home-flow__lane { color: #F8DFEA; }
.home-flow__lane--2, .home-flow__lane--5 { color: #D9B3C6; }
.home-flow__lane--3, .home-flow__lane--6 { color: #B8DACA; }
.home-flow__lane > path { fill: none; stroke: none; }
.home-flow__track, .home-flow__bloom, .home-flow__tail, .home-flow__head { fill: none; stroke: currentColor; stroke-linecap: round; }
.home-flow__track { stroke-width: 1.5; opacity: 0.45; }
.home-flow__bloom { stroke-width: 12; stroke-dasharray: 13 187; filter: blur(7px); opacity: 0; }
.home-flow__tail { stroke-width: 4; stroke-dasharray: 9 191; filter: blur(2px); opacity: 0; }
.home-flow__head { stroke-width: 2.5; stroke-dasharray: 2 198; opacity: 0; }
.home-flow.is-playing .home-flow__bloom, .home-flow.is-playing .home-flow__tail, .home-flow.is-playing .home-flow__head { animation: home-flow-in 7s linear infinite; }
.home-flow.is-playing .home-flow__lane--2 :is(.home-flow__bloom, .home-flow__tail, .home-flow__head) { animation-delay: 0.45s; }
.home-flow.is-playing .home-flow__lane--3 :is(.home-flow__bloom, .home-flow__tail, .home-flow__head) { animation-delay: 0.9s; }
.home-flow.is-playing .home-flow__lane--4 :is(.home-flow__bloom, .home-flow__tail, .home-flow__head) { animation-delay: 1.35s; }
.home-flow.is-playing .home-flow__lane--5 :is(.home-flow__bloom, .home-flow__tail, .home-flow__head) { animation-delay: 1.8s; }
.home-flow.is-playing .home-flow__lane--6 :is(.home-flow__bloom, .home-flow__tail, .home-flow__head) { animation-name: home-flow-out; }
@keyframes home-flow-in { 0% { stroke-dashoffset: 12; opacity: 0; } 5%, 45% { opacity: 0.9; } 50%, 100% { stroke-dashoffset: -108; opacity: 0; } }
@keyframes home-flow-out { 0%, 76% { stroke-dashoffset: 12; opacity: 0; } 80%, 96% { opacity: 0.9; } 100% { stroke-dashoffset: -108; opacity: 0; } }
.home-flow.is-enhanced .home-flow__inputs { position: absolute; z-index: 1; inset: 0 auto 0 2%; width: 21%; display: grid; grid-template-rows: repeat(5, 1fr); align-items: center; }
.home-flow__stage { min-width: 0; }
.home-flow__stage > summary { position: relative; isolation: isolate; display: flex; align-items: center; gap: 0.75rem; min-height: 3.5rem; padding: 0.7rem 0.9rem; border: 1px solid rgb(var(--frost-pink-edge) / 0.45); border-radius: 999px; background: linear-gradient(115deg, #2A3D56, #17283C); color: var(--color-background); cursor: pointer; list-style: none; box-shadow: 0 10px 30px rgb(8 17 31 / 0.16); }
.home-flow__stage > summary::-webkit-details-marker { display: none; }
.home-flow__stage > summary:hover, .home-flow__stage > summary:focus-visible, .home-flow__stage[open] > summary { border-color: var(--selection); background: linear-gradient(115deg, #344960, #1A2D42); }
.home-flow__stage > summary::before { content: ''; position: absolute; inset: -2px; padding: 2px; border-radius: inherit; background: conic-gradient(from var(--flow-edge-angle), transparent 0 68%, #F8DFEA 82%, #A1C9B4 91%, transparent 100%); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask-composite: exclude; opacity: 0; pointer-events: none; }
.home-flow__number { display: grid; place-items: center; flex: none; width: 2rem; height: 2rem; border: 1px solid currentColor; border-radius: 50%; font-size: 0.875rem; }
.home-flow__label { min-width: 0; font-weight: 600; line-height: 1.25; }
.home-flow__toggle { margin-left: auto; color: #F8DFEA; font-size: 1.2rem; }
.home-flow__stage[open] > summary .home-flow__toggle { transform: rotate(45deg); }
.home-flow__core { position: absolute; z-index: 1; left: 50%; top: 50%; display: grid; place-items: center; width: clamp(10rem, 17vw, 13.5rem); aspect-ratio: 1; border: 1px solid rgb(var(--paper-rgb) / 0.22); border-radius: 50%; background: radial-gradient(circle at 30% 24%, #617287 0%, #344B63 48%, #182A40 100%); box-shadow: inset -16px -20px 32px rgb(7 14 28 / 0.3), inset 8px 8px 24px rgb(var(--paper-rgb) / 0.08), 0 0 44px rgb(113 143 166 / 0.12); transform: translate(-50%, -50%); }
.home-flow__core::before { content: ''; position: absolute; inset: 4%; border-top: 1px solid rgb(var(--paper-rgb) / 0.28); border-radius: 50%; transform: rotate(-22deg); pointer-events: none; }
.home-flow__core img { width: 57%; height: auto; filter: drop-shadow(0 4px 14px rgb(var(--paper-rgb) / 0.22)); }
.home-flow.is-enhanced .home-flow__result { position: absolute; z-index: 1; top: 50%; left: 80%; width: 19%; transform: translateY(-50%); }
.home-flow__stage--funded > summary { border-color: #B8DACA; box-shadow: 0 0 32px rgb(161 201 180 / 0.12); }
.home-flow.is-enhanced .home-flow__diagram .home-flow__breakdown { display: none; }
.home-flow__breakdown { padding: 0.85rem 1rem; border: 1px solid var(--hairline); border-radius: 8px; background: rgb(27 44 64 / 0.9); font-size: 0.9375rem; }
.home-flow__breakdown dl { display: grid; gap: 0.65rem; margin: 0; }
.home-flow__breakdown dl > div { padding: 0.75rem; border-radius: 8px; background: rgb(var(--paper-rgb) / 0.07); }
.home-flow__breakdown dt { color: #EAD9E0; font-size: 0.875rem; font-weight: 600; }
.home-flow__breakdown dd { margin: 0.25rem 0 0; }
.home-flow__waiting { margin-top: 0.75rem; }
.home-flow__waiting summary { cursor: pointer; font-weight: 600; }
.home-flow__waiting p { margin: 0.5rem 0 0; }
.home-flow:not(.is-enhanced) .home-flow__diagram { display: grid; gap: 1.5rem; min-height: 0; }
.home-flow:not(.is-enhanced) .home-flow__lanes { display: none; }
.home-flow:not(.is-enhanced) .home-flow__inputs { display: grid; gap: 0.75rem; }
.home-flow:not(.is-enhanced) .home-flow__core { position: relative; left: auto; top: auto; margin: 0 auto; transform: none; }
.home-flow:not(.is-enhanced) .home-flow__result { width: min(100%, 25rem); margin: 0 auto; }
.home-flow__shade { position: absolute; z-index: 3; inset: 0; width: 100%; border: 0; background: rgb(6 11 22 / 0.75); cursor: pointer; }
.home-flow__detail { position: absolute; z-index: 4; left: 50%; top: 50%; width: min(38rem, calc(100% - 2rem)); max-height: calc(100% - 2rem); overflow: auto; border: 1px solid rgb(var(--frost-pink-edge) / 0.4); border-radius: 12px; background: linear-gradient(145deg, #2B3448, #191F31); color: var(--color-background); box-shadow: 0 28px 70px rgb(4 8 18 / 0.4); transform: translate(-50%, -50%); }
.home-flow__shade[hidden], .home-flow__detail[hidden] { display: none; }
.home-flow__detail-inner { padding: clamp(1.25rem, 3vw, 2rem); }
.home-flow__detail-top { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.home-flow__close { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 1px solid var(--hairline); border-radius: 8px; background: transparent; color: inherit; font: inherit; font-size: 1.5rem; line-height: 1; cursor: pointer; }
.home-flow__close:hover, .home-flow__close:focus-visible { background: rgb(var(--paper-rgb) / 0.1); border-color: var(--selection); }
.home-flow__detail-number { margin: 1.25rem 0 0.35rem; color: #EAD9E0; font-size: 0.875rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.home-flow__detail h3 { margin-bottom: 1.25rem; font-size: clamp(1.8rem, 4vw, 2.5rem); }
.home-flow__detail .home-flow__breakdown { padding: 0; border: 0; background: none; }
.home-flow__detail-note { margin: 1.25rem 0 0; padding-top: 1rem; border-top: 1px solid var(--hairline); font-size: 0.875rem; }
@property --flow-edge-angle { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
@keyframes home-flow-edge { to { --flow-edge-angle: 360deg; } }
@media (prefers-reduced-motion: no-preference) {
  .home-flow.is-playing .home-flow__stage > summary:hover::before, .home-flow.is-playing .home-flow__stage > summary:focus-visible::before { opacity: 1; animation: home-flow-edge 2.6s linear infinite; }
}
@media (max-width: 979.98px) {
  .home-flow__diagram, .home-flow.is-enhanced .home-flow__diagram { display: grid; gap: 1.5rem; min-height: 0; }
  .home-flow__lanes { display: none; }
  .home-flow.is-enhanced .home-flow__inputs { position: relative; inset: auto; width: 100%; display: grid; gap: 0.75rem; }
  .home-flow__core { position: relative; left: auto; top: auto; margin: 1rem auto; transform: none; }
  .home-flow.is-enhanced .home-flow__result { position: relative; top: auto; left: auto; width: min(100%, 25rem); margin: 0 auto; transform: none; }
  .home-flow.is-enhanced .home-flow__inputs::after { content: ''; position: absolute; left: 1.9rem; top: 100%; width: 1px; height: 2.5rem; background: var(--selection); }
  .home-flow__core::after { content: ''; position: absolute; left: 50%; top: 100%; width: 1px; height: 2.5rem; background: #B8DACA; }
}
@media (forced-colors: active) {
  .home-flow, .home-flow__stage > summary, .home-flow__detail { background: Canvas; color: CanvasText; border-color: CanvasText; }
  .home-flow__lanes, .home-flow__core::before { display: none; }
}
.p-home-prep__panel { display: grid; justify-items: center; gap: 2rem; padding: clamp(1.5rem, 4vw, 3.5rem); text-align: center; }
.p-home-prep__copy { max-width: 40rem; }
.p-home-prep__copy h2 { margin: 0.75rem 0 1rem; }
.p-home-prep__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; width: min(100%, 60rem); margin: 0; padding: 0; list-style: none; counter-reset: prep-step; }
.p-home-prep__tile { min-width: 0; padding: 1.5rem; border: 1px solid rgb(var(--paper-rgb) / 0.3); border-radius: 12px; background: linear-gradient(145deg, rgb(var(--paper-rgb) / 0.16), rgb(var(--paper-rgb) / 0.05)); box-shadow: 0 12px 28px rgb(5 15 28 / 0.12); backdrop-filter: blur(18px); }
.p-home-prep__tile h3 { margin: 0 0 0.75rem; font-size: 1.1rem; }
.p-home-prep__tile h3::before { display: block; margin-bottom: 1.15rem; color: #E5CAD7; font-size: 1.6rem; font-weight: 400; content: counter(prep-step, decimal-leading-zero); counter-increment: prep-step; }
.p-home-prep__tile p { margin: 0; font-size: 1rem; line-height: 1.5; }
@media (max-width: 639.98px) {
  .p-home-prep__steps { grid-template-columns: 1fr; }
  .p-home-prep__tile { padding: 1rem; }
  .p-home-prep__tile h3::before { display: inline; margin-right: 0.75rem; font-size: 1.1rem; }
}
body:has(.p-home-journey, .p-services, .p-about, .p-contact-page) { background: var(--ground-mid); }
body:has(.p-home-journey, .p-services, .p-about, .p-contact-page)::before { display: none; }
body:has(.p-home-journey, .p-services, .p-about, .p-contact-page) main { background: none; }
body:has(.p-home-journey, .p-services, .p-about, .p-contact-page) .c-footer { margin-top: 0; }
.p-home-journey .home-flow { background: linear-gradient(130deg, rgb(var(--paper-rgb) / 0.1), rgb(var(--paper-rgb) / 0.04)); }
.p-home-pricing { padding-block: 2.5rem; }
.p-home-pricing__strip { position: relative; isolation: isolate; padding-block: 1.25rem; background: radial-gradient(ellipse at 30% 50%, rgb(var(--frost-pink) / 0.13), transparent 70%), linear-gradient(90deg, rgb(var(--frost-pink) / 0.04), rgb(var(--paper-rgb) / 0.025) 55%, rgb(var(--frost-pink) / 0.06)); backdrop-filter: blur(20px); }
.p-home-pricing__strip::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0.06; mix-blend-mode: soft-light; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='.5'/%3E%3C/svg%3E"); }
.p-home-pricing__inner { display: grid; justify-items: center; gap: 1.25rem; }
.p-home-pricing__copy { max-width: 48rem; text-align: center; }
.p-home-pricing__copy h2 { margin-block: 0.75rem 1.5rem; }
.p-home-pricing__subtitle { margin: 0; color: var(--color-background); font-size: 1rem; text-align: center; }
.p-home-pricing .p-price-grid { width: min(100%, 60rem); align-items: center; gap: 1.25rem; margin: 0; }
.p-home-pricing .p-price-card { position: relative; isolation: isolate; justify-content: center; align-items: center; gap: 1rem; min-height: 21rem; padding: 1.5rem; text-align: center; background: linear-gradient(145deg, rgb(var(--paper-rgb) / 0.09), rgb(var(--paper-rgb) / 0.03)); border-color: rgb(var(--paper-rgb) / 0.25); box-shadow: 0 14px 35px rgb(5 15 28 / 0.15); backdrop-filter: blur(22px); }
.p-home-pricing .p-card__number, .p-home-pricing .p-price-card h3 { margin: 0; }
.p-home-pricing .p-price-card h3 { white-space: normal; font-size: 1.25rem; line-height: 1.2; }
.p-home-pricing .p-price-card__price { margin: 0.5rem 0; font-size: clamp(2.5rem, 4vw, 3.25rem); }
.p-home-pricing .p-price-card__price span { display: block; margin-top: 0.5rem; font-size: 0.875rem; white-space: nowrap; }
.p-home-pricing .p-price-card__action { width: 100%; margin: 0; border-color: rgb(var(--paper-rgb) / 0.3); background: rgb(var(--paper-rgb) / 0.05); color: var(--color-background); }
.p-price-card__action::before { content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: radial-gradient(ellipse at 50% 100%, rgb(var(--frost-pink) / 0.2), transparent 80%); opacity: 0; transition: opacity 200ms ease; pointer-events: none; }
.p-price-card__action:is(:hover, :focus-visible)::before { opacity: 1; }
.p-home-pricing .p-price-card--featured { min-height: 24rem; border-color: var(--selection); box-shadow: 0 24px 55px rgb(5 15 28 / 0.28); }
.p-price-card--featured::before { content: ''; position: absolute; inset: -2px; padding: 2px; border-radius: inherit; pointer-events: none; background: conic-gradient(from var(--flow-edge-angle), transparent 0 70%, var(--selection) 88%, #FFFFFF 94%, transparent 100%); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask-composite: exclude; opacity: 0; }
.p-home-pricing__compare { color: var(--color-background); }
@keyframes home-price-chaser { 0% { --flow-edge-angle: 0deg; opacity: 0; } 10%, 90% { opacity: 1; } 100% { --flow-edge-angle: 360deg; opacity: 0; } }
@media (min-width: 980px) and (prefers-reduced-motion: no-preference) {
  .p-price-card--featured.is-revealed::before { animation: home-price-chaser 4.8s linear both; }
  .p-price-card--featured:is(:hover, :focus-within)::before { opacity: 1; animation: home-flow-edge 4.8s linear infinite; }
}
@media (max-width: 979.98px) {
  .p-hero > .c-container { grid-template-columns: 1fr; }
  .p-hero__visual { display: none; }
  .p-home-pricing .p-price-grid { gap: 0.75rem; }
  .p-home-pricing .p-price-card { padding: 1.1rem; }
  .p-home-pricing .p-price-card h3 { font-size: 1.125rem; }
  .p-home-pricing .p-price-card__price { font-size: 2.3rem; }
  .home-flow__core, .home-flow__inputs::after, .home-flow__core::after { display: none; }
  .home-flow:not(.is-enhanced) .home-flow__diagram { gap: 0.75rem; }
  .home-flow:not(.is-enhanced) .home-flow__result { width: 100%; }
  .home-flow__stage > summary { border-radius: 12px; }
  .home-flow__breakdown { margin-top: 0.5rem; }
  body:has(.p-home-journey, .p-services, .p-about, .p-contact-page) :is(.c-nav a, .c-header .c-btn) { min-height: 44px; display: inline-flex; align-items: center; }
  body:has(.p-home-journey, .p-services) :is(.p-card, .c-btn, .home-flow__stage > summary)::after, .home-flow__stage > summary::before { animation: none; }
  body:has(.p-home-journey, .p-services) :is(.p-card, .p-journey).is-revealed { animation: none; }
}
.p-services-intro { border: 0; padding-block: clamp(3rem, 6vw, 5rem); }
.p-services-intro__layout { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.p-services-intro__copy { max-width: 35rem; }
.p-services-intro h1 { margin-block: 1rem 1.5rem; }
.p-services-photo { position: relative; isolation: isolate; padding: 2rem 2rem 1rem 0; }
.p-services-photo::before { content: ''; position: absolute; z-index: -1; inset: 0 0 0 18%; border: 1px solid rgb(var(--frost-pink-edge) / 0.3); border-radius: 24px; background: linear-gradient(145deg, #916075, #4A465C); }
.p-services-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; object-position: 65% center; border: 3px solid #FAF7F8; border-radius: 20px; box-shadow: 0 18px 35px rgb(5 15 28 / 0.24); }
.p-services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin: 2.5rem 0 1.5rem; padding: 0; list-style: none; }
.p-services-tile { min-width: 0; padding: 1.5rem; border: 1px solid rgb(var(--paper-rgb) / 0.2); border-radius: 18px; background: linear-gradient(145deg, rgb(var(--paper-rgb) / 0.14), rgb(var(--paper-rgb) / 0.04)); text-align: left; }
.p-services-tile__art { display: block; width: min(7rem, 100%); height: auto; object-fit: contain; }
.p-services-tile h3 { margin: 1.25rem 0 0.75rem; font-size: 1.25rem; }
.p-services-tile p { margin: 0; }
:is(.p-services, .p-pricing) .p-price-card__action { isolation: isolate; overflow: hidden; border-color: rgb(var(--paper-rgb) / 0.45); background: linear-gradient(135deg, rgb(var(--paper-rgb) / 0.22), rgb(var(--frost-pink) / 0.14) 52%, rgb(var(--paper-rgb) / 0.07)); backdrop-filter: blur(18px) saturate(140%); box-shadow: inset 0 1px 0 rgb(var(--paper-rgb) / 0.25), 0 5px 15px rgb(5 15 28 / 0.12); }
:is(.p-services, .p-pricing) .p-price-card__action::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; border-radius: inherit; padding: 0; mask: none; animation: none; opacity: 0.12; mix-blend-mode: soft-light; background-size: 180px 180px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='.5'/%3E%3C/svg%3E"); }
.p-services .p-services-compare { isolation: isolate; overflow: hidden; max-width: 100%; margin-top: 1.75rem; padding: 0.95rem 1.5rem; border-color: rgb(var(--paper-rgb) / 0.35); border-radius: 12px; background: linear-gradient(135deg, rgb(var(--paper-rgb) / 0.13), rgb(var(--frost-pink) / 0.1)); text-align: center; }
.p-services-compare::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; border-radius: inherit; background: radial-gradient(ellipse at 25% 100%, rgb(var(--frost-pink) / 0.55), transparent 70%), radial-gradient(ellipse at 90% 0%, rgb(var(--paper-rgb) / 0.22), transparent 65%); filter: blur(7px); opacity: 0; transition: opacity 220ms ease; }
.p-services-compare:is(:hover, :focus-visible)::before { opacity: 1; }
.p-services .p-section-heading { max-width: 55ch; margin-inline: auto; text-align: center; }
.p-services .p-planner { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 4vw, 4rem); max-width: 72rem; margin-inline: auto; padding: clamp(1.25rem, 4vw, 3rem); border-radius: 24px; background: linear-gradient(135deg, #34465D, #293C55); }
.p-planner__intro, .p-services .p-planner__form { min-width: 0; }
.p-planner__intro h2 { margin: 0.75rem 0 1rem; font-size: clamp(1.8rem, 3vw, 2.5rem); }
.p-planner__intro .p-tool-note { margin-top: 1.5rem; }
.p-planner__progress { margin-top: 2rem; }
.p-planner__progress > span { font-weight: 600; }
.p-planner__progress progress { display: block; width: 100%; height: 0.5rem; margin-top: 0.75rem; border: 0; border-radius: 99px; overflow: hidden; background: #1D3049; color: #E5CAD7; accent-color: #E5CAD7; }
.p-planner__progress progress::-webkit-progress-bar { background: #1D3049; }
.p-planner__progress progress::-webkit-progress-value { background: #E5CAD7; }
.p-planner__progress progress::-moz-progress-bar { background: #E5CAD7; }
.p-planner__progress p { margin-top: 0.75rem; font-size: 0.875rem; }
.p-services .p-planner .p-options { grid-template-columns: 1fr; }
.p-services .p-planner .p-option { align-items: center; padding: 0.9rem 1rem; border-radius: 10px; background: rgb(var(--paper-rgb) / 0.04); }
.p-services .p-planner .p-option input { margin: 0; }
.p-services .p-planner .p-option:has(input:checked) { border-color: #E5CAD7; background: rgb(var(--paper-rgb) / 0.1); }
.p-planner__context { border-block: 1px solid rgb(var(--paper-rgb) / 0.2); padding-block: 1rem; }
.p-planner__context summary { cursor: pointer; font-weight: 600; }
.p-planner__context summary span { font-weight: 400; }
.p-planner__context .p-options { margin-top: 1rem; }
.p-services .p-planner__summary { gap: 1rem; }
.p-services .p-planner__summary .p-tool-actions { flex-wrap: wrap; }
.p-services .p-planner [data-edit-summary] { border: 0; background: none; cursor: pointer; font: inherit; }
.p-services #service-areas, .p-services #handoff-planner { scroll-margin-top: 9rem; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .p-services-photo img { transition: transform 220ms ease, box-shadow 220ms ease; }
  .p-services-photo:hover img { transform: translateY(-3px); box-shadow: 0 22px 42px rgb(5 15 28 / 0.28); }
}
.p-pricing__art { width: min(100%, 22rem); margin-inline: auto; padding: 2.5rem; border: 1px solid rgb(var(--paper-rgb) / 0.35); border-radius: 28px; background: radial-gradient(ellipse at 30% 20%, rgb(var(--frost-pink) / 0.28), transparent 75%), rgb(var(--paper-rgb) / 0.05); box-shadow: 0 18px 42px rgb(5 15 28 / 0.2); }
.p-pricing { overflow-wrap: anywhere; }
.p-pricing__art img { display: block; width: 100%; height: auto; }
.p-pricing .p-price-grid { align-items: start; }
.p-pricing .p-price-card { min-height: 26rem; justify-content: start; }
.p-pricing .p-price-card--featured { min-height: 28rem; }
.p-pricing .p-price-card__handoff { margin: 0; font-size: 1rem; line-height: 1.5; }
.p-pricing .p-price-card__scope { width: 100%; text-align: left; border-block: 1px solid rgb(var(--paper-rgb) / 0.2); }
.p-price-card__scope summary { padding-block: 1rem; cursor: pointer; font-weight: 600; }
.p-pricing .p-price-card__roles { font-size: 0.9375rem; line-height: 1.5; }
.p-pricing .p-price-card__action { margin-top: auto; }
.p-pricing .p-price-card:target { outline: 2px solid var(--selection); outline-offset: 4px; }
.p-pricing #options, .p-pricing .p-price-card, .p-pricing #workload-planner { scroll-margin-top: 8rem; }
.p-pricing__terms { max-width: 70ch; margin: 0; text-align: center; }
.p-pricing__optional { padding: 1.5rem; border: 1px solid rgb(var(--paper-rgb) / 0.25); border-radius: 20px; background: rgb(var(--paper-rgb) / 0.05); }
.p-pricing__optional > summary { cursor: pointer; }
.p-pricing__optional h2 { display: inline; margin-left: 0.5rem; font-size: clamp(1.5rem, 3vw, 2rem); }
.p-pricing__optional .c-eyebrow { display: block; margin-bottom: 0.75rem; }
.p-pricing__workload { padding-top: 1.5rem; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) { .p-pricing__art img { transition: transform 220ms ease; } .p-pricing__art:hover img { transform: translateY(-3px); } }
@media (prefers-reduced-transparency: reduce) { .p-pricing__art, .p-pricing__optional { background: #34465D; } }
@media (forced-colors: active) { .p-pricing__art, .p-pricing__optional { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; } .p-pricing .p-price-card:target { outline-color: Highlight; } }
@media (max-width: 63.99rem) {
  .p-services-intro__layout { grid-template-columns: 1fr; }
  .p-services-photo { width: min(100%, 32rem); margin-inline: auto; }
  .p-services-photo img { aspect-ratio: 3 / 2; }
  .p-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .p-services .p-planner { grid-template-columns: 1fr; }
  .p-services-grid { grid-template-columns: 1fr; gap: 2rem; }
  .p-services-photo { padding: 1rem 1rem 0.5rem 0; }
  .p-home-pricing .p-price-grid { grid-template-columns: 1fr; }
  .p-home-pricing .p-price-card { min-height: 0; gap: 0.75rem; }
  .p-home-pricing .p-price-card__price { margin-block: 0.25rem; }
  .p-home-choice .p-card__illustration { display: none; }
}
@media (prefers-reduced-transparency: reduce) {
  .p-home-pricing__strip::before, .p-price-card__action::before { display: none; }
  .p-home-pricing__strip { background: #2E3B54; backdrop-filter: none; }
  .p-home-pricing .p-price-card { background: #34465D; backdrop-filter: none; }
  .p-home-prep__tile, .p-services-tile { background: #34465D; backdrop-filter: none; }
  :is(.p-services, .p-pricing) .p-price-card__action, .p-services .p-services-compare { background: #4A465C; backdrop-filter: none; }
  :is(.p-services, .p-pricing) .p-price-card__action::after, .p-services-compare::before { display: none; }
}
@media (prefers-reduced-motion: reduce) { .p-services-compare::before { transition: none; } }
@media (forced-colors: active) {
  .p-services-photo::before, .p-services-tile, .p-services .p-planner { background: Canvas; color: CanvasText; border-color: CanvasText; }
  .p-home-pricing__strip, .p-home-pricing .p-price-card, .p-home-prep__tile { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; }
  .p-home-pricing__strip::before, .p-price-card--featured::before, .p-price-card__action::before { display: none; }
  .p-home-pricing__subtitle, .p-home-pricing .p-price-card__action { background: Canvas; color: CanvasText; }
  :is(.p-services, .p-pricing) .p-price-card__action, .p-services .p-services-compare { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; backdrop-filter: none; }
  :is(.p-services, .p-pricing) .p-price-card__action::after, .p-services-compare::before { display: none; }
  .p-home-pricing__copy h2, .p-home-pricing__copy .c-eyebrow, .p-home-pricing__compare { color: CanvasText; }
}
.p-week { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 4vw, 3rem); padding: clamp(1.25rem, 4vw, 3rem); border: 1px solid rgb(var(--paper-rgb) / 0.22); border-radius: 24px; background: linear-gradient(135deg, #34465D, #293C55); }
.p-week__intro, .p-week__form, .p-week__panel, .p-week__time > div { min-width: 0; }
.p-week__intro h2 { margin: 0.75rem 0 1rem; font-size: clamp(1.8rem, 3vw, 2.5rem); }
.p-week__intro nav { margin-top: 2rem; }
.p-week__intro ol { list-style: none; padding: 0; display: grid; gap: 0.75rem; counter-reset: week; }
.p-week__intro li { display: flex; align-items: center; gap: 0.75rem; counter-increment: week; }
.p-week__intro li::before { content: counter(week); display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid rgb(var(--paper-rgb) / 0.3); border-radius: 50%; }
.p-week__intro .is-current { font-weight: 700; }
.p-week__intro .is-current::before, .p-week__intro .is-done::before { background: #E5CAD7; color: #1D3049; border-color: #E5CAD7; }
.p-week progress { width: 100%; height: 0.5rem; border: 0; border-radius: 99px; accent-color: #E5CAD7; background: #1D3049; }
.p-week progress::-webkit-progress-bar { background: #1D3049; border-radius: 99px; }
.p-week progress::-webkit-progress-value { background: #E5CAD7; border-radius: 99px; }
.p-week progress::-moz-progress-bar { background: #E5CAD7; }
.p-week__form > fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.p-week__panel h3 { font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.2; margin: 0 0 1rem; scroll-margin-top: 8rem; }
.p-week__panel h3:focus { outline: none; }
.p-week__panel fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.p-week__choices { display: grid; gap: 0.75rem; margin: 1.5rem 0 1rem; }
.p-week__choice { display: flex; align-items: center; gap: 0.75rem; padding: 1rem; border: 1px solid rgb(var(--paper-rgb) / 0.25); border-radius: 16px; background: linear-gradient(135deg, rgb(229 202 215 / 0.12), rgb(246 246 250 / 0.05)); cursor: pointer; }
.p-week__choice img { width: 3.5rem; height: 3.5rem; object-fit: contain; flex-shrink: 0; }
.p-week__choice input, .p-week__none input { width: 1.2rem; height: 1.2rem; accent-color: #E5CAD7; flex-shrink: 0; }
.p-week__choice strong, .p-week__choice small { display: block; }
.p-week__choice > span { min-width: 0; overflow-wrap: anywhere; }
.p-week__choice small { margin-top: 0.35rem; font-size: 0.875rem; line-height: 1.4; }
.p-week__choice:has(input:checked) { border-color: #E5CAD7; background: rgb(229 202 215 / 0.2); }
.p-week__choice:focus-within { outline: 2px solid #E5CAD7; outline-offset: 3px; }
.p-week__none { display: flex; gap: 0.75rem; align-items: center; cursor: pointer; }
.p-week__number { margin-block: 1.5rem; }
.p-week__number > label { display: block; margin-bottom: 0.75rem; line-height: 1.5; }
.p-week__adjust { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 0.5rem; align-items: center; padding: 0.65rem; border: 1px solid rgb(var(--paper-rgb) / 0.35); border-radius: 18px; background: linear-gradient(140deg, rgb(246 246 250 / 0.14), rgb(229 202 215 / 0.05)); backdrop-filter: blur(16px); box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.18), 0 6px 18px rgb(13 27 45 / 0.12); }
.p-week__adjust input { min-width: 0; width: 100%; font: inherit; font-size: 1.75rem; color: inherit; background: transparent; border: 0; text-align: center; padding: 0; appearance: textfield; }
.p-week__adjust input::-webkit-inner-spin-button, .p-week__adjust input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.p-week__adjust button { width: 36px; height: 32px; padding: 0; font: inherit; font-size: 1.25rem; border: 0; background: rgb(246 246 250 / 0.1); color: inherit; cursor: pointer; }
.p-week__adjust > span { grid-column: 1; font-size: 0.875rem; text-align: center; }
.p-week__steppers { grid-column: 2; grid-row: 1 / 3; display: grid; gap: 1px; border: 1px solid rgb(var(--paper-rgb) / 0.35); border-radius: 12px; overflow: hidden; background: rgb(var(--paper-rgb) / 0.08); }
.p-week__shortcuts { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.p-week__shortcuts button, .p-week__edit button { padding: 0.65rem 0.9rem; border: 1px solid rgb(var(--paper-rgb) / 0.3); border-radius: 99px; background: rgb(229 202 215 / 0.08); color: inherit; font: inherit; cursor: pointer; }
.p-week__time { display: grid; grid-template-columns: 5rem minmax(0, 1fr); align-items: center; gap: 1rem; }
.p-week__clock { width: 100%; fill: none; stroke: #E5CAD7; stroke-width: 3; }
.p-week__clock-track { stroke: rgb(var(--paper-rgb) / 0.15); stroke-width: 7; }
.p-week__clock-fill { stroke-width: 7; transform: rotate(-90deg); transform-origin: 50% 50%; }
.p-week__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; margin-top: 1.5rem; }
.p-week__reset { background: none; border: 0; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; padding: 0.75rem; }
.p-week__totals { display: grid; gap: 1rem; margin-top: 1.5rem; }
.p-week__totals > div { padding: 1rem; border: 1px solid rgb(var(--paper-rgb) / 0.2); border-radius: 16px; background: rgb(var(--paper-rgb) / 0.06); }
.p-week__totals dd { margin: 0.5rem 0 0; font-size: 1.75rem; font-weight: 700; }
.p-week__comparison { display: grid; gap: 0.75rem; margin-block: 1.5rem; }
.p-week__comparison meter { display: block; width: 100%; height: 1rem; accent-color: #E5CAD7; }
.p-week__breakdown { padding-left: 1.25rem; line-height: 1.75; }
.p-week__edit { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-block: 1.5rem; }
.p-week > .p-tool-formula, .p-week > noscript { grid-column: 1 / -1; }
.p-week [hidden] { display: none; }
.p-week button:hover, .p-week button:focus-visible { background: rgb(229 202 215 / 0.24); }
@media (max-width: 767.98px) { .p-week { grid-template-columns: 1fr; } .p-week__intro ol { grid-template-columns: repeat(2, minmax(0, 1fr)); font-size: 0.875rem; } .p-week__time { grid-template-columns: 1fr; } .p-week__clock { width: 4rem; } .p-week__choice { flex-wrap: wrap; gap: 0.5rem; } .p-week__choice img { width: 44px; height: 44px; } .p-week__choice input { width: 24px; height: 24px; } .p-week__choice > span { flex-basis: 100%; } }
@media (prefers-reduced-transparency: reduce) { .p-week, .p-week__choice, .p-week__adjust, .p-week__totals > div { background: #34465D; } }
@media (forced-colors: active) { .p-week, .p-week__choice, .p-week__adjust, .p-week__totals > div { background: Canvas; color: CanvasText; border-color: CanvasText; } .p-week__intro .is-current::before, .p-week__intro .is-done::before { background: Highlight; color: HighlightText; } .p-week__clock { stroke: CanvasText; } }
@media (max-width: 79.99rem) { .p-week { grid-template-columns: 1fr; } }
.p-week__file-art { width: 100%; height: auto; object-fit: contain; }
.p-week__help { position: relative; display: flex; justify-content: flex-end; margin-bottom: -1rem; }
.p-week__help button { width: 32px; height: 32px; border: 1px solid rgb(var(--paper-rgb) / 0.35); border-radius: 50%; background: rgb(var(--paper-rgb) / 0.08); color: inherit; font: inherit; cursor: pointer; }
.p-week__help [role="tooltip"] { position: absolute; right: 0; top: 100%; z-index: 2; width: min(22rem, 100%); padding: 1rem; background: #1D3049; border: 1px solid #E5CAD7; border-radius: 12px; font-size: 0.875rem; box-shadow: 0 8px 24px rgb(0 0 0 / 0.2); }
.p-week-dialog { position: fixed; inset: 0; width: min(42rem, calc(100% - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); margin: auto; padding: clamp(1.25rem, 4vw, 2.5rem); overflow-y: auto; overscroll-behavior: contain; border: 1px solid rgb(246 246 250 / 0.4); border-radius: 24px; color: #F6F6FA; background: linear-gradient(145deg, #34465D, #293C55); box-shadow: 0 24px 80px rgb(0 0 0 / 0.4); }
.p-week-dialog::backdrop { background: rgb(13 27 45 / 0.72); backdrop-filter: blur(8px); }
.p-week-dialog h2 { margin: 1rem 2rem 1.5rem 0; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.2; }
.p-week-dialog__close { position: absolute; top: 1rem; right: 1rem; width: 44px; height: 44px; border: 1px solid rgb(246 246 250 / 0.3); border-radius: 50%; color: inherit; background: rgb(246 246 250 / 0.08); font: inherit; font-size: 1.5rem; cursor: pointer; }
.p-week-dialog__summary { margin-bottom: 1.5rem; padding: 1rem; border-radius: 16px; background: rgb(246 246 250 / 0.06); }
.p-week-dialog__summary summary { cursor: pointer; font-weight: 700; }
.p-week-dialog__summary pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: 0.875rem; line-height: 1.5; margin: 1rem 0 0; }
.p-week-dialog__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.p-week-dialog__fields label:last-child { grid-column: 1 / -1; }
.p-week-dialog .c-form label { color: inherit; }
.p-week-dialog .c-form input:not([type="checkbox"]), .p-week-dialog textarea { width: 100%; min-width: 0; box-sizing: border-box; color: inherit; background: rgb(246 246 250 / 0.07); border: 1px solid rgb(246 246 250 / 0.35); border-radius: 12px; }
.c-form .p-week-dialog__confirm { display: flex; align-items: flex-start; gap: 0.75rem; margin: 1.25rem 0; }
.p-week-dialog__confirm input { flex-shrink: 0; width: 24px; height: 24px; accent-color: #E5CAD7; }
.p-week-dialog a { color: #E5CAD7; }
.p-week-dialog button:focus-visible, .p-week-dialog input:focus-visible, .p-week-dialog textarea:focus-visible, .p-week-dialog a:focus-visible, .p-week-dialog summary:focus-visible { outline: 2px solid #E5CAD7; outline-offset: 3px; }
body:has(.p-week-dialog[open]) { overflow: hidden; }
@media (max-width: 767.98px) { .p-week__file-art { width: 4rem; } .p-week-dialog__fields { grid-template-columns: 1fr; } .p-week-dialog__fields label:last-child { grid-column: auto; } }
@media (pointer: coarse) { .p-week__adjust button { width: 44px; height: 44px; } .p-week__help button { width: 44px; height: 44px; } }
@media (prefers-reduced-transparency: reduce) { .p-week__adjust, .p-week__steppers, .p-week-dialog, .p-week-dialog__summary { background: #34465D; backdrop-filter: none; } .p-week-dialog::backdrop { background: #1D3049; backdrop-filter: none; } }
@media (forced-colors: active) { .p-week__adjust, .p-week__steppers, .p-week-dialog, .p-week-dialog__summary, .p-week__help [role="tooltip"] { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; backdrop-filter: none; } .p-week-dialog a { color: LinkText; } }
.p-about-intro { border: 0; padding-block: clamp(3rem, 6vw, 5rem) 1rem; text-align: center; }
.p-about-intro h1 { max-width: 24ch; margin: 1rem auto 1.5rem; }
.p-about-intro .c-hero__lede { max-width: 60ch; margin-inline: auto; }
.p-about-context, .p-about-questions { padding: clamp(1.25rem, 4vw, 3rem); }
.p-about-context { display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); align-items: center; gap: clamp(2rem, 5vw, 4rem); }
.p-about-identity { width: min(100%, 20rem); padding: 1.5rem; margin-inline: auto; border-radius: 16px; background: var(--surface-elevated); }
.p-about-identity img { display: block; width: 100%; height: auto; }
.p-about-context h2 { max-width: 24ch; margin-block: 0.75rem 1.25rem; }
.p-about-questions .p-section-heading { max-width: 50rem; margin: 0 auto 2rem; text-align: center; }
.p-about-questions .p-section-heading h2 { margin-top: 0.75rem; }
.p-about-questions .p-section-heading p { margin-bottom: 0; }
.p-about-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.p-about-question { min-width: 0; padding: 1.5rem; border: 1px solid rgb(var(--paper-rgb) / 0.3); border-radius: 12px; background: linear-gradient(145deg, rgb(var(--paper-rgb) / 0.1), rgb(var(--paper-rgb) / 0.04)); box-shadow: 0 12px 28px rgb(5 15 28 / 0.12); }
.p-about-question .p-card__label { margin-bottom: 1.5rem; }
.p-about-question .p-card__number { margin: 0; color: inherit; }
.p-about-question h3 { margin-bottom: 0.75rem; font-size: 1.25rem; }
.p-about-question p { margin: 0; font-size: 1rem; }
.p-about-closing h2 { margin-top: 0.75rem; }
.p-about-closing .c-btn { margin-top: 1rem; }
@media (max-width: 59.99rem) {
  .p-about-context, .p-about-grid { grid-template-columns: minmax(0, 1fr); }
  .p-about-context { gap: 2rem; }
  .p-about-identity { width: min(100%, 15rem); }
  .p-about-question { padding: 1.25rem; }
}
@media (prefers-reduced-transparency: reduce) { .p-about-question { background: #34465D; } }
@media (forced-colors: active) {
  .p-about-question { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; }
  .p-about-question .p-card__label { color: CanvasText; }
}
.p-contact-page { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 2rem; padding-block: clamp(3rem, 6vw, 5rem); }
.p-contact-page > * { min-width: 0; }
.p-contact-page .p-contact__intro { grid-column: 1 / -1; text-align: center; }
.p-contact-page h1 { margin: 1rem auto 1.5rem; }
.p-contact-page .c-hero__lede { max-width: 56ch; margin-inline: auto; }
.p-contact-page .p-contact__art { display: block; width: 5rem; height: auto; margin: 1.5rem auto 0; }
.p-contact-page .p-contact__details, .p-contact-page .p-contact__panel { padding: clamp(1.25rem, 3vw, 2.5rem); }
.p-contact-page h2 { font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.2; margin: 0.75rem 0 1.5rem; }
.p-contact-page .p-contact__identity { font-size: 1rem; line-height: 1.7; }
.p-contact__channels { margin: 2rem 0 0; display: grid; gap: 1.5rem; }
.p-contact__channels dt { font-size: 0.875rem; margin-bottom: 0.25rem; }
.p-contact__channels dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.p-contact__channels address { font-style: normal; font-weight: 400; line-height: 1.7; }
.p-contact__location { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--hairline); }
.p-contact__location h3 { font-size: 1.25rem; margin: 0 0 0.75rem; }
.p-contact__location p, .p-contact__location noscript { font-size: 0.875rem; line-height: 1.6; }
.p-contact__location a { display: inline-flex; flex-wrap: wrap; gap: 0.3rem; align-items: center; min-height: 44px; }
.p-contact__map { display: block; width: 100%; height: 20rem; margin-top: 1rem; border: 0; border-radius: 12px; background: #F6F6FA; }
.p-contact__map[hidden], .p-contact__location button[hidden] { display: none; }
.p-contact__location :is(a, button, iframe):focus-visible { outline: 2px solid #E5CAD7; outline-offset: 3px; }
.p-contact__channels a { display: inline-flex; align-items: center; min-height: 44px; }
.p-contact-page .p-note { font-size: 0.9375rem; margin: 0; }
.p-contact-page .c-form :is(input, textarea) { border-radius: 12px; }
.p-contact-page .c-form summary { min-height: 44px; cursor: pointer; padding-block: 0.65rem; }
.p-contact-page .c-form :is(a, summary, input, textarea, button):focus-visible, .p-contact__channels a:focus-visible { outline: 2px solid #E5CAD7; outline-offset: 3px; }
.p-contact-page [data-inquiry-status]:empty, .p-contact-page .cf-turnstile:empty { display: none; }
@media (max-width: 59.99rem) { .p-contact-page { grid-template-columns: minmax(0, 1fr); } }
@media (forced-colors: active) { .p-contact-page .c-card { background: Canvas; color: CanvasText; border-color: CanvasText; } }
