/* STEP 20N-BS — Premium Forgot Password page */
.forgot-page{--fp-ink:#182b4b;--fp-muted:#61728b;--fp-blue:#356fe5;background:#fff;color:var(--fp-ink)}
.forgot-page *{box-sizing:border-box}
.forgot-page a{text-decoration:none}
.forgot-container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.forgot-hero{position:relative;overflow:hidden;padding:53px 0 59px;background:radial-gradient(ellipse at 8% 10%,rgba(76,119,203,.3),transparent 47%),radial-gradient(ellipse at 96% 90%,rgba(61,116,199,.15),transparent 45%),linear-gradient(125deg,#101c36,#15294c 55%,#112547)}
.forgot-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,455px);align-items:center;gap:58px}
.forgot-hero-copy{color:#fff}
.forgot-hero-label{display:flex;align-items:center;gap:10px;color:#bcd0fa;font-size:11px;font-weight:800;letter-spacing:1.8px}
.forgot-hero-label>span{color:#7fe0c1}
.forgot-hero-copy h1{font-size:clamp(40px,4.8vw,63px);line-height:1.1;letter-spacing:-2px;margin:20px 0;color:#fff}
.forgot-hero-copy h1 em{display:block;font-style:normal;color:#a9c5ff}
.forgot-hero-lead{font-size:15px;line-height:1.8;color:#c1cfe7;max-width:540px;margin:0}
.forgot-hero-points{display:grid;gap:19px;margin:29px 0}
.forgot-hero-points>div{display:flex;gap:14px;align-items:flex-start;transition:transform .23s ease}
.forgot-hero-points>div>span{flex:0 0 34px;display:grid;place-items:center;height:34px;border-radius:10px;border:1px solid #ffffff24;background:#ffffff12;color:#8de5c6}
.forgot-hero-points p{margin:0}
.forgot-hero-points strong{display:block;color:#fff;font-size:14px;margin-bottom:4px}
.forgot-hero-points small{display:block;color:#b8c8e1;font-size:12px;line-height:1.65}
.forgot-hero-footnote{border-top:1px solid #ffffff24;padding-top:18px;color:#bac9e1;font-size:12px;line-height:1.7}
.forgot-card{width:100%;max-width:none;padding:29px 32px;border-radius:22px;background:#fff;border:1px solid #e2eaf6;box-shadow:0 26px 70px #030e2540;transition:box-shadow .25s,border-color .25s}
.forgot-card-badge{display:inline-flex;gap:7px;align-items:center;background:#eef4ff;color:#3459a4;border-radius:50px;padding:7px 11px;font-size:10px;font-weight:800;letter-spacing:1px}
.forgot-card-badge span{color:#4c85f0}
.forgot-icon{width:49px;height:49px;display:grid;place-items:center;margin:17px 0 11px;border-radius:14px;background:#eaf1ff;font-size:23px}
.forgot-eyebrow{display:block;text-align:left;color:#356fe5;font-size:10px;font-weight:850;letter-spacing:1.6px}
.forgot-card h2{font-size:27px;letter-spacing:-.7px;line-height:1.2;color:#182b4b;margin:9px 0}
.forgot-description{text-align:left;font-size:13px;line-height:1.75;color:#61728b;margin:0 0 17px}
.forgot-notice{display:grid;gap:5px;padding:13px 14px;border-radius:10px;background:#eef5ff;border:1px solid #d5e5fb;color:#3b5c8c;font-size:12px;line-height:1.65;margin:0 0 19px}
.forgot-notice strong{color:#244a87;font-size:13px}
.forgot-field{margin:0 0 16px}
.forgot-field label{display:block;font-size:12px;font-weight:800;color:#34445e;margin-bottom:7px}
.forgot-field input{display:block;width:100%;height:47px;padding:0 13px;border:1px solid #d9e1ed;border-radius:9px;background:#fff;color:#17243c;font:inherit;font-size:13px}
.forgot-field input:focus{outline:3px solid #dbe8ff;border-color:#477ff3}
.forgot-field small{display:block;margin-top:7px;font-size:11px;line-height:1.6;color:#728198}
.forgot-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:12px;border:0;border-radius:10px;background:#8799b8;color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:not-allowed}
.forgot-submit span{background:#ffffff25;border-radius:5px;padding:5px 7px;font-size:10px}
.forgot-card-footer{margin-top:19px;padding-top:16px;border-top:1px solid #eaf0f7;text-align:center}
.forgot-card-footer p{font-size:12px;color:#64748b;margin:0 0 11px}
.forgot-card-footer a{font-weight:750;color:#356fe5}
.forgot-card-footer a:hover{text-decoration:underline}
.forgot-home-link{display:inline-block;margin-top:3px;font-size:12px;color:#70809a!important}
.forgot-steps-section,.forgot-security-section,.forgot-links-section,.forgot-faq-section{padding:47px 0 50px}
.forgot-steps-section{background:linear-gradient(180deg,#edf4fd,#f4f8ff)}
.forgot-security-section{background:#fff}
.forgot-links-section{background:linear-gradient(180deg,#f3f0fc,#f9f7ff)}
.forgot-faq-section{background:linear-gradient(180deg,#eff6fa,#f5f9fc)}
.forgot-heading{text-align:center;max-width:760px;margin:0 auto 24px}
.forgot-section-label{font-size:11px;font-weight:850;letter-spacing:1.7px;color:#356fe5}
.forgot-heading h2,.forgot-security-copy h2{font-size:clamp(28px,3.3vw,39px);line-height:1.2;letter-spacing:-1px;margin:9px 0 11px;color:#182b4b}
.forgot-heading p,.forgot-security-copy>p{font-size:14px;line-height:1.75;color:#61728b;margin:0}
.forgot-steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.forgot-tone-blue{--tone:#5486e6;--tone-bg:#f1f6ff;--tone-border:#dbe7fb}
.forgot-tone-mint{--tone:#239d7b;--tone-bg:#f0faf6;--tone-border:#d8eee4}
.forgot-tone-lavender{--tone:#8266cc;--tone-bg:#f7f3ff;--tone-border:#e6dcf8}
.forgot-tone-gold{--tone:#bd8637;--tone-bg:#fff8ed;--tone-border:#f2e4cf}
.forgot-feature-card,.forgot-security-item,.forgot-link-card{background:var(--tone-bg);border:1px solid var(--tone-border);border-radius:15px;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.forgot-feature-card{position:relative;overflow:hidden;padding:23px 20px;min-height:205px}
.forgot-feature-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--tone)}
.forgot-step-number{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:#fff;color:var(--tone);font-size:17px;font-weight:850;margin-bottom:17px}
.forgot-feature-card h3{font-size:16px;line-height:1.4;color:#182b4b;margin:0 0 9px}
.forgot-feature-card p{font-size:12px;line-height:1.75;color:#61728b;margin:0}
.forgot-security-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:52px}
.forgot-security-copy>p{max-width:510px}
.forgot-primary-link{display:inline-flex;align-items:center;gap:13px;margin-top:19px;padding:13px 17px;background:#1d3e7d;border-radius:10px;color:#fff;font-size:12px;font-weight:800}
.forgot-primary-link:hover{background:#3159a3;color:#fff}
.forgot-security-list{display:grid;gap:10px}
.forgot-security-item{display:flex;gap:14px;align-items:flex-start;padding:17px 19px}
.forgot-security-item>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;background:#fff;color:var(--tone);font-weight:800}
.forgot-security-item h3{font-size:14px;color:#182b4b;margin:0 0 5px}
.forgot-security-item p{font-size:12px;line-height:1.7;color:#61728b;margin:0}
.forgot-links-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.forgot-link-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:21px;min-height:176px}
.forgot-link-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--tone)}
.forgot-link-symbol{display:grid;place-items:center;width:34px;height:34px;background:#fff;border-radius:10px;color:var(--tone);font-size:18px;font-weight:800}
.forgot-link-card strong{font-size:15px;color:#182b4b}
.forgot-link-card small{font-size:12px;line-height:1.65;color:#61728b}
.forgot-link-card b{font-size:19px;color:var(--tone);margin-top:auto;transition:transform .24s ease}
.forgot-faq-container{max-width:860px}
.forgot-faq-list{display:grid;gap:8px}
.forgot-faq details{background:#fff;border:1px solid #dfe8f4;border-radius:12px;overflow:hidden;transition:border-color .24s ease,box-shadow .24s ease}
.forgot-faq details[open]{background:#fbfdff;border-color:#9ebef2;box-shadow:0 8px 24px #214a8f12}
.forgot-faq summary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 19px;list-style:none;cursor:pointer;color:#233550;font-size:13px;line-height:1.55;font-weight:800}
.forgot-faq summary::-webkit-details-marker{display:none}
.forgot-faq summary span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:8px;background:#edf3ff;color:#356fe5;font-size:20px;font-weight:400}
.forgot-faq details[open] summary span{transform:rotate(45deg)}
.forgot-faq-answer{margin:0 19px;border-top:1px solid #eaf0f7;padding:13px 0 16px;font-size:13px;line-height:1.75;color:#61728b}
.forgot-faq-answer a{color:#356fe5;font-weight:750;text-decoration:underline}
.forgot-bottom-cta{padding:37px 0;background:linear-gradient(110deg,#162d53,#1b3d70);color:#fff}
.forgot-cta-layout{display:flex;justify-content:space-between;align-items:center;gap:25px}
.forgot-cta-layout>div>span{font-size:10px;font-weight:850;letter-spacing:1.7px;color:#a7c1f7}
.forgot-cta-layout h2{font-size:clamp(23px,2.8vw,32px);letter-spacing:-.7px;line-height:1.25;margin:8px 0;color:#fff}
.forgot-cta-layout p{font-size:13px;color:#b7c8e5;margin:0}
.forgot-cta-layout>a{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;padding:14px 18px;background:#fff;color:#1b3b77;border-radius:10px;font-size:12px;font-weight:850}
.forgot-cta-layout>a:hover{background:#e8f0ff;color:#1b3b77}
.forgot-page a:focus-visible,.forgot-page summary:focus-visible,.forgot-page input:focus-visible{outline:3px solid #80acff;outline-offset:3px}
@media(hover:hover) and (pointer:fine){
.forgot-feature-card:hover,.forgot-link-card:hover{transform:translateY(-6px);border-color:var(--tone);box-shadow:0 18px 36px #1c3e751b}
.forgot-security-item:hover{transform:translateX(5px);border-color:var(--tone);box-shadow:0 9px 22px #1b407714}
.forgot-link-card:hover b{transform:translateX(6px)}
.forgot-faq details:hover{border-color:#a9c5ed;box-shadow:0 7px 20px #1c3e7512}
.forgot-card:hover{border-color:#d1def3;box-shadow:0 30px 75px #030e2549}
.forgot-hero-points>div:hover{transform:translateX(5px)}
}
@media(max-width:1000px){.forgot-hero-layout{gap:30px;grid-template-columns:minmax(0,1fr) minmax(330px,425px)}.forgot-steps-grid,.forgot-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.forgot-feature-card{min-height:175px}}
@media(max-width:780px){.forgot-hero{padding:40px 0 47px}.forgot-hero-layout{grid-template-columns:1fr;max-width:580px;gap:24px}.forgot-hero-copy h1{font-size:clamp(37px,8vw,54px)}.forgot-steps-section,.forgot-security-section,.forgot-links-section,.forgot-faq-section{padding:39px 0 42px}.forgot-security-layout{grid-template-columns:1fr;gap:25px}.forgot-cta-layout{flex-direction:column;align-items:flex-start}}
@media(max-width:480px){.forgot-container{width:calc(100% - 32px)}.forgot-hero{padding:30px 0 39px}.forgot-hero-copy h1{font-size:38px;letter-spacing:-1.4px}.forgot-hero-lead{font-size:14px}.forgot-card{padding:24px 19px;border-radius:18px}.forgot-card h2{font-size:25px}.forgot-steps-section,.forgot-security-section,.forgot-links-section,.forgot-faq-section{padding:33px 0 36px}.forgot-steps-grid,.forgot-links-grid{grid-template-columns:1fr;gap:11px}.forgot-feature-card,.forgot-link-card{min-height:0;padding:19px}.forgot-faq summary{padding:14px 16px}.forgot-faq-answer{margin:0 16px}.forgot-bottom-cta{padding:30px 0}}
@media(prefers-reduced-motion:reduce){.forgot-page .forgot-feature-card,.forgot-page .forgot-security-item,.forgot-page .forgot-link-card,.forgot-page .forgot-link-card b,.forgot-page .forgot-card,.forgot-page .forgot-faq details,.forgot-page .forgot-hero-points>div{transition:none!important;transform:none!important}}


/* ====================================================
   STEP 20N-BT2 — UNIQUE RECOVERY DESIGN + FAQ REPAIR
   ==================================================== */

/* A light, calming identity distinct from Login/Register */
.forgot-page .forgot-hero {
    background:
        radial-gradient(circle at 8% 12%, rgba(62, 116, 216, .11), transparent 38%),
        radial-gradient(circle at 96% 86%, rgba(38, 165, 148, .12), transparent 40%),
        linear-gradient(125deg, #f4f8ff 0%, #e9f2ff 55%, #effbf8 100%);
    border-bottom: 1px solid #dce8f4;
}

.forgot-page .forgot-hero-copy {
    color: #172c4c;
}

.forgot-page .forgot-hero-label {
    color: #3264b4;
}

.forgot-page .forgot-hero-copy h1 {
    color: #152a49;
}

.forgot-page .forgot-hero-copy h1 em {
    color: #287c9a;
}

.forgot-page .forgot-hero-lead {
    color: #506782;
}

.forgot-page .forgot-hero-points strong {
    color: #203856;
}

.forgot-page .forgot-hero-points small,
.forgot-page .forgot-hero-footnote {
    color: #627791;
}

.forgot-page .forgot-hero-points > div > span {
    background: #e2f5ef;
    border-color: #c8e9df;
    color: #14886c;
}

.forgot-page .forgot-hero-footnote {
    border-top-color: #d6e3ef;
}

/* Distinctive account recovery card */
.forgot-page .forgot-card {
    background: linear-gradient(160deg, #ffffff, #f9fcff);
    border: 1px solid #d6e6f3;
    border-top: 5px solid #25a28b;
    box-shadow: 0 20px 55px rgba(27, 69, 116, .12);
}

.forgot-page .forgot-icon {
    background: #e4f7f1;
    color: #168c75;
}

.forgot-page .forgot-card-badge {
    background: #e8f7f2;
    color: #157e6b;
}

.forgot-page .forgot-card-badge span {
    color: #18a083;
}

.forgot-page .forgot-notice {
    background: #fff8e9;
    border-color: #f0dfb7;
    color: #80612b;
}

.forgot-page .forgot-notice strong {
    color: #77521c;
}

/* Distinct section background combinations */
.forgot-page .forgot-steps-section {
    background: linear-gradient(180deg, #ffffff, #f4f8fd);
}

.forgot-page .forgot-security-section {
    background: linear-gradient(115deg, #eaf8f3, #f5fbf9);
}

.forgot-page .forgot-links-section {
    background: linear-gradient(115deg, #f5f0ff, #f9f7ff);
}

.forgot-page .forgot-faq-section {
    background: linear-gradient(180deg, #eef5ff, #f7faff);
}

/* FAQ selector repair: HTML uses .forgot-faq-section */
.forgot-page .forgot-faq-container {
    max-width: 900px;
}

.forgot-page .forgot-faq-list {
    display: grid;
    gap: 11px;
}

.forgot-page .forgot-faq-section details {
    display: block;
    background: #ffffff;
    border: 1px solid #dce6f4;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 3px 12px rgba(26, 60, 105, .035);
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.forgot-page .forgot-faq-section details:nth-child(3n+2) {
    background: #f8fcff;
}

.forgot-page .forgot-faq-section details:nth-child(3n+3) {
    background: #f9f8ff;
}

.forgot-page .forgot-faq-section details[open] {
    background: #ffffff;
    border-color: #80acd8;
    box-shadow: 0 12px 30px rgba(30, 77, 133, .10);
}

.forgot-page .forgot-faq-section summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 18px 21px;
    cursor: pointer;
    list-style: none;
    color: #1b3555;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.55;
}

.forgot-page .forgot-faq-section summary::-webkit-details-marker {
    display: none;
}

.forgot-page .forgot-faq-section summary::marker {
    content: "";
}

.forgot-page .forgot-faq-section summary span {
    display: grid;
    place-items: center;
    flex: 0 0 30px;
    height: 30px;
    border-radius: 9px;
    background: #eaf2ff;
    color: #3268c2;
    font-size: 21px;
    font-weight: 500;
    transition: transform .2s ease, background .2s ease;
}

.forgot-page .forgot-faq-section details[open] summary span {
    transform: rotate(45deg);
    background: #dff4ee;
    color: #16866f;
}

.forgot-page .forgot-faq-answer {
    margin: 0 21px;
    padding: 15px 0 19px;
    border-top: 1px solid #e4edf6;
    color: #536982;
    font-size: 13px;
    line-height: 1.85;
}

.forgot-page .forgot-faq-answer a {
    color: #2468bd;
    font-weight: 750;
    text-decoration: underline;
}

@media (hover: hover) and (pointer: fine) {
    .forgot-page .forgot-faq-section details:hover {
        border-color: #8db5e6;
        box-shadow: 0 9px 25px rgba(29, 75, 133, .10);
        transform: translateY(-2px);
    }

    .forgot-page .forgot-card:hover {
        box-shadow: 0 26px 65px rgba(27, 69, 116, .17);
        border-color: #b8dacf;
    }
}

@media (max-width: 480px) {
    .forgot-page .forgot-faq-section summary {
        padding: 15px 16px;
        font-size: 13px;
    }

    .forgot-page .forgot-faq-answer {
        margin: 0 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .forgot-page .forgot-faq-section details,
    .forgot-page .forgot-faq-section summary span {
        transition: none !important;
    }

    .forgot-page .forgot-faq-section details:hover {
        transform: none !important;
    }
}


/* ====================================================
   STEP 20N-BU — RESTORE PREMIUM DARK NAVY COLOR PALETTE
   Preserve FAQ accordion repair and card hover effects
   ==================================================== */

/* Original premium dark hero */
.forgot-page .forgot-hero {
    background:
        radial-gradient(
            ellipse at 8% 10%,
            rgba(76,119,203,.30),
            transparent 47%
        ),
        radial-gradient(
            ellipse at 96% 90%,
            rgba(61,116,199,.15),
            transparent 45%
        ),
        linear-gradient(
            125deg,
            #101c36 0%,
            #15294c 55%,
            #112547 100%
        );
    border-bottom: 0;
}

.forgot-page .forgot-hero-copy {
    color: #ffffff;
}

.forgot-page .forgot-hero-label {
    color: #bcd0fa;
}

.forgot-page .forgot-hero-copy h1 {
    color: #ffffff;
}

.forgot-page .forgot-hero-copy h1 em {
    color: #a9c5ff;
}

.forgot-page .forgot-hero-lead {
    color: #c1cfe7;
}

.forgot-page .forgot-hero-points strong {
    color: #ffffff;
}

.forgot-page .forgot-hero-points small,
.forgot-page .forgot-hero-footnote {
    color: #bac9e1;
}

.forgot-page .forgot-hero-points > div > span {
    background: rgba(255,255,255,.075);
    border-color: rgba(255,255,255,.14);
    color: #8de5c6;
}

.forgot-page .forgot-hero-footnote {
    border-top-color: rgba(255,255,255,.14);
}

/* Restore original white recovery card */
.forgot-page .forgot-card {
    background: #ffffff;
    border: 1px solid #e2eaf6;
    border-top: 1px solid #e2eaf6;
    box-shadow: 0 26px 70px rgba(3,14,37,.25);
}

.forgot-page .forgot-icon {
    background: #eaf1ff;
    color: #356fe5;
}

.forgot-page .forgot-card-badge {
    background: #eef4ff;
    color: #3459a4;
}

.forgot-page .forgot-card-badge span {
    color: #4c85f0;
}

.forgot-page .forgot-notice {
    background: #eef5ff;
    border-color: #d5e5fb;
    color: #3b5c8c;
}

.forgot-page .forgot-notice strong {
    color: #244a87;
}

/* Restore original section background combinations */
.forgot-page .forgot-steps-section {
    background: linear-gradient(
        180deg,
        #edf4fd,
        #f4f8ff
    );
}

.forgot-page .forgot-security-section {
    background: #ffffff;
}

.forgot-page .forgot-links-section {
    background: linear-gradient(
        180deg,
        #f3f0fc,
        #f9f7ff
    );
}

.forgot-page .forgot-faq-section {
    background: linear-gradient(
        180deg,
        #eff6fa,
        #f5f9fc
    );
}

/* FAQ repair and premium hover effects remain intact */


/* STEP 20N-CE: Forgot Password interaction polish */
.forgot-page .forgot-field input,
.forgot-page .forgot-primary-link,
.forgot-page .forgot-cta-layout > a,
.forgot-page .forgot-card-footer a,
.forgot-page .forgot-faq details {
    transition:
        transform .24s ease,
        box-shadow .24s ease,
        border-color .24s ease,
        background-color .24s ease,
        color .24s ease;
}

.forgot-page .forgot-field input:hover:not(:disabled) {
    border-color: #7da9d5;
    box-shadow: 0 0 0 3px rgba(37,162,139,.07);
}

.forgot-page .forgot-field input:focus {
    border-color: #477ff3;
    outline: 3px solid #dbe8ff;
}

@media (hover:hover) and (pointer:fine) {
    .forgot-page .forgot-primary-link:hover,
    .forgot-page .forgot-cta-layout > a:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 24px rgba(18,54,101,.17);
    }

    .forgot-page .forgot-faq details:hover {
        transform: translateY(-2px);
    }

    .forgot-page .forgot-card-footer a:hover {
        color: #204eab;
    }
}

.forgot-page .forgot-submit:disabled {
    cursor: not-allowed;
}

@media (prefers-reduced-motion:reduce) {
    .forgot-page .forgot-field input,
    .forgot-page .forgot-primary-link,
    .forgot-page .forgot-cta-layout > a,
    .forgot-page .forgot-card-footer a,
    .forgot-page .forgot-faq details {
        transition: none !important;
    }

    .forgot-page .forgot-primary-link:hover,
    .forgot-page .forgot-cta-layout > a:hover,
    .forgot-page .forgot-faq details:hover {
        transform: none !important;
    }
}


/* STEP 20N-CF: Visible Forgot Password form-card hover */
.forgot-page .forgot-card {
    transition:
        transform .28s ease,
        box-shadow .28s ease,
        border-color .28s ease;
}

@media (hover:hover) and (pointer:fine) {
    .forgot-page .forgot-card:hover {
        transform: translateY(-5px);
        border-color: #a6d7cc;
        box-shadow: 0 35px 85px rgba(3,14,37,.30);
    }

    .forgot-page .forgot-field input:hover:not(:disabled) {
        border-color: #39a993;
        box-shadow: 0 0 0 4px rgba(37,162,139,.12);
    }
}

@media (prefers-reduced-motion:reduce) {
    .forgot-page .forgot-card:hover {
        transform: none !important;
    }
}
