:root {
--navy:#061a33;
--ink:#121826;
--blue:#0b4db8;
--sky:#78bfff;
--mist:#d8e7f7;
--soft:#f5f8fc;
--line:#dce7f3;
--muted:#52647a;
--body:"Poppins",Arial,sans-serif;
--display:"Urbanist","Poppins",Arial,sans-serif;
color:var(--ink);
font-family:var(--body);
font-synthesis:none
}
* {
box-sizing:border-box
}
html {
scroll-behavior:smooth;
scroll-padding-top:112px
}
body {
margin:0;
background:#fff;
font-size:15px;
line-height:1.75
}
button,input,select,textarea {
font:inherit
}
button,a,input,select,textarea,summary {
-webkit-tap-highlight-color:transparent
}
button {
cursor:pointer
}
a {
color:var(--blue);
text-decoration:none
}
a:hover {
text-decoration:underline
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
outline:3px solid #3380ed;
outline-offset:4px
}
button:disabled {
cursor:not-allowed
}
img {
max-width:100%
}
h1,h2,h3 {
font-family:var(--display);
line-height:1.08;
color:var(--navy);
letter-spacing:-.025em;
margin:0
}
h1 {
font-weight:800;
font-size:clamp(46px,5.4vw,78px)
}
h2 {
font-weight:700;
font-size:clamp(34px,3.5vw,49px)
}
h3 {
font-weight:700;
font-size:25px;
line-height:1.23
}
p {
margin:0 0 20px
}
button {
border:0
}
[hidden] {
display:none!important
}
.container {
width:min(1240px,calc(100% - 64px));
margin:auto
}
.preview-ribbon {
display:flex;
justify-content:center;
gap:16px;
background:#eaf1fa;
color:#354a66;
font-size:11px;
letter-spacing:.06em;
padding:7px 16px;
text-transform:uppercase
}
.preview-ribbon span {
font-size:10px;
letter-spacing:.025em
}
.site-header {
position:sticky;
top:0;
z-index:20;
background:rgba(255,255,255,.97);
border-bottom:1px solid var(--line)
}
.header-inner {
min-height:92px;
display:flex;
align-items:center;
justify-content:space-between;
gap:24px
}
.brand {
display:inline-flex;
align-items:center;
gap:11px;
font-family:var(--display);
font-size:15px;
font-weight:800;
letter-spacing:.105em;
color:var(--navy);
line-height:1.3;
white-space:nowrap
}
.brand:hover {
text-decoration:none
}
.brand img {
flex-shrink:0;
display:block;
object-fit:contain;
border:0;
border-radius:0;
background:transparent;
box-shadow:none
}
.brand-sub {
display:block;
letter-spacing:.3em;
font-size:10px;
font-weight:600;
margin-top:3px
}
.site-nav {
display:flex;
align-items:center;
gap:24px;
font-size:13px;
font-weight:500
}
.site-nav>a:not(.button) {
color:var(--navy)
}
.button {
display:inline-flex;
justify-content:center;
align-items:center;
gap:14px;
padding:14px 24px;
min-height:48px;
border:1px solid transparent;
border-radius:999px;
font-family:var(--display);
font-weight:800;
font-size:17px;
line-height:1.25;
text-align:center;
transition:background .15s,transform .15s
}
.button:hover {
text-decoration:none;
transform:translateY(-1px)
}
.button-primary {
color:white;
background:var(--blue)
}
.button-primary:hover {
background:#073e95
}
.button-outline {
border-color:#bccfe8;
background:white;
color:var(--navy)
}
.button-outline:hover {
background:var(--soft)
}
.button-light {
background:white;
color:var(--navy)
}
.site-nav .button {
padding:11px 19px;
font-size:15px
}
.menu-toggle {
display:none
}
.skip-link {
position:fixed;
z-index:100;
top:-80px;
left:16px;
padding:12px 20px;
background:white;
border:2px solid var(--blue)
}
.skip-link:focus {
top:10px
}
.hero {
background:radial-gradient(ellipse at 90% 35%,#e9f4ff,transparent 55%),linear-gradient(120deg,#fff,#f9fbfe)
}
.hero-grid {
display:grid;
grid-template-columns:1.14fr 1fr;
gap:76px;
align-items:center;
padding-top:68px;
padding-bottom:76px
}
.eyebrow,.small-label {
font-size:11px;
line-height:1.5;
text-transform:uppercase;
letter-spacing:.12em;
font-weight:600;
color:var(--blue)
}
.eyebrow {
margin-bottom:20px
}
.hero h1 span {
color:var(--blue)
}
.hero-lead {
font-size:19px;
line-height:1.65;
max-width:560px;
margin:25px 0 15px;
color:#354a66
}
.hero-steps {
list-style:none;
padding:0;
margin:22px 0 0;
max-width:560px
}
.hero-steps li {
padding:12px 0;
border-top:1px solid var(--line);
color:var(--muted);
font-size:14px;
line-height:1.6
}
.actions {
display:flex;
gap:25px;
align-items:center;
flex-wrap:wrap;
margin-top:30px
}
.text-link {
display:inline-flex;
gap:14px;
align-items:center;
font-weight:500;
font-size:14px
}
.hero-note {
font-size:11px;
color:var(--muted);
margin:24px 0 0
}
.support-preview {
padding:30px 32px 22px;
background:white;
box-shadow:0 22px 60px rgba(6,26,51,.09);
border:1px solid var(--line);
border-radius:20px
}
.preview-heading {
display:flex;
align-items:center;
justify-content:space-between;
margin-bottom:24px
}
.preview-heading .small-label {
font-size:10px;
color:var(--muted)
}
.mini-wordmark {
font-family:var(--display);
font-weight:800;
color:var(--navy);
font-size:17px
}
.support-preview h2 {
font-size:32px;
line-height:1.13;
margin-bottom:25px
}
.choice-group {
display:grid;
gap:9px
}
.choice-group button {
display:flex;
align-items:center;
gap:14px;
text-align:left;
min-height:54px;
background:white;
color:var(--navy);
border:1px solid var(--line);
border-radius:9px;
font-family:var(--display);
font-weight:700;
font-size:17px;
padding:10px 16px
}
.choice-group button[aria-pressed=true] {
background:var(--navy);
color:white;
border-color:var(--navy)
}
.choice-number {
font-family:var(--body);
font-size:10px;
opacity:.75
}
.starting-point {
margin-top:23px;
padding-top:21px;
border-top:1px solid var(--line);
min-height:205px
}
.starting-point .small-label {
font-size:9px;
margin-bottom:9px
}
.starting-point h3 {
font-size:22px;
margin-bottom:10px
}
.starting-point p:not(.small-label) {
font-size:12px;
line-height:1.8;
color:var(--muted);
margin-bottom:12px
}
.scope-tag {
display:inline-block;
font-size:10px;
color:#3d5773;
line-height:1.6
}
.starting-point .scope-tag {
background:#edf6ff;
border-radius:5px;
padding:4px 8px
}
.choice-footnote {
font-size:10px;
margin:14px 0 0;
color:var(--muted)
}
.section {
padding-top:92px;
padding-bottom:92px
}
.section-heading {
max-width:670px;
margin-bottom:44px
}
.section-heading>p:not(.eyebrow) {
margin:23px 0 0;
color:var(--muted);
max-width:620px
}
.service-row {
display:grid;
grid-template-columns:50px 1fr 1.4fr;
gap:30px;
align-items:center;
border-top:1px solid var(--line);
padding:31px 0
}
.service-row:last-child {
border-bottom:1px solid var(--line)
}
.row-number {
font-family:var(--display);
font-size:23px;
color:#577ca5;
align-self:start
}
.service-row .small-label {
font-size:9px;
display:block;
margin-bottom:10px
}
.service-row h3 {
font-size:26px;
max-width:270px
}
.service-row p {
font-size:13px;
color:var(--muted);
margin-bottom:10px
}
.service-row .service-meta {
font-size:10px;
color:var(--blue);
margin-bottom:0
}
.possibilities {
background:var(--soft)
}
.split-heading {
display:flex;
justify-content:space-between;
align-items:end;
gap:70px;
margin-bottom:44px
}
.split-heading>p {
max-width:430px;
color:var(--muted);
font-size:14px;
margin-bottom:3px
}
.outcome-grid {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:32px
}
.outcome-grid article {
padding:28px 0 8px;
border-top:2px solid #b7cfe9
}
.line-icon {
display:block;
font-size:33px;
color:var(--blue);
line-height:1;
margin-bottom:20px
}
.outcome-grid h3 {
max-width:280px;
margin-bottom:17px
}
.outcome-grid p {
font-size:13px;
color:var(--muted);
max-width:335px
}
.outcome-grid .small-label {
font-size:9px
}
.journey-section {
background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
border-top:1px solid var(--line);
border-bottom:1px solid var(--line)
}
.journey-heading {
max-width:760px;
margin-bottom:52px
}
.journey {
list-style:none;
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:24px;
padding:0;
margin:0;
position:relative
}
.journey::before {
content:"";
position:absolute;
left:34px;
right:0;
top:34px;
height:3px;
background:linear-gradient(90deg,var(--blue) 0%,var(--blue) 70%,#b5d4f4 91%,transparent 100%)
}
.journey li {
position:relative;
min-width:0;
padding-right:12px
}
.journey-marker {
display:grid;
place-items:center;
position:relative;
z-index:1;
width:70px;
height:70px;
margin-bottom:25px;
border:1px solid #a9c8ed;
border-radius:18px;
background:#eff6ff;
box-shadow:0 5px 18px rgba(6,26,51,.08)
}
.journey-marker svg {
width:34px;
height:34px;
fill:none;
stroke:var(--blue);
stroke-width:2;
stroke-linecap:round;
stroke-linejoin:round
}
.journey li:last-child .journey-marker {
border-color:var(--blue);
background:linear-gradient(145deg,#0b4db8,#3275c9)
}
.journey li:last-child .journey-marker svg {
stroke:#fff
}
.journey .small-label {
font-size:10px;
margin:0 0 10px
}
.journey h3 {
font-size:23px;
max-width:240px;
margin-bottom:12px
}
.journey li>p:not(.small-label) {
font-size:13px;
line-height:1.7;
color:var(--muted);
max-width:250px;
margin:0
}
@media(max-width:900px) {
.journey-heading { margin-bottom:34px }
.journey { grid-template-columns:1fr; gap:0 }
.journey::before {
left:29px;
right:auto;
top:0;
bottom:0;
width:3px;
height:auto;
background:linear-gradient(180deg,var(--blue) 0%,var(--blue) 72%,#b5d4f4 92%,transparent 100%)
}
.journey li { min-height:110px; padding:0 0 32px 82px }
.journey li:last-child { padding-bottom:0 }
.journey-marker { position:absolute; left:0; top:0; width:60px; height:60px; margin:0; border-radius:16px }
.journey-marker svg { width:28px; height:28px }
.journey h3,.journey li>p:not(.small-label) { max-width:100% }
}
.section-note {
font-size:11px;
color:var(--muted);
margin:34px 0 0;
max-width:900px
}
.membership {
background:linear-gradient(120deg,#020b17,#061a33 65%,#113e70);
color:#d5e2f2
}
.membership-grid {
display:grid;
grid-template-columns:1fr 1fr;
gap:100px
}
.membership .eyebrow,.membership .small-label {
color:#9ccbff
}
.membership h2,.membership h3 {
color:#fff
}
.membership p {
font-size:14px;
max-width:530px;
margin-top:24px
}
.membership .button {
margin-top:10px
}
.membership-details article {
padding:0 0 26px
}
.membership-details article+article {
border-top:1px solid #35516e;
padding-top:27px;
padding-bottom:0
}
.membership-details .small-label {
font-size:9px
}
.membership-details h3 {
margin-top:10px
}
.membership-details p {
font-size:13px;
margin-top:13px;
margin-bottom:0
}
.faq-section {
display:grid;
grid-template-columns:.9fr 1.2fr;
gap:100px
}
.faq-list {
border-top:1px solid var(--line)
}
.faq-list details {
border-bottom:1px solid var(--line)
}
.faq-list summary {
position:relative;
padding:23px 34px 23px 0;
cursor:pointer;
font-weight:500;
font-size:14px;
list-style:none;
color:var(--navy)
}
.faq-list summary::-webkit-details-marker {
display:none
}
.faq-list summary:after {
content:"+";
position:absolute;
right:3px;
top:18px;
font-size:26px;
font-weight:400;
color:var(--blue)
}
.faq-list details[open] summary:after {
content:"−"
}
.faq-list details>p {
font-size:13px;
color:var(--muted);
padding-right:24px;
padding-bottom:8px
}
.closing {
background:#edf6ff;
border-top:1px solid var(--line);
text-align:center;
padding:78px 0 84px
}
.closing p:not(.eyebrow) {
max-width:530px;
margin:24px auto;
color:var(--muted);
font-size:14px
}
.closing .actions {
justify-content:center
}
.site-footer {
padding-top:42px;
color:var(--muted);
font-size:12px
}
.footer-top {
display:flex;
align-items:start;
justify-content:space-between;
gap:40px;
padding-bottom:34px
}
.footer-top>p {
font-size:12px;
margin:0
}
.footer-top>div {
display:flex;
gap:25px
}
.footer-top a {
color:var(--navy)
}
.footer-bottom {
display:flex;
justify-content:space-between;
gap:20px;
padding-top:21px;
padding-bottom:22px;
border-top:1px solid var(--line);
font-size:10px
}
.signup-page {
padding-top:35px;
padding-bottom:90px
}
.back-link {
margin-bottom:55px
}
.signup-grid {
display:grid;
grid-template-columns:1fr 1fr;
gap:120px
}
.signup-grid h1 {
font-size:60px;
margin-bottom:25px
}
.signup-grid .lead {
font-size:19px;
color:#354a66
}
.signup-grid p {
color:var(--muted)
}
.signup-aside {
border-top:1px solid var(--line);
margin-top:40px;
padding-top:25px
}
.signup-aside h2 {
font-size:23px
}
.signup-aside p {
font-size:13px;
margin-top:12px
}
.signup-form-panel {
padding:32px;
border:1px solid var(--line);
border-radius:14px;
box-shadow:0 12px 40px #061a3308
}
.signup-form-panel h2 {
font-size:34px
}
.form-preview-note {
font-size:11px;
padding:12px;
background:var(--soft);
border-radius:6px;
margin-top:20px
}
.signup-form-panel form {
display:grid
}
.signup-form-panel label {
font-size:13px;
color:var(--navy);
margin:12px 0 7px;
font-weight:500
}
.signup-form-panel label span {
font-size:11px;
font-weight:400;
color:var(--muted)
}
input,select,textarea {
min-height:48px;
border:1px solid #bacbdd;
background:#fff;
color:var(--navy);
border-radius:7px;
padding:10px 13px;
min-width:0;
max-width:100%
}
textarea {
resize:vertical;
line-height:1.55
}
.signup-form-panel form>.button {
margin-top:26px
}
.form-result {
padding:25px 0
}
.success-icon {
font-size:25px;
color:#13795b
}
.form-result h3 {
margin:12px 0
}
.form-result p {
font-size:13px
}
@media(min-width:1500px) {
.hero-grid {
padding-top:88px;
padding-bottom:98px
}
}
@media(max-width:1100px) {
.site-nav {
gap:15px
}
.site-nav>a:not(.button) {
font-size:12px
}
.site-nav .button {
padding:10px 14px
}
.hero-grid {
gap:40px
}
.support-preview {
padding:25px
}
.membership-grid,.faq-section {
gap:55px
}
.service-row {
grid-template-columns:34px 1fr 1.3fr;
gap:22px
}
.signup-grid {
gap:60px
}
}
@media(max-width:1000px) {
.header-inner {
min-height:78px
}
.menu-toggle {
display:flex;
align-items:center;
gap:12px;
padding:10px 13px;
border:1px solid var(--line);
border-radius:8px;
background:white;
color:var(--navy)
}
.site-nav {
display:none;
position:absolute;
top:100%;
left:0;
right:0;
flex-direction:column;
align-items:stretch;
gap:8px;
padding:18px 32px 24px;
background:white;
border-bottom:1px solid var(--line);
box-shadow:0 10px 25px #061a3310
}
.site-nav.is-open {
display:flex
}
.site-nav>a:not(.button) {
font-size:15px;
padding:10px
}
.hero-grid {
gap:30px
}
.hero h1 {
font-size:53px
}
.support-preview h2 {
font-size:28px
}
.hero-lead {
font-size:17px
}
.choice-group button {
font-size:15px
}
.split-heading {
gap:35px
}
.signup-grid h1 {
font-size:48px
}
.footer-top {
flex-wrap:wrap
}
}
@media(max-width:700px) {
.container {
width:calc(100% - 40px)
}
.preview-ribbon {
gap:9px;
font-size:9px;
padding:6px 10px
}
.preview-ribbon span {
font-size:8px
}
.brand {
font-size:13px
}
.brand-sub {
font-size:9px
}
.brand img {
width:38px;
height:38px
}
.hero-grid {
grid-template-columns:1fr;
padding-top:42px;
padding-bottom:42px;
gap:36px
}
.hero h1 {
font-size:clamp(46px,11vw,62px)
}
.wide-only {
display:none
}
.hero-lead {
font-size:18px;
margin-top:23px
}
.actions {
gap:22px;
margin-top:24px
}
.hero-note {
margin-top:19px
}
.support-preview {
padding:25px;
border-radius:13px
}
.support-preview h2 {
font-size:29px
}
.choice-group button {
font-size:17px
}
.starting-point {
min-height:0
}
.section {
padding-top:60px;
padding-bottom:60px
}
.section-heading {
margin-bottom:33px
}
.section-heading>p:not(.eyebrow) {
font-size:13px
}
.service-row {
grid-template-columns:25px minmax(0,1fr);
gap:17px;
padding:25px 0
}
.service-row>div:nth-of-type(2) {
grid-column:2;
grid-row:2
}
.service-row h3 {
font-size:26px
}
.service-row .small-label {
margin-bottom:7px
}
.service-row p {
font-size:12px
}
.service-row .service-meta {
font-size:10px
}
.row-number {
font-size:18px
}
.split-heading {
display:block;
margin-bottom:30px
}
.split-heading>p {
margin-top:24px;
font-size:13px
}
.outcome-grid {
grid-template-columns:1fr;
gap:28px
}
.outcome-grid article {
padding-top:25px
}
.outcome-grid h3,.outcome-grid p {
max-width:100%
}
.line-icon {
font-size:27px;
margin-bottom:15px
}
.section-note {
margin-top:10px
}
.membership-grid {
grid-template-columns:1fr;
gap:37px
}
.membership p {
font-size:13px
}
.membership-details p {
font-size:12px
}
.faq-section {
display:block
}
.faq-list summary {
font-size:13px
}
.faq-list details>p {
font-size:12px
}
.closing {
padding:57px 0 62px
}
.closing p:not(.eyebrow) {
font-size:13px
}
.footer-top {
flex-direction:column;
gap:22px
}
.footer-top>div {
gap:23px
}
.footer-bottom {
flex-direction:column;
gap:6px
}
.signup-page {
padding-top:25px;
padding-bottom:50px
}
.back-link {
margin-bottom:32px
}
.signup-grid {
grid-template-columns:1fr;
gap:35px
}
.signup-grid h1 {
font-size:48px
}
.signup-grid .lead {
font-size:17px
}
.signup-grid p {
font-size:13px
}
.signup-form-panel {
padding:24px
}
.signup-form-panel .form-preview-note {
font-size:11px
}
.signup-aside {
margin-top:25px
}
.signup-aside h2 {
font-size:21px
}
}
@media(prefers-reduced-motion:reduce) {
html {
scroll-behavior:auto
}
* {
transition:none!important
}
}
.sr-only {
position:absolute;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0
}

/* Buyer information: extend the existing JSA palette and typography. */
.hero-grid{padding-top:44px;padding-bottom:48px;gap:52px;align-items:start}
.hero h1{font-size:clamp(45px,5vw,70px)}
.hero-lead{font-size:21px;margin-top:23px}
.hero-note{font-size:12px}
.enrollment-note{font-size:12px;color:var(--muted);margin:12px 0 0}
.enrollment-note a{font-weight:600}
.founder-mission{background:var(--navy);color:#fff}
.founder-mission-grid{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(42px,7vw,104px);align-items:center;padding-top:64px;padding-bottom:64px}
.founder-portrait{margin:0;max-width:300px}
.founder-portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:18px}
.founder-message blockquote{margin:0;max-width:860px}
.founder-message blockquote p{font-family:var(--display);font-size:clamp(20px,2vw,28px);line-height:1.45;letter-spacing:-.01em;margin:0;color:#fff}
.founder-message blockquote p+p{margin-top:18px}
.founder-attribution{display:flex;gap:10px;align-items:baseline;margin:27px 0 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.22);font-size:12px}
.founder-attribution strong{font-size:14px;color:#fff}
.founder-attribution span{color:#c7d8ee}
.outcome-grid .small-label{display:block;margin-bottom:18px}
.outcome-grid h3{max-width:none;font-size:26px}
.outcome-grid .deliverable{border-left:2px solid #b7cfe9;padding-left:16px;margin-top:24px}
.deliverable strong{display:block;color:var(--navy);font-size:11px;margin-bottom:5px}
.outcome-grid .text-link{font-size:12px}
.standard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.standard-grid article{border-top:1px solid var(--line);padding-top:25px;min-width:0}
.standard-icon{display:flex;align-items:center;width:52px;height:52px;color:var(--blue);margin-bottom:20px}
.standard-icon svg{display:block;width:48px;height:48px}
.standard-grid h3{font-size:22px;line-height:1.25;margin-bottom:14px}
.standard-grid p{font-size:13px;color:var(--muted)}
.membership .split-heading{display:block}
.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.pricing-grid article{padding:30px;border:1px solid #35516e;border-radius:14px;background:#ffffff05;min-width:0}
.pricing-grid p{margin:0}
.pricing-grid .price{display:flex;align-items:baseline;gap:12px;margin:18px 0 25px;flex-wrap:wrap}
.price strong{font-family:var(--display);font-size:58px;line-height:1;color:#fff;letter-spacing:-.04em}
.price span{font-size:16px}
.pricing-grid h3{font-size:26px}
.pricing-grid ul{padding-left:20px;font-size:13px;line-height:1.8;margin:20px 0}
.pricing-grid li{padding-bottom:7px}
.price-example{display:grid;grid-template-columns:1fr 1fr;gap:10px 35px;align-items:center;border-top:1px solid #35516e;margin-top:32px;padding-top:26px}
.price-example>div>strong{display:block;color:#fff;font-size:15px}
.price-example>div>span{font-size:12px}
.price-example p{margin:0;font-size:20px}
.price-example p strong{color:#fff}
.footer-top>div{flex-wrap:wrap}
@media(min-width:1500px){.hero-grid{padding-top:48px;padding-bottom:55px}}
@media(max-width:1100px){.hero-grid{gap:30px}.standard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.standard-grid{gap:22px}.pricing-grid{gap:22px}.pricing-grid article{padding:24px}}
@media(max-width:700px){
.hero-grid{padding-top:33px;padding-bottom:38px}.hero h1{font-size:clamp(44px,11vw,60px)}.hero-lead{font-size:20px}.hero-steps li{font-size:13px;padding:10px 0}
.founder-mission-grid{grid-template-columns:1fr;gap:30px;padding-top:48px;padding-bottom:50px}.founder-portrait{width:160px}.founder-message blockquote p{font-size:20px}.founder-attribution{align-items:flex-start;flex-direction:column;gap:4px}
.standard-grid,.pricing-grid{grid-template-columns:1fr}
.standard-grid{gap:15px}.standard-icon{margin-bottom:14px}.standard-grid h3{font-size:24px}

.price strong{font-size:49px}.pricing-grid article{padding:24px}.price-example{grid-template-columns:1fr}.price-example p{font-size:19px}
}

/* Audit improvements use the established JSA type, palette and spacing. */
.row-number{color:var(--muted)}
.hero .eyebrow{max-width:38em}
.starting-next{display:flex;width:fit-content;margin-top:14px;font-size:12px}
.success-measure{margin-top:18px;font-size:12px;color:var(--muted)}
.success-measure strong{display:block;color:var(--navy);font-size:11px;margin-bottom:5px}
.footer-top>div{max-width:480px}
@media(max-width:1000px){.site-nav{max-height:calc(100dvh - 78px);overflow-y:auto;overscroll-behavior:contain}}
@media(max-width:700px){.footer-top>div{gap:16px 23px}}

/* Contact keeps direct details easy to find beside the short form. */
.contact-page{padding-top:clamp(58px,7vw,100px);padding-bottom:clamp(72px,8vw,118px)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);gap:clamp(48px,8vw,130px);align-items:start}
.contact-intro h1{font-size:clamp(54px,6vw,82px);margin:17px 0 24px}
.contact-lead{max-width:420px;color:#354a66;font-size:clamp(18px,1.6vw,22px);line-height:1.55}
.contact-methods{border-top:1px solid var(--line);margin-top:62px}
.contact-methods>div{display:grid;gap:3px;padding:22px 0;border-bottom:1px solid var(--line)}
.contact-methods span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.13em}
.contact-methods a{font-family:var(--display);font-size:clamp(18px,2vw,25px);font-weight:700;overflow-wrap:anywhere;line-height:1.35}
.contact-form-panel h2{font-size:clamp(30px,3vw,39px)}
.contact-form-panel textarea{width:100%}
.contact-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-error{color:#a12424;background:#fff3f3;border-radius:7px;padding:12px;margin:18px 0 0;font-size:13px}
.privacy-page{max-width:980px;padding-top:clamp(55px,7vw,95px);padding-bottom:clamp(80px,8vw,120px)}
.privacy-page h1{font-size:clamp(50px,6vw,78px);margin:18px 0 34px}
.privacy-page h2{font-size:clamp(23px,2.2vw,31px);margin:42px 0 9px}
.privacy-page p{max-width:760px;color:#354a66;font-size:16px;line-height:1.7}
.privacy-page a{overflow-wrap:anywhere}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:38px}.contact-methods{margin-top:38px}.contact-form-panel{max-width:640px}}
@media(max-width:700px){.contact-page{padding-top:48px;padding-bottom:60px}.contact-intro h1{font-size:55px}.contact-lead{font-size:17px}.contact-methods{margin-top:26px}.contact-methods>div{padding:17px 0}.contact-grid{gap:30px}}

/* A compact field of real examples extends beyond every edge. */
.possibility-wall{
position:relative;
height:436px;
overflow:hidden;
background:radial-gradient(circle at 68% 20%,#123c71 0%,#071e3a 43%,#061a33 100%)
}
.possibility-wall__inner{
position:absolute;
top:-24px;
left:50%;
width:calc(100% + 80px);
transform:translateX(-50%)
}
.possibility-grid{
display:grid;
grid-template-columns:repeat(16,minmax(0,1fr));
grid-auto-rows:74px;
grid-auto-flow:dense;
gap:8px;
list-style:none;
padding:0;
margin:0
}
.possibility-tile{
grid-column:span 3;
display:flex;
align-items:center;
min-width:0;
overflow:hidden;
padding:10px 14px;
border:1px solid #d9e8f9;
border-radius:11px;
background:#f6faff;
color:var(--navy);
font-family:var(--display);
font-size:clamp(14px,1.25vw,18px);
font-weight:700;
line-height:1.14;
letter-spacing:-.015em
}
.possibility-tile--lead{grid-column:span 5;grid-row:span 2;font-size:clamp(22px,2.1vw,29px);padding:18px 22px}
.possibility-tile--wide{grid-column:span 4}
.possibility-tile--extra-wide{grid-column:span 5}
.possibility-tile--narrow{grid-column:span 2}
.possibility-tile--sliver{grid-column:span 1;white-space:nowrap}
.possibility-tile--blue{background:#1452ad;border-color:#3873c7;color:#fff}
.possibility-tile--deep{background:#123b6d;border-color:#4671a2;color:#fff}
.possibility-tile--sky{background:#b9ddff;border-color:#b9ddff}
.possibility-tile--outline{background:#0c2b50;border-color:#7295be;color:#f0f6ff}
@media(max-width:1100px){
.possibility-wall{height:460px}
.possibility-wall__inner{top:-22px;width:calc(100% + 64px)}
.possibility-grid{grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:66px;gap:7px}
.possibility-tile,.possibility-tile--narrow{grid-column:span 2;font-size:14px;padding:9px 12px}
.possibility-tile--wide,.possibility-tile--extra-wide{grid-column:span 3}
.possibility-tile--lead{grid-column:span 3;grid-row:span 2;font-size:23px;padding:15px}
.possibility-tile:nth-child(n+22){display:none}
}
@media(max-width:700px){
.possibility-wall{height:490px}
.possibility-wall__inner{top:-21px;width:calc(100% + 24px)}
.possibility-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:70px;gap:7px}
.possibility-tile,.possibility-tile--narrow,.possibility-tile--wide,.possibility-tile--extra-wide{
grid-column:span 1;
grid-row:span 1;
padding:9px 10px;
border-radius:9px;
font-size:clamp(12px,3.4vw,14px)
}
.possibility-tile--lead{grid-column:span 1;grid-row:span 2;font-size:clamp(17px,4.6vw,20px);padding:12px}
.possibility-tile:nth-child(3){grid-row:span 2}
.possibility-tile:nth-child(n+13){display:none}
}
@media(min-width:701px) and (max-width:1100px){.possibility-tile:nth-child(8),.possibility-tile:nth-child(18){grid-column:span 4}}

#support{padding-bottom:56px}
.managed-program{
padding-top:36px;
background:#f5f8fc;
border-top:1px solid var(--line);
border-bottom:1px solid var(--line)
}
.managed-program__diagram{
position:relative;
overflow:hidden;
isolation:isolate;
padding:30px 42px 32px;
border:1px solid #264c79;
border-radius:20px;
background:radial-gradient(circle at 52% 43%,#164779 0%,#0c2e55 42%,#061a33 100%);
box-shadow:0 24px 60px #061a3319
}
.managed-program__diagram::before{
content:"";
position:absolute;
z-index:-1;
inset:0;
background:linear-gradient(135deg,#ffffff0a 0%,transparent 35%,#2b74c612 100%);
pointer-events:none
}
.managed-program__summary{
display:grid;
grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);
align-items:start;
gap:32px;
padding-bottom:24px;
border-bottom:1px solid #aac7e455
}
.managed-program__summary-label{
margin:0;
color:#fff;
font-family:var(--display);
font-size:clamp(22px,2.1vw,28px);
font-weight:700;
letter-spacing:-.02em;
line-height:1.1
}
.managed-program__summary-copy{
justify-self:end;
align-self:center;
max-width:490px;
margin:0;
color:#c5dcf5;
font-size:10px;
font-weight:700;
letter-spacing:.08em;
line-height:1.55
}
.managed-program__network{
display:grid;
grid-template-columns:minmax(0,1fr) 54px minmax(0,1.08fr) 54px minmax(0,1fr);
align-items:center;
margin:38px 0 24px
}
.managed-program__card{
display:flex;
flex-direction:column;
min-width:0;
min-height:250px;
padding:25px 26px;
border-radius:15px
}
.managed-program__card h3{
font-size:clamp(26px,2.3vw,34px);
line-height:1.08
}
.managed-program__label{
margin:0 0 11px;
font-size:10px;
font-weight:700;
letter-spacing:.1em;
line-height:1.4;
text-transform:uppercase
}
.managed-program__card--strategy{
background:#f7fbff;
border:1px solid #b6d5f5;
color:var(--navy)
}
.managed-program__card--strategy .managed-program__label{color:#2d5d98}
.managed-program__people{display:flex;align-items:center;margin-bottom:auto;padding-bottom:21px}
.managed-program__people span{
display:grid;
place-items:center;
width:55px;
height:55px;
border:3px solid #f7fbff;
border-radius:50%;
background:#cde5ff
}
.managed-program__people span+span{margin-left:-12px;background:#a8d2ff}
.managed-program__card--team .managed-program__people span{border-color:#102e52}
.managed-program__card--team .managed-program__people span:nth-child(3){background:#8fc5fb}
.managed-program__card--team .managed-program__people span:nth-child(4){background:#70b4f6}
.managed-program__people svg{
width:25px;
height:25px;
stroke:#1256ab;
stroke-width:2;
stroke-linecap:round;
stroke-linejoin:round
}
.managed-program__card--manager{
min-height:282px;
background:linear-gradient(150deg,#1f67c7,#0b4db8);
border:1px solid #78b8ff;
color:#fff;
box-shadow:0 20px 35px #020e214d
}
.managed-program__card--manager h3{color:#fff}
.managed-program__card--manager .managed-program__label{color:#dceeff}
.managed-program__manager-mark{
display:grid;
place-items:center;
width:55px;
height:55px;
margin-bottom:auto;
padding-bottom:1px;
border:1px solid #ffffff9c;
border-radius:50%;
background:#ffffff1a;
color:#fff;
font-family:var(--display);
font-size:18px;
font-weight:700;
letter-spacing:-.03em
}
.managed-program__detail{
margin:15px 0 0;
color:#e1efff;
font-size:13px;
line-height:1.5
}
.managed-program__card--team{
background:#102e52;
border:1px solid #6c91bd;
color:#fff
}
.managed-program__card--team h3{color:#fff}
.managed-program__card--team .managed-program__label{color:#bcd8f7}
.managed-program__skills{
display:flex;
flex-wrap:wrap;
gap:7px;
list-style:none;
padding:0;
margin:auto 0 0;
padding-top:22px
}
.managed-program__skills li{
padding:6px 9px;
border:1px solid #779cc780;
border-radius:6px;
background:#ffffff0d;
color:#edf6ff;
font-size:11px;
line-height:1.25
}
.managed-program__connector{
position:relative;
height:2px;
margin:0 7px;
background:#82b9f0
}
.managed-program__connector::before{
content:"";
position:absolute;
left:-2px;
top:-4px;
width:10px;
height:10px;
border-radius:50%;
background:#82b9f0
}
.managed-program__connector::after{
content:"";
position:absolute;
right:0;
top:-4px;
width:9px;
height:9px;
border-top:2px solid #c5e3ff;
border-right:2px solid #c5e3ff;
transform:rotate(45deg)
}
.managed-program__rule{
height:1px;
background:linear-gradient(90deg,#9cc7eea3,#9cc7ee1a)
}
@media(max-width:980px){
.managed-program__diagram{padding:24px 28px 27px}
.managed-program__network{
display:flex;
flex-direction:column;
align-items:stretch;
margin:28px 0 20px
}
.managed-program__card{
min-height:0;
padding:22px 24px;
border-radius:14px
}
.managed-program__card--strategy,.managed-program__card--manager,.managed-program__card--team{min-height:172px}
.managed-program__card h3{font-size:30px}
.managed-program__people,.managed-program__manager-mark{margin-bottom:15px;padding-bottom:0}
.managed-program__skills{margin-top:8px;padding-top:12px}
.managed-program__connector{
width:2px;
height:25px;
margin:0 auto;
background:#82b9f0
}
.managed-program__connector::before{left:-4px;top:0}
.managed-program__connector::after{right:-4px;top:auto;bottom:1px;transform:rotate(135deg)}
}
@media(max-width:700px){
#support{padding-bottom:38px}
.managed-program{padding-top:28px}
.managed-program__diagram{padding:20px;border-radius:15px}
.managed-program__summary{display:block;padding-bottom:19px}
.managed-program__summary-label{margin:0 0 10px;font-size:23px}
.managed-program__summary-copy{font-size:9px;line-height:1.55}
.managed-program__network{margin:22px 0 19px}
.managed-program__card{padding:19px 20px}
.managed-program__card--strategy,.managed-program__card--manager,.managed-program__card--team{min-height:0}
.managed-program__card h3{font-size:27px}
.managed-program__people span,.managed-program__manager-mark{width:45px;height:45px}
.managed-program__people svg{width:21px;height:21px}
.managed-program__people{padding-bottom:0}
.managed-program__detail{font-size:12px;margin-top:9px}
.managed-program__skills li{font-size:10px}
}
