:root {
    --navy-950: #031b31;
    --navy-900: #062945;
    --navy-800: #0a3a5e;
    --blue: #087bc1;
    --cyan: #16b7ca;
    --mint: #66e0c0;
    --ink: #10243a;
    --muted: #40566d;
    --line: #dbe6ee;
    --soft: #f4f8fb;
    --white: #fff;
    --amber: #f0a229;
    --shadow: 0 24px 70px rgba(5,39,66,.13);
    --font-large: clamp(38px, 5vw, 72px);
    --font-medium: 18px;
    --font-normal: 14px;
}

* { box-sizing: border-box; }
html { zoom: 90%; scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: var(--font-normal); background: white; }
a, button, input { font: inherit; }
a, button { transition: .2s ease; }
.shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }

.site-header { position: fixed; z-index: 50; top: 0; right: 0; left: 0; padding: 14px 0; border-bottom: 1px solid transparent; background: rgba(255,255,255,.78); backdrop-filter: blur(18px); }
.site-header.scrolled { border-color: rgba(190,208,221,.7); box-shadow: 0 8px 30px rgba(5,39,66,.06); }
.header-inner { display: grid; grid-template-columns: auto 1fr auto; gap: 36px; align-items: center; }
.site-brand { display: flex; gap: 11px; align-items: center; color: var(--ink); text-decoration: none; }
.site-header .site-brand > span:last-child { transform: translateY(5px); }
.site-logo { display: grid; width: 58px; height: 72px; padding: 0; place-items: center; border: 0; border-radius: 0; background: transparent; }
.site-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.site-brand strong, .site-brand small { display: block; }
.site-brand strong { font-size: var(--font-medium); letter-spacing: -.04em; }
.site-brand small { margin-top: 2px; color: var(--muted); font-size: var(--font-normal); }
.main-nav { display: flex; gap: 27px; justify-content: center; }
.main-nav a, .text-link { color: #203b54; font-size: var(--font-normal); font-weight: 750; text-decoration: none; }
.main-nav a:hover, .text-link:hover { color: var(--blue); }
.header-actions { display: flex; gap: 17px; align-items: center; }
.button { display: inline-flex; justify-content: center; gap: 14px; align-items: center; min-height: 50px; padding: 0 21px; border: 1px solid var(--navy-900); border-radius: 10px; color: white; font-size: var(--font-normal); font-weight: 800; text-decoration: none; background: var(--navy-900); box-shadow: 0 10px 24px rgba(6,41,69,.16); }
.button:hover { transform: translateY(-2px); box-shadow: 0 15px 30px rgba(6,41,69,.22); }
.button.small { min-height: 39px; padding: 0 15px; border-color: var(--blue); font-size: var(--font-normal); background: var(--blue); box-shadow: none; }
.menu-toggle { display: none; width: 42px; height: 40px; padding: 10px; cursor: pointer; border: 1px solid var(--line); border-radius: 9px; background: white; }
.menu-toggle span { display: block; width: 100%; height: 2px; margin: 4px 0; border-radius: 9px; background: var(--navy-900); }

.hero { position: relative; min-height: 760px; padding: 135px 0 75px; overflow: hidden; background: linear-gradient(180deg, #f9fcfe 0%, #eaf5fa 100%); }
.hero::before { position: absolute; top: -300px; left: 48%; width: 900px; height: 700px; content: ""; background: conic-gradient(from 210deg, rgba(22,183,202,.32), rgba(91,118,255,.2), rgba(255,170,100,.22), rgba(22,183,202,.32)); filter: blur(80px); opacity: .72; transform: rotate(-14deg); }
.hero::after { position: absolute; right: -220px; bottom: 10px; width: 600px; height: 600px; content: ""; border-radius: 50%; background: rgba(63,204,186,.12); filter: blur(10px); }
.hero-orb { position: absolute; border-radius: 50%; pointer-events: none; }
.orb-one { top: 170px; left: -160px; width: 340px; height: 340px; background: rgba(8,123,193,.08); filter: blur(3px); }
.orb-two { right: 33%; bottom: 60px; width: 170px; height: 170px; background: rgba(255,177,94,.16); filter: blur(14px); }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.04fr .96fr; gap: 72px; align-items: center; }
.hero-copy { padding-top: 12px; }
.hero-kicker { display: inline-flex; gap: 9px; align-items: center; margin-bottom: 22px; padding: 8px 12px; border: 1px solid #cce5ed; border-radius: 99px; color: #166582; font-size: var(--font-normal); font-weight: 850; background: rgba(255,255,255,.65); }
.hero-kicker i, .secure-pill i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #20bd88; box-shadow: 0 0 0 4px rgba(32,189,136,.12); }
.hero h1 { margin: 0; font-size: var(--font-large); line-height: .94; letter-spacing: -.065em; }
.hero h1 em { color: var(--blue); font-style: normal; }
.hero-copy > p { max-width: 570px; margin: 30px 0 0; color: #304b64; font-size: var(--font-medium); font-weight: 500; line-height: 1.7; }
.hero-actions { display: flex; gap: 11px; margin-top: 32px; }
.button.secondary { border-color: #cadce7; color: var(--navy-900); background: rgba(255,255,255,.7); box-shadow: none; }
.trust-row { display: flex; gap: 20px; margin-top: 31px; color: #38546c; font-size: var(--font-normal); font-weight: 800; }
.trust-row span { display: flex; gap: 6px; align-items: center; }
.trust-row i { display: grid; width: 17px; height: 17px; place-items: center; border-radius: 50%; color: #087651; font-size: var(--font-normal); font-style: normal; background: #dff7ee; }

.hero-customer { position: relative; height: 580px; margin: 0; overflow: hidden; border: 7px solid rgba(255,255,255,.9); border-radius: 32px; background: white; box-shadow: 0 30px 75px rgba(9,54,84,.18); }
.hero-customer::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 68%, rgba(3,27,49,.12)); pointer-events: none; }
.hero-customer > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.hero-customer figcaption { position: absolute; z-index: 2; right: 5%; bottom: 30px; left: 5%; display: flex; gap: 12px; align-items: center; padding: 14px 16px; border: 1px solid rgba(255,255,255,.72); border-radius: 15px; color: var(--navy-950); background: rgba(255,255,255,.82); box-shadow: 0 14px 35px rgba(3,27,49,.1); backdrop-filter: blur(15px); }
.customer-check { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #063d35; font-weight: 900; background: var(--mint); }
.hero-customer small, .hero-customer strong { display: block; }
.hero-customer small { color: #3f566c; font-size: var(--font-normal); font-weight: 750; }
.hero-customer strong { margin-top: 3px; font-size: var(--font-normal); }

.payment-section { padding: 95px 0 105px; background: white; }
.payment-intro { display: flex; justify-content: space-between; gap: 55px; align-items: flex-end; margin-bottom: 35px; }
.payment-intro h2 { margin: 10px 0 0; font-size: var(--font-large); line-height: 1.05; letter-spacing: -.052em; }
.payment-intro p { max-width: 400px; margin: 0; color: var(--muted); font-size: var(--font-normal); font-weight: 500; line-height: 1.7; }
.payment-panel { position: relative; padding: 32px; border: 1px solid #cfdfe9; border-radius: 25px; background: #f8fcfe; box-shadow: 0 24px 70px rgba(9,54,84,.11); }
.payment-panel::before { position: absolute; z-index: -1; inset: -1px; content: ""; border-radius: inherit; background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(99,205,217,.16)); }
.panel-head { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; margin-bottom: 20px; }
.section-tag { display: inline-block; color: var(--blue); font-size: var(--font-normal); font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.panel-head h2 { margin: 6px 0 0; font-size: var(--font-medium); letter-spacing: -.035em; }
.secure-pill { display: flex; gap: 8px; align-items: center; padding: 7px 10px; border-radius: 99px; color: #087651; font-size: var(--font-normal); font-weight: 850; background: #e5f8f1; }
.payment-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.payment-option { position: relative; cursor: pointer; }
.payment-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.payment-card { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; min-height: 92px; padding: 16px; border: 1px solid #cddde7; border-radius: 14px; background: white; }
.payment-card > i { display: grid; width: 37px; height: 37px; place-items: center; border-radius: 10px; color: #0a678d; font-size: var(--font-normal); font-style: normal; font-weight: 900; background: #e2f4f8; }
.payment-card span strong, .payment-card span small { display: block; }
.payment-card span strong { color: #0b263e; font-size: var(--font-normal); }
.payment-card span small { margin-top: 5px; color: #50667b; font-size: var(--font-normal); font-weight: 500; line-height: 1.4; }
.payment-card > b { color: #547086; font-size: var(--font-medium); font-weight: 600; }
.payment-option:hover .payment-card { border-color: #8bcfdf; transform: translateY(-1px); }
.payment-option input:checked + .payment-card { border-color: var(--blue); background: #f1faff; box-shadow: inset 3px 0 var(--blue), 0 8px 18px rgba(8,123,193,.08); }
.payment-option input:focus-visible + .payment-card { outline: 3px solid rgba(8,123,193,.22); outline-offset: 2px; }
.payment-submit { display: flex; justify-content: space-between; gap: 15px; align-items: center; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.payment-submit small, .payment-submit strong { display: block; }
.payment-submit small { color: #50667b; font-size: var(--font-normal); font-weight: 700; text-transform: uppercase; }
.payment-submit strong { max-width: 210px; margin-top: 4px; overflow: hidden; font-size: var(--font-normal); text-overflow: ellipsis; white-space: nowrap; }
.payment-submit button { display: flex; gap: 14px; align-items: center; min-height: 43px; padding: 0 15px; cursor: pointer; border: 0; border-radius: 9px; color: white; font-size: var(--font-normal); font-weight: 850; background: var(--blue); }
.payment-submit button:disabled { cursor: not-allowed; color: #9daab5; background: #e6edf2; }
.payment-page-shell { max-width: 1180px; }
.payment-page-panel { padding: 38px; border-color: #e2d4c8; background: rgba(255,255,255,.92); box-shadow: 0 24px 70px rgba(101,58,29,.1); }
.payment-page-panel .panel-head { margin-bottom: 28px; }
.payment-page-panel .panel-head h2 { font-size: 28px; }
.payment-page-panel .panel-head p { margin: 8px 0 0; color: var(--muted); line-height: 1.6; }
.payment-page-panel .payment-card { min-height: 106px; border-color: #dfd5cc; }
.payment-page-panel .payment-option input:checked + .payment-card { border-color: #b75a2a; background: #fff8f1; box-shadow: inset 3px 0 #b75a2a, 0 8px 18px rgba(147,67,31,.08); }
.payment-page-panel .payment-card > i { color: #9b4a24; background: #f9e7d8; }
.payment-page-panel .secure-pill { color: #087153; background: #e5f8f1; }
.payment-option-link { display: block; color: inherit; text-decoration: none; }
.payment-option-link:focus-visible { border-radius: 14px; outline: 3px solid rgba(8,123,193,.25); outline-offset: 3px; }
.selection-notice { display: flex; gap: 12px; align-items: center; margin-bottom: 16px; padding: 14px 17px; border: 1px solid #b7dfd2; border-radius: 13px; color: #125b48; background: #ecfaf5; }
.selection-notice > span { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: white; font-weight: 900; background: #178462; }
.selection-notice strong, .selection-notice small { display: block; }
.selection-notice small { margin-top: 3px; color: #467266; }
.payment-unavailable { grid-column: 1 / -1; padding: 55px 25px; border: 1px dashed #bfd4df; border-radius: 14px; text-align: center; background: #f8fcfe; }
.payment-unavailable strong, .payment-unavailable span { display: block; }
.payment-unavailable span { margin-top: 7px; color: var(--muted); }
.service-module-page .account-main { min-height: auto; padding-top: 42px; padding-bottom: 42px; }
.service-module-shell { max-width: 760px; }
.service-module-card { padding: 42px; border: 1px solid #d4e6ee; border-radius: 22px; text-align: center; background: rgba(255,255,255,.96); box-shadow: 0 20px 60px rgba(9,54,84,.08); }
.service-module-icon { display: grid; width: 62px; height: 62px; margin: 0 auto 22px; place-items: center; border-radius: 17px; color: white; font-size: 17px; font-weight: 900; background: linear-gradient(145deg, #087bc1, #16b7ca); }
.service-module-card h2 { margin: 10px 0; font-size: 30px; letter-spacing: -.035em; }
.service-module-card p { max-width: 560px; margin: 0 auto 25px; color: var(--muted); line-height: 1.7; }
.service-module-card .account-submit { margin: 0 auto; }

.announcement { padding: 70px 0 30px; }
.announcement-inner { display: grid; grid-template-columns: auto 290px 1fr; gap: 22px; align-items: center; padding: 22px 25px; border: 1px solid #f0d3a4; border-radius: 17px; background: #fff9ed; }
.announcement-icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 11px; color: #8b5500; font-weight: 900; background: #ffe7b8; }
.section-tag.amber { color: #a86400; }
.announcement h2 { margin: 5px 0 0; font-size: var(--font-medium); }
.announcement p { margin: 0; color: #5c461e; font-size: var(--font-normal); font-weight: 550; line-height: 1.65; }

.section { padding: 100px 0; }
.intro-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: start; }
.section-heading h2, .downloads-heading h2 { max-width: 560px; margin: 12px 0 0; font-size: var(--font-large); line-height: 1.05; letter-spacing: -.052em; }
.intro-copy p { margin: 0 0 20px; color: var(--muted); font-size: var(--font-medium); line-height: 1.8; }
.intro-copy a { color: var(--blue); font-weight: 800; }
.benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 62px; }
.benefit-grid article { padding: 28px; border: 1px solid var(--line); border-radius: 17px; background: white; box-shadow: 0 10px 35px rgba(5,39,66,.045); }
.benefit-grid article > span { display: inline-block; padding: 6px 8px; border-radius: 7px; color: var(--blue); font-size: var(--font-normal); font-weight: 900; background: #e8f5fb; }
.benefit-grid h3 { margin: 25px 0 9px; font-size: var(--font-medium); }
.benefit-grid p { margin: 0; color: var(--muted); font-size: var(--font-normal); font-weight: 500; line-height: 1.65; }

.security { overflow: hidden; color: white; background: var(--navy-950); }
.security-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: center; }
.security-visual { overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 25px; background: #08233c; box-shadow: 0 24px 70px rgba(0,0,0,.18); }
.security-bank-image { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.section-tag.light { color: #6fe2d0; }
.security-copy h2 { margin: 13px 0 22px; font-size: var(--font-large); line-height: 1.05; letter-spacing: -.052em; }
.security-copy > p { color: #c6d8e3; font-size: var(--font-normal); font-weight: 500; line-height: 1.75; }
.steps { display: grid; gap: 10px; margin: 27px 0 0; padding: 0; list-style: none; }
.steps li { display: flex; gap: 13px; align-items: center; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.09); }
.steps li > span { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border-radius: 9px; color: #062945; font-size: var(--font-normal); font-weight: 900; background: var(--mint); }
.steps strong, .steps small { display: block; }
.steps strong { font-size: var(--font-normal); }
.steps small { margin-top: 3px; color: #bed1dc; font-size: var(--font-normal); font-weight: 500; line-height: 1.4; }
.steps a { color: var(--mint); }
.no-fee { display: flex; gap: 13px; align-items: center; margin-top: 24px; padding: 14px 16px; border-radius: 11px; color: #b9f4e5; background: rgba(102,224,192,.09); }
.no-fee strong { font-size: var(--font-normal); }
.no-fee span { color: #b9e4da; font-size: var(--font-normal); }

.downloads { background: var(--soft); }
.downloads-heading { display: flex; justify-content: space-between; gap: 50px; align-items: flex-end; }
.downloads-heading > p { max-width: 360px; margin: 0; color: var(--muted); font-size: var(--font-normal); line-height: 1.7; }
.download-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; margin-top: 44px; }
.download-grid > a { display: grid; grid-template-columns: auto 1fr auto; gap: 15px; align-items: center; padding: 20px; border: 1px solid var(--line); border-radius: 14px; color: var(--ink); text-decoration: none; background: white; }
.download-grid > a:hover { border-color: #94cfe0; transform: translateY(-2px); box-shadow: 0 13px 30px rgba(5,39,66,.07); }
.document-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 10px; color: #a92a3b; font-size: var(--font-normal); font-weight: 900; background: #fde9ec; }
.download-grid small, .download-grid strong { display: block; }
.download-grid small { color: var(--blue); font-size: var(--font-normal); font-weight: 850; text-transform: uppercase; }
.download-grid strong { margin-top: 4px; font-size: var(--font-normal); }
.download-grid i { color: var(--blue); font-size: var(--font-medium); font-style: normal; }

.closing-cta { padding: 80px 0; color: white; background: linear-gradient(115deg, var(--blue), #085c8c 60%, var(--navy-900)); }
.closing-inner { display: flex; justify-content: space-between; gap: 50px; align-items: center; }
.closing-inner h2 { margin: 10px 0; font-size: var(--font-large); letter-spacing: -.05em; }
.closing-inner p { margin: 0; color: #e0f1f8; font-size: var(--font-normal); font-weight: 500; }
.closing-inner > div:last-child { display: flex; gap: 10px; flex: 0 0 auto; }
.light-button { border-color: white; color: var(--navy-900); background: white; }
.ghost-button { border-color: rgba(255,255,255,.32); background: transparent; box-shadow: none; }

.site-footer { margin: 20px; padding: 62px 0 25px; border: 1px solid #e3e0dc; border-radius: 30px; color: #1c252c; background: white; box-shadow: 0 18px 55px rgba(28,37,44,.08); }
.footer-grid { display: grid; grid-template-columns: 1.35fr repeat(3, .65fr); gap: 55px; }
.site-brand.inverse { color: #111820; }
.site-brand.inverse small { color: #46525c; }
.footer-brand p { margin: 22px 0 0; font-size: var(--font-normal); line-height: 1.7; }
.footer-grid > div:not(.footer-brand) { display: grid; gap: 11px; align-content: start; }
.footer-grid > div > strong { margin-bottom: 5px; color: #111820; font-size: var(--font-normal); text-transform: uppercase; }
.footer-grid > div > a { color: #25313a; font-size: var(--font-normal); font-weight: 600; text-decoration: none; }
.footer-grid > div > a:hover { color: #a94f25; }
.footer-bottom { display: flex; justify-content: space-between; gap: 25px; margin-top: 50px; padding-top: 20px; border-top: 1px solid #dedede; color: #252d33; font-size: var(--font-normal); }

.portal-account-page { min-height: 100vh; background: linear-gradient(145deg, #f8fcfe 0%, #eaf5fa 52%, #f2f9fb 100%); }
.account-header { position: relative; background: white; }
.account-header .header-inner { grid-template-columns: auto 1fr; }
.public-account-header .header-inner { grid-template-columns: auto 1fr auto; }
.account-public-nav { justify-self: center; }
.account-public-actions { justify-self: end; }
.account-nav { display: flex; justify-content: flex-end; gap: 24px; align-items: center; }
.account-nav > a:not(.button) { color: #244159; font-weight: 750; text-decoration: none; }
.account-nav > a:not(.button):hover { color: var(--blue); }
.account-main { position: relative; min-height: calc(100vh - 215px); padding: 68px 0 90px; overflow: hidden; }
.account-main::before { position: absolute; z-index: -1; top: 80px; right: -160px; width: 420px; height: 420px; border-radius: 50%; content: ""; background: rgba(22,183,202,.12); filter: blur(15px); }
.account-page-heading { margin-bottom: 35px; }
.account-page-heading h1 { margin: 10px 0 0; font-size: var(--font-large); line-height: 1; letter-spacing: -.055em; }
.portal-account-page .section-tag { color: #087bc1; }
.portal-account-page .button.small, .portal-account-page .account-submit { border-color: #087bc1; background: #087bc1; box-shadow: 0 13px 25px rgba(8,123,193,.19); }
.portal-account-page .button.small:hover, .portal-account-page .account-submit:hover { background: #076ca8; }
.portal-account-page .account-form input:focus, .portal-account-page .account-form select:focus { border-color: #087bc1; box-shadow: 0 0 0 4px rgba(8,123,193,.12); }
.portal-account-page .check-line input { accent-color: #087bc1; }
.portal-account-page .form-meta a, .portal-account-page .auth-switch a { color: #087bc1; }
.auth-shell { display: grid; grid-template-columns: minmax(0, .94fr) minmax(410px, 1.06fr); gap: 46px; align-items: stretch; }
.account-visual { position: relative; min-height: 620px; margin: 0; overflow: hidden; border: 6px solid rgba(255,255,255,.84); border-radius: 28px; background: #083d63; box-shadow: 0 28px 70px rgba(9,54,84,.18); }
.account-visual::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 42%, rgba(4,45,72,.18) 58%, rgba(3,27,49,.94) 100%); pointer-events: none; }
.account-visual > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.account-visual figcaption { position: absolute; z-index: 2; right: 34px; bottom: 32px; left: 34px; color: white; }
.account-visual h2 { max-width: 520px; margin: 13px 0 10px; font-size: clamp(28px, 3vw, 45px); line-height: 1.03; letter-spacing: -.045em; }
.account-visual p { max-width: 520px; margin: 0; color: #f5eade; font-size: var(--font-normal); line-height: 1.6; }
.visual-kicker { display: inline-flex; padding: 7px 10px; border: 1px solid rgba(255,255,255,.3); border-radius: 99px; color: #eefbff; font-weight: 850; background: rgba(4,73,112,.48); backdrop-filter: blur(10px); }
.visual-points { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.visual-points span { padding: 7px 10px; border-radius: 99px; color: #063d63; font-size: var(--font-normal); font-weight: 850; background: #9be6f0; }
.login-account-page .account-main,
.reset-account-page .account-main { padding-top: 38px; padding-bottom: 55px; }
.login-account-page .account-page-heading,
.reset-account-page .account-page-heading { margin-bottom: 20px; }
.login-account-page .account-page-heading h1,
.reset-account-page .account-page-heading h1 { font-size: clamp(34px, 4vw, 52px); }
.login-shell { grid-template-columns: minmax(0, .96fr) minmax(390px, 1.04fr); gap: 32px; }
.login-shell .account-visual { min-height: 520px; }
.login-shell .account-visual > img { object-position: center 43%; }
.login-shell .account-visual figcaption { right: 28px; bottom: 26px; left: 28px; }
.login-shell .account-visual h2 { font-size: clamp(27px, 2.7vw, 38px); }
.login-shell .auth-card { display: flex; align-self: stretch; justify-content: center; flex-direction: column; padding: 34px 38px; }
.login-shell .auth-card > h2 { margin-top: 15px; }
.login-shell .account-form { gap: 15px; margin-top: 21px; }
.login-shell .auth-switch { margin-top: 19px !important; padding-top: 17px; }
.reset-shell .account-visual > img { object-position: center 38%; }
.reset-shell .auth-card { min-width: 0; }
.forgot-account-page .account-main { padding-top: 38px; padding-bottom: 55px; }
.forgot-account-page .account-page-heading { margin-bottom: 20px; }
.forgot-account-page .account-page-heading h1 { font-size: clamp(34px, 4vw, 52px); }
.forgot-shell { grid-template-columns: minmax(0, .96fr) minmax(390px, 1.04fr); gap: 32px; }
.forgot-shell .account-visual { min-height: 500px; }
.forgot-shell .account-visual > img { object-position: center 38%; }
.forgot-shell .account-visual figcaption { right: 28px; bottom: 26px; left: 28px; }
.forgot-shell .account-visual h2 { font-size: clamp(27px, 2.7vw, 38px); }
.forgot-shell .auth-card { display: flex; align-self: stretch; justify-content: center; flex-direction: column; padding: 34px 38px; }
.forgot-shell .auth-card > h2 { margin-top: 15px; }
.forgot-shell .account-form { gap: 15px; margin-top: 21px; }
.forgot-shell .auth-switch { margin-top: 19px !important; padding-top: 17px; }
.auth-copy { padding: 55px; border-radius: 28px; color: white; background: linear-gradient(145deg, var(--navy-950), var(--navy-800)); box-shadow: var(--shadow); }
.auth-icon, .success-mark { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 50%; color: #063e36; font-size: var(--font-medium); font-weight: 900; background: var(--mint); }
.auth-copy h2, .auth-card h2, .registration-intro h2, .dashboard-welcome h2 { margin: 24px 0 14px; font-size: var(--font-large); line-height: 1.04; letter-spacing: -.05em; }
.auth-copy p { color: #d2e2eb; font-size: var(--font-medium); line-height: 1.7; }
.auth-copy ul { display: grid; gap: 14px; margin: 30px 0 0; padding: 0; list-style: none; }
.auth-copy li { padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.12); font-weight: 750; }
.auth-copy li::before { margin-right: 10px; color: var(--mint); content: "✓"; }
.auth-card { align-self: center; padding: 42px; border: 1px solid #d4e6ee; border-radius: 25px; background: rgba(255,255,255,.95); box-shadow: 0 24px 70px rgba(9,54,84,.1); backdrop-filter: blur(12px); }
.auth-card > h2 { font-size: var(--font-medium); letter-spacing: -.025em; }
.auth-card > p { color: var(--muted); line-height: 1.65; }
.account-form { display: grid; gap: 19px; margin-top: 28px; }
.account-form label:not(.check-line) { display: grid; gap: 8px; }
.account-form label > span { color: #233d55; font-weight: 800; }
.account-form input:not([type="checkbox"]), .account-form select, .account-form textarea { width: 100%; min-height: 52px; padding: 0 15px; border: 1px solid #bed0dc; border-radius: 10px; color: var(--ink); font: inherit; background: white; outline: none; }
.account-form textarea { padding-top: 14px; padding-bottom: 14px; line-height: 1.6; resize: vertical; }
.account-form input:focus, .account-form select:focus, .account-form textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 4px rgba(8,123,193,.12); }
.account-form label small { color: var(--muted); line-height: 1.5; }
.form-meta { display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.form-meta a, .auth-switch a { color: var(--blue); font-weight: 800; }
.check-line { display: flex; gap: 9px; align-items: center; color: var(--muted); cursor: pointer; }
.check-line input { width: 17px; height: 17px; accent-color: var(--blue); }
.account-submit { display: flex; justify-content: space-between; gap: 20px; align-items: center; min-height: 53px; padding: 0 19px; cursor: pointer; border: 0; border-radius: 10px; color: white; font: inherit; font-weight: 850; background: var(--blue); box-shadow: 0 13px 25px rgba(8,123,193,.19); }
.account-submit:hover { transform: translateY(-2px); background: #076eac; }
.link-submit { width: max-content; text-decoration: none; }
.auth-switch { margin: 25px 0 0 !important; padding-top: 20px; border-top: 1px solid var(--line); text-align: center; }
.form-alert, .success-banner { margin: 20px 0; padding: 15px 17px; border: 1px solid #efb8bd; border-radius: 10px; color: #7b1f29; background: #fff0f1; line-height: 1.55; }
.form-alert ul { margin: 8px 0 0; padding-left: 20px; }
.single-auth { display: block; max-width: 640px; }
.single-auth .auth-card { margin: 0 auto; }
.success-mark { margin-bottom: 20px; }
.registration-shell { display: grid; grid-template-columns: minmax(330px, .76fr) minmax(0, 1.24fr); gap: 42px; align-items: start; }
.registration-visual { position: sticky; top: 110px; min-height: 720px; max-height: calc(100vh - 140px); }
.registration-intro { position: sticky; top: 30px; padding-top: 25px; }
.registration-intro p { color: var(--muted); font-size: var(--font-medium); line-height: 1.7; }
.privacy-note { display: grid; gap: 7px; margin-top: 30px; padding: 20px; border: 1px solid #c9e3de; border-radius: 14px; color: #174d45; background: #ecfaf6; }
.form-grid { grid-template-columns: repeat(2, 1fr); }
.field-wide { grid-column: 1 / -1; }
.password-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; }
.password-fields > label { align-content: start; }
.password-feedback { display: grid; grid-column: 1 / -1; gap: 12px; padding: 15px 16px; border: 1px solid #d5e2ea; border-radius: 12px; background: #f8fbfd; }
.password-strength { display: grid; grid-template-columns: auto minmax(80px, 1fr) auto; gap: 12px; align-items: center; color: #476178; font-size: var(--font-normal); }
.password-strength > span:first-child { font-weight: 750; }
.password-strength strong { color: #6b7f91; font-size: var(--font-normal); }
.strength-bars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; }
.strength-bars i { height: 5px; border-radius: 99px; background: #dce6ec; transition: background .2s ease; }
.password-feedback[data-score="1"] .strength-bars i:nth-child(-n+1) { background: #d84b56; }
.password-feedback[data-score="2"] .strength-bars i:nth-child(-n+2) { background: #d98a19; }
.password-feedback[data-score="3"] .strength-bars i:nth-child(-n+3) { background: #3b9b81; }
.password-feedback[data-score="4"] .strength-bars i { background: #14825f; }
.password-feedback[data-score="1"] .password-strength strong { color: #b82f3b; }
.password-feedback[data-score="2"] .password-strength strong { color: #a76608; }
.password-feedback[data-score="3"] .password-strength strong,
.password-feedback[data-score="4"] .password-strength strong { color: #087153; }
.password-rules { display: flex; flex-wrap: wrap; gap: 7px; }
.password-rules span { padding: 5px 9px; border-radius: 99px; color: #607587; font-size: var(--font-normal); font-weight: 700; background: #e9f0f4; }
.password-rules span::before { margin-right: 5px; content: "○"; }
.password-rules span.valid { color: #087153; background: #e1f6ef; }
.password-rules span.valid::before { content: "✓"; }
.password-feedback > small { color: #607587; }
.password-feedback > small.match { color: #087153; font-weight: 750; }
.password-feedback > small.mismatch { color: #b82f3b; font-weight: 750; }
.account-form input.is-valid { border-color: #4fac91; }
.account-form input.is-invalid { border-color: #d65b65; box-shadow: 0 0 0 4px rgba(214,91,101,.1); }
.captcha-field { display: grid; gap: 14px; margin-top: 7px; padding: 20px; border: 1px solid #c8dce7; border-radius: 14px; background: #f5fafc; }
.captcha-heading { display: flex; justify-content: space-between; gap: 25px; align-items: flex-end; }
.captcha-heading > span { color: #17364f; font-weight: 850; }
.captcha-heading small { color: var(--muted); line-height: 1.5; }
.captcha-control { display: grid; grid-template-columns: 240px auto 1fr; gap: 14px; align-items: end; }
.captcha-control img { display: block; width: 240px; height: 74px; border: 1px solid #adc9d8; border-radius: 10px; object-fit: cover; background: #eff8fc; }
.captcha-control label { display: grid; gap: 8px; }
.captcha-refresh { min-height: 52px; padding: 0 14px; cursor: pointer; border: 1px solid #bcd1dd; border-radius: 10px; color: #174563; font: inherit; font-weight: 800; background: white; }
.captcha-refresh:hover { border-color: var(--blue); color: var(--blue); }
.compact-captcha .captcha-control { grid-template-columns: 1fr auto; }
.compact-captcha .captcha-control label { grid-column: 1 / -1; }
.compact-captcha .captcha-control img { width: 100%; }
.consent-field { align-self: center; padding: 16px 18px; border: 1px solid #c9e3de; border-radius: 12px; color: #174d45; background: #effaf7; }
.consent-field input { flex: 0 0 auto; }

.user-dashboard { display: grid; gap: 22px; font-size: 15px; }
.success-banner { margin: 0; border-color: #aadfce; color: #125b48; background: #e9faf4; }
.dashboard-welcome { position: relative; display: flex; justify-content: space-between; gap: 35px; align-items: center; padding: 38px 40px; overflow: hidden; border-radius: 24px; color: white; background: linear-gradient(125deg, #6e351d, #a9572c 62%, #c47a3d); box-shadow: 0 22px 55px rgba(117,55,25,.18); }
.dashboard-welcome::after { position: absolute; right: -45px; bottom: -85px; width: 260px; height: 260px; border: 48px solid rgba(255,220,154,.13); border-radius: 50%; content: ""; }
.welcome-copy { position: relative; z-index: 1; max-width: 650px; }
.dashboard-eyebrow { display: inline-block; color: #ffd894; font-size: 12px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.dashboard-welcome h2 { margin: 10px 0; font-size: clamp(28px, 3.7vw, 46px); line-height: 1.05; letter-spacing: -.04em; }
.dashboard-welcome p { margin: 0; color: #f8e7d8; font-size: 16px; line-height: 1.6; }
.dashboard-actions { position: relative; z-index: 1; display: flex; flex: 0 0 auto; gap: 10px; align-items: center; }
.dashboard-welcome .account-submit { flex: 0 0 auto; background: white; color: var(--navy-900); box-shadow: none; }
.dashboard-secondary-action { display: inline-flex; min-height: 53px; padding: 0 18px; align-items: center; border: 1px solid rgba(255,255,255,.4); border-radius: 10px; color: white; font-weight: 800; text-decoration: none; background: rgba(255,255,255,.08); }
.dashboard-secondary-action:hover { background: rgba(255,255,255,.17); }
.account-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.account-metrics article { display: grid; grid-template-columns: auto 1fr; gap: 5px 12px; align-items: center; padding: 21px; border: 1px solid #eadbcf; border-radius: 17px; background: rgba(255,255,255,.94); box-shadow: 0 10px 30px rgba(101,58,29,.055); }
.account-metrics i { display: grid; grid-row: 1 / 3; width: 42px; height: 42px; place-items: center; border-radius: 12px; color: #9b4b25; font-size: 13px; font-style: normal; font-weight: 900; background: #f9e8d8; }
.account-metrics span { color: var(--muted); font-size: 13px; font-weight: 750; }
.account-metrics strong { font-size: 20px; letter-spacing: -.025em; }
.dashboard-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 20px; align-items: start; }
.dashboard-content { display: grid; min-width: 0; gap: 20px; }
.profile-card, .transaction-card { border: 1px solid #eadbcf; border-radius: 19px; background: rgba(255,255,255,.96); box-shadow: 0 13px 40px rgba(101,58,29,.06); }
.profile-card { padding: 25px; text-align: center; }
.profile-avatar { display: grid; width: 66px; height: 66px; margin: 0 auto; place-items: center; border-radius: 18px; color: white; font-size: 24px; font-weight: 900; background: linear-gradient(145deg, #a84f26, #d08a45); }
.profile-card h2 { margin: 16px 0 5px; font-size: var(--font-medium); }
.profile-card > p { margin: 0; overflow-wrap: anywhere; color: var(--muted); }
.profile-card dl { display: grid; gap: 0; margin: 25px 0 0; text-align: left; }
.profile-card dl div { padding: 13px 0; border-top: 1px solid var(--line); }
.profile-card dt { color: var(--muted); }
.profile-card dd { margin: 5px 0 0; overflow-wrap: anywhere; font-weight: 750; }
.profile-actions { display: grid; gap: 8px; margin-top: 8px; padding-top: 15px; border-top: 1px solid var(--line); }
.profile-actions a { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 11px 12px; border-radius: 10px; color: #813c20; font-size: 13px; font-weight: 800; text-decoration: none; background: #fff4e9; }
.profile-actions a:hover { color: white; background: #a64f27; }
.profile-actions b { font-size: 17px; }
.transaction-card { min-width: 0; overflow: hidden; }
.transaction-heading { display: flex; justify-content: space-between; gap: 25px; align-items: center; padding: 25px; }
.transaction-heading h2 { margin: 8px 0 0; font-size: var(--font-medium); }
.transaction-heading > span { color: var(--muted); }
.portal-table-wrap { overflow-x: auto; }
.portal-table-wrap table { width: 100%; border-collapse: collapse; }
.portal-table-wrap th, .portal-table-wrap td { padding: 15px; border-top: 1px solid var(--line); text-align: left; vertical-align: top; }
.portal-table-wrap th { color: #435b71; background: #f5f8fa; white-space: nowrap; }
.portal-table-wrap td > small { display: block; margin-top: 5px; color: var(--muted); }
.receipt-reprint-link { display: inline-flex; margin-top: 9px; padding: 7px 10px; border: 1px solid #9fd8c6; border-radius: 8px; color: #08634b; font-size: 12px; font-weight: 850; text-decoration: none; background: #effbf7; }
.receipt-reprint-link:hover { color: white; background: #087651; }
.portal-table-wrap td:nth-child(3) { max-width: 190px; overflow-wrap: anywhere; }
.portal-status { display: inline-flex; padding: 6px 9px; border-radius: 99px; font-weight: 800; white-space: nowrap; }
.portal-status.is-success { color: #08634b; background: #dff7ee; }
.portal-status.is-failed { color: #8b2831; background: #fde9eb; }
.empty-transactions { padding: 45px !important; text-align: center !important; }
.empty-transactions strong, .empty-transactions span { display: block; }
.empty-transactions span { margin-top: 7px; color: var(--muted); }
.portal-pagination { display: flex; justify-content: flex-end; gap: 13px; align-items: center; padding: 20px 25px; border-top: 1px solid var(--line); }
.portal-pagination a { color: var(--blue); font-weight: 800; text-decoration: none; }
.transaction-view-all { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 18px 25px; border-top: 1px solid var(--line); color: var(--muted); }
.transaction-view-all a, .transaction-back-link { color: var(--blue); font-weight: 850; text-decoration: none; }
.transaction-history-shell { display: grid; }
.transaction-filters { display: flex; gap: 12px; align-items: flex-end; padding: 20px 25px; border-top: 1px solid var(--line); background: #f8fafb; }
.transaction-filters label { display: grid; min-width: 210px; gap: 7px; color: var(--muted); font-size: 13px; font-weight: 750; }
.transaction-filters select { min-height: 43px; padding: 0 38px 0 12px; border: 1px solid #c9d9e2; border-radius: 9px; color: var(--navy-900); background: white; }
.transaction-filters button, .transaction-filters > a { display: inline-flex; min-height: 43px; padding: 0 17px; align-items: center; justify-content: center; border: 0; border-radius: 9px; font: inherit; font-weight: 850; text-decoration: none; cursor: pointer; }
.transaction-filters button { color: white; background: var(--blue); }
.transaction-filters > a { color: var(--blue); background: #eaf4f8; }
.transaction-result-summary { display: flex; justify-content: space-between; gap: 20px; padding: 15px 25px; border-top: 1px solid var(--line); color: var(--muted); }
.transaction-result-summary strong { color: var(--navy-900); }
.iclean-card { min-width: 0; overflow: hidden; border: 1px solid #d5e5ed; border-radius: 19px; background: rgba(255,255,255,.96); box-shadow: 0 13px 40px rgba(9,54,84,.055); }
.iclean-heading { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; padding: 25px; }
.iclean-heading h2 { margin: 8px 0 0; font-size: 22px; letter-spacing: -.025em; }
.iclean-heading p { margin: 8px 0 0; color: var(--muted); line-height: 1.55; }
.iclean-live-pill { flex: 0 0 auto; padding: 7px 10px; border-radius: 99px; color: #087153; font-size: 12px; font-weight: 850; background: #e3f7ef; }
.iclean-live-pill::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #20bd91; box-shadow: 0 0 0 4px rgba(32,189,145,.12); }
.iclean-live-pill.is-error { color: #8c332f; background: #fff0ee; }
.iclean-live-pill.is-error::before { background: #d7655d; box-shadow: 0 0 0 4px rgba(215,101,93,.12); }
.iclean-list { display: grid; border-top: 1px solid var(--line); }
.iclean-item { display: grid; grid-template-columns: auto minmax(180px, 1fr) minmax(100px, auto) minmax(110px, auto) auto; gap: 14px; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.iclean-item:hover { background: #f7fbfd; }
.iclean-code { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 11px; color: #08709d; font-size: 13px; font-weight: 900; background: #e3f4f8; }
.iclean-info strong, .iclean-info small, .iclean-due small, .iclean-due strong, .iclean-amount small, .iclean-amount strong { display: block; }
.iclean-info small { margin-top: 4px; color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.iclean-due small, .iclean-amount small { margin-bottom: 4px; color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.iclean-due strong { font-size: 13px; white-space: nowrap; }
.iclean-amount { text-align: right; }
.iclean-amount strong { color: #8c332f; white-space: nowrap; }
.iclean-item > a { display: inline-flex; gap: 8px; align-items: center; min-height: 36px; padding: 0 11px; border-radius: 9px; color: white; font-size: 12px; font-weight: 850; text-decoration: none; background: #087bc1; }
.iclean-item > a:hover { background: #076ca8; }
.iclean-item.is-summary { grid-template-columns: auto minmax(180px, 1fr) minmax(140px, auto) auto; }
.iclean-empty { display: grid; justify-items: center; gap: 7px; padding: 42px 25px; border-top: 1px solid var(--line); text-align: center; }
.iclean-empty span { color: var(--muted); }
.iclean-empty a { margin-top: 5px; color: #087bc1; font-weight: 800; text-decoration: none; }
.iclean-summary { display: flex; justify-content: flex-end; gap: 28px; align-items: center; padding: 20px 25px; background: #f0f8fb; }
.iclean-summary span small, .iclean-summary span strong { display: block; text-align: right; }
.iclean-summary span small { margin-bottom: 3px; color: var(--muted); }
.iclean-summary b { color: #063d63; font-size: 23px; letter-spacing: -.03em; }

.settings-shell { display: grid; grid-template-columns: minmax(260px, .68fr) minmax(0, 1.32fr); gap: 42px; align-items: start; max-width: 1040px; }
.settings-intro { position: sticky; top: 30px; padding: 32px; border: 1px solid #ead7c5; border-radius: 22px; color: #40291d; background: linear-gradient(145deg, #fff8ee, #f5e5d3); }
.settings-icon { display: grid; width: 62px; height: 62px; place-items: center; border-radius: 17px; color: white; font-size: 24px; font-weight: 900; background: linear-gradient(145deg, #a84f26, #d08a45); }
.settings-intro h2 { margin: 22px 0 10px; font-size: 29px; line-height: 1.08; letter-spacing: -.035em; }
.settings-intro p { margin: 0; color: #725848; line-height: 1.7; }
.settings-intro > a { display: inline-block; margin-top: 26px; color: #9a4723; font-weight: 800; text-decoration: none; }
.settings-intro ul { display: grid; gap: 10px; margin: 22px 0 0; padding: 0; list-style: none; }
.settings-intro li::before { margin-right: 8px; color: #16805e; content: "✓"; }
.settings-card { align-self: start; width: 100%; }
.settings-card > h2 { font-size: 30px; }
.settings-form-actions { display: flex; justify-content: flex-end; gap: 18px; align-items: center; padding-top: 5px; }
.settings-form-actions > a { color: #6e5a4d; font-weight: 800; text-decoration: none; }
.settings-form-actions .account-submit { width: auto; min-width: 205px; }
.account-form input:disabled { color: #6e7c86; background: #edf1f3; cursor: not-allowed; }
.profile-account-page .account-main { padding-top: 38px; padding-bottom: 55px; }
.profile-account-page .account-page-heading { margin-bottom: 22px; }
.profile-account-page .account-page-heading h1 { font-size: clamp(36px, 4.6vw, 58px); }
.profile-settings-shell { grid-template-columns: minmax(250px, .52fr) minmax(0, 1.48fr); gap: 28px; align-items: stretch; max-width: none; }
.profile-settings-shell .settings-intro { position: static; display: flex; flex-direction: column; padding: 34px; }
.profile-settings-shell .settings-intro > a { margin-top: auto; padding-top: 30px; }
.profile-settings-shell .settings-card { align-self: stretch; padding: 36px 40px; }
.profile-settings-shell .settings-card > h2 { margin-top: 16px; }
.profile-settings-shell .account-form { gap: 17px 20px; margin-top: 22px; }
.profile-settings-shell .account-form > label { align-content: start; }
.profile-settings-shell .account-form > label small { margin-top: 1px; color: #5d7487; line-height: 1.4; }
.profile-settings-shell .settings-form-actions { padding-top: 9px; }
.policy-shell { max-width: 980px; }
.policy-card { padding: 42px; border: 1px solid #d5e6ee; border-radius: 24px; background: rgba(255,255,255,.96); box-shadow: 0 20px 60px rgba(9,54,84,.08); }
.policy-icon { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 15px; color: white; font-weight: 900; background: linear-gradient(145deg, #087bc1, #16b7ca); }
.policy-card h2 { margin: 22px 0 14px; font-size: 32px; letter-spacing: -.035em; }
.policy-card h3 { margin: 30px 0 10px; color: #153c58; font-size: 18px; }
.policy-card p, .policy-card li { color: #405c70; font-size: 15px; line-height: 1.8; }
.policy-card ul { display: grid; gap: 7px; padding-left: 21px; }
.policy-feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 28px; }
.policy-feature-grid div { padding: 20px; border: 1px solid #d7e7ee; border-radius: 14px; background: #f5fbfd; }
.policy-feature-grid strong, .policy-feature-grid span { display: block; }
.policy-feature-grid strong { color: #0b4567; }
.policy-feature-grid span { margin-top: 7px; color: #526d7e; line-height: 1.6; }
.policy-note { margin-top: 28px; padding: 17px 19px; border-left: 4px solid #087bc1; border-radius: 10px; color: #174f6c; background: #edf8fc; line-height: 1.7; }
.disclaimer-card blockquote { margin: 28px 0; padding: 24px; border: 1px solid #bcdde9; border-radius: 16px; color: #123f5d; font-size: 20px; font-weight: 750; line-height: 1.65; background: #edf8fc; }
.contact-shell { display: grid; grid-template-columns: minmax(260px, .68fr) minmax(0, 1.32fr); gap: 24px; align-items: start; }
.contact-intro, .contact-form-card { padding: 34px; border: 1px solid #d5e6ee; border-radius: 22px; background: rgba(255,255,255,.96); box-shadow: 0 18px 55px rgba(9,54,84,.07); }
.contact-intro { position: sticky; top: 28px; color: white; border-color: #0c4f79; background: linear-gradient(145deg, #082c4c, #075b89); }
.contact-icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 15px; color: #064362; font-size: 22px; font-weight: 900; background: #6fe2d0; }
.contact-intro h2 { margin: 22px 0 12px; font-size: 29px; line-height: 1.12; letter-spacing: -.035em; }
.contact-intro > p { margin: 0; color: #c8dce7; line-height: 1.75; }
.contact-guidance { margin-top: 25px; padding: 18px; border-radius: 13px; background: rgba(255,255,255,.08); }
.contact-guidance strong { color: #79ead8; }
.contact-guidance ul { display: grid; gap: 8px; margin: 12px 0 0; padding-left: 20px; color: #d7e6ed; font-size: 13px; line-height: 1.55; }
.contact-form-card .success-banner { margin-bottom: 20px; }
.contact-form { margin-top: 0; }
.contact-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.contact-form-grid label { display: grid; gap: 8px; }
.contact-form-grid label > span { color: #233d55; font-weight: 800; }
.contact-form-grid label > span small { color: var(--muted); font-weight: 600; }
.contact-submit { justify-self: end; width: min(100%, 230px); margin-top: 3px; }
.contact-website-field { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.tax-module-page .account-main { min-height: auto; padding-top: 34px; padding-bottom: 34px; }
.tax-module-page .account-page-heading { margin-bottom: 20px; }
.tax-module-page .account-page-heading h1 { font-size: clamp(34px, 4vw, 52px); }
.tax-module-shell { display: grid; gap: 16px; }
.tax-module-card, .tax-result-card { padding: 28px 30px; border: 1px solid #d4e6ee; border-radius: 20px; background: rgba(255,255,255,.96); box-shadow: 0 16px 48px rgba(9,54,84,.07); }
.tax-module-heading { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: start; }
.tax-module-icon { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 15px; color: white; font-size: 16px; font-weight: 900; background: linear-gradient(145deg, #087bc1, #16b7ca); }
.tax-module-heading h2 { margin: 5px 0 4px; font-size: 26px; letter-spacing: -.035em; }
.tax-module-heading p { margin: 0; color: var(--muted); line-height: 1.6; }
.tax-account-form { display: grid; grid-template-columns: 190px 1fr; gap: 18px; align-items: end; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.tax-account-form label span, .tax-account-form label small { display: block; }
.tax-account-form label span { color: #173b53; font-weight: 850; }
.tax-account-form label small { margin-top: 6px; color: var(--muted); line-height: 1.45; }
.tax-account-control { display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; gap: 10px; align-items: center; }
.tax-account-control input { width: 100%; min-height: 52px; padding: 0 15px; border: 1px solid #bdd2de; border-radius: 10px; color: var(--ink); font: inherit; outline: none; text-transform: uppercase; }
.tax-account-control input:focus { border-color: #087bc1; box-shadow: 0 0 0 4px rgba(8,123,193,.12); }
.tax-account-control button, .tax-account-control a { display: inline-flex; justify-content: center; gap: 12px; align-items: center; min-height: 52px; padding: 0 17px; border: 0; border-radius: 10px; font: inherit; font-weight: 850; text-decoration: none; cursor: pointer; }
.tax-account-control button { color: white; background: #087bc1; }
.tax-account-control a { border: 1px solid #c5d8e2; color: #294a60; background: white; }
.tax-module-notice { margin-top: 17px; padding: 12px 15px; border: 1px solid #baddea; border-radius: 11px; color: #15516e; background: #edf8fc; line-height: 1.55; }
.tax-result-heading { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
.tax-result-heading h2 { margin: 8px 0 0; font-size: 26px; }
.tax-account-details { display: grid; grid-template-columns: .6fr 1.4fr; gap: 10px; margin: 19px 0; }
.tax-account-details div { padding: 13px 15px; border: 1px solid #d9e7ee; border-radius: 12px; background: #f8fcfe; }
.tax-account-details dt { color: var(--muted); font-size: 12px; }
.tax-account-details dd { margin: 6px 0 0; font-weight: 800; line-height: 1.5; }
.tax-breakdown { display: grid; gap: 1px; overflow: hidden; border: 1px solid #d9e7ee; border-radius: 13px; background: #d9e7ee; }
.tax-breakdown > div { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 11px 15px; background: white; }
.tax-breakdown span { display: flex; gap: 10px; align-items: center; }
.tax-breakdown i { display: grid; width: 35px; height: 29px; place-items: center; border-radius: 8px; color: #08709d; font-size: 11px; font-style: normal; font-weight: 900; background: #e3f4f8; }
.tax-total { display: flex; justify-content: flex-end; gap: 25px; align-items: center; margin-top: 14px; padding: 16px 18px; border-radius: 13px; background: #eaf7fb; }
.tax-total span small, .tax-total span strong { display: block; text-align: right; }
.tax-total span small { margin-bottom: 4px; color: var(--muted); }
.tax-total b { color: #063d63; font-size: 26px; }
.annual-tax-option { display: grid; grid-template-columns: auto minmax(180px, 1fr) auto auto; gap: 15px; align-items: center; margin-top: 16px; padding: 17px 18px; border: 1px solid #9dd9c2; border-radius: 13px; background: #effbf6; }
.annual-tax-badge { display: grid; width: 55px; height: 42px; place-items: center; border-radius: 9px; color: white; font-size: 10px; font-weight: 900; background: #087651; }
.annual-tax-option strong, .annual-tax-option p, .annual-tax-amount small, .annual-tax-amount b { display: block; }
.annual-tax-option p { margin: 5px 0 0; color: #557467; font-size: 12px; line-height: 1.45; }
.annual-tax-amount { min-width: 135px; text-align: right; }
.annual-tax-amount small { margin-bottom: 4px; color: #557467; font-size: 10px; font-weight: 750; text-transform: uppercase; }
.annual-tax-amount b { color: #075f45; font-size: 19px; white-space: nowrap; }
.annual-tax-option > a { display: inline-flex; min-height: 44px; padding: 0 14px; align-items: center; border-radius: 9px; color: white; font-size: 12px; font-weight: 850; text-decoration: none; white-space: nowrap; background: #087651; }
.annual-tax-option > a:hover { background: #066044; }
.compound-module-page .account-main { min-height: auto; padding-top: 34px; padding-bottom: 34px; }
.compound-module-shell { display: grid; gap: 16px; }
.compound-result-card .tax-result-heading p { margin: 6px 0 0; color: var(--muted); }
.compound-table-wrap { margin-top: 20px; border: 1px solid #d9e7ee; border-radius: 13px; }
.compound-table-wrap table { min-width: 760px; }
.compound-court-note { margin: 13px 0 0; color: #8c332f; font-size: 13px; font-weight: 700; text-align: right; }
.compound-check-column { width: 56px; text-align: center !important; }
.compound-check-column input { width: 20px; height: 20px; accent-color: #087bc1; cursor: pointer; }
.compound-selection-form .manual-payment-actions { margin-top: 18px; }
.compound-selection-form button:disabled { cursor: not-allowed; opacity: .48; }
.compound-confirm-card .tax-result-heading p { margin: 5px 0 0; color: var(--muted); }
.manual-payment-page .account-main { min-height: auto; padding-top: 34px; padding-bottom: 34px; }
.manual-payment-shell { display: grid; }
.manual-payment-card { padding: 28px 30px; border: 1px solid #d4e6ee; border-radius: 20px; background: rgba(255,255,255,.96); box-shadow: 0 16px 48px rgba(9,54,84,.07); }
.manual-payment-form { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.manual-payment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.manual-payment-grid label { display: grid; gap: 7px; }
.manual-payment-grid label.is-wide { grid-column: 1 / -1; }
.manual-payment-grid label > span { color: #173b53; font-weight: 800; }
.manual-payment-grid input, .manual-payment-grid textarea, .manual-payment-grid select { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #bdd2de; border-radius: 10px; color: var(--ink); font: inherit; background: white; outline: none; }
.manual-payment-grid textarea { min-height: 105px; resize: vertical; }
.manual-payment-grid input:focus, .manual-payment-grid textarea:focus, .manual-payment-grid select:focus { border-color: #087bc1; box-shadow: 0 0 0 4px rgba(8,123,193,.12); }
.manual-payment-grid input[readonly] { color: #38566a; background: #edf5f8; }
.manual-payment-grid label > small { color: var(--muted); }
.manual-confirmation { display: flex; gap: 11px; align-items: flex-start; margin-top: 18px; padding: 15px; border: 1px solid #d7e6ed; border-radius: 11px; color: #405c70; background: #f8fcfe; line-height: 1.55; }
.manual-confirmation input { flex: 0 0 auto; margin-top: 4px; accent-color: #087bc1; }
.manual-payment-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }
.manual-payment-actions a, .manual-payment-actions button { display: inline-flex; justify-content: center; gap: 10px; align-items: center; min-height: 50px; padding: 0 18px; border: 1px solid #c5d8e2; border-radius: 10px; color: #294a60; font: inherit; font-weight: 850; text-decoration: none; background: white; cursor: pointer; }
.manual-payment-actions .primary { border-color: #087bc1; color: white; background: #087bc1; }
.manual-payment-success { display: grid; grid-template-columns: auto 1fr auto; gap: 17px; align-items: center; margin-top: 22px; padding: 22px; border: 1px solid #bfe5d8; border-radius: 15px; background: #effaf6; }
.manual-payment-success > span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; color: white; font-weight: 900; background: #1aaf83; }
.manual-payment-success small, .manual-payment-success strong { display: block; }
.manual-payment-success strong { margin-top: 3px; font-size: 20px; }
.manual-payment-success p { margin: 5px 0 0; color: var(--muted); }
.manual-payment-success b { color: #063d63; font-size: 26px; white-space: nowrap; }

.portal-authenticated { background: linear-gradient(145deg, #f8fcfe 0%, #eaf5fa 52%, #f2f9fb 100%); }
.portal-authenticated .account-main::before { background: rgba(22,183,202,.12); }
.portal-authenticated .account-header { border-bottom: 1px solid #d9e9f1; box-shadow: 0 8px 30px rgba(5,54,84,.045); }
.portal-authenticated .account-nav > a:not(.button) { color: #173f5c; }
.portal-authenticated .account-nav > a:not(.button):hover { color: #087bc1; }
.portal-authenticated .section-tag { color: #087bc1; }
.portal-authenticated .button.small,
.portal-authenticated .account-submit { border-color: #087bc1; background: #087bc1; box-shadow: 0 13px 25px rgba(8,123,193,.19); }
.portal-authenticated .button.small:hover,
.portal-authenticated .account-submit:hover { background: #076ca8; }
.portal-authenticated .account-form input:focus,
.portal-authenticated .account-form select:focus { border-color: #087bc1; box-shadow: 0 0 0 4px rgba(8,123,193,.12); }
.portal-authenticated .check-line input { accent-color: #087bc1; }
.portal-authenticated .form-meta a,
.portal-authenticated .auth-switch a { color: #087bc1; }
.portal-authenticated .dashboard-welcome { background: linear-gradient(125deg, #052d4b, #0873ae 62%, #16a6bd); box-shadow: 0 22px 55px rgba(5,74,113,.18); }
.portal-authenticated .dashboard-welcome::after { border-color: rgba(165,234,244,.14); }
.portal-authenticated .dashboard-eyebrow { color: #9be6f0; }
.portal-authenticated .dashboard-welcome p { color: #d8eef5; }
.portal-authenticated .dashboard-welcome .account-submit { border-color: white; color: #063d63; background: white; box-shadow: none; }
.portal-authenticated .account-metrics article,
.portal-authenticated .profile-card,
.portal-authenticated .transaction-card { border-color: #d5e5ed; box-shadow: 0 13px 40px rgba(9,54,84,.055); }
.portal-authenticated .account-metrics i,
.portal-authenticated .profile-actions a { color: #08709d; background: #e3f4f8; }
.portal-authenticated .profile-actions a:hover { color: white; background: #087bc1; }
.portal-authenticated .profile-avatar,
.portal-authenticated .settings-icon { background: linear-gradient(145deg, #087bc1, #16b7ca); }
.portal-authenticated .settings-intro { border-color: #cfe4ed; color: #173b53; background: linear-gradient(145deg, #f7fcfe, #e5f4f8); }
.portal-authenticated .settings-intro p { color: #4c6a7d; }
.portal-authenticated .settings-intro > a { color: #087bc1; }
.portal-authenticated .auth-card { border-color: #d4e6ee; box-shadow: 0 24px 70px rgba(9,54,84,.1); }
.portal-authenticated .payment-page-panel { border-color: #cfe2eb; box-shadow: 0 24px 70px rgba(9,54,84,.1); }
.portal-authenticated .payment-page-panel .payment-card { border-color: #d2e1e9; }
.portal-authenticated .payment-page-panel .payment-option input:checked + .payment-card { border-color: #087bc1; background: #f1faff; box-shadow: inset 3px 0 #087bc1, 0 8px 18px rgba(8,123,193,.08); }
.portal-authenticated .payment-page-panel .payment-card > i { color: #0a6f98; background: #def2f7; }

.payment-error-shell { padding-bottom: 20px; }
.payment-error-card { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 26px; width: 100%; margin: 0; padding: 38px; border: 1px solid #d7e4ec; border-radius: 25px; background: #fff; box-shadow: 0 22px 60px rgba(9,54,84,.09); }
.payment-error-icon { display: grid; width: 68px; height: 68px; place-items: center; border-radius: 20px; color: #fff; font-size: 34px; font-weight: 900; background: linear-gradient(145deg, #d44747, #a52634); box-shadow: 0 14px 28px rgba(165,38,52,.18); }
.payment-error-status { display: inline-flex; padding: 7px 12px; border-radius: 999px; color: #8b2831; font-size: 13px; font-weight: 850; background: #fde9eb; }
.payment-error-copy h2 { max-width: 680px; margin: 14px 0 22px; color: #102b46; font-size: clamp(28px, 4vw, 42px); line-height: 1.12; letter-spacing: -.025em; }
.payment-error-reason { padding: 19px 21px; border: 1px solid #f0cdd1; border-radius: 15px; background: #fff8f8; }
.payment-error-reason strong { display: block; color: #822630; font-size: 18px; }
.payment-error-reason p { margin: 6px 0 0; color: #4a6073; }
.payment-error-reference { display: flex; flex-wrap: wrap; gap: 14px 34px; margin: 18px 0 0; padding: 17px 20px; border: 1px solid #dce8ee; border-radius: 14px; background: #f7fbfd; }
.payment-error-reference div { min-width: 170px; }
.payment-error-reference dt { color: #688094; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.payment-error-reference dd { margin: 3px 0 0; color: #143650; font-weight: 850; }
.payment-error-note { margin: 19px 0 0; color: #586f82; font-size: 14px; }
.payment-error-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 25px; }
.payment-error-actions .account-submit { width: auto; text-decoration: none; }
.payment-error-secondary { display: inline-flex; min-height: 50px; align-items: center; padding: 0 18px; border: 1px solid #bfd4e0; border-radius: 11px; color: #173f5c; font-weight: 800; text-decoration: none; background: #fff; }
.payment-error-link { padding: 10px 4px; color: #087bc1; font-weight: 800; text-decoration: none; }

@media (max-width: 980px) {
    .header-inner { grid-template-columns: auto auto; justify-content: space-between; }
    .public-account-header .header-inner { grid-template-columns: auto auto; }
    .menu-toggle { display: block; }
    .main-nav { position: absolute; top: 78px; right: 20px; left: 20px; display: none; gap: 0; padding: 10px; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: var(--shadow); }
    .main-nav.open { display: grid; }
    .main-nav a { padding: 13px; border-bottom: 1px solid #edf2f5; }
    .main-nav a:last-child { border: 0; }
    .header-actions { display: none; }
    .hero-grid { grid-template-columns: 1fr; gap: 50px; }
    .hero-copy { max-width: 720px; }
    .hero { padding-top: 130px; }
    .hero-customer { width: min(620px, 100%); height: 610px; }
    .announcement-inner { grid-template-columns: auto 1fr; }
    .announcement-inner > p { grid-column: 2; }
    .intro-grid, .security-grid { grid-template-columns: 1fr; gap: 55px; }
    .security-visual { min-height: 400px; }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-brand { grid-column: 1 / -1; }
    .auth-shell, .registration-shell { grid-template-columns: 1fr; }
    .auth-copy { padding: 40px; }
    .registration-intro { position: static; }
    .registration-visual { position: relative; top: auto; min-height: 580px; max-height: none; }
    .login-shell .account-visual { min-height: 440px; }
    .forgot-shell .account-visual { min-height: 420px; }
    .account-metrics { grid-template-columns: repeat(2, 1fr); }
    .dashboard-layout { grid-template-columns: 1fr; }
    .profile-card { text-align: left; }
    .profile-avatar { margin: 0; }
    .settings-shell { grid-template-columns: 1fr; }
    .settings-intro { position: static; }
    .dashboard-welcome { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 700px) {
    .shell { width: min(100% - 28px, 1180px); }
    .site-header { padding: 10px 0; }
    .site-logo { width: 50px; height: 62px; }
    .site-brand strong { font-size: var(--font-medium); }
    .hero { min-height: auto; padding: 110px 0 65px; }
    .hero h1 { font-size: var(--font-large); }
    .hero-copy > p { font-size: var(--font-normal); }
    .hero-customer { height: 460px; border-width: 5px; border-radius: 24px; }
    .hero-customer figcaption { right: 14px; bottom: 14px; left: 14px; }
    .hero-actions { align-items: stretch; flex-direction: column; }
    .trust-row { align-items: flex-start; gap: 10px; flex-direction: column; }
    .payment-section { padding: 70px 0 78px; }
    .payment-intro { align-items: flex-start; flex-direction: column; margin-bottom: 27px; }
    .payment-panel { padding: 18px; border-radius: 19px; }
    .payment-page-panel { padding: 20px; }
    .payment-options { grid-template-columns: 1fr; }
    .payment-card { min-height: 70px; }
    .payment-submit { align-items: stretch; flex-direction: column; }
    .payment-submit button { justify-content: center; }
    .announcement-inner { grid-template-columns: auto 1fr; padding: 18px; }
    .announcement-inner > p { grid-column: 1 / -1; }
    .section { padding: 72px 0; }
    .benefit-grid, .download-grid { grid-template-columns: 1fr; }
    .benefit-grid { margin-top: 40px; }
    .security-visual { width: min(100%, 560px); margin: 0 auto; }
    .downloads-heading, .closing-inner { align-items: flex-start; flex-direction: column; }
    .closing-inner > div:last-child { width: 100%; flex-direction: column; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px 25px; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-bottom { align-items: flex-start; flex-direction: column; }
    .site-footer { margin: 10px; padding: 42px 0 22px; border-radius: 22px; }
    .account-main { padding: 45px 0 65px; }
    .account-header .header-inner { grid-template-columns: 1fr; gap: 10px; }
    .public-account-header .header-inner { grid-template-columns: auto auto; }
    .account-nav { flex-wrap: wrap; justify-content: flex-start; gap: 10px 16px; padding-top: 10px; border-top: 1px solid var(--line); }
    .account-page-heading { margin-bottom: 25px; }
    .auth-card, .auth-copy { padding: 25px; border-radius: 19px; }
    .account-visual, .registration-visual { min-height: 500px; border-width: 4px; border-radius: 21px; }
    .login-shell .account-visual { min-height: 360px; }
    .login-shell .auth-card { padding: 25px; }
    .forgot-shell .account-visual { min-height: 340px; }
    .forgot-shell .auth-card { padding: 25px; }
    .account-visual figcaption { right: 20px; bottom: 20px; left: 20px; }
    .account-visual h2 { font-size: 30px; }
    .form-grid { grid-template-columns: 1fr; }
    .field-wide { grid-column: auto; }
    .password-fields { grid-template-columns: 1fr; }
    .password-feedback { grid-column: auto; }
    .password-strength { grid-template-columns: 1fr auto; }
    .strength-bars { grid-column: 1 / -1; grid-row: 2; }
    .captcha-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
    .captcha-control, .compact-captcha .captcha-control { grid-template-columns: 1fr; }
    .captcha-control img { width: 100%; max-width: 300px; }
    .compact-captcha .captcha-control label { grid-column: auto; }
    .form-meta, .dashboard-welcome { align-items: flex-start; flex-direction: column; }
    .dashboard-welcome { padding: 28px 24px; }
    .dashboard-actions { width: 100%; align-items: stretch; flex-direction: column; }
    .dashboard-actions a { justify-content: center; width: 100%; }
    .dashboard-welcome .account-submit { width: 100%; }
    .account-metrics { grid-template-columns: 1fr; }
    .transaction-heading { align-items: flex-start; flex-direction: column; }
    .transaction-view-all, .transaction-result-summary { align-items: flex-start; flex-direction: column; }
    .transaction-filters { align-items: stretch; flex-direction: column; }
    .transaction-filters label { min-width: 0; }
    .portal-pagination { justify-content: space-between; }
    .iclean-heading { flex-direction: column; }
    .iclean-item { grid-template-columns: auto 1fr auto; }
    .iclean-info { grid-column: 2 / 4; }
    .iclean-due { grid-column: 2; }
    .iclean-amount { grid-column: 3; }
    .iclean-item > a { grid-column: 2 / 4; justify-content: center; }
    .iclean-summary { justify-content: space-between; padding: 18px 20px; }
    .iclean-summary span small, .iclean-summary span strong { text-align: left; }
    .settings-intro, .settings-card { padding: 25px; border-radius: 19px; }
    .settings-form-actions { align-items: stretch; flex-direction: column-reverse; }
    .settings-form-actions .account-submit { justify-content: space-between; width: 100%; }
    .policy-card { padding: 25px; border-radius: 19px; }
    .policy-feature-grid { grid-template-columns: 1fr; }
    .disclaimer-card blockquote { padding: 18px; font-size: 17px; }
    .contact-shell { grid-template-columns: 1fr; }
    .contact-intro { position: static; padding: 25px; }
    .contact-form-card { padding: 25px; }
    .contact-form-grid { grid-template-columns: 1fr; }
    .contact-submit { justify-self: stretch; width: 100%; }
    .tax-module-card, .tax-result-card { padding: 23px; border-radius: 18px; }
    .tax-module-heading { grid-template-columns: auto 1fr; }
    .tax-module-heading .secure-pill { grid-column: 1 / -1; width: max-content; }
    .tax-account-form { grid-template-columns: 1fr; }
    .tax-account-control { grid-template-columns: 1fr; }
    .tax-account-details { grid-template-columns: 1fr; }
    .tax-result-heading { flex-direction: column; }
    .tax-total { justify-content: space-between; }
    .annual-tax-option { grid-template-columns: auto 1fr; }
    .annual-tax-amount { grid-column: 2; text-align: left; }
    .annual-tax-option > a { grid-column: 1 / -1; justify-content: center; }
    .manual-payment-card { padding: 23px; border-radius: 18px; }
    .manual-payment-grid { grid-template-columns: 1fr; }
    .manual-payment-grid label.is-wide { grid-column: auto; }
    .manual-payment-actions { align-items: stretch; flex-direction: column-reverse; }
    .manual-payment-success { grid-template-columns: auto 1fr; }
    .manual-payment-success b { grid-column: 2; }
    .payment-error-card { grid-template-columns: 1fr; padding: 25px; border-radius: 19px; }
    .payment-error-icon { width: 56px; height: 56px; border-radius: 16px; font-size: 28px; }
    .payment-error-actions { align-items: stretch; flex-direction: column; }
    .payment-error-actions .account-submit,
    .payment-error-secondary { justify-content: space-between; width: 100%; }
    .payment-error-link { text-align: center; }
}

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