.site-header { position: relative; z-index: 50; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--color-neutral-200); }
.site-header__inner { display: flex; min-height: 5.25rem; align-items: center; gap: var(--space-5); }
.brand { display: inline-flex; flex: 0 0 auto; align-items: center; }
.brand img { width: 13rem; max-height: 4rem; object-fit: contain; }
.site-nav { margin-left: auto; }
.site-nav__list { display: flex; align-items: center; gap: .15rem; padding: 0; margin: 0; list-style: none; }
.site-nav__list li { margin: 0; }
.site-nav__link { display: inline-flex; min-height: 2.75rem; align-items: center; padding: .55rem .65rem; border-radius: var(--radius-1); color: var(--color-charcoal); font-size: .9rem; font-weight: 700; text-decoration: none; }
.site-nav__link:hover, .site-nav__link[aria-current="page"] { background: var(--color-brand-50); color: var(--color-royal); }
.menu-button { display: none; min-width: 2.75rem; min-height: 2.75rem; margin-left: auto; border: 1px solid var(--color-neutral-200); border-radius: var(--radius-2); background: var(--color-white); color: var(--color-charcoal); font-weight: 800; }
.site-header__client { font-size: .85rem; white-space: nowrap; }
.hero { position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(5rem, 11vw, 9rem); }
.hero--dark { color: var(--color-white); background: linear-gradient(118deg, #050b16 0%, #071129 48%, #0a2455 100%); }
.hero--light { background: var(--color-brand-50); }
.hero__content { position: relative; z-index: 3; max-width: 48rem; }
.hero__content > :last-child { margin-bottom: 0; }
.hero--home { padding-block: clamp(4.5rem, 8vw, 7rem); }
.home-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(26rem, .95fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: center; }
.hero--home .hero__content { max-width: 43rem; }
.hero--home h1 { font-size: clamp(2.75rem, 4.5vw, 4.35rem); }
.home-hero__visual { position: relative; z-index: 3; aspect-ratio: 4 / 3; margin: 0; overflow: hidden; border: 1px solid rgba(169,194,255,.28); border-radius: var(--radius-4); background: var(--color-midnight); box-shadow: 0 26px 70px rgba(0,0,0,.32), 0 0 0 1px rgba(124,58,237,.12); }
.home-hero__visual::after { content: ""; position: absolute; inset: auto 0 0; height: 38%; background: linear-gradient(180deg, transparent, rgba(7,17,41,.42)); pointer-events: none; }
.home-hero__visual img { width: 100%; height: 100%; object-fit: cover; object-position: 66% 50%; }
.hero--split .container { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .8fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.hero__portrait { position: relative; min-height: 32rem; overflow: hidden; border-radius: var(--radius-4); box-shadow: var(--shadow-3); }
.hero__portrait img { width: 100%; height: 100%; min-height: 32rem; object-fit: cover; object-position: 50% 24%; }
.skyline { position: absolute; z-index: 1; right: -2%; bottom: 0; width: min(60rem, 68vw); height: 58%; opacity: .48; pointer-events: none; }
.skyline::before { content: ""; position: absolute; inset: auto 0 0; height: 68%; background: linear-gradient(180deg, transparent, rgba(124,58,237,.18)); border-top: 1px solid rgba(155,184,255,.3); clip-path: polygon(0 100%,0 78%,4% 78%,4% 48%,8% 48%,8% 72%,12% 72%,12% 35%,16% 35%,16% 66%,20% 66%,20% 52%,24% 52%,24% 74%,28% 74%,28% 30%,32% 30%,32% 65%,36% 65%,36% 44%,40% 44%,40% 76%,44% 76%,44% 24%,48% 24%,48% 62%,52% 62%,52% 50%,56% 50%,56% 68%,60% 68%,60% 40%,64% 40%,64% 73%,68% 73%,68% 18%,72% 18%,72% 64%,76% 64%,76% 45%,80% 45%,80% 72%,84% 72%,84% 32%,88% 32%,88% 64%,92% 64%,92% 52%,96% 52%,96% 78%,100% 78%,100% 100%); }
.skyline::after { content: ""; position: absolute; left: 6%; right: 0; bottom: 14%; height: 2px; background: linear-gradient(90deg, transparent, #3b82f6 30%, #8b5cf6 76%, transparent); box-shadow: 0 0 24px #7c3aed; transform: rotate(-3deg); }
.hero--home .skyline { right: auto; left: 0; width: 100%; height: 40%; opacity: .66; }
.hero--home .skyline::before { height: 74%; background: linear-gradient(180deg, transparent, rgba(31,86,168,.28)); border-top-color: rgba(169,194,255,.5); }
.hero--home .skyline::after { right: 4%; bottom: 9%; height: 3px; box-shadow: 0 0 32px rgba(124,58,237,.9); }
.card { padding: clamp(1.35rem, 3vw, 2rem); border: 1px solid var(--color-neutral-200); border-radius: var(--radius-3); background: var(--color-white); box-shadow: var(--shadow-1); }
.card--premium { border-color: rgba(124,58,237,.35); background: linear-gradient(145deg, var(--color-midnight), #0a2559); color: var(--color-white); box-shadow: var(--shadow-2); }
.card--premium a { color: var(--color-white); }
.card--premium .button--light { color: var(--color-royal-deep); }
.card--premium .button--light:hover { color: var(--color-royal-pressed); }
.card--premium .eyebrow { color: #a9c2ff; }
.card--premium .supporting,
.card--premium .helper,
.card--premium .credential { color: #dfe7f7; }
.card__number { display: inline-grid; width: 2.5rem; height: 2.5rem; place-items: center; margin-bottom: var(--space-5); border-radius: 50%; background: var(--color-brand-100); color: var(--color-royal); font-weight: 800; }
.card--premium .card__number { background: var(--gradient-brand); color: var(--color-white); }
.card > :last-child { margin-bottom: 0; }
.pathway-card { display: flex; min-height: 100%; flex-direction: column; }
.pathway-card .button-row { margin-top: auto; padding-top: var(--space-5); }
.feature-list { padding: 0; list-style: none; }
.feature-list li { position: relative; padding-left: 1.65rem; }
.feature-list li::before { content: ""; position: absolute; top: .62em; left: 0; width: .65rem; height: .35rem; border-bottom: 2px solid var(--color-royal); border-left: 2px solid var(--color-royal); transform: rotate(-45deg); }
.section--dark .feature-list li::before, .card--premium .feature-list li::before { border-color: #a9c2ff; }
.timeline { counter-reset: journey; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--space-5); padding: 0; list-style: none; }
.timeline--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.timeline > li { position: relative; padding: var(--space-6); border-top: 3px solid var(--color-royal); border-radius: 0 0 var(--radius-3) var(--radius-3); background: var(--color-white); box-shadow: var(--shadow-1); }
.timeline > li + li { margin-top: 0; }
.timeline > li::before { counter-increment: journey; content: counter(journey); display: grid; width: 2.25rem; height: 2.25rem; place-items: center; margin-bottom: var(--space-4); border-radius: 50%; background: var(--gradient-brand); color: var(--color-white); font-weight: 800; }
.advisor-block { display: grid; grid-template-columns: minmax(17rem, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.advisor-block__media { overflow: hidden; border-radius: var(--radius-4); background: var(--color-neutral-100); box-shadow: var(--shadow-2); }
.advisor-block__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 25%; }
.credential { color: var(--color-royal); font-weight: 800; }
.faq-group + .faq-group { margin-top: var(--space-7); }
.faq-item { border-bottom: 1px solid var(--color-neutral-200); }
.faq-item__button { display: flex; width: 100%; min-height: 3.5rem; align-items: center; justify-content: space-between; gap: var(--space-4); padding: 1.1rem 0; border: 0; background: transparent; color: var(--color-charcoal); font-weight: 800; text-align: left; cursor: pointer; }
.faq-item__button::after { content: "+"; flex: 0 0 auto; color: var(--color-royal); font-size: 1.5rem; }
.faq-item__button[aria-expanded="true"]::after { content: "−"; }
.faq-item__panel { padding: 0 0 var(--space-5); }
.faq-item__panel[hidden] { display: none; }
.cta-band { position: relative; isolation: isolate; overflow: hidden; padding: clamp(2rem, 5vw, 4rem); border-radius: var(--radius-4); background: linear-gradient(120deg, var(--color-midnight), var(--color-royal-deep)); color: var(--color-white); box-shadow: var(--shadow-2); }
.cta-band::after { content: ""; position: absolute; z-index: -1; top: -40%; right: -10%; width: 28rem; height: 28rem; border-radius: 50%; background: radial-gradient(circle, rgba(124,58,237,.45), transparent 68%); }
.cta-band .eyebrow { color: #a9c2ff; }
.cta-band .supporting { border-left-color: #a9c2ff; color: #dfe7f7; }
.notice { padding: var(--space-5); border-left: 4px solid var(--color-royal); border-radius: var(--radius-2); background: var(--color-brand-50); }
.notice--warning { border-color: var(--color-warning); background: var(--color-warning-bg); color: #5a3800; }
.notice--review { border-color: var(--color-slate-blue, #355773); background: var(--color-slate-wash, #eef3f8); color: var(--color-charcoal); }
.notice--safety { border-color: var(--color-royal); background: var(--color-sky-wash, #edf4ff); color: var(--color-charcoal); }
.notice--access { border-color: var(--color-violet-deep, #6130b3); background: var(--color-lavender-wash, #f5efff); color: var(--color-charcoal); }
.notice--error { border-color: var(--color-error); background: var(--color-error-bg); color: #731313; }
.notice--success { border-color: var(--color-success); background: var(--color-success-bg); color: #164c32; }
.notice > :last-child { margin-bottom: 0; }
.form-shell { max-width: var(--container-form); padding: clamp(1.5rem, 5vw, 3rem); border: 1px solid var(--color-neutral-200); border-radius: var(--radius-4); background: var(--color-white); box-shadow: var(--shadow-2); }
.field { margin-bottom: var(--space-5); }
.field label, .field legend { display: block; margin-bottom: var(--space-2); font-weight: 800; }
.field input, .field select, .field textarea { width: 100%; min-height: 3rem; padding: .75rem .875rem; border: 1px solid #a6a6a6; border-radius: var(--radius-2); background: var(--color-white); color: var(--color-charcoal); }
.field textarea { min-height: 10rem; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--color-royal); outline: var(--focus-ring); outline-offset: 1px; }
.field input:disabled, .field select:disabled, .field textarea:disabled { background: var(--color-neutral-100); color: var(--color-gray-dark); opacity: 1; }
.helper { display: block; margin-top: var(--space-2); color: var(--color-gray-dark); font-size: .875rem; }
.selector { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-4); margin-bottom: var(--space-6); }
.selector__button { min-height: 8rem; padding: var(--space-5); border: 2px solid var(--color-neutral-200); border-radius: var(--radius-3); background: var(--color-white); color: var(--color-charcoal); text-align: left; cursor: pointer; }
.selector__button:hover { border-color: var(--color-royal-soft); }
.selector__button[aria-pressed="true"] { border-color: var(--color-royal); background: var(--color-brand-50); box-shadow: 0 0 0 3px rgba(31,86,168,.15); }
.embed-shell { min-height: 36rem; border: 1px solid var(--color-neutral-200); border-radius: var(--radius-3); background: var(--color-white); overflow: hidden; }
.embed-shell iframe { width: 100%; min-height: 78rem; border: 0; }
.embed-shell--general-inquiry { min-height: 0; }
.embed-shell--general-inquiry iframe { min-height: 0; }
.embed-state { display: grid; min-height: 30rem; place-items: center; padding: var(--space-6); text-align: center; }
.legal-shell { max-width: var(--container-reading); }
.legal-shell h2 { margin-top: var(--space-8); }
.site-footer { padding-block: var(--space-8) var(--space-6); background: var(--color-midnight); color: #dce4f4; }
.site-footer a { color: var(--color-white); }
.site-footer__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.2fr; gap: var(--space-6); }
.site-footer__brand img { width: 14rem; margin-bottom: var(--space-5); }
.site-footer h2 { font-family: var(--font-interface); font-size: 1rem; }
.site-footer ul { padding: 0; list-style: none; }
.site-footer li { margin: .45rem 0; }
.site-footer__disclosure { max-width: 70rem; margin-top: var(--space-7); padding-top: var(--space-5); border-top: 1px solid rgba(255,255,255,.2); font-size: .875rem; }
.site-footer__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-5); font-size: .8125rem; }
