:root {
    --blue-950:#062b5c;
    --blue-900:#073b7a;
    --blue-800:#0b4ea2;
    --blue-700:#0b5ed7;
    --blue-600:#1479e8;
    --blue-100:#e7f1ff;
    --blue-50:#f4f8ff;
    --sky-500:#4da3ff;
    --sky-200:#b9ddff;
    --sky-50:#eff7ff;
    --ink:#102a43;
    --ink-soft:#40556f;
    --muted:#6b7c93;
    --line:#dbe7f5;
    --surface:#ffffff;
    --surface-soft:#f7faff;
    --shadow:0 24px 70px rgba(9,58,125,.11);
    --container:1180px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:92px; }
body { margin:0; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:#fff; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
img,svg { max-width:100%; }
.landing-body { min-width:320px; overflow-x:hidden; }
.public-container { width:min(var(--container),calc(100% - 48px)); margin:0 auto; }
.skip-link { position:fixed; z-index:999; top:8px; left:8px; transform:translateY(-160%); padding:10px 14px; border-radius:10px; background:#fff; color:var(--blue-900); font-size:12px; font-weight:800; box-shadow:var(--shadow); }
.skip-link:focus { transform:translateY(0); }

/* Public header */
.public-header { position:sticky; top:0; z-index:100; height:78px; border-bottom:1px solid rgba(213,228,246,.85); background:rgba(255,255,255,.91); backdrop-filter:blur(18px); transition:box-shadow .2s ease,background .2s ease; }
.public-header.scrolled { box-shadow:0 10px 30px rgba(9,58,125,.08); background:rgba(255,255,255,.97); }
.header-inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.public-brand { display:flex; align-items:center; gap:12px; min-width:0; }
.public-brand-mark { width:52px; height:52px; flex:0 0 52px; display:grid; place-items:center; padding:2px; border-radius:15px; background:#fff; border:1px solid #d6e5f7; box-shadow:0 10px 22px rgba(11,78,162,.12); }
.public-brand-mark img { width:100%; height:100%; display:block; object-fit:contain; }
.public-brand-copy { min-width:0; display:grid; gap:2px; }
.public-brand-copy strong { color:var(--blue-950); font-size:15px; letter-spacing:-.02em; }
.public-brand-copy small { color:var(--muted); font-size:8px; font-weight:600; white-space:nowrap; }
.public-nav { display:flex; align-items:center; gap:4px; }
.public-nav a { padding:10px 11px; border-radius:10px; color:#4c627c; font-size:10px; font-weight:700; transition:background .18s ease,color .18s ease; }
.public-nav a:hover { color:var(--blue-800); background:var(--blue-50); }
.public-nav .nav-login { margin-left:8px; padding:11px 16px; color:#fff; background:var(--blue-800); box-shadow:0 10px 20px rgba(11,78,162,.13); }
.public-nav .nav-login:hover { color:#fff; background:var(--blue-700); }
.public-menu-button { display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:13px; background:#fff; place-items:center; padding:0; }
.public-menu-button span { width:17px; height:2px; margin:2px auto; display:block; border-radius:99px; background:var(--blue-900); transition:transform .2s ease,opacity .2s ease; }
.public-menu-button[aria-expanded="true"] span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.public-menu-button[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.public-menu-button[aria-expanded="true"] span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

/* Hero */
.hero-program-brand { display:flex; align-items:center; gap:13px; margin-bottom:22px; }
.hero-program-brand img { width:76px; height:76px; flex:0 0 76px; object-fit:contain; filter:drop-shadow(0 10px 18px rgba(9,58,125,.12)); }
.hero-program-brand div { display:grid; gap:4px; }
.hero-program-brand small { color:#7288a3; font-size:8px; font-weight:800; letter-spacing:.12em; }
.hero-program-brand strong { max-width:310px; color:var(--blue-950); font-size:13px; line-height:1.35; }

.landing-hero { position:relative; overflow:hidden; padding:90px 0 84px; background:linear-gradient(180deg,#fbfdff 0%,#eef5ff 100%); border-bottom:1px solid #dce8f6; }
.hero-glow { position:absolute; border-radius:999px; filter:blur(5px); pointer-events:none; }
.hero-glow-one { width:520px; height:520px; right:-120px; top:-160px; background:radial-gradient(circle,rgba(77,163,255,.22),rgba(77,163,255,0) 68%); }
.hero-glow-two { width:480px; height:480px; left:-250px; bottom:-250px; background:radial-gradient(circle,rgba(11,94,215,.15),rgba(11,94,215,0) 70%); }
.hero-grid { position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(370px,.72fr); align-items:center; gap:72px; }
.section-kicker { display:inline-flex; align-items:center; gap:8px; color:var(--blue-700); font-size:9px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.section-kicker::before { content:""; width:24px; height:2px; border-radius:99px; background:var(--sky-500); }
.hero-copy h1 { max-width:760px; margin:18px 0 22px; font-size:clamp(42px,5vw,68px); line-height:1.02; letter-spacing:-.057em; color:var(--blue-950); }
.hero-copy h1 span { color:var(--blue-600); }
.hero-lead { max-width:690px; margin:0; color:var(--ink-soft); font-size:15px; line-height:1.85; }
.hero-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:30px; }
.public-btn { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:0 20px; border-radius:13px; border:1px solid transparent; font-size:10px; font-weight:800; transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.public-btn:hover { transform:translateY(-1px); }
.public-btn.primary { color:#fff; background:linear-gradient(135deg,var(--blue-800),var(--blue-600)); box-shadow:0 14px 30px rgba(11,78,162,.20); }
.public-btn.ghost { color:var(--blue-900); border-color:#cfdef0; background:#fff; }
.public-btn.dark { color:#fff; background:#062b5c; }
.public-btn.light { color:var(--blue-900); background:#fff; }
.public-btn.outline-light { color:#fff; border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.07); }
.hero-trust { margin-top:35px; display:flex; flex-wrap:wrap; align-items:center; gap:0; color:#60758e; font-size:9px; font-weight:600; }
.hero-trust span { position:relative; padding:0 18px; }
.hero-trust span:first-child { padding-left:0; }
.hero-trust span + span::before { content:""; position:absolute; left:0; top:50%; width:1px; height:16px; background:#cad9eb; transform:translateY(-50%); }
.hero-trust b { color:var(--blue-900); font-size:12px; }

.hero-guide-card { position:relative; padding:28px; border:1px solid rgba(205,222,243,.95); border-radius:25px; background:rgba(255,255,255,.94); box-shadow:0 34px 70px rgba(9,58,125,.13); }
.hero-guide-card::after { content:""; position:absolute; inset:10px -10px -10px 10px; z-index:-1; border-radius:25px; border:1px solid rgba(214,227,243,.85); background:rgba(235,245,255,.65); }
.guide-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.mini-label { color:#8093aa; font-size:8px; font-weight:900; letter-spacing:.13em; }
.guide-card-head h2 { margin:5px 0 0; color:var(--blue-950); font-size:22px; letter-spacing:-.04em; }
.guide-icon { width:42px; height:42px; display:grid; place-items:center; flex:0 0 42px; border-radius:13px; background:var(--blue-100); color:var(--blue-700); font-size:18px; font-weight:900; }
.guide-list { padding:8px 0; }
.guide-list > div { display:grid; grid-template-columns:37px minmax(0,1fr); gap:12px; padding:14px 0; }
.guide-list > div + div { border-top:1px dashed #e0e9f4; }
.guide-list > div > span { width:31px; height:31px; display:grid; place-items:center; border-radius:10px; background:#f3f7fc; color:#8294aa; font-size:8px; font-weight:900; }
.guide-list p { margin:0; color:#6f8096; font-size:9px; line-height:1.55; }
.guide-list strong { display:block; margin-bottom:3px; color:#263e5b; font-size:10px; }
.guide-link { margin-top:4px; min-height:42px; display:flex; align-items:center; justify-content:space-between; padding:0 14px; border-radius:12px; color:var(--blue-800); background:var(--blue-50); font-size:9px; font-weight:800; }

.program-strip { border-bottom:1px solid var(--line); background:#fff; }
.fact-row { min-height:112px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; }
.fact-item { min-width:0; display:flex; align-items:center; gap:12px; padding:18px 22px; }
.fact-item + .fact-item { border-left:1px solid var(--line); }
.fact-icon { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; border-radius:11px; color:var(--blue-700); background:var(--blue-50); font-size:8px; font-weight:900; }
.fact-item strong,.fact-item small { display:block; }
.fact-item strong { margin-bottom:4px; font-size:10px; }
.fact-item small { color:var(--muted); font-size:8px; line-height:1.45; }

/* Section system */
.public-section { padding:92px 0; }
.tinted-section { background:var(--surface-soft); border-top:1px solid #edf3fa; border-bottom:1px solid #edf3fa; }
.section-heading h2 { margin:13px 0 14px; color:var(--blue-950); font-size:clamp(30px,3.8vw,48px); line-height:1.08; letter-spacing:-.05em; }
.section-heading > p { max-width:610px; margin:0; color:var(--muted); font-size:12px; line-height:1.85; }
.centered-heading { max-width:760px; margin:0 auto 42px; text-align:center; }
.centered-heading .section-kicker { justify-content:center; }
.centered-heading > p { margin-left:auto; margin-right:auto; }
.narrow-heading { max-width:680px; }
.split-section { display:grid; grid-template-columns:minmax(300px,.76fr) minmax(0,1.24fr); gap:70px; align-items:start; }
.sticky-heading { position:sticky; top:116px; }
.info-callout { margin-top:26px; display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px; padding:16px; border:1px solid #d5e4f5; border-radius:16px; background:var(--blue-50); }
.callout-mark { width:30px; height:30px; display:grid; place-items:center; border-radius:10px; background:#fff; color:var(--blue-700); font-size:11px; font-weight:900; }
.info-callout p { margin:0; color:#60758e; font-size:9px; line-height:1.65; }
.feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.feature-card { min-height:250px; padding:26px; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 12px 35px rgba(9,58,125,.045); }
.large-card { min-height:330px; grid-column:1/-1; overflow:hidden; position:relative; background:linear-gradient(145deg,#fff 0%,#eef5ff 100%); }
.card-tag { color:#8a978f; font-size:8px; font-weight:900; letter-spacing:.13em; }
.feature-card h3 { max-width:500px; margin:14px 0 11px; color:#153c68; font-size:22px; line-height:1.15; letter-spacing:-.035em; }
.feature-card p { max-width:560px; margin:0; color:var(--muted); font-size:10px; line-height:1.75; }
.card-illustration.bars { position:absolute; right:32px; bottom:28px; width:230px; height:80px; display:flex; align-items:flex-end; justify-content:flex-end; gap:9px; opacity:.9; }
.card-illustration.bars i { width:34px; border-radius:9px 9px 3px 3px; background:linear-gradient(180deg,var(--blue-600),var(--blue-800)); }
.card-illustration.bars i:nth-child(1){height:33px}.card-illustration.bars i:nth-child(2){height:54px}.card-illustration.bars i:nth-child(3){height:69px}.card-illustration.bars i:nth-child(4){height:80px;background:linear-gradient(180deg,#74c1ff,#0b5ed7)}

.eligibility-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.eligibility-card { position:relative; min-height:250px; padding:25px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.eligibility-number { position:absolute; right:20px; top:19px; color:#a9b9cc; font-size:8px; font-weight:900; }
.eligibility-icon { width:54px; height:54px; display:grid; place-items:center; margin-bottom:26px; border-radius:16px; color:var(--blue-800); background:var(--blue-50); font-size:11px; font-weight:900; }
.eligibility-card h3 { margin:0 0 9px; font-size:16px; letter-spacing:-.025em; }
.eligibility-card p { margin:0; color:var(--muted); font-size:9.5px; line-height:1.72; }
.highlight-card { border-color:#bad8fb; background:linear-gradient(145deg,var(--sky-50),#fff); }
.highlight-card .eligibility-icon { background:#fff; color:#0b5ed7; }
.highlight-card a { display:inline-block; margin-top:16px; color:#0a4fae; font-size:9px; font-weight:800; }

.requirements-layout { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:75px; align-items:start; }
.requirements-heading { position:sticky; top:116px; }
.check-progress-card { margin-top:28px; padding:20px; border-radius:18px; background:#062b5c; color:#fff; }
.check-progress-card span { color:#80c5ff; font-size:8px; font-weight:900; letter-spacing:.13em; }
.check-progress-card strong { display:block; margin:8px 0 7px; font-size:14px; }
.check-progress-card p { margin:0; color:#c6dcf5; font-size:9px; line-height:1.6; }
.requirement-stack { display:grid; gap:11px; }
.requirement-card { display:grid; grid-template-columns:42px minmax(0,1fr); gap:14px; padding:21px 22px; border:1px solid var(--line); border-radius:18px; background:#fff; transition:transform .18s ease,border .18s ease,box-shadow .18s ease; }
.requirement-card:hover { transform:translateY(-2px); border-color:#c5d9f1; box-shadow:0 15px 35px rgba(9,58,125,.07); }
.requirement-check { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; color:var(--blue-700); background:var(--blue-50); font-weight:900; }
.requirement-card h3 { margin:1px 0 7px; font-size:13px; letter-spacing:-.02em; }
.requirement-card p { margin:0; color:var(--muted); font-size:9px; line-height:1.65; }

.detail-section { padding-top:30px; }
.detail-grid { display:grid; grid-template-columns:1.05fr .95fr .95fr; gap:15px; }
.detail-card { min-height:330px; padding:29px; border:1px solid var(--line); border-radius:24px; background:#fff; }
.detail-card h2 { margin:14px 0 13px; color:var(--blue-950); font-size:27px; letter-spacing:-.045em; }
.detail-card p { margin:0; color:var(--muted); font-size:10px; line-height:1.75; }
.dark-card { color:#fff; border:0; background:linear-gradient(145deg,#073b7a,#052754); box-shadow:0 24px 50px rgba(5,48,105,.18); }
.dark-card h2 { color:#fff; font-size:34px; }
.dark-card p { color:#c8dcf5; }
.light-kicker { color:#dbeaff; }
.light-kicker::before { background:#68b8ff; }
.detail-meter { height:10px; margin:30px 0 12px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.13); }
.detail-meter span { display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,#2c8ff0,#8ed0ff); }
.dark-card small { color:#a9c4e3; font-size:8px; line-height:1.55; }
.pay-split { display:grid; grid-template-columns:3fr 2fr; overflow:hidden; margin-top:30px; border:1px solid var(--line); border-radius:16px; }
.pay-split > div { padding:18px; background:var(--blue-50); }
.pay-split > div + div { border-left:1px solid var(--line); background:var(--sky-50); }
.pay-split strong,.pay-split span { display:block; }
.pay-split strong { color:var(--blue-900); font-size:23px; }
.pay-split span { margin-top:3px; color:var(--muted); font-size:8px; font-weight:700; }
.protection-card ul { margin:21px 0 0; padding:0; list-style:none; }
.protection-card li { position:relative; padding:12px 0 12px 24px; border-top:1px solid var(--line); color:#5c718b; font-size:9px; line-height:1.55; }
.protection-card li::before { content:"✓"; position:absolute; left:0; top:11px; color:var(--blue-600); font-weight:900; }

.process-section { overflow:hidden; }
.process-line { position:relative; display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.process-line::before { content:""; position:absolute; left:7%; right:7%; top:25px; height:1px; background:#d7e4f3; }
.process-step { position:relative; padding:0 8px; text-align:center; }
.process-step > span { position:relative; z-index:2; width:52px; height:52px; display:grid; place-items:center; margin:0 auto 18px; border:6px solid #fff; border-radius:50%; color:#fff; background:var(--blue-700); box-shadow:0 0 0 1px #d7e2db; font-size:9px; font-weight:900; }
.process-step h3 { margin:0 0 8px; font-size:12px; }
.process-step p { margin:0; color:var(--muted); font-size:8.5px; line-height:1.65; }

.client-data-layout { display:grid; grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr); gap:60px; align-items:start; }
.data-board { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.data-column { min-height:220px; display:flex; flex-direction:column; gap:10px; padding:23px; border:1px solid var(--line); border-radius:19px; background:#fff; }
.data-column strong { margin-bottom:6px; color:var(--blue-900); font-size:13px; }
.data-column span { position:relative; padding-left:15px; color:#65746c; font-size:9px; line-height:1.4; }
.data-column span::before { content:""; position:absolute; left:0; top:5px; width:6px; height:6px; border-radius:50%; background:#83baf2; }

.employer-section { background:#fff; }
.employer-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.employer-copy h2 { max-width:520px; margin:14px 0; color:var(--blue-950); font-size:42px; line-height:1.08; letter-spacing:-.05em; }
.employer-copy p { max-width:560px; margin:0 0 26px; color:var(--muted); font-size:11px; line-height:1.8; }
.employer-list { border:1px solid var(--line); border-radius:23px; overflow:hidden; }
.employer-list > div { display:grid; grid-template-columns:44px minmax(0,1fr); gap:14px; padding:20px 22px; background:#fff; }
.employer-list > div + div { border-top:1px solid var(--line); }
.employer-list > div > span { width:36px; height:36px; display:grid; place-items:center; border-radius:11px; color:var(--blue-700); background:var(--blue-50); font-size:8px; font-weight:900; }
.employer-list p { margin:0; color:var(--muted); font-size:9px; line-height:1.55; }
.employer-list strong { display:block; margin-bottom:3px; color:var(--ink); font-size:10px; }

.office-section { background:linear-gradient(180deg,#f7faff,#fff); border-top:1px solid #edf3fa; }
.office-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.office-card { min-height:190px; padding:24px; border:1px solid var(--line); border-radius:19px; background:#fff; }
.office-card > span { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; color:var(--blue-800); background:var(--blue-50); font-size:8px; font-weight:900; }
.office-card h3 { margin:22px 0 8px; font-size:14px; letter-spacing:-.025em; }
.office-card p { margin:0; color:var(--muted); font-size:9px; line-height:1.6; }
.primary-office { color:#fff; border-color:transparent; background:linear-gradient(145deg,var(--blue-800),var(--blue-600)); }
.primary-office > span { color:#fff; background:rgba(255,255,255,.15); }
.primary-office h3 { color:#fff; }
.primary-office p { color:#d8e9ff; }
.contact-note { margin-top:18px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; border:1px solid #c6def8; border-radius:16px; background:var(--sky-50); }
.contact-note strong { display:block; margin-bottom:4px; font-size:10px; }
.contact-note p { margin:0; color:#5a718f; font-size:8.5px; }
.contact-note a { flex:0 0 auto; color:#0a4fae; font-size:9px; font-weight:800; }

.faq-layout { display:grid; grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr); gap:72px; align-items:start; }
.faq-heading { position:sticky; top:116px; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { position:relative; padding:22px 44px 22px 0; cursor:pointer; list-style:none; font-size:12px; font-weight:750; line-height:1.45; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; position:absolute; right:4px; top:50%; width:28px; height:28px; display:grid; place-items:center; transform:translateY(-50%); border-radius:9px; background:var(--blue-50); color:var(--blue-700); font-size:16px; font-weight:500; }
.faq-list details[open] summary::after { content:"−"; }
.faq-list details p { margin:-6px 42px 22px 0; color:var(--muted); font-size:9.5px; line-height:1.75; }

.portal-cta { padding:70px 0; color:#fff; background:linear-gradient(125deg,#052754,#0b4ea2 65%,#1479e8); }
.portal-cta-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:center; }
.portal-cta h2 { margin:12px 0; color:#fff; font-size:39px; letter-spacing:-.05em; }
.portal-cta p { max-width:660px; margin:0; color:#d1e5fb; font-size:11px; line-height:1.75; }
.portal-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:10px; }
.portal-actions small { flex-basis:100%; text-align:right; color:#afd0f3; font-size:8px; }

/* Footer */
.public-footer { padding:58px 0 24px; color:#b9cde5; background:#041c3d; }
.footer-grid { display:grid; grid-template-columns:1.25fr .7fr .8fr .85fr; gap:45px; padding-bottom:42px; }
.footer-brand .public-brand-mark { background:#fff; border-color:rgba(255,255,255,.16); box-shadow:none; }
.footer-brand .public-brand-copy strong { color:#fff; }
.footer-brand .public-brand-copy small { color:#90acd0; }
.footer-about p { max-width:330px; margin:17px 0 0; color:#7f9bbc; font-size:9px; line-height:1.7; }
.footer-links { display:flex; flex-direction:column; gap:10px; }
.footer-links strong { margin-bottom:4px; color:#fff; font-size:9px; text-transform:uppercase; letter-spacing:.1em; }
.footer-links a,.footer-links span { color:#90acd0; font-size:8.5px; line-height:1.45; }
.footer-links a:hover { color:#fff; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:20px; border-top:1px solid rgba(255,255,255,.08); color:#6f89a8; font-size:7.5px; }
.footer-note { text-align:right; }

@media (max-width:1080px) {
    .public-nav a { padding-left:7px; padding-right:7px; }
    .hero-grid { gap:42px; grid-template-columns:minmax(0,1fr) minmax(340px,.72fr); }
    .hero-copy h1 { font-size:52px; }
    .fact-item { padding-left:14px; padding-right:14px; }
    .detail-grid { grid-template-columns:1fr 1fr; }
    .protection-card { grid-column:1/-1; min-height:auto; }
    .process-line { grid-template-columns:repeat(3,1fr); row-gap:36px; }
    .process-line::before { display:none; }
    .footer-grid { grid-template-columns:1.2fr repeat(3,1fr); gap:28px; }
}

@media (max-width:900px) {
    html { scroll-padding-top:76px; }
    .public-container { width:min(var(--container),calc(100% - 36px)); }
    .public-header { height:70px; }
    .public-menu-button { display:block; }
    .public-nav { position:absolute; top:70px; left:0; right:0; display:none; padding:12px 18px 18px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.98); box-shadow:0 18px 35px rgba(9,58,125,.09); }
    .public-nav.open { display:grid; }
    .public-nav a { padding:13px 12px; font-size:10px; }
    .public-nav .nav-login { margin:5px 0 0; text-align:center; }
    .landing-hero { padding:68px 0 62px; }
    .hero-grid { grid-template-columns:1fr; gap:42px; }
    .hero-copy { max-width:760px; }
    .hero-guide-card { width:min(100%,620px); }
    .fact-row { grid-template-columns:1fr 1fr; }
    .fact-item:nth-child(3) { border-left:0; border-top:1px solid var(--line); }
    .fact-item:nth-child(4) { border-top:1px solid var(--line); }
    .split-section,.requirements-layout,.client-data-layout,.employer-grid,.faq-layout { grid-template-columns:1fr; gap:38px; }
    .sticky-heading,.requirements-heading,.faq-heading { position:static; }
    .section-heading > p { max-width:760px; }
    .eligibility-grid { grid-template-columns:1fr 1fr; }
    .employer-copy h2 { font-size:36px; }
    .office-grid { grid-template-columns:1fr 1fr; }
    .portal-cta-grid { grid-template-columns:1fr; gap:28px; }
    .portal-actions { justify-content:flex-start; }
    .portal-actions small { text-align:left; }
    .footer-grid { grid-template-columns:1.2fr 1fr; }
}

@media (max-width:650px) {
    .hero-program-brand img { width:64px; height:64px; flex-basis:64px; }
    .hero-program-brand strong { font-size:12px; }
    .public-container { width:calc(100% - 28px); }
    .public-brand-copy small { display:none; }
    .landing-hero { padding:52px 0 48px; }
    .hero-copy h1 { margin-top:15px; font-size:clamp(38px,11vw,52px); }
    .hero-lead { font-size:12px; line-height:1.75; }
    .hero-actions { display:grid; grid-template-columns:1fr; }
    .public-btn { width:100%; }
    .hero-trust { display:grid; grid-template-columns:1fr 1fr; gap:12px 0; }
    .hero-trust span { padding:0 12px; }
    .hero-trust span:nth-child(1),.hero-trust span:nth-child(3) { padding-left:0; }
    .hero-trust span:nth-child(3)::before { display:none; }
    .hero-guide-card { padding:21px; border-radius:21px; }
    .hero-guide-card::after { display:none; }
    .guide-list > div { grid-template-columns:34px 1fr; }
    .fact-row { grid-template-columns:1fr; padding:6px 0; }
    .fact-item { min-height:76px; padding:12px 5px; }
    .fact-item + .fact-item,.fact-item:nth-child(3),.fact-item:nth-child(4) { border-left:0; border-top:1px solid var(--line); }
    .public-section { padding:66px 0; }
    .centered-heading { margin-bottom:30px; text-align:left; }
    .centered-heading .section-kicker { justify-content:flex-start; }
    .section-heading h2 { font-size:34px; }
    .feature-grid { grid-template-columns:1fr; }
    .large-card { grid-column:auto; min-height:305px; }
    .card-illustration.bars { width:180px; right:20px; bottom:20px; opacity:.65; }
    .eligibility-grid { grid-template-columns:1fr; }
    .eligibility-card { min-height:auto; }
    .requirement-card { grid-template-columns:38px 1fr; padding:18px; }
    .detail-grid { grid-template-columns:1fr; }
    .detail-card,.protection-card { grid-column:auto; min-height:auto; }
    .process-line { grid-template-columns:1fr; gap:0; }
    .process-step { display:grid; grid-template-columns:52px minmax(0,1fr); column-gap:15px; text-align:left; padding:0 0 24px; }
    .process-step > span { grid-row:1/3; margin:0; }
    .process-step h3 { margin:4px 0 5px; }
    .data-board { grid-template-columns:1fr; }
    .data-column { min-height:auto; }
    .employer-copy h2 { font-size:33px; }
    .office-grid { grid-template-columns:1fr; }
    .office-card { min-height:auto; }
    .contact-note { align-items:flex-start; flex-direction:column; }
    .faq-list summary { font-size:11px; }
    .portal-cta { padding:54px 0; }
    .portal-cta h2 { font-size:32px; }
    .portal-actions { display:grid; grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr; gap:30px; }
    .footer-bottom { align-items:flex-start; flex-direction:column; }
    .footer-note { text-align:left; }
}

@media (max-width:390px) {
    .public-container { width:calc(100% - 24px); }
    .public-header { height:66px; }
    .public-nav { top:66px; }
    .public-brand-mark { width:44px; height:44px; flex-basis:44px; border-radius:12px; }
    .public-brand-copy strong { font-size:13px; }
    .public-menu-button { width:41px; height:41px; }
    .landing-hero { padding-top:44px; }
    .hero-copy h1 { font-size:37px; }
    .hero-lead { font-size:11px; }
    .hero-trust { grid-template-columns:1fr; gap:8px; }
    .hero-trust span,.hero-trust span:nth-child(1),.hero-trust span:nth-child(3) { padding:0; }
    .hero-trust span + span::before { display:none; }
    .guide-card-head h2 { font-size:20px; }
    .public-section { padding:58px 0; }
    .section-heading h2 { font-size:31px; }
    .feature-card { padding:21px; border-radius:18px; }
    .large-card { min-height:300px; }
    .eligibility-card { padding:21px; }
    .detail-card { padding:23px; border-radius:20px; }
    .detail-card h2 { font-size:26px; }
    .dark-card h2 { font-size:30px; }
    .pay-split > div { padding:14px; }
    .contact-note { padding:16px; }
    .portal-cta h2 { font-size:29px; }
}

/* =========================================================
   V7: Public SPES Applicant Intake
   ========================================================= */
.public-nav .nav-apply { color:var(--blue-800); background:var(--blue-50); border:1px solid #d2e4fa; }
.public-alert-wrap { position:fixed; z-index:150; top:88px; left:50%; width:min(720px,calc(100% - 30px)); transform:translateX(-50%); }
.public-alert { display:grid; gap:4px; padding:14px 16px; border-radius:14px; box-shadow:0 16px 38px rgba(9,58,125,.14); background:#fff; }
.public-alert strong { font-size:10px; }
.public-alert span { font-size:9px; line-height:1.5; }
.public-alert.error { border:1px solid #f1caca; color:#8e2d2d; }
.public-alert.success { border:1px solid #c7ead6; color:#16633b; }
.public-application-hero { padding:58px 0 42px; border-bottom:1px solid var(--line); background:linear-gradient(180deg,#f8fbff,#eef5ff); }
.public-application-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.5fr); gap:45px; align-items:end; }
.public-application-head h1 { margin:14px 0 12px; color:var(--blue-950); font-size:clamp(34px,5vw,54px); line-height:1.05; letter-spacing:-.05em; }
.public-application-head p { max-width:720px; margin:0; color:var(--muted); font-size:11px; line-height:1.75; }
.public-application-note { padding:18px; border:1px solid #c9ddf5; border-radius:17px; background:#fff; box-shadow:0 12px 30px rgba(9,58,125,.07); }
.public-application-note strong,.public-application-note span { display:block; }
.public-application-note strong { color:var(--blue-800); font-size:11px; }
.public-application-note span { margin-top:6px; color:var(--muted); font-size:8px; line-height:1.55; }
.public-application-section { padding:34px 0 80px; background:#f7faff; }
.public-form-container { max-width:1040px; }
.public-form-topline { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; color:#718399; font-size:8px; font-weight:750; }
.public-form-topline a { color:var(--blue-700); }
.public-applicant-form { display:grid; gap:14px; }
.applicant-form-section { padding:23px; border:1px solid var(--line); border-radius:19px; background:#fff; box-shadow:0 8px 26px rgba(9,58,125,.05); }
.applicant-highlight { border-color:#cce1fb; background:linear-gradient(145deg,#fff,#f7fbff); }
.applicant-section-head { display:flex; gap:13px; align-items:flex-start; margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid #edf3fa; }
.applicant-section-head > span { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:11px; color:var(--blue-700); background:var(--blue-50); font-size:9px; font-weight:900; }
.applicant-section-head h2 { margin:0; color:var(--blue-950); font-size:16px; letter-spacing:-.02em; }
.applicant-section-head p { margin:5px 0 0; color:var(--muted); font-size:9px; line-height:1.55; }
.applicant-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.applicant-name-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.applicant-location-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.span-full { grid-column:1/-1; }
.applicant-field { min-width:0; display:grid; gap:8px; align-content:start; }
.applicant-field > span:first-child { color:#334e68; font-size:10px; font-weight:800; }
.applicant-field em,.student-required-marker { color:#c94343; font-style:normal; }
.applicant-field input:not([type="checkbox"]),.applicant-field select,.applicant-field textarea { width:100%; min-width:0; min-height:48px; padding:0 13px; border:1px solid #d7e4f3; border-radius:11px; outline:0; color:var(--ink); background:#fbfdff; font-size:11px; }
.applicant-field textarea { min-height:104px; padding:12px 13px; resize:vertical; line-height:1.55; }
.applicant-field input:focus,.applicant-field select:focus,.applicant-field textarea:focus { border-color:#6caeff; background:#fff; box-shadow:0 0 0 4px rgba(11,94,215,.10); }
.applicant-field select:disabled { color:#8798ad; background:#f2f6fb; cursor:not-allowed; }
.applicant-help { color:var(--muted); font-size:8px; line-height:1.45; }
.applicant-danger { color:#b83838; }
.applicant-readonly { min-height:56px; display:flex; justify-content:center; flex-direction:column; padding:10px 13px; border:1px solid #cfe2fb; border-radius:11px; background:var(--blue-50); }
.applicant-readonly strong { color:var(--blue-800); font-size:11px; }
.applicant-readonly small { margin-top:4px; color:#6881a0; font-size:8px; }
.checkbox-field { align-content:end; }
.applicant-check { min-height:48px; display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid #d7e4f3; border-radius:11px; background:#fbfdff; }
.applicant-check input,.privacy-consent-row input { width:18px; height:18px; flex:0 0 18px; accent-color:var(--blue-700); }
.applicant-check b { color:#40556f; font-size:9px; }
.privacy-consent-row { display:flex; align-items:flex-start; gap:12px; padding:15px; border:1px solid #d6e5f7; border-radius:13px; background:#f8fbff; color:#526980; font-size:9px; line-height:1.6; cursor:pointer; }
.privacy-consent-row input { margin-top:1px; }
.public-submit-bar { position:sticky; bottom:12px; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:15px 17px; border:1px solid #cbdff7; border-radius:17px; background:rgba(255,255,255,.95); backdrop-filter:blur(14px); box-shadow:0 16px 40px rgba(9,58,125,.12); }
.public-submit-bar strong,.public-submit-bar span { display:block; }
.public-submit-bar strong { font-size:10px; }
.public-submit-bar > div > span { margin-top:4px; max-width:620px; color:var(--muted); font-size:8px; line-height:1.5; }
.public-submit-bar .public-btn[disabled] { opacity:.55; cursor:not-allowed; transform:none; }
.application-success-section { min-height:650px; padding:70px 0 90px; background:linear-gradient(180deg,#f6faff,#fff); }
.application-success-card { width:min(850px,100%); margin:0 auto; padding:42px; text-align:center; border:1px solid var(--line); border-radius:26px; background:#fff; box-shadow:var(--shadow); }
.application-success-card > img { width:82px; height:82px; object-fit:contain; }
.success-check { width:54px; height:54px; display:grid; place-items:center; margin:13px auto 18px; border-radius:50%; color:#fff; background:var(--blue-700); font-size:22px; font-weight:900; box-shadow:0 0 0 8px var(--blue-50); }
.application-success-card h1 { margin:14px auto 12px; max-width:650px; color:var(--blue-950); font-size:34px; letter-spacing:-.045em; }
.application-success-card > p { max-width:650px; margin:0 auto; color:var(--muted); font-size:10px; line-height:1.7; }
.reference-box { width:min(470px,100%); margin:25px auto; padding:17px; border:1px dashed #9cc7f8; border-radius:15px; background:var(--blue-50); }
.reference-box small,.reference-box strong { display:block; }
.reference-box small { color:#7389a3; font-size:8px; letter-spacing:.1em; }
.reference-box strong { margin-top:7px; color:var(--blue-800); font-size:22px; letter-spacing:.02em; }
.duplicate-note { width:min(650px,100%); margin:0 auto 20px; padding:12px 14px; border:1px solid #f0dba4; border-radius:12px; background:#fff9e8; text-align:left; }
.duplicate-note strong,.duplicate-note span { display:block; }
.duplicate-note strong { color:#855d00; font-size:9px; }
.duplicate-note span { margin-top:4px; color:#765f2c; font-size:8px; line-height:1.5; }
.success-next-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; margin:28px 0; text-align:left; }
.success-next-grid > div { padding:17px; border:1px solid var(--line); border-radius:15px; background:#fbfdff; }
.success-next-grid > div > span { width:29px; height:29px; display:grid; place-items:center; border-radius:9px; color:var(--blue-700); background:var(--blue-50); font-size:7px; font-weight:900; }
.success-next-grid strong { display:block; margin-top:12px; font-size:10px; }
.success-next-grid p { margin:5px 0 0; color:var(--muted); font-size:8px; line-height:1.55; }
.success-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; }
@media (max-width:900px) {
    .public-nav .nav-apply { margin-top:4px; }
    .public-application-head { grid-template-columns:1fr; gap:20px; }
    .applicant-name-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .applicant-location-grid { grid-template-columns:1fr; }
}
@media (max-width:700px) {
    .public-container { width:min(var(--container),calc(100% - 28px)); }
    .public-application-hero { padding:42px 0 28px; }
    .public-application-section { padding-top:22px; }
    .applicant-form-section { padding:17px; }
    .applicant-form-grid,.applicant-name-grid { grid-template-columns:1fr; }
    .span-full { grid-column:auto; }
    .public-submit-bar { align-items:stretch; flex-direction:column; bottom:8px; }
    .public-submit-bar .public-btn { width:100%; }
    .success-next-grid { grid-template-columns:1fr; }
    .application-success-card { padding:28px 18px; }
    .application-success-card h1 { font-size:27px; }
}
@media (max-width:390px) {
    .public-container { width:calc(100% - 22px); }
    .applicant-form-section { padding:14px; border-radius:15px; }
    .applicant-section-head { gap:9px; }
    .applicant-section-head > span { width:34px; height:34px; flex-basis:34px; }
    .public-form-topline { align-items:flex-start; flex-direction:column; gap:5px; }
    .reference-box strong { font-size:17px; }
}
