:root {
  color-scheme: light;
  --teal: #006c70;
  --teal-dark: #005a5e;
  --teal-light: #008a8f;
  --ink: #2c3e50;
  --ink-soft: #34495e;
  --muted: #647480;
  --paper: #ffffff;
  --mist: #f4f7f7;
  --line: #dce5e5;
  --warm: #f8f9f7;
  --success: #236548;
  --error: #9d3129;
  --focus: #00777b;
  --shadow-card: 0 12px 36px rgb(30 58 60 / 8%);
  --shadow-float: 0 24px 64px rgb(30 58 60 / 12%);
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --content: 78rem;
  --gutter: clamp(1.125rem, 4vw, 3rem);
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4rem;
  --space-7: 5.5rem;
  --space-8: 7rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 1.5rem; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-size: 1.0625rem;
  line-height: 1.65;
}

img { display: block; max-width: 100%; }

a { color: var(--teal); text-decoration-thickness: .08em; text-underline-offset: .2em; }
a:hover { color: var(--teal-dark); }

button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 4px;
}

::selection { color: white; background: var(--teal); }

.skip-link {
  position: fixed;
  z-index: 100;
  inset: .75rem auto auto .75rem;
  padding: .7rem 1rem;
  transform: translateY(-180%);
  border-radius: var(--radius-sm);
  color: white;
  background: var(--ink);
  font-weight: 700;
}
.skip-link:focus { transform: none; }

.shell { width: min(100% - 2 * var(--gutter), var(--content)); margin-inline: auto; }
.reading { max-width: 68ch; }

.local-notice {
  padding: .55rem var(--gutter);
  color: #fff;
  background: var(--ink);
  font-size: .875rem;
  line-height: 1.4;
  text-align: center;
}

.site-header {
  position: relative;
  z-index: 10;
  border-bottom: 1px solid rgb(44 62 80 / 7%);
  background: rgb(255 255 255 / 96%);
}
.site-header__inner {
  display: flex;
  min-height: 82px;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.brand-lockup {
  display: inline-flex;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  align-items: center;
  gap: .7rem;
  color: var(--ink);
  text-decoration: none;
}
.brand-lockup:hover { color: var(--ink); }
.brand-lockup__mark { flex: 0 0 auto; width: 43px; height: 43px; object-fit: contain; }
.brand-lockup__name { min-width: 0; font-size: 1.2rem; font-weight: 720; letter-spacing: -.045em; line-height: 1; overflow-wrap: anywhere; }
.brand-lockup__amp { color: var(--teal); }

.site-nav { display: flex; align-items: center; gap: clamp(.75rem, 1.7vw, 1.5rem); }
.site-nav__link {
  color: var(--ink-soft);
  font-size: .94rem;
  font-weight: 620;
  text-decoration: none;
  transition: color .16s ease;
}
.site-nav__link:hover, .site-nav__link[aria-current="page"] { color: var(--teal); }
.site-nav__cta { min-height: 46px; padding-inline: 1.15rem; }
.menu-toggle {
  display: none;
  min-width: 46px;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  background: white;
  font-size: .9rem;
  font-weight: 650;
  cursor: pointer;
}
.menu-toggle__icon { display: grid; width: 16px; gap: 4px; }
.menu-toggle__icon::before, .menu-toggle__icon::after, .menu-toggle__icon span {
  display: block;
  width: 16px;
  height: 1.5px;
  border-radius: 2px;
  background: currentColor;
  content: "";
}

.button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: .65rem 1.2rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .97rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.button:hover { transform: translateY(-1px); }
.button--primary { color: #fff; background: var(--teal); box-shadow: 0 5px 14px rgb(0 108 112 / 18%); }
.button--primary:hover { color: #fff; background: var(--teal-dark); box-shadow: 0 8px 18px rgb(0 90 94 / 20%); }
.button--secondary { border-color: #b9d1d1; color: var(--teal-dark); background: #fff; }
.button--secondary:hover { border-color: var(--teal); color: var(--teal-dark); background: #f1f8f7; }
.button--text { min-height: 44px; padding-inline: .2rem; color: var(--teal); }
.button--text:hover { color: var(--teal-dark); }
.button[aria-disabled="true"], .button:disabled { transform: none; opacity: .65; cursor: not-allowed; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1rem; }

main { min-height: 55vh; }
.page-intro { padding-block: clamp(3.25rem, 7vw, 6.5rem) clamp(2.5rem, 4vw, 3.25rem); }
.page-intro__inner { max-width: 69rem; }
.page-intro__layout { display: grid; grid-template-columns: minmax(0, 1.13fr) minmax(17rem, .87fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.page-intro__main { min-width: 0; }
.hero-brief-visual { padding: clamp(1.15rem, 2.5vw, 1.8rem); border-radius: 22px; background: #eaf3f2; }
.hero-brief-visual__sheet { padding: 1.45rem 1.55rem 1.25rem; border: 1px solid #dce5e5; border-radius: 5px; background: white; box-shadow: 0 16px 36px rgb(30 58 60 / 10%); transform: rotate(1deg); }
.hero-brief-visual__top { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding-bottom: .7rem; border-bottom: 1px solid var(--line); color: var(--teal-dark); font-size: .68rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.hero-brief-visual__top span + span { color: var(--muted); font-size: .63rem; letter-spacing: .04em; }
.hero-brief-visual h2 { margin: 1rem 0 .45rem; color: var(--ink); font-size: clamp(1.45rem, 2.15vw, 2rem); font-weight: 720; letter-spacing: -.045em; line-height: 1.08; }
.hero-brief-visual__subhead { margin: 0; color: var(--ink-soft); font-size: .87rem; }
.hero-brief-visual ol { display: grid; gap: .65rem; margin: 1rem 0 0; padding: 1rem 0 0; border-top: 1px solid var(--line); list-style: none; counter-reset: hero-brief; }
.hero-brief-visual li { display: grid; grid-template-columns: 1.25rem 1fr; gap: .55rem; align-items: center; color: var(--ink-soft); font-size: .85rem; line-height: 1.35; counter-increment: hero-brief; }
.hero-brief-visual li::before { display: grid; width: 1.15rem; height: 1.15rem; place-items: center; border-radius: 50%; color: #fff; background: var(--teal); font-size: .65rem; font-weight: 750; content: counter(hero-brief); }
.hero-brief-visual__end { margin-top: 1rem; padding-top: .75rem; border-top: 1px solid var(--line); color: var(--teal-dark); font-size: .75rem; font-weight: 700; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  margin: 0 0 1.1rem;
  color: var(--teal-dark);
  font-size: .78rem;
  font-weight: 760;
  letter-spacing: .105em;
  line-height: 1.35;
  text-transform: uppercase;
}
.eyebrow::before { width: 24px; height: 1px; background: currentColor; content: ""; }
.page-title {
  max-width: 15ch;
  margin: 0;
  color: var(--ink);
  font-size: clamp(2.6rem, 6.2vw, 5.15rem);
  font-weight: 720;
  letter-spacing: -.065em;
  line-height: 1.02;
  text-wrap: balance;
}
.page-title--home { max-width: 18ch; font-size: clamp(2.6rem, 4.5vw, 3.7rem); }
.page-intro--home { padding-top: clamp(2rem, 4vw, 4rem); }
.page-intro__copy { max-width: 64ch; margin-top: 1.35rem; }
.page-intro__copy p { margin: 0 0 .8rem; color: var(--ink-soft); font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.62; }
.page-intro__copy p:last-child { margin-bottom: 0; }
.page-intro .actions { margin-top: 1.7rem; }
.page-intro__rule { width: 100%; max-width: 70rem; height: 1px; margin-top: clamp(2.6rem, 5.5vw, 4.5rem); background: var(--line); }

.page-section { padding-block: clamp(3rem, 4.25vw, 4rem); }
.page-section + .page-section { border-top: 1px solid rgb(44 62 80 / 5%); }
.page-section--soft { background: var(--mist); }
.page-section--warm { background: var(--warm); }
.page-section--proof-strip { padding-block: clamp(1.5rem, 3.2vw, 2.25rem); }
.trust-strip__items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin: 1rem 0 0; }
.trust-strip__item { min-width: 0; padding-left: 1.1rem; border-left: 2px solid var(--teal); }
.trust-strip__item dt { color: var(--ink); font-size: 1rem; font-weight: 750; line-height: 1.3; }
.trust-strip__item dd { margin: .25rem 0 0; color: var(--ink-soft); font-size: .94rem; line-height: 1.45; }
.page-section__head { display: grid; grid-template-columns: minmax(0, .75fr) minmax(16rem, 1fr); gap: 2rem 4rem; align-items: end; margin-bottom: 2.4rem; }
.page-section__head--stacked { display: block; max-width: 55rem; }
.page-section__head--stacked .section-lead--spaced { margin-top: 1rem; }
.actions--spaced { margin-top: 1.1rem; }
.section-title { max-width: 22ch; margin: 0; font-size: clamp(1.8rem, 3.8vw, 3rem); font-weight: 690; letter-spacing: -.045em; line-height: 1.1; text-wrap: balance; }
.section-lead { max-width: 60ch; margin: 0; color: var(--ink-soft); font-size: 1.1rem; line-height: 1.62; }
.section-lead p { margin: .5rem 0 0; }
.section-lead p:first-child { margin-top: 0; }
.section-body { max-width: 70ch; color: var(--ink-soft); }
.section-body p { margin: 0 0 1rem; }
.section-body p:last-child { margin-bottom: 0; }

/* The homepage uses an editorial row with a compact index, rather than three equal SaaS cards. */
.path-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.path-item { display: flex; min-height: 235px; flex-direction: column; align-items: flex-start; padding: 1.45rem 1.5rem 1.35rem 0; }
.path-item + .path-item { border-left: 1px solid var(--line); padding-left: 1.5rem; }
.path-item__index { margin-bottom: 1.15rem; color: var(--teal); font-size: .78rem; font-weight: 750; letter-spacing: .08em; }
.path-item__title { margin: 0; color: var(--ink); font-size: 1.38rem; letter-spacing: -.025em; line-height: 1.25; }
.path-item__copy { margin: .7rem 0 1.25rem; color: var(--ink-soft); font-size: 1rem; line-height: 1.6; }
.path-item__link { display: inline-flex; align-items: center; gap: .5rem; margin-top: auto; font-size: .94rem; font-weight: 700; text-decoration: none; }
.path-item__link::after { content: "↗"; transition: transform .16s ease; }
.path-item__link:hover::after { transform: translate(2px, -2px); }

.feature-brief {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr);
  overflow: hidden;
  border: 1px solid #d4e2e1;
  border-radius: var(--radius-lg);
  background: #edf5f3;
  box-shadow: var(--shadow-card);
}
.feature-brief__copy { align-self: center; padding: clamp(1.75rem, 4vw, 3.6rem); }
.feature-brief__copy .section-title { max-width: 15ch; }
.feature-brief__copy .section-body { margin-top: 1rem; }
.feature-brief__copy .actions { margin-top: 1.4rem; }
.brief-sheet-wrap { display: grid; min-height: 360px; place-items: center; padding: 2rem; background: #dcebea; }
.brief-sheet {
  width: min(100%, 360px);
  padding: 1.5rem 1.55rem 1.35rem;
  border: 1px solid rgb(44 62 80 / 9%);
  border-radius: 5px;
  background: white;
  box-shadow: 0 22px 48px rgb(30 58 60 / 15%);
  transform: rotate(1.5deg);
}
.brief-sheet__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: .8rem; border-bottom: 1px solid var(--line); }
.brief-sheet__brand { color: var(--teal-dark); font-size: .64rem; font-weight: 780; letter-spacing: .1em; text-transform: uppercase; }
.brief-sheet__time { color: var(--muted); font-size: .68rem; }
.brief-sheet__title { max-width: 18ch; margin: 1rem 0 1.1rem; color: var(--ink); font-size: 1.25rem; font-weight: 700; letter-spacing: -.035em; line-height: 1.2; }
.brief-sheet__list { display: grid; gap: .82rem; margin: 0; padding: 0; list-style: none; counter-reset: brief; }
.brief-sheet__item { display: grid; grid-template-columns: 1.6rem 1fr; gap: .6rem; align-items: start; color: var(--ink-soft); font-size: .83rem; line-height: 1.4; counter-increment: brief; }
.brief-sheet__item::before { display: grid; width: 1.45rem; height: 1.45rem; place-items: center; border-radius: 50%; color: white; background: var(--teal); font-size: .68rem; font-weight: 750; content: counter(brief); }
.brief-sheet__end { margin-top: 1rem; padding-top: .75rem; border-top: 1px solid var(--line); color: var(--teal-dark); font-size: .76rem; font-weight: 700; }
.home-resource { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: center; padding: 1.1rem 0; border-top: 1px solid #d5e3e2; border-bottom: 1px solid #d5e3e2; }
.home-resource__copy { max-width: 68ch; }
.home-resource__copy .eyebrow { margin-bottom: .65rem; }
.home-resource__copy .section-title { max-width: 25ch; font-size: clamp(1.6rem, 3.2vw, 2.2rem); }
.home-resource__copy .section-body { margin-top: .75rem; }
.home-resource__action { flex: 0 0 auto; }

.example-strip { display: grid; grid-template-columns: 11rem 1fr; gap: 1rem 2rem; align-items: start; padding-block: 1.2rem; border-top: 1px solid var(--line); }
.example-strip:last-child { border-bottom: 1px solid var(--line); }
.example-strip__label { color: var(--teal-dark); font-size: .78rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.example-strip__title { margin: 0; color: var(--ink); font-size: 1.2rem; line-height: 1.3; }
.example-strip__copy { max-width: 70ch; margin: .35rem 0 0; color: var(--ink-soft); }
.example-note { margin: 1rem 0 0; color: var(--muted); font-size: .88rem; }

.steps-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; counter-reset: step; border-top: 1px solid var(--line); }
.step-item { position: relative; padding: 1.25rem 1.25rem 0 0; counter-increment: step; }
.step-item + .step-item { padding-left: 1.25rem; border-left: 1px solid var(--line); }
.step-item__index { display: block; margin-bottom: .9rem; color: var(--teal); font-size: .78rem; font-weight: 760; letter-spacing: .08em; }
.step-item__title { margin: 0; font-size: 1.14rem; letter-spacing: -.02em; line-height: 1.3; }
.step-item__copy { margin: .5rem 0 0; color: var(--ink-soft); font-size: .96rem; line-height: 1.55; }


.cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(1.5rem, 4vw, 3.5rem); border-radius: var(--radius-md); color: white; background: var(--ink); }
.cta-panel__copy { max-width: 54ch; }
.cta-panel__title { margin: 0; color: white; font-size: clamp(1.6rem, 3vw, 2.3rem); letter-spacing: -.04em; line-height: 1.15; }
.cta-panel__body { margin: .65rem 0 0; color: rgb(255 255 255 / 82%); }
.cta-panel .button--primary { color: var(--teal-dark); background: white; box-shadow: none; }
.cta-panel .button--primary:hover { color: var(--ink); background: #e9f4f2; }

.resource-card { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.4rem 0; border-top: 1px solid var(--line); }
.resource-card:last-child { border-bottom: 1px solid var(--line); }
.resource-card__copy { max-width: 65ch; }
.resource-card__title { margin: 0; font-size: 1.25rem; }
.resource-card__description { margin: .35rem 0 0; color: var(--ink-soft); }
.resource-card__format { display: block; margin-top: .35rem; color: var(--muted); font-size: .85rem; }

.page-prose { max-width: 72ch; }
.page-prose h2 { margin: 2.5rem 0 .7rem; font-size: clamp(1.5rem, 3vw, 2rem); letter-spacing: -.035em; line-height: 1.2; }
.page-prose h2:first-child { margin-top: 0; }
.page-prose h3 { margin: 1.8rem 0 .45rem; font-size: 1.2rem; letter-spacing: -.02em; }
.page-prose p { margin: .55rem 0 1rem; color: var(--ink-soft); }
.page-prose ul, .page-prose ol { padding-left: 1.35rem; color: var(--ink-soft); }
.page-prose li + li { margin-top: .35rem; }
.notice { padding: 1rem 1.1rem; border-left: 3px solid var(--teal); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: var(--mist); }

.site-footer { margin-top: 2rem; border-top: 1px solid var(--line); background: var(--warm); }
.site-footer__main { display: grid; grid-template-columns: minmax(14rem, .8fr) 1.2fr; gap: 3rem; padding-block: 3rem 2.5rem; }
.site-footer__statement { max-width: 29ch; margin: 1rem 0 0; color: var(--ink-soft); font-size: 1.1rem; line-height: 1.5; }
.site-footer__groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem 2rem; }
.site-footer__group { min-width: 0; }
.site-footer__group-title { margin: 0 0 .75rem; color: var(--ink); font-size: .82rem; font-weight: 750; letter-spacing: .035em; }
.site-footer__group nav { display: grid; justify-items: start; gap: .55rem; }
.site-footer__group a { color: var(--ink-soft); font-size: .92rem; font-weight: 600; text-decoration: none; }
.site-footer__group a:hover, .site-footer__group a[aria-current="page"] { color: var(--teal); text-decoration: underline; text-underline-offset: .18em; }
.site-footer__group nav a:focus-visible { border-radius: 2px; }
.site-footer__legal { display: flex; justify-content: space-between; gap: 1rem 2rem; padding-block: 1rem 1.4rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .82rem; }
.site-footer__legal p { margin: 0; }
.analytics-consent { position: fixed; z-index: 30; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); display: flex; align-items: stretch; flex-direction: column; gap: .8rem; width: min(32rem, calc(100vw - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right))); max-height: min(75vh, 38rem); max-height: min(75dvh, 38rem); overflow-y: auto; overscroll-behavior: contain; margin: 0; padding: 1.25rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; box-shadow: 0 12px 36px rgb(44 62 80 / 22%); }
.analytics-consent[hidden], .analytics-consent__preferences[hidden], .analytics-consent__controls[hidden], #analytics-consent-open[hidden], #analytics-consent-footer-open[hidden] { display: none; }
.analytics-consent__copy { flex: 0 1 auto; min-width: 0; max-width: 64ch; padding-right: 2rem; }
.analytics-consent__copy p:last-child { margin: .35rem 0 0; color: var(--ink-soft); font-size: .94rem; }
.analytics-consent__controls, .analytics-consent__preferences { display: flex; align-items: center; flex: 0 1 auto; flex-wrap: wrap; justify-content: flex-start; gap: .65rem; min-width: 0; }
.analytics-consent__close { position: absolute; top: .5rem; right: .5rem; display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 0; border-radius: 6px; color: var(--ink-soft); background: transparent; cursor: pointer; font: inherit; font-size: 1.5rem; }
.analytics-consent__close:hover { color: var(--ink); background: var(--warm); }
.analytics-consent__preferences label { display: inline-flex; min-height: 44px; align-items: center; gap: .6rem; }
.analytics-consent__preferences input { width: 1.15rem; height: 1.15rem; accent-color: var(--teal); }
.analytics-consent .button--secondary { border-color: var(--teal); }
.analytics-consent__link { min-height: 44px; border: 0; padding: .45rem .55rem; border-radius: 6px; color: var(--teal-dark); background: transparent; text-decoration: underline; text-underline-offset: .18em; cursor: pointer; font: inherit; }
.analytics-consent :focus, #analytics-consent-open:focus, #analytics-consent-footer-open:focus { outline: 3px solid var(--focus); outline-offset: 3px; }
.analytics-consent__link:hover { color: var(--ink); }
.privacy-launcher { position: fixed; z-index: 29; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); min-height: 44px; padding: .65rem 1rem; border: 1px solid var(--teal-dark); border-radius: 999px; color: #fff; background: var(--teal-dark); box-shadow: 0 4px 14px rgb(44 62 80 / 22%); cursor: pointer; font: inherit; font-size: .9rem; font-weight: 700; }
.privacy-launcher:hover { background: var(--ink); }
.disclaimer-note { display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; padding-block: 1.15rem; border-top: 1px solid var(--line); color: var(--ink-soft); background: #fff; font-size: .96rem; }
.disclaimer-note p { max-width: 75ch; margin: 0; }
.disclaimer-note a { flex: 0 0 auto; font-weight: 700; }

.contact-layout { display: grid; grid-template-columns: minmax(15rem, .7fr) minmax(0, 1.3fr); gap: clamp(2.5rem, 7vw, 6rem); align-items: start; }
.contact-aside { min-width: 0; position: sticky; top: 1.5rem; }
.contact-aside h2 { margin: 0; font-size: 1.6rem; letter-spacing: -.035em; line-height: 1.2; }
.contact-aside p { color: var(--ink-soft); }
.contact-email-fallback { margin-top: 1.25rem; font-size: .94rem; }
.contact-email-fallback a { font-weight: 700; overflow-wrap: anywhere; }
.form-card { padding: clamp(1.35rem, 3.5vw, 2.5rem); border: 1px solid var(--line); border-radius: var(--radius-md); background: white; box-shadow: var(--shadow-card); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem 1rem; }
.form-field { display: grid; gap: .42rem; min-width: 0; }
.form-field--full { grid-column: 1 / -1; }
.form-label { color: var(--ink); font-size: .94rem; font-weight: 700; }
.form-hint { margin: 0; color: var(--muted); font-size: .85rem; line-height: 1.45; }
.form-control { width: 100%; min-width: 0; max-width: 100%; min-height: 50px; padding: .7rem .85rem; border: 1px solid #b8c8cc; border-radius: 8px; color: var(--ink); background: white; }
select.form-control { overflow: hidden; text-overflow: ellipsis; }
.form-control::placeholder { color: #647480; opacity: 1; }
.form-control:focus { border-color: var(--teal); outline: 3px solid rgb(0 108 112 / 15%); outline-offset: 1px; }
textarea.form-control { min-height: 155px; resize: vertical; }
.form-control[aria-invalid="true"] { border-color: var(--error); }
.field-error { margin: 0; color: var(--error); font-size: .88rem; font-weight: 600; }
.form-error-summary, .form-status { margin-bottom: 1.25rem; padding: .9rem 1rem; border-radius: 8px; }
.form-error-summary { border: 1px solid #e7c1bc; color: #70251f; background: #fff6f4; }
.form-status--success { border: 1px solid #c1d7cb; color: #194a34; background: #f3faf5; }
.form-status--error { border: 1px solid #e7c1bc; color: #70251f; background: #fff6f4; }
.form-error-summary h2 { margin: 0 0 .35rem; font-size: 1rem; }
.form-error-summary ul { margin: 0; padding-left: 1.25rem; }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.3rem; }
.form-actions__note { margin: 0; color: var(--muted); font-size: .85rem; }
.turnstile-field { min-width: 0; margin: 1.35rem 0 .4rem; padding: 0; border: 0; }
.turnstile-field legend { padding: 0; }
.turnstile-field .form-hint { margin: .25rem 0 .7rem; }
.cf-turnstile { min-height: 0; }
.turnstile-fallback { margin: .8rem 0; padding: .8rem 1rem; border-left: 3px solid var(--error); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; color: #70251f; background: #fff6f4; font-size: .92rem; }
.turnstile-fallback[hidden] { display: none; }
.honeypot { position: absolute; inset-inline-start: -10000px; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.thanks-mark { display: grid; width: 64px; height: 64px; place-items: center; margin-bottom: 1.25rem; border-radius: 50%; color: white; background: var(--teal); font-size: 1.65rem; }
.error-code { display: inline-block; margin-bottom: .7rem; color: var(--teal); font-size: .82rem; font-weight: 780; letter-spacing: .12em; }

@media (max-width: 900px) {
  .site-header__inner { min-height: 74px; flex-wrap: wrap; padding-block: .5rem; }
  .menu-toggle { display: none; }
  html.js .menu-toggle { display: inline-flex; }
  html:not(.js) .site-nav {
    position: static;
    order: 3;
    display: flex;
    flex: 1 0 100%;
    flex-wrap: wrap;
    gap: .4rem 1.2rem;
    padding: .4rem 0 .65rem;
  }
  html.js .site-nav {
    position: absolute;
    inset: calc(100% + 1px) 0 auto;
    display: none;
    align-items: stretch;
    gap: 0;
    padding: .5rem var(--gutter) 1rem;
    border-bottom: 1px solid var(--line);
    background: white;
    box-shadow: 0 15px 22px rgb(44 62 80 / 8%);
  }
  html.js .site-nav[data-open="true"] { display: grid; }
  .site-nav__link { padding: .9rem 0; border-bottom: 1px solid rgb(44 62 80 / 7%); }
  .site-nav__cta { justify-self: start; margin-top: .85rem; }
  .feature-brief { grid-template-columns: 1fr 1fr; }
  .path-list { grid-template-columns: 1fr; }
  .path-item { min-height: auto; padding: 1.25rem 0; }
  .path-item + .path-item { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .path-item__index { margin-bottom: .55rem; }
  .path-item__copy { max-width: 65ch; margin-bottom: .7rem; }
  .steps-list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.5rem; }
  .step-item:nth-child(3) { padding-left: 0; border-left: 0; }
  .analytics-consent { gap: .75rem; padding: 1rem; }
  .analytics-consent__copy { flex: 0 1 auto; }
  .analytics-consent__controls, .analytics-consent__preferences { justify-content: flex-start; }
}

@media (max-width: 1100px) {
  .hero-brief-visual { display: none; }
  .page-intro__layout { display: block; }
}

@media (max-width: 640px) {
  body { font-size: 1rem; }
  .brand-lockup__mark { width: 38px; height: 38px; }
  .brand-lockup__name { font-size: 1.1rem; }
  .site-header__inner { min-height: 68px; }
  .page-intro { padding-top: 3.25rem; }
  .page-title { font-size: clamp(2.65rem, 12vw, 4rem); }
  .page-intro__inner .eyebrow, .page-title, .contact-aside h2, .contact-aside p, .form-card > h2, .email-updates h2 { overflow-wrap: anywhere; }
  .page-intro__copy p { font-size: 1.08rem; }
  .page-intro__rule { margin-top: 2.7rem; }
  .page-section__head { display: block; margin-bottom: 1.7rem; }
  .trust-strip__items { grid-template-columns: 1fr; gap: .9rem; }
  .trust-strip__item { padding-left: .85rem; }
  .section-lead { margin-top: .9rem; }
  .feature-brief { grid-template-columns: 1fr; }
  .home-resource { grid-template-columns: 1fr; gap: 1.1rem; align-items: start; }
  .feature-brief__copy { padding: 1.65rem 1.35rem 1.4rem; }
  .brief-sheet-wrap { min-height: auto; padding: 1rem 1.2rem 2rem; }
  .brief-sheet { width: min(100%, 390px); padding: 1.25rem; transform: rotate(.8deg); }
  .brief-sheet__list { gap: .65rem; }
  .example-strip { grid-template-columns: 1fr; gap: .45rem; }
  .steps-list { grid-template-columns: 1fr; }
  .step-item, .step-item + .step-item, .step-item:nth-child(3) { padding: 0 0 1rem; border: 0; }
  .step-item + .step-item { padding-top: 1rem; border-top: 1px solid var(--line); }
  .step-item__index { margin-bottom: .35rem; }
  .cta-panel { align-items: flex-start; flex-direction: column; gap: 1.25rem; }
  .resource-card { align-items: flex-start; flex-direction: column; }
  .site-footer__main { grid-template-columns: 1fr; gap: 1.5rem; padding-block: 2.4rem; }
  .site-footer__groups { grid-template-columns: 1fr; gap: 1.35rem; }
  .site-footer__legal { flex-direction: column; gap: .4rem; }
  .analytics-consent { right: max(.5rem, env(safe-area-inset-right)); bottom: max(.5rem, env(safe-area-inset-bottom)); width: calc(100vw - 1rem - env(safe-area-inset-left) - env(safe-area-inset-right)); max-height: min(75vh, 38rem); max-height: min(75dvh, 38rem); gap: .65rem; padding: .9rem; }
  .analytics-consent__controls, .analytics-consent__preferences { display: grid; grid-template-columns: minmax(0, 1fr); justify-content: stretch; gap: .4rem; width: 100%; }
  .analytics-consent__controls > *, .analytics-consent__preferences > * { width: 100%; }
  .analytics-consent__preferences label { justify-content: flex-start; }
  .privacy-launcher { right: max(.5rem, env(safe-area-inset-right)); bottom: max(.5rem, env(safe-area-inset-bottom)); }
  .disclaimer-note { align-items: flex-start; flex-direction: column; gap: .45rem; }
  .contact-layout { grid-template-columns: minmax(0, 1fr); gap: 1.7rem; }
  .contact-aside { position: static; }
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .form-card { padding: 1rem; }
  .form-field--full { grid-column: auto; }
  .form-actions { align-items: flex-start; flex-direction: column; }
  .form-actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* A quiet, optional provider-hosted signup, rendered only after lifecycle activation. */
.email-updates { max-width: 46rem; padding: 1.5rem 0; margin-bottom: 1.5rem; border-bottom: 1px solid var(--line, #dce4e4); }
.email-updates h2 { font-size: 1.35rem; line-height: 1.3; }
.email-updates p { max-width: 65ch; }
.email-updates .button { white-space: normal; }
