:root {
    --individuals-ink: #17324a;
    --individuals-muted: #5d7182;
    --individuals-blue: #238fc4;
    --individuals-blue-dark: #176c98;
    --individuals-navy: #103b59;
    --individuals-sky: #eaf6fb;
    --individuals-gold: #f5b648;
    --individuals-line: #d8e4eb;
    --individuals-soft: #f6f9fb;
    --individuals-white: #fff;
    --individuals-error: #a52a2a;
    --individuals-success: #176b4d;
    --individuals-shadow: 0 20px 55px rgba(18, 56, 80, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--individuals-ink); background: var(--individuals-white); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; }
body, button, input, select { font-size: 16px; }
a { color: var(--individuals-blue-dark); }
img { display: block; max-width: 100%; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.individuals-welcome-pending { overflow: hidden; }
.individuals-welcome { position: fixed; z-index: 1000; inset: 0; display: none; align-items: center; justify-content: center; padding: 28px; background: #f7fbfd; opacity: 0; transition: opacity .26s ease; }
.individuals-welcome-pending .individuals-welcome { display: flex; opacity: 1; }
.individuals-welcome-leaving .individuals-welcome { opacity: 0; pointer-events: none; }
.individuals-welcome-content { display: grid; max-width: 560px; justify-items: center; text-align: center; animation: individuals-welcome-enter .3s ease-out both; }
.individuals-welcome-content img { width: 190px; height: auto; margin-bottom: 30px; }
.individuals-welcome-title { margin: 0; color: var(--individuals-navy); font-size: clamp(1.85rem, 4vw, 3rem); font-weight: 780; letter-spacing: -.035em; line-height: 1.08; }
.individuals-welcome-copy { margin: 14px 0 0; color: var(--individuals-muted); font-size: clamp(.98rem, 1.7vw, 1.15rem); line-height: 1.55; }
@keyframes individuals-welcome-enter {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}
.skip-link { position: fixed; z-index: 1000; top: 10px; left: 10px; padding: 10px 14px; transform: translateY(-150%); border-radius: 6px; background: #fff; color: var(--individuals-navy); box-shadow: var(--individuals-shadow); }
.skip-link:focus { transform: translateY(0); }
.eyebrow { margin: 0 0 10px; color: var(--individuals-blue-dark); font-size: .77rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 12px 22px; border: 1px solid transparent; border-radius: 8px; font-weight: 750; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease; }
.button:hover, .button:focus { transform: translateY(-1px); }
.button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible, a:focus-visible { outline: 3px solid rgba(35, 143, 196, .35); outline-offset: 3px; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px, 1px, 1px, 1px) !important; white-space: nowrap !important; }
.button-primary { background: var(--individuals-blue); color: #fff; box-shadow: 0 9px 24px rgba(35, 143, 196, .25); }
.button-primary:hover, .button-primary:focus { background: var(--individuals-blue-dark); color: #fff; }
.button-secondary { border-color: #b9d2df; background: #fff; color: var(--individuals-navy); }
.button-secondary:hover, .button-secondary:focus { border-color: var(--individuals-blue); background: var(--individuals-sky); color: var(--individuals-navy); }
.button-light { background: #fff; color: var(--individuals-navy); }
.button-quiet { border-color: var(--individuals-line); background: transparent; color: var(--individuals-ink); }
.button-small { min-height: 40px; padding: 9px 16px; font-size: .92rem; }
.button-block { width: 100%; }
.button-disabled { min-height: 38px; padding: 8px 13px; border-color: #d9e1e5; background: #f2f5f6; color: #71808b; font-size: .78rem; cursor: not-allowed; }
.button-disabled:hover { transform: none; }
.button:disabled { cursor: not-allowed; opacity: .72; transform: none; }
.button-danger { border-color: #c78f8f; background: #fff; color: #8b2424; }
.button-danger:hover, .button-danger:focus { border-color: #a52a2a; background: #fff3f2; color: #781c1c; }

.individuals-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--individuals-ink); font-weight: 800; text-decoration: none; }
.individuals-brand img { width: 128px; height: auto; }
.individuals-brand span { padding-left: 12px; border-left: 1px solid var(--individuals-line); font-size: .95rem; letter-spacing: .03em; }
.individuals-site-header, .individuals-app-header { position: relative; z-index: 20; display: flex; width: 100%; min-height: 76px; align-items: center; justify-content: space-between; gap: 24px; padding: 14px clamp(22px, 5vw, 76px); border-bottom: 1px solid rgba(216, 228, 235, .8); background: rgba(255, 255, 255, .96); }
.individuals-site-header { position: sticky; top: 0; backdrop-filter: blur(14px); }
.individuals-site-header nav { display: flex; align-items: center; gap: clamp(16px, 2.5vw, 36px); }
.individuals-site-header nav a { color: var(--individuals-ink); font-size: .94rem; font-weight: 650; text-decoration: none; }
.individuals-site-header nav a:hover { color: var(--individuals-blue-dark); }
.individuals-header-actions { display: flex; align-items: center; gap: 10px; }
.individuals-header-dashboard { display: none; }
.individuals-header-actions.is-authenticated .individuals-header-signed-out { display: none; }
.individuals-header-actions.is-authenticated .individuals-header-dashboard { display: inline-flex; }

.individuals-hero { position: relative; display: grid; min-height: 660px; grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr); align-items: center; gap: clamp(42px, 7vw, 100px); overflow: hidden; padding: clamp(76px, 9vw, 130px) clamp(22px, 7vw, 112px); background: linear-gradient(140deg, #f8fbfd 0%, #eef8fc 54%, #dff1f8 100%); }
.individuals-hero:before { position: absolute; top: -240px; right: -190px; width: 650px; height: 650px; border: 90px solid rgba(35, 143, 196, .08); border-radius: 50%; content: ""; }
.hero-copy, .hero-preview { position: relative; z-index: 1; }
.hero-copy h1 { max-width: 720px; margin: 0 0 26px; color: var(--individuals-navy); font-size: clamp(2.8rem, 5.6vw, 5.65rem); font-weight: 780; letter-spacing: -.055em; line-height: .98; }
.hero-copy h1 span { color: var(--individuals-blue); }
.hero-lead { max-width: 680px; margin: 0 0 30px; color: var(--individuals-muted); font-size: clamp(1.04rem, 1.5vw, 1.25rem); line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-footnote { margin: 18px 0 0; color: #637887; font-size: .85rem; }
.hero-preview, .feature-visual { position: relative; padding: 16px; border: 1px solid rgba(170, 201, 216, .8); border-radius: 18px; background: rgba(255, 255, 255, .92); box-shadow: var(--individuals-shadow); }
.hero-preview { transform: none; }
.hero-preview img, .feature-visual img { width: 100%; border-radius: 10px; }
.sample-label { position: absolute; z-index: 2; top: 26px; right: 26px; padding: 6px 9px; border: 1px solid rgba(23, 50, 74, .1); border-radius: 999px; background: rgba(255, 255, 255, .94); color: #526979; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

.trust-strip { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--individuals-line); background: #fff; }
.trust-strip div { display: flex; min-height: 116px; flex-direction: column; justify-content: center; padding: 22px clamp(24px, 5vw, 75px); border-right: 1px solid var(--individuals-line); }
.trust-strip div:last-child { border-right: 0; }
.trust-strip strong { color: var(--individuals-navy); font-size: 1rem; }
.trust-strip span { color: var(--individuals-muted); font-size: .87rem; }
.individuals-section { padding: clamp(76px, 9vw, 130px) clamp(22px, 7vw, 112px); }
.section-intro { max-width: 760px; margin: 0 auto clamp(58px, 8vw, 100px); text-align: center; }
.section-intro h2, .pricing-copy h2, .final-cta h2 { margin: 0 0 20px; color: var(--individuals-navy); font-size: clamp(2rem, 4vw, 3.65rem); letter-spacing: -.035em; line-height: 1.12; }
.section-intro > p:last-child, .pricing-copy > p:last-child { margin: 0; color: var(--individuals-muted); font-size: 1.06rem; }
.features-section { background: #fff; }
.feature-row { display: grid; max-width: 1220px; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); align-items: center; gap: clamp(44px, 8vw, 110px); margin: 0 auto 120px; }
.feature-row:last-child { margin-bottom: 0; }
.feature-row-reverse .feature-copy { order: 2; }
.feature-row-reverse .feature-visual { order: 1; }
.feature-number { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; margin-bottom: 20px; border-radius: 50%; background: var(--individuals-sky); color: var(--individuals-blue-dark); font-size: .78rem; font-weight: 850; }
.feature-copy h3 { margin: 0 0 18px; color: var(--individuals-navy); font-size: clamp(1.65rem, 3vw, 2.55rem); letter-spacing: -.025em; line-height: 1.2; }
.feature-copy p { margin: 0 0 20px; color: var(--individuals-muted); font-size: 1.03rem; }
.feature-copy .feature-status { margin: -6px 0 10px; color: #765b13; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.feature-copy .feature-status-current { color: var(--individuals-blue-dark); }
.feature-copy ul, .price-card ul { margin: 0; padding: 0; list-style: none; }
.feature-copy li, .price-card li { position: relative; margin: 10px 0; padding-left: 28px; color: #395364; }
.feature-copy li:before, .price-card li:before { position: absolute; top: 2px; left: 0; color: var(--individuals-blue); font-weight: 850; content: "✓"; }
.feature-visual { margin: 0; background: var(--individuals-soft); }
.feature-visual-current { background: #eef7fb; }
.feature-visual figcaption { margin: 10px 2px 0; color: #6c7f8c; font-size: .75rem; text-align: center; }
.feature-visual .sample-label { top: 26px; right: 26px; }
.feature-placeholder { display: flex; min-height: 430px; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 54px; border: 1px dashed #b9ccd6; border-radius: 10px; background: linear-gradient(145deg, #f8fbfd, #edf4f7); color: var(--individuals-muted); text-align: center; }
.feature-placeholder:before { display: block; width: 68px; height: 52px; border: 2px solid #b9ccd6; border-radius: 8px; background: #fff; box-shadow: inset 0 12px 0 #eaf6fb; content: ""; }
.feature-placeholder span { color: var(--individuals-blue-dark); font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.feature-placeholder strong { color: var(--individuals-navy); font-size: clamp(1.4rem, 2.6vw, 2rem); }
.feature-placeholder small { max-width: 380px; font-size: .9rem; }

.how-section { background: var(--individuals-soft); }
.step-grid { display: grid; max-width: 1280px; grid-template-columns: repeat(4, 1fr); gap: 18px; margin: 0 auto; padding: 0; list-style: none; }
.step-grid li { min-height: 255px; padding: 28px; border: 1px solid var(--individuals-line); border-radius: 12px; background: #fff; }
.step-grid li > span { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; margin-bottom: 34px; border-radius: 50%; background: var(--individuals-navy); color: #fff; font-size: .8rem; font-weight: 800; }
.step-grid h3 { margin: 0 0 10px; color: var(--individuals-navy); font-size: 1.08rem; line-height: 1.35; }
.step-grid p { margin: 0; color: var(--individuals-muted); font-size: .9rem; }

.pricing-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 450px); align-items: center; gap: clamp(55px, 9vw, 145px); background: #fff; }
.pricing-copy { max-width: 700px; }
.price-card { padding: 38px; border: 1px solid #cbdde6; border-top: 6px solid var(--individuals-gold); border-radius: 14px; background: #fff; box-shadow: var(--individuals-shadow); }
.price-label { margin: 0; color: var(--individuals-muted); font-size: .78rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.price { display: flex; align-items: flex-start; margin: 13px 0 22px; color: var(--individuals-navy); font-size: 4.5rem; font-weight: 800; letter-spacing: -.06em; line-height: 1; }
.price > span { margin: 6px 4px 0 0; font-size: 1.3rem; letter-spacing: 0; }
.price small { align-self: flex-end; margin: 0 0 8px 8px; color: var(--individuals-muted); font-size: .9rem; font-weight: 650; letter-spacing: 0; }
.price-card ul { margin-bottom: 28px; }
.price-note { margin: 12px 0 0; color: var(--individuals-muted); font-size: .77rem; text-align: center; }

.faq-section { background: var(--individuals-soft); }
.faq-list { max-width: 900px; margin: 0 auto; border-top: 1px solid var(--individuals-line); }
.faq-list details { border-bottom: 1px solid var(--individuals-line); }
.faq-list summary { position: relative; padding: 25px 50px 25px 0; color: var(--individuals-navy); font-size: 1.05rem; font-weight: 750; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary:after { position: absolute; top: 22px; right: 5px; color: var(--individuals-blue-dark); font-size: 1.5rem; content: "+"; }
.faq-list details[open] summary:after { content: "−"; }
.faq-list details p { max-width: 770px; margin: 2px 0 26px; color: var(--individuals-muted); }
.final-cta { display: flex; align-items: center; justify-content: space-between; gap: 45px; padding: clamp(62px, 8vw, 100px) clamp(22px, 7vw, 112px); background: var(--individuals-navy); color: #fff; }
.final-cta .eyebrow { color: #8dd4ef; }
.final-cta h2 { margin-bottom: 10px; color: #fff; }
.final-cta p:last-child { margin: 0; color: #c5d8e4; }
.final-cta .button { flex: 0 0 auto; }
.legal-note { padding: 24px clamp(22px, 7vw, 112px); background: #fff8e9; color: #665126; font-size: .85rem; text-align: center; }
.individuals-site-footer { display: grid; grid-template-columns: minmax(300px, 2fr) 1fr 1fr; gap: 45px; padding: 65px clamp(22px, 7vw, 112px) 28px; background: #0b2d44; color: #c2d4df; }
.individuals-site-footer img { width: 125px; filter: brightness(0) invert(1); }
.individuals-site-footer p { max-width: 420px; margin: 18px 0 0; font-size: .88rem; }
.individuals-site-footer strong, .individuals-site-footer a { display: block; margin-bottom: 10px; }
.individuals-site-footer strong { color: #fff; }
.individuals-site-footer a { color: #c2d4df; font-size: .88rem; text-decoration: none; }
.footer-copyright { grid-column: 1 / -1; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .12); }

/* Portal */
.individuals-portal-page { min-height: 100vh; background: linear-gradient(150deg, #f7fafc, #eaf5fa); }
.individuals-app-header { background: #fff; }
.individuals-account-nav { display: flex; min-height: 44px; align-items: center; gap: 4px; padding: 4px; border: 1px solid var(--individuals-line); border-radius: 12px; background: var(--individuals-soft); }
.account-nav-link, .account-signout { display: inline-flex; min-height: 36px; align-items: center; padding: 7px 13px; border: 0; border-radius: 8px; background: transparent; color: var(--individuals-ink); font-size: .84rem; font-weight: 720; line-height: 1; text-decoration: none; white-space: nowrap; cursor: pointer; }
.account-nav-link:hover, .account-nav-link:focus, .account-signout:hover, .account-signout:focus { background: #fff; color: var(--individuals-blue-dark); }
.account-nav-link[aria-current="page"] { background: #fff; color: var(--individuals-blue-dark); box-shadow: 0 2px 7px rgba(18, 56, 80, .08); }
.account-menu { position: relative; border-left: 1px solid var(--individuals-line); }
.account-menu > summary::-webkit-details-marker { display: none; }
.account-identity { display: inline-flex; min-height: 36px; align-items: center; gap: 8px; padding: 4px 10px; border-radius: 8px; color: var(--individuals-muted); font-size: .84rem; list-style: none; cursor: pointer; }
.account-identity:hover, .account-identity:focus, .account-menu[open] .account-identity { background: #fff; color: var(--individuals-blue-dark); }
.account-avatar { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; background: var(--individuals-navy); color: #fff; font-size: .72rem; font-weight: 800; }
.account-name { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-menu-chevron { width: 7px; height: 7px; margin: -3px 2px 0 1px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .18s ease; }
.account-menu[open] .account-menu-chevron { margin-top: 3px; transform: rotate(225deg); }
.account-menu-panel { position: absolute; z-index: 30; top: calc(100% + 9px); right: 0; width: 180px; padding: 6px; border: 1px solid var(--individuals-line); border-radius: 10px; background: #fff; box-shadow: 0 16px 34px rgba(18, 56, 80, .16); }
.account-menu-panel:before { position: absolute; top: -6px; right: 19px; width: 10px; height: 10px; border-top: 1px solid var(--individuals-line); border-left: 1px solid var(--individuals-line); background: #fff; content: ""; transform: rotate(45deg); }
.account-menu-link, .account-menu-panel .account-signout { display: flex; width: 100%; min-height: 40px; align-items: center; justify-content: flex-start; padding: 9px 11px; border: 0; border-radius: 7px; background: #fff; color: var(--individuals-ink); font-size: .84rem; font-weight: 700; line-height: 1.2; text-decoration: none; cursor: pointer; }
.account-menu-link:hover, .account-menu-link:focus, .account-menu-link[aria-current="page"], .account-menu-panel .account-signout:hover, .account-menu-panel .account-signout:focus { background: var(--individuals-soft); color: var(--individuals-blue-dark); }
.account-signout-form { margin: 0; }
.individuals-app-main { display: flex; min-height: calc(100vh - 154px); flex-direction: column; align-items: center; justify-content: center; padding: 55px 22px; }
.individuals-app-main.dashboard-main { display: block; max-width: 1460px; min-height: calc(100vh - 154px); margin: 0 auto; padding: 46px clamp(22px, 5vw, 70px) 70px; }
.auth-card { width: min(100%, 560px); padding: clamp(26px, 5vw, 48px); border: 1px solid var(--individuals-line); border-radius: 14px; background: #fff; box-shadow: var(--individuals-shadow); }
.auth-card-centered { text-align: center; }
.auth-intro { margin-bottom: 30px; }
.auth-card h1 { margin: 0 0 13px; color: var(--individuals-navy); font-size: clamp(1.8rem, 4vw, 2.5rem); letter-spacing: -.035em; line-height: 1.15; }
.auth-card p { color: var(--individuals-muted); }
.individuals-form { display: grid; gap: 19px; }
.form-grid-two { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.field-group label, .label-row label { display: block; margin-bottom: 7px; color: var(--individuals-ink); font-size: .87rem; font-weight: 750; }
.field-group input[type="text"], .field-group input[type="email"], .field-group input[type="tel"], .field-group input[type="password"], .field-group select { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #bdcdd6; border-radius: 7px; background: #fff; color: var(--individuals-ink); }
.field-group input[aria-invalid="true"], .field-group select[aria-invalid="true"], .tool-cost-grid > input[aria-invalid="true"] { border-color: var(--individuals-error); background: #fffafa; box-shadow: 0 0 0 3px rgba(165, 42, 42, .08); }
.field-help, .field-error { margin: 6px 0 0 !important; font-size: .78rem; line-height: 1.45; }
.field-error { color: var(--individuals-error) !important; }
.client-field-error { display: flex; align-items: flex-start; gap: 6px; }
.client-field-error:before { flex: 0 0 auto; content: "•"; font-weight: 900; }
.checkbox-group.validation-invalid-group, .choice-grid.validation-invalid-group { outline: 1px solid #cf8e8e; outline-offset: 7px; }
.checkbox-group.validation-invalid-group input { accent-color: var(--individuals-error); }
.choice-grid .client-field-error { grid-column: 1 / -1; margin: 0 !important; }
.checkbox-group label { display: flex; align-items: flex-start; gap: 10px; font-weight: 500; line-height: 1.45; }
.checkbox-group input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; }
.password-control { position: relative; }
.password-control input { padding-right: 68px !important; }
.password-toggle { position: absolute; top: 7px; right: 7px; min-width: 52px; height: 34px; border: 0; border-radius: 5px; background: var(--individuals-soft); color: var(--individuals-blue-dark); font-size: .76rem; font-weight: 750; cursor: pointer; }
.label-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.label-row a { margin-bottom: 7px; font-size: .78rem; }
.auth-alternate { margin: 4px 0 0; font-size: .86rem; text-align: center; }
.form-notice { width: min(100%, 720px); margin: 0 auto 18px; padding: 13px 16px; border-radius: 8px; font-size: .87rem; }
.form-notice-success { border: 1px solid #acd7c5; background: #eef9f4; color: var(--individuals-success); }
.form-notice-warning { border: 1px solid #e6c86f; background: #fff7dc; color: #644f14; }
.form-notice-error { border: 1px solid #e5b7b7; background: #fff3f2; color: var(--individuals-error); }
.status-icon { display: inline-flex; width: 64px; height: 64px; align-items: center; justify-content: center; margin-bottom: 20px; border-radius: 50%; background: var(--individuals-sky); color: var(--individuals-blue-dark); font-size: 1.8rem; }
.status-icon-success { background: #e8f7f1; color: var(--individuals-success); }
.status-icon-warning { background: #fff7dc; color: #765b13; }
.status-icon-error { background: #fff0ef; color: var(--individuals-error); font-weight: 800; }
.auth-helper { margin: -3px 0 24px !important; color: #6c7e8c !important; font-size: .79rem; line-height: 1.5; }
.auth-complete-state { text-align: center; }
.auth-complete-state .button { margin-top: 8px; }
.information-box { margin: 24px 0; padding: 15px; border-radius: 8px; background: var(--individuals-soft); color: var(--individuals-muted); font-size: .82rem; text-align: left; }
.profile-page { width: 100%; }
.profile-heading { margin-bottom: 24px; }
.profile-heading h1 { margin: 0; color: var(--individuals-navy); font-size: clamp(2rem, 4vw, 3.25rem); letter-spacing: -.04em; line-height: 1.08; }
.profile-heading p:last-child { margin: 8px 0 0; color: var(--individuals-muted); }
.profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.profile-card { padding: clamp(24px, 4vw, 38px); border: 1px solid var(--individuals-line); border-radius: 14px; background: #fff; box-shadow: 0 12px 35px rgba(18, 56, 80, .08); }
.profile-card-wide { grid-column: 1 / -1; }
.profile-card-heading { margin-bottom: 24px; }
.profile-card-heading h2 { margin: 0; color: var(--individuals-navy); font-size: 1.3rem; line-height: 1.25; }
.profile-current-value { margin: 6px 0 0; color: var(--individuals-muted); font-size: .9rem; overflow-wrap: anywhere; }
.profile-pending-notice { margin: -8px 0 20px; padding: 10px 12px; border: 1px solid #c7dce7; border-radius: 8px; background: var(--individuals-sky); color: var(--individuals-blue-dark); font-size: .8rem; }
.profile-card .form-notice { width: 100%; margin-bottom: 18px; }
.profile-form-actions { display: flex; justify-content: flex-start; }
.profile-password-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.individuals-app-footer { display: flex; min-height: 78px; align-items: center; justify-content: center; gap: 22px; padding: 18px 22px; border-top: 1px solid var(--individuals-line); background: #fff; color: var(--individuals-muted); font-size: .78rem; }
.individuals-legal-page { min-height: calc(100vh - 76px); padding: 72px 24px; background: var(--individuals-soft); }
.individuals-legal-card { max-width: 820px; margin: 0 auto; padding: 56px; border: 1px solid var(--individuals-line); border-radius: 20px; background: #fff; box-shadow: var(--individuals-shadow); }
.individuals-legal-card h1 { margin: 8px 0 28px; color: var(--individuals-navy); font-size: clamp(2.35rem, 5vw, 3.65rem); line-height: 1.03; letter-spacing: -.045em; }
.individuals-legal-card h2 { margin: 38px 0 10px; color: var(--individuals-navy); font-size: 1.35rem; line-height: 1.25; }
.individuals-legal-card p { color: var(--individuals-muted); font-size: 1rem; line-height: 1.75; }
.legal-draft-notice { display: flex; flex-direction: column; gap: 8px; margin: 0 0 34px; padding: 18px 20px; border: 1px solid #e6c86f; border-radius: 12px; background: #fff7dc; color: #644f14; line-height: 1.5; }
.legal-version { margin-top: 44px !important; padding-top: 22px; border-top: 1px solid var(--individuals-line); font-size: .8rem !important; }

.dashboard-welcome { margin-bottom: 28px; }
.dashboard-welcome h1 { margin: 0 0 8px; color: var(--individuals-navy); font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.04em; line-height: 1.12; }
.dashboard-welcome p:last-child { max-width: 760px; margin: 0; color: var(--individuals-muted); }
.dashboard-start-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; margin-bottom: 48px; padding: clamp(24px, 4vw, 38px); border: 1px solid #b9d8e7; border-radius: 14px; background: linear-gradient(135deg, #fff 0%, #edf8fc 100%); box-shadow: 0 14px 34px rgba(18, 56, 80, .08); }
.dashboard-start-copy h2 { margin: 0 0 9px; color: var(--individuals-navy); font-size: clamp(1.45rem, 3vw, 2rem); line-height: 1.2; }
.dashboard-start-copy p:last-child { max-width: 760px; margin: 0; color: var(--individuals-muted); }
.dashboard-start-action { display: flex; min-width: 210px; flex-direction: column; align-items: flex-end; gap: 8px; }
.dashboard-start-action span { color: var(--individuals-muted); font-size: .76rem; }
.section-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 20px; }
.section-heading-row h2 { margin: 0; color: var(--individuals-navy); font-size: 1.7rem; }
.section-heading-row > p { margin: 0; color: var(--individuals-muted); font-size: .82rem; }
.dashboard-tool-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.dashboard-tool-card { display: grid; min-height: 205px; grid-template-columns: auto 1fr; grid-template-rows: 1fr auto; gap: 16px; padding: 25px; border: 1px solid var(--individuals-line); border-radius: 11px; background: #fff; box-shadow: 0 8px 20px rgba(18, 56, 80, .05); }
.tool-icon { display: inline-flex; width: 45px; height: 45px; align-items: center; justify-content: center; border-radius: 9px; background: var(--individuals-sky); font-size: 1.2rem; }
.tool-card-copy h3 { margin: 0 0 8px; color: var(--individuals-navy); font-size: 1rem; line-height: 1.35; }
.tool-card-copy p { margin: 0; color: var(--individuals-muted); font-size: .82rem; }
.dashboard-tool-card .button { grid-column: 1 / -1; justify-self: start; }
.dashboard-help { margin-top: 24px; color: var(--individuals-muted); font-size: .84rem; text-align: center; }
.educational-notice { display: flex; gap: 8px; margin-top: 24px; padding: 16px 19px; border: 1px solid #ead7a9; border-radius: 8px; background: #fff9eb; color: #6a5526; font-size: .82rem; }
.dashboard-membership-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 36px; margin-bottom: 48px; padding: clamp(26px, 4vw, 42px); border: 1px solid #b9d8e7; border-top: 5px solid var(--individuals-gold); border-radius: 14px; background: #fff; box-shadow: 0 14px 34px rgba(18, 56, 80, .08); }
.dashboard-membership-card h2 { margin: 0 0 10px; color: var(--individuals-navy); font-size: clamp(1.5rem, 3vw, 2.05rem); line-height: 1.2; }
.dashboard-membership-card p { max-width: 760px; margin: 0; color: var(--individuals-muted); }
.dashboard-membership-card ul { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 20px 0 0; padding: 0; color: #395364; font-size: .82rem; list-style: none; }
.dashboard-membership-card li:before { margin-right: 7px; color: var(--individuals-blue); font-weight: 850; content: "✓"; }
.dashboard-membership-action { display: flex; min-width: 245px; flex-direction: column; align-items: stretch; gap: 10px; }
.dashboard-membership-action > span { color: var(--individuals-muted); font-size: .74rem; text-align: center; }
.membership-price { display: flex; align-items: baseline; justify-content: center; gap: 8px; }
.membership-price strong { color: var(--individuals-navy); font-size: 2.35rem; line-height: 1; }
.membership-price span { color: var(--individuals-muted); font-size: .8rem; }
.subscription-state-notice { margin-bottom: 20px; padding: 14px 17px; border: 1px solid #e6c86f; border-radius: 9px; background: #fff7dc; color: #644f14; font-size: .84rem; }

.subscription-page { display: grid; max-width: 1120px; grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); gap: 28px; margin: 0 auto; }
.subscription-review-card, .subscription-payment-card, .account-subscription-card, .subscriber-preview-page { border: 1px solid var(--individuals-line); border-radius: 14px; background: #fff; box-shadow: var(--individuals-shadow); }
.subscription-review-card, .subscription-payment-card { padding: clamp(26px, 4vw, 42px); }
.subscription-review-card h1, .account-subscription-page h1, .subscriber-preview-page h1 { margin: 0 0 14px; color: var(--individuals-navy); font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.04em; line-height: 1.12; }
.subscription-review-card > p, .subscriber-preview-page > p { color: var(--individuals-muted); }
.subscription-price-row { display: flex; align-items: baseline; gap: 9px; margin: 30px 0 22px; padding-bottom: 20px; border-bottom: 1px solid var(--individuals-line); }
.subscription-price-row strong { color: var(--individuals-navy); font-size: 2.5rem; line-height: 1; }
.subscription-price-row span { color: var(--individuals-muted); font-size: .82rem; }
.subscription-summary-list { margin: 0; }
.subscription-summary-list > div { display: flex; justify-content: space-between; gap: 24px; padding: 12px 0; border-bottom: 1px solid #edf2f5; }
.subscription-summary-list dt { color: var(--individuals-muted); font-size: .82rem; }
.subscription-summary-list dd { margin: 0; color: var(--individuals-ink); font-size: .84rem; font-weight: 720; text-align: right; }
.subscription-review-note, .payment-terms-note { margin: 22px 0 0 !important; color: var(--individuals-muted); font-size: .78rem; line-height: 1.55; }
.subscription-payment-card h2 { margin: 0 0 6px; color: var(--individuals-navy); font-size: 1.5rem; }
.payment-provider-note { display: flex; gap: 7px; margin: 0 0 24px; color: var(--individuals-muted); font-size: .78rem; }
.payment-form-error { width: 100%; margin-bottom: 18px; }
.payment-field-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(150px, 1fr); gap: 12px; }
.payment-expiry-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.payment-expiry-fieldset legend { display: block; margin-bottom: 7px; padding: 0; color: var(--individuals-ink); font-size: .87rem; font-weight: 750; }
.payment-expiry-picker { display: grid; grid-template-columns: 22px minmax(120px, 1.5fr) auto minmax(88px, 1fr); align-items: center; gap: 8px; min-height: 48px; padding: 5px 8px 5px 12px; border: 1px solid #bdcdd6; border-radius: 7px; background: #fff; }
.payment-expiry-fieldset.validation-invalid-group .payment-expiry-picker { border-color: var(--individuals-error); background: #fffafa; box-shadow: 0 0 0 3px rgba(165, 42, 42, .08); }
.payment-expiry-picker select { min-width: 0; min-height: 36px; padding: 5px 28px 5px 7px; border: 0; border-radius: 5px; background-color: transparent; }
.payment-expiry-picker select:focus-visible { outline-offset: 0; }
.payment-expiry-icon { position: relative; width: 18px; height: 17px; border: 1.5px solid var(--individuals-blue-dark); border-radius: 3px; }
.payment-expiry-icon:before { position: absolute; top: 3px; left: 0; width: 100%; border-top: 1.5px solid var(--individuals-blue-dark); content: ""; }
.payment-expiry-separator { color: var(--individuals-muted); }
.optional-label { color: var(--individuals-muted); font-size: .72rem; font-weight: 500; }
.recurring-confirmation { margin-top: 4px; padding: 16px; border: 1px solid #c7dce7; border-radius: 8px; background: var(--individuals-sky); }
.recurring-confirmation label { margin: 0; }
.recurring-confirmation span { color: #294a5e; font-size: .79rem; }
.payment-unavailable { padding: 20px 0; text-align: center; }
.payment-unavailable h2 { margin-bottom: 10px; }
.payment-unavailable p { margin: 0 0 24px; color: var(--individuals-muted); }
.account-subscription-page { max-width: 900px; margin: 0 auto; }
.account-subscription-page .section-heading-row { align-items: center; }
.account-subscription-card { padding: clamp(26px, 4vw, 42px); }
.account-subscription-card h2 { margin: 12px 0 10px; color: var(--individuals-navy); font-size: 1.6rem; }
.account-subscription-card > p { color: var(--individuals-muted); }
.status-pill { display: inline-flex; margin: 0 !important; padding: 5px 10px; border-radius: 999px; font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.status-pill-active { background: #e8f7f1; color: var(--individuals-success) !important; }
.status-pill-canceled { background: #fff7dc; color: #644f14 !important; }
.status-pill-pending { background: #e8f3f9; color: #1c668f !important; }
.status-pill-unpaid { background: #edf2f5; color: #5b6b76 !important; }
.cancel-membership-panel { margin-top: 30px; border-top: 1px solid var(--individuals-line); }
.cancel-membership-panel summary { padding: 20px 0 10px; color: #8b2424; font-weight: 750; cursor: pointer; }
.cancel-membership-panel p { color: var(--individuals-muted); font-size: .84rem; }
.cancel-membership-panel form { display: grid; gap: 15px; justify-items: start; padding: 12px 0 4px; }
.cancel-confirmation { display: flex; max-width: 690px; align-items: flex-start; gap: 9px; color: var(--individuals-muted); font-size: .82rem; }
.cancel-confirmation input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 3px; }
.subscriber-preview-page { max-width: 820px; margin: 0 auto; padding: clamp(34px, 6vw, 64px); text-align: center; }
.subscriber-preview-page > p { max-width: 650px; margin: 0 auto; }
.subscriber-preview-actions { display: flex; justify-content: center; gap: 12px; margin-top: 30px; }

/* Child support planning */
.tool-page-heading { max-width: 900px; margin: 0 auto 20px; }
.tool-page-heading h1 { margin: 6px 0 10px; color: var(--individuals-navy); font-size: clamp(2rem, 4.5vw, 3.5rem); letter-spacing: -.045em; line-height: 1.08; }
.tool-page-heading > p:last-child { margin: 0; color: var(--individuals-muted); }
.tool-back-link { display: inline-block; margin-bottom: 24px; color: var(--individuals-muted); font-size: .82rem; font-weight: 700; text-decoration: none; }
.tool-back-link:hover { color: var(--individuals-blue-dark); }
.tool-scope-note { display: flex; max-width: 900px; gap: 8px; margin: 0 auto 20px; padding: 13px 16px; border: 1px solid #ead7a9; border-radius: 9px; background: #fff9eb; color: #6a5526; font-size: .82rem; }
.tool-panel, .estimate-result, .tool-edit-details { max-width: 900px; margin: 0 auto; border: 1px solid var(--individuals-line); border-radius: 14px; background: #fff; box-shadow: var(--individuals-shadow); }
.tool-panel { padding: clamp(26px, 5vw, 48px); }
.tool-panel > h2 { margin: 4px 0 10px; color: var(--individuals-navy); font-size: clamp(1.45rem, 3vw, 2rem); line-height: 1.2; }
.tool-panel > p { margin: 0 0 26px; color: var(--individuals-muted); }
.tool-panel-centered { max-width: 700px; text-align: center; }
.tool-panel-centered > p { max-width: 560px; margin-right: auto; margin-left: auto; }
.tool-step-label { display: inline-flex; margin-bottom: 10px; padding: 4px 9px; border-radius: 999px; background: var(--individuals-sky); color: var(--individuals-blue-dark); font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.tool-form { display: grid; gap: 24px; }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; border: 0; }
.choice-card { position: relative; display: flex; min-height: 102px; align-items: flex-start; gap: 12px; padding: 18px; border: 1px solid #c8d9e2; border-radius: 10px; background: #fff; cursor: pointer; }
.choice-card:hover { border-color: var(--individuals-blue); background: #f8fcfe; }
.choice-card:has(input:checked) { border-color: var(--individuals-blue); background: var(--individuals-sky); box-shadow: 0 0 0 2px rgba(35, 143, 196, .12); }
.choice-card input { flex: 0 0 auto; width: 18px; height: 18px; margin: 3px 0 0; }
.choice-card span { display: flex; flex-direction: column; }
.choice-card strong { color: var(--individuals-navy); line-height: 1.35; }
.choice-card small { margin-top: 4px; color: var(--individuals-muted); font-size: .79rem; line-height: 1.45; }
.choice-scope-note { margin: -5px 0 0 !important; color: var(--individuals-muted); font-size: .78rem; line-height: 1.5; }
.planning-scenario-summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 24px; padding: 12px 14px; border: 1px solid #c8d9e2; border-radius: 9px; background: #f8fbfd; color: var(--individuals-muted); font-size: .8rem; }
.planning-scenario-summary p { margin: 0; }
.planning-scenario-summary strong { color: var(--individuals-navy); }
.planning-scenario-summary a { color: var(--individuals-blue-dark); font-weight: 750; }
.tool-details-form { gap: 28px; }
.tool-form-section { display: grid; gap: 16px; }
.tool-form-section h3 { margin: 0; color: var(--individuals-navy); font-size: 1.05rem; }
.tool-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.tool-form-grid-primary .field-group:first-child { grid-column: 1 / -1; max-width: 260px; }
.tool-form .field-group select { appearance: none; -webkit-appearance: none; padding-right: 42px; background-image: linear-gradient(45deg, transparent 50%, #31566d 50%), linear-gradient(135deg, #31566d 50%, transparent 50%); background-position: calc(100% - 19px) calc(50% + 1px), calc(100% - 14px) calc(50% + 1px); background-repeat: no-repeat; background-size: 5px 5px; }
.optional-fields { overflow: hidden; border: 1px solid #c8d9e2; border-radius: 10px; background: #f8fbfd; }
.optional-fields[open] { border-color: #a9cbdc; background: #fff; }
.optional-fields > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto 18px; align-items: center; gap: 14px; padding: 17px 18px; color: var(--individuals-navy); cursor: pointer; list-style: none; }
.optional-fields > summary::-webkit-details-marker { display: none; }
.optional-fields > summary:hover { background: #f1f7fa; }
.optional-fields > summary:focus-visible { outline: 3px solid rgba(35, 143, 196, .22); outline-offset: -3px; }
.optional-fields-summary-copy { display: grid; gap: 3px; }
.optional-fields-summary-copy strong { font-size: .98rem; line-height: 1.35; }
.optional-fields-summary-copy small { color: var(--individuals-muted); font-size: .76rem; font-weight: 500; line-height: 1.45; }
.optional-fields-badge { padding: 4px 8px; border-radius: 999px; background: var(--individuals-sky); color: var(--individuals-blue-dark); font-size: .68rem; font-weight: 750; line-height: 1; }
.optional-fields-chevron { width: 9px; height: 9px; border-right: 2px solid var(--individuals-blue-dark); border-bottom: 2px solid var(--individuals-blue-dark); transform: rotate(45deg) translate(-2px, -2px); transition: transform .18s ease; }
.optional-fields[open] .optional-fields-chevron { transform: rotate(225deg) translate(-1px, -1px); }
.optional-fields-body { display: grid; gap: 32px; padding: 24px 18px; border-top: 1px solid var(--individuals-line); }
.tool-cost-grid { display: grid; grid-template-columns: minmax(190px, 1.3fr) repeat(2, minmax(130px, 1fr)); gap: 10px 12px; align-items: center; }
.tool-cost-grid > strong { color: var(--individuals-muted); font-size: .75rem; text-align: center; }
.tool-cost-grid > label { color: var(--individuals-ink); font-size: .82rem; font-weight: 700; line-height: 1.35; }
.tool-cost-grid > input { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid #bdcdd6; border-radius: 7px; color: var(--individuals-ink); }
.tool-cost-grid > input[aria-invalid="true"] { border-color: var(--individuals-error); }
.tool-cost-error { grid-column: 2 / -1; margin: -6px 0 3px !important; }
.estimate-acknowledgement { padding: 15px; border: 1px solid #c7dce7; border-radius: 9px; background: var(--individuals-sky); }
.estimate-acknowledgement .field-error { margin-left: 28px !important; }
.tool-form-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.estimate-result { padding: clamp(28px, 5vw, 48px); border-top: 5px solid var(--individuals-blue); text-align: center; }
.estimate-result h2 { margin: 0; color: var(--individuals-navy); font-size: clamp(2.5rem, 6vw, 4.5rem); letter-spacing: -.055em; line-height: 1; }
.estimate-result h2 span { color: var(--individuals-muted); font-size: .9rem; font-weight: 650; letter-spacing: 0; }
.estimate-result > p { color: var(--individuals-muted); }
.estimate-result .estimate-scenario { margin: 20px 0 0; }
.estimate-result .estimate-scenario + p { margin-top: 6px; }
.estimate-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 660px; gap: 0 24px; margin: 28px auto 0; text-align: left; }
.estimate-summary > div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid #edf2f5; }
.estimate-summary dt { color: var(--individuals-muted); font-size: .78rem; }
.estimate-summary dd { margin: 0; color: var(--individuals-ink); font-size: .82rem; font-weight: 750; text-align: right; }
.estimate-adjustment-note { max-width: 660px; margin: 16px auto 0; padding: 10px 12px; border-radius: 7px; background: var(--individuals-sky); font-size: .76rem; }
.estimate-caution { margin-bottom: 0; font-size: .78rem; }
.tool-edit-details { margin-top: 18px; padding: 0; }
.tool-edit-details[open] { padding: 0 clamp(24px, 5vw, 46px) 34px; }
.tool-edit-details > summary { margin: 0; padding: 22px clamp(24px, 5vw, 46px); color: var(--individuals-navy); font-weight: 750; cursor: pointer; }
.tool-edit-details[open] > summary { margin: 0 clamp(-46px, -5vw, -24px) 24px; }

@media (max-width: 1080px) {
    .individuals-site-header nav { display: none; }
    .individuals-hero { grid-template-columns: 1fr; }
    .hero-copy { max-width: 820px; }
    .hero-preview { max-width: 850px; transform: none; }
    .feature-row { gap: 44px; }
    .step-grid { grid-template-columns: repeat(2, 1fr); }
    .dashboard-tool-grid { grid-template-columns: repeat(2, 1fr); }
    .subscription-page { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .individuals-site-header, .individuals-app-header { min-height: 68px; padding: 12px 18px; }
    .individuals-brand img { width: 106px; }
    .individuals-brand span { font-size: .78rem; }
    .individuals-site-header .button-quiet { display: none; }
    .individuals-site-header .button-small { min-height: 38px; padding: 8px 12px; font-size: .8rem; }
    .individuals-hero { min-height: 0; padding-top: 68px; }
    .hero-copy h1 { font-size: clamp(2.5rem, 13vw, 4.2rem); }
    .hero-actions .button { width: 100%; }
    .hero-preview { padding: 9px; border-radius: 12px; }
    .sample-label { top: 16px; right: 16px; }
    .trust-strip { grid-template-columns: 1fr; }
    .trust-strip div { min-height: 95px; border-right: 0; border-bottom: 1px solid var(--individuals-line); }
    .trust-strip div:last-child { border-bottom: 0; }
    .feature-row { grid-template-columns: 1fr; margin-bottom: 80px; }
    .feature-row-reverse .feature-copy, .feature-row-reverse .feature-visual { order: initial; }
    .feature-visual { padding: 9px; }
    .feature-visual .sample-label { top: 16px; right: 16px; }
    .step-grid { grid-template-columns: 1fr; }
    .step-grid li { min-height: 0; }
    .pricing-section { grid-template-columns: 1fr; }
    .price-card { padding: 30px 24px; }
    .final-cta { align-items: flex-start; flex-direction: column; }
    .final-cta .button { width: 100%; }
    .individuals-site-footer { grid-template-columns: 1fr 1fr; }
    .individuals-site-footer > div:first-child { grid-column: 1 / -1; }
    .form-grid-two { grid-template-columns: 1fr; }
    .account-name { display: none; }
    .account-identity { padding-right: 8px; padding-left: 8px; }
    .account-nav-link, .account-signout { padding-right: 10px; padding-left: 10px; font-size: .8rem; }
    .profile-grid { grid-template-columns: 1fr; }
    .profile-card-wide { grid-column: 1; }
    .profile-password-grid { grid-template-columns: 1fr; }
    .individuals-app-header .button { white-space: nowrap; }
    .dashboard-start-card { grid-template-columns: 1fr; }
    .dashboard-start-action { grid-column: 1 / -1; min-width: 0; align-items: flex-start; }
    .dashboard-start-action .button { width: 100%; }
    .section-heading-row { align-items: flex-start; flex-direction: column; }
    .dashboard-tool-grid { grid-template-columns: 1fr; }
    .educational-notice { flex-direction: column; }
    .dashboard-membership-card { grid-template-columns: 1fr; }
    .dashboard-membership-action { min-width: 0; }
    .tool-form-grid { grid-template-columns: 1fr; }
    .tool-form-grid-primary .field-group:first-child { grid-column: 1; }
    .choice-grid, .estimate-summary { grid-template-columns: 1fr; }
    .tool-cost-grid { grid-template-columns: minmax(130px, 1.25fr) repeat(2, minmax(88px, 1fr)); }
    .tool-scope-note { flex-direction: column; }
    .planning-scenario-summary { align-items: flex-start; }
    .payment-field-row { grid-template-columns: 1fr; }
    .subscription-summary-list > div { align-items: flex-start; flex-direction: column; gap: 3px; }
    .subscription-summary-list dd { text-align: left; }
}

@media (max-width: 480px) {
    .individuals-brand span { display: none; }
    .individuals-account-nav { border: 0; background: transparent; }
    .account-menu { border-left: 0; }
    .account-menu-chevron { margin-right: 0; }
    .account-nav-link, .account-signout { min-height: 38px; padding: 8px 9px; }
    .profile-card { padding: 24px 20px; }
    .individuals-section { padding-right: 18px; padding-left: 18px; }
    .individuals-site-footer { grid-template-columns: 1fr; padding-right: 18px; padding-left: 18px; }
    .individuals-site-footer > div:first-child, .footer-copyright { grid-column: 1; }
    .auth-card { padding: 26px 20px; }
    .dashboard-start-card { grid-template-columns: 1fr; }
    .dashboard-start-action { grid-column: 1; }
    .individuals-app-footer { flex-wrap: wrap; gap: 8px 18px; }
    .individuals-legal-page { padding: 36px 16px; }
    .individuals-legal-card { padding: 32px 24px; border-radius: 14px; }
    .payment-expiry-picker { grid-template-columns: 20px minmax(112px, 1.45fr) auto minmax(80px, 1fr); gap: 5px; padding-left: 10px; }
    .subscriber-preview-actions { flex-direction: column; }
    .tool-cost-grid { grid-template-columns: 1fr 1fr; }
    .tool-cost-heading { display: none; }
    .tool-cost-grid > strong { text-align: left; }
    .tool-cost-grid > label { grid-column: 1 / -1; margin-top: 8px; }
    .tool-cost-error { grid-column: 1 / -1; }
    .tool-form-actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .individuals-welcome { display: none !important; transition: none; }
    .individuals-welcome-content { animation: none; }
    html { scroll-behavior: auto; }
    *, *:before, *:after { scroll-behavior: auto !important; transition: none !important; }
}

@media (forced-colors: active) {
    .tool-form .field-group select { appearance: auto; -webkit-appearance: auto; padding-right: 13px; background-image: none; }
}
