:root { --brand:#006778; --brand-deep:#101820; --brand-soft:#e7f3f4; --accent:#d7a22a; --bg:#fff; --surface:#fff; --surface-2:#f2f5f5; --ink:#101820; --ink-soft:#526267; --line:#d6e0e2; --radius:18px; --maxw:1200px; --shadow:none; color-scheme:light; }
html { scroll-padding-top:100px; }
.nav { min-height:88px; }
.brand { font-size:1.15rem; letter-spacing:-.04em; }
.brand-mark { display:grid; place-items:center; background:var(--brand-deep); color:var(--accent); width:44px; height:44px; border-radius:50%; font-weight:900; letter-spacing:-.07em; flex:none; }
.nav-links .btn { color:white; }
.btn { border-radius:8px; padding:.85rem 1.45rem; }
.preview-banner { background:#faf2df; border:0; color:#594719; font-size:.875rem; }
.preview-banner strong { color:#5d4510; }
.hero-new { background:#006778; color:white; padding:58px 0 0; overflow:hidden; }
.hero-layout { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.eyebrow { display:block; font-size:.875rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; margin-bottom:22px; }
.hero-new .eyebrow { color:#ffffff; }
.hero-new h1 { font-size:clamp(3rem,6.4vw,5.7rem); line-height:1.01; letter-spacing:-.065em; max-width:10ch; margin-bottom:26px; }
.hero-new h1 em { font-style:normal; color:#d7a22a; }
.hero-new .lede { max-width:39ch; font-size:1.125rem; color:#edf6f7; }
.hero-new .btn { background:#d7a22a; color:#101820; }
.hero-new .btn:hover { background:#ebba4c; }
.hero-new .text-link { color:white; text-underline-offset:5px; font-size:1rem; }
.hero-art { margin:0; position:relative; }
.hero-art img { display:block; width:100%; aspect-ratio:1.12; object-fit:cover; border-radius:80px 16px 16px 16px; }
.hero-art figcaption { font-size:.875rem; color:#dae9eb; margin-top:12px; }
.hero-facts { display:grid; grid-template-columns:repeat(4,1fr); margin-top:52px; border-top:1px solid #528995; padding:24px 0; gap:24px; }
.hero-facts strong { display:block; font-size:1.15rem; color:white; }
.hero-facts span { color:#dae9eb; font-size:.875rem; }
.section { padding:80px 0; }
.section h2 { font-size:clamp(2rem,4vw,3rem); letter-spacing:-.045em; }
.section-top { display:flex; gap:40px; align-items:end; justify-content:space-between; margin-bottom:35px; }
.section-top p { max-width:42ch; color:var(--ink-soft); }
.section-top h2 { max-width:16ch; }
.number { display:block; font-size:.875rem; font-weight:800; color:var(--brand); margin-bottom:30px; }
.feature-card { padding:30px; border-top:3px solid var(--brand); background:#f2f5f5; border-radius:0 0 14px 14px; }
.feature-card p { color:var(--ink-soft); margin-bottom:0; }
.split-section { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
.session-list { margin:0; padding:0; list-style:none; counter-reset:session; }
.session-list li { counter-increment:session; padding:0 0 25px 58px; position:relative; }
.session-list li:before { content:counter(session,decimal-leading-zero); position:absolute; left:0; top:0; color:var(--brand); font-weight:800; font-size:.875rem; border:1px solid var(--line); border-radius:50%; width:36px; height:36px; display:grid; place-items:center; }
.session-list h3 { font-size:1.1rem; }
.session-list p { color:var(--ink-soft); margin-bottom:0; }
.bring-panel { padding:32px; background:#e7f3f4; border-radius:18px; }
.cost-panel { background:#d7a22a; padding:34px; border-radius:18px; }
.cost-panel h3 { font-size:1.8rem; }
.closing { background:#101820; color:white; padding:50px; border-radius:20px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.closing p { color:#dae9eb; margin:0; }
.closing .btn { background:#d7a22a; color:#101820; flex-shrink:0; }
.site-footer { margin-top:0; }
.form-shell { max-width:850px; }
.registration-page { background:#f2f5f5; }
.registration-page #intro h1 { font-size:clamp(2.4rem,5vw,3.5rem); letter-spacing:-.05em; }
.registration-page .step { padding:32px; background:white; border:1px solid var(--line); border-radius:18px; }
.steps li { font-size:.875rem; }
.step fieldset:last-of-type { margin-bottom:0; }
input[type=text],input[type=email],input[type=tel],input[type=date],select,textarea { min-height:48px; }
.form-nav { flex-wrap:wrap; }
.field-row,.grid-2,.grid-3 { grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); }
.waiver-doc { font-size:1rem; }
.waiver-statutory-notice { font-size:1.6rem; }
.review-block dd { overflow-wrap:anywhere; }
@media(max-width:800px) { .hero-layout,.split-section { grid-template-columns:1fr; gap:32px; } .hero-new { padding-top:36px; } .hero-new h1 { max-width:14ch; } .hero-art img { aspect-ratio:1.6; border-radius:35px 12px 12px; } .hero-facts { grid-template-columns:1fr 1fr; margin-top:28px; } .section { padding:48px 0; } .section-top,.closing { display:block; } .closing .btn { margin-top:24px; } .nav { min-height:75px; } .nav-links { gap:20px; } .registration-page .step { padding:20px; } .closing { padding:28px; } }
@media(max-width:400px) { .review-block dl { grid-template-columns:1fr; } .review-block dd { margin-bottom:12px; } .form-nav .btn { padding:.75rem 1rem; } }
@media print { .hero-new,.site-header,.site-footer { display:none; } .registration-page,.registration-page .step { background:white; } }


