/* =========================================================
   BITWISE ACADEMY
   RESOURCES PAGE
   PREMIUM NAVY + BLUE + MAROON
========================================================= */

.bw-resources-page,
.bw-resources-page * {
    box-sizing: border-box;
}

.bw-resources-page {
    --r-navy: #061d49;
    --r-navy-dark: #03122f;
    --r-blue: #075fc7;
    --r-blue-light: #159cff;
    --r-maroon: #8f0b2a;
    --r-red: #d9173d;
    --r-white: #ffffff;
    --r-soft: #f5f8fd;
    --r-text: #11233f;
    --r-muted: #66758b;

    width: 100%;
    overflow: hidden;
    background: #ffffff;
    color: var(--r-text);
    font-family: "Inter", sans-serif;
}

.bw-resources-page a {
    text-decoration: none;
}

.resources-container {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}


/* =========================================================
   HERO
========================================================= */

.resources-hero {
    position: relative;
    min-height: 720px;
    display: flex;
    align-items: center;
    overflow: hidden;

    background:
        radial-gradient(circle at 78% 38%, rgba(21,156,255,.28), transparent 27%),
        radial-gradient(circle at 92% 80%, rgba(217,23,61,.28), transparent 28%),
        linear-gradient(120deg, #031735 0%, #061d49 48%, #132e67 72%, #5d1635 100%);

    color: #ffffff;
}

.resources-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(115deg, transparent 35%, rgba(255,255,255,.05) 50%, transparent 65%);
    transform: translateX(-100%);
    animation: heroLight 7s ease-in-out infinite;
    pointer-events: none;
}

@keyframes heroLight {
    0%, 25% { transform: translateX(-100%); }
    55%, 100% { transform: translateX(100%); }
}

.resources-hero-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(5px);
    pointer-events: none;
}

.glow-one {
    width: 430px;
    height: 430px;
    top: -180px;
    left: -120px;
    background: rgba(21,156,255,.14);
}

.glow-two {
    width: 450px;
    height: 450px;
    right: -180px;
    bottom: -180px;
    background: rgba(217,23,61,.13);
}

.resources-hero-grid {
    position: relative;
    z-index: 2;
    width: min(1240px, calc(100% - 70px));
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.02fr .98fr;
    align-items: center;
    gap: 70px;
}

.resources-hero-content {
    max-width: 690px;
}

.resources-eyebrow,
.section-heading > span,
.glossary-intro > span,
.library-system-copy > span,
.resource-newsletter-section > div > div > span,
.resources-final-content > span {
    display: inline-block;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}

.resources-eyebrow {
    margin-bottom: 22px;
    color: #73c5ff;
}

.resources-hero h1 {
    margin: 0 0 24px;
    font-family: "Manrope", sans-serif;
    font-size: clamp(50px, 6vw, 82px);
    line-height: .98;
    letter-spacing: -2px;
    font-weight: 800;
}

.resources-hero h1 span {
    display: block;
    margin-top: 10px;
    background: linear-gradient(90deg, #ffffff, #ff718c);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.resources-hero p {
    max-width: 650px;
    margin: 0;
    font-size: 19px;
    line-height: 1.8;
    color: rgba(255,255,255,.82);
}

.resources-hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 38px;
}


/* =========================================================
   BUTTONS
========================================================= */

.resource-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    min-height: 56px;
    padding: 0 25px;

    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;

    overflow: hidden;
    transition: transform .35s ease, box-shadow .35s ease;
}

.resource-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 70%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.3), transparent);
    transform: skewX(-20deg);
    transition: left .7s ease;
}

.resource-btn:hover::before {
    left: 130%;
}

.resource-btn:hover {
    transform: translateY(-3px);
}

.resource-btn-red {
    color: #ffffff;
    background: linear-gradient(135deg, #a70d32, #d9173d);
    box-shadow: 0 14px 32px rgba(217,23,61,.24);
}

.resource-btn-outline {
    color: #ffffff;
    border: 1px solid rgba(255,255,255,.32);
    background: rgba(255,255,255,.06);
}


/* =========================================================
   HERO RESOURCE VISUAL
========================================================= */

.resource-vault-visual {
    position: relative;
    height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vault-orbit {
    position: absolute;
    border: 1px solid rgba(21,156,255,.35);
    border-radius: 50%;
}

.orbit-one {
    width: 430px;
    height: 430px;
    transform: rotate(-20deg);
}

.orbit-two {
    width: 330px;
    height: 330px;
    border-color: rgba(217,23,61,.32);
    transform: rotate(25deg);
}

.vault-sheet {
    position: absolute;
    width: 330px;
    height: 390px;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.12);
}

.sheet-back {
    transform: rotate(-11deg) translate(-38px, 18px);
    background: linear-gradient(145deg, rgba(7,95,199,.42), rgba(6,29,73,.72));
}

.sheet-mid {
    transform: rotate(8deg) translate(30px, 4px);
    padding: 90px 35px;
    background: linear-gradient(145deg, rgba(143,11,42,.38), rgba(6,29,73,.78));
}

.sheet-line {
    display: block;
    height: 8px;
    margin-bottom: 18px;
    width: 75%;
    border-radius: 10px;
    background: rgba(255,255,255,.16);
}

.sheet-line.long { width: 92%; }
.sheet-line.short { width: 52%; }

.vault-main-sheet {
    position: relative;
    z-index: 3;
    width: 330px;
    height: 390px;
    padding: 30px;
    border-radius: 22px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.98), rgba(232,241,252,.96));
    color: var(--r-navy);
    box-shadow:
        0 30px 70px rgba(0,0,0,.28),
        0 0 50px rgba(21,156,255,.16);
    transform: rotate(-2deg);
}

.sheet-top {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.sheet-top b {
    color: var(--r-maroon);
}

.sheet-chart {
    height: 210px;
    margin: 38px 0 25px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 0 8px 12px;
    border-bottom: 1px solid rgba(6,29,73,.13);
}

.sheet-chart i {
    width: 18px;
    border-radius: 5px 5px 2px 2px;
    background: linear-gradient(180deg, #159cff, #075fc7);
    animation: barFloat 3s ease-in-out infinite;
}

.sheet-chart i:nth-child(1) { height: 42%; }
.sheet-chart i:nth-child(2) { height: 57%; animation-delay: .15s; }
.sheet-chart i:nth-child(3) { height: 38%; animation-delay: .3s; }
.sheet-chart i:nth-child(4) { height: 76%; background: linear-gradient(180deg, #d9173d, #8f0b2a); animation-delay: .45s; }
.sheet-chart i:nth-child(5) { height: 61%; animation-delay: .6s; }
.sheet-chart i:nth-child(6) { height: 84%; animation-delay: .75s; }
.sheet-chart i:nth-child(7) { height: 70%; background: linear-gradient(180deg, #d9173d, #8f0b2a); animation-delay: .9s; }

@keyframes barFloat {
    50% { transform: translateY(-7px); }
}

.sheet-bottom {
    display: flex;
    justify-content: space-between;
    font-size: 9px;
    font-weight: 800;
    color: #66758b;
}

.vault-badge {
    position: absolute;
    z-index: 5;
    right: 15px;
    bottom: 28px;
    padding: 11px 15px;
    border-radius: 10px;
    background: linear-gradient(135deg, #8f0b2a, #d9173d);
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    box-shadow: 0 12px 28px rgba(217,23,61,.3);
}


/* =========================================================
   SECTION HEADINGS
========================================================= */

.section-heading {
    max-width: 820px;
}

.section-heading > span,
.glossary-intro > span,
.library-system-copy > span {
    color: var(--r-maroon);
    margin-bottom: 15px;
}

.section-heading h2,
.glossary-intro h2,
.library-system-copy h2,
.resources-final-content h2 {
    margin: 0 0 18px;
    font-family: "Manrope", sans-serif;
    font-size: clamp(38px, 5vw, 58px);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -1px;
    color: var(--r-navy);
}

.section-heading h2 strong,
.glossary-intro h2 strong,
.library-system-copy h2 strong,
.resources-final-content h2 strong {
    color: var(--r-maroon);
}

.section-heading p {
    margin: 0;
    max-width: 780px;
    color: var(--r-muted);
    font-size: 18px;
    line-height: 1.8;
}


/* =========================================================
   FREE LEARNING
========================================================= */

.free-learning-section {
    padding: 115px 0;
    background: #ffffff;
}

.resource-heading-dark {
    margin-bottom: 55px;
}

.free-learning-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.free-learning-card {
    position: relative;
    min-height: 300px;
    padding: 32px 28px;
    border-radius: 20px;
    overflow: hidden;
    transition: transform .4s ease, box-shadow .4s ease;
}

.free-learning-card:hover {
    transform: translateY(-8px);
}

.free-blue {
    color: #ffffff;
    background: linear-gradient(145deg, #075fc7, #061d49);
    box-shadow: 0 20px 45px rgba(7,95,199,.18);
}

.free-maroon {
    color: #ffffff;
    background: linear-gradient(145deg, #a70d32, #061d49);
    box-shadow: 0 20px 45px rgba(143,11,42,.18);
}

.free-navy {
    color: #ffffff;
    background: linear-gradient(145deg, #061d49, #03122f);
    box-shadow: 0 20px 45px rgba(6,29,73,.18);
}

.free-white {
    color: var(--r-navy);
    background: #ffffff;
    border: 1px solid rgba(6,29,73,.1);
    box-shadow: 0 20px 45px rgba(6,29,73,.08);
}

.resource-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    margin-bottom: 45px;
    border-radius: 12px;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.2);
    font-size: 12px;
    font-weight: 800;
}

.free-white .resource-number {
    color: #ffffff;
    background: var(--r-maroon);
}

.free-learning-card h3 {
    margin: 0 0 13px;
    font-size: 21px;
    line-height: 1.25;
}

.free-learning-card p {
    margin: 0 0 25px;
    font-size: 14px;
    line-height: 1.7;
    color: rgba(255,255,255,.76);
}

.free-white p {
    color: var(--r-muted);
}

.free-learning-card a,
.resource-card a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    font-weight: 800;
    color: inherit;
}

.free-learning-card a span,
.resource-card a span {
    transition: transform .3s ease;
}

.free-learning-card:hover a span,
.resource-card:hover a span {
    transform: translateX(5px);
}


/* =========================================================
   RESOURCE LIBRARY
========================================================= */

.resource-library-section {
    padding: 120px 0 125px;
    background:
        radial-gradient(circle at 5% 10%, rgba(21,156,255,.08), transparent 25%),
        radial-gradient(circle at 95% 80%, rgba(143,11,42,.06), transparent 28%),
        #f5f8fd;
}

.library-top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 50px;
}

.library-status {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 12px 16px;
    border-radius: 30px;
    background: #ffffff;
    color: var(--r-navy);
    border: 1px solid rgba(6,29,73,.09);
    font-size: 12px;
    font-weight: 800;
}

.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #159cff;
    box-shadow: 0 0 12px rgba(21,156,255,.8);
}


/* SEARCH PANEL */

.resource-search-panel {
    margin-bottom: 55px;
    padding: 25px;
    border-radius: 22px;
    background: #ffffff;
    border: 1px solid rgba(6,29,73,.08);
    box-shadow: 0 18px 50px rgba(6,29,73,.07);
}

.search-field {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 62px;
    padding: 0 8px 0 18px;
    border-radius: 13px;
    background: #f5f8fd;
    border: 1px solid rgba(6,29,73,.08);
}

.search-icon {
    font-size: 28px;
    color: var(--r-blue);
}

.search-field input {
    flex: 1;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--r-navy);
    font-size: 15px;
}

.search-field button {
    height: 46px;
    padding: 0 24px;
    border: 0;
    border-radius: 9px;
    cursor: pointer;
    color: #ffffff;
    background: linear-gradient(135deg, #075fc7, #159cff);
    font-weight: 800;
}

.resource-filters,
.resource-levels {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.filter-label {
    margin-right: 7px;
    color: var(--r-navy);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.filter-pill,
.level-pill {
    padding: 9px 14px;
    border-radius: 30px;
    border: 1px solid rgba(6,29,73,.1);
    background: #ffffff;
    color: #53647b;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    transition: all .3s ease;
}

.filter-pill:hover,
.level-pill:hover,
.filter-pill.active {
    color: #ffffff;
    border-color: var(--r-blue);
    background: var(--r-blue);
}


/* RESOURCE CARDS */

.resource-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.resource-card {
    position: relative;
    min-height: 335px;
    padding: 30px;
    border-radius: 20px;
    overflow: hidden;
    transition: transform .4s ease, box-shadow .4s ease;
}

.resource-card:hover {
    transform: translateY(-9px);
}

.resource-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #159cff, #075fc7, #8f0b2a, #d9173d);
}

.resource-watermark {
    position: absolute;
    right: -45px;
    bottom: -45px;
    width: 190px;
    opacity: .06;
    pointer-events: none;
}

.resource-watermark img {
    width: 100%;
    display: block;
}

.card-blue,
.card-maroon,
.card-navy {
    color: #ffffff;
    box-shadow: 0 20px 45px rgba(6,29,73,.13);
}

.card-blue {
    background: linear-gradient(145deg, #075fc7, #061d49);
}

.card-maroon {
    background: linear-gradient(145deg, #a30d32, #061d49);
}

.card-navy {
    background: linear-gradient(145deg, #061d49, #03122f);
}

.card-white,
.card-blue-light {
    color: var(--r-navy);
    background: #ffffff;
    border: 1px solid rgba(6,29,73,.09);
    box-shadow: 0 20px 45px rgba(6,29,73,.07);
}

.card-blue-light {
    background: linear-gradient(145deg, #ffffff, #edf6ff);
}

.resource-card-top {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.resource-type,
.resource-level {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.3px;
}

.resource-type {
    color: #6ec3ff;
}

.card-maroon .resource-type {
    color: #ff9db0;
}

.card-white .resource-type,
.card-blue-light .resource-type {
    color: var(--r-maroon);
}

.resource-level {
    opacity: .7;
}

.resource-card-icon {
    width: 54px;
    height: 54px;
    margin: 42px 0 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    background: rgba(255,255,255,.11);
    border: 1px solid rgba(255,255,255,.15);
    font-weight: 800;
    font-size: 13px;
}

.card-white .resource-card-icon,
.card-blue-light .resource-card-icon {
    color: #ffffff;
    background: linear-gradient(135deg, #075fc7, #159cff);
}

.resource-card h3 {
    margin: 0 0 13px;
    font-size: 22px;
    line-height: 1.25;
}

.resource-card p {
    margin: 0 0 25px;
    max-width: 350px;
    color: rgba(255,255,255,.74);
    font-size: 14px;
    line-height: 1.75;
}

.card-white p,
.card-blue-light p {
    color: var(--r-muted);
}

.resource-card a {
    position: relative;
    z-index: 2;
}


/* =========================================================
   GLOSSARY
========================================================= */

.glossary-section {
    padding: 120px 0;
    background: #ffffff;
}

.glossary-layout {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 80px;
    align-items: center;
}

.glossary-intro p {
    max-width: 560px;
    margin: 0;
    color: var(--r-muted);
    font-size: 17px;
    line-height: 1.8;
}

.glossary-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 30px;
    min-height: 52px;
    padding: 0 21px;
    border-radius: 10px;
    background: var(--r-navy);
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
}

.glossary-terms {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 13px;
}

.glossary-term {
    min-height: 92px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-left: 4px solid var(--r-blue);
    border-radius: 12px;
    background: #f5f8fd;
    transition: transform .3s ease, border-color .3s ease;
}

.glossary-term:nth-child(2n) {
    border-left-color: var(--r-maroon);
}

.glossary-term:hover {
    transform: translateX(6px);
}

.glossary-term b {
    color: var(--r-navy);
    font-size: 17px;
}

.glossary-term span {
    margin-top: 6px;
    color: var(--r-muted);
    font-size: 12px;
}


/* =========================================================
   SEARCHABLE LIBRARY
========================================================= */

.learning-library-section {
    padding: 120px 0;
    background:
        radial-gradient(circle at 85% 15%, rgba(21,156,255,.17), transparent 25%),
        radial-gradient(circle at 15% 85%, rgba(143,11,42,.14), transparent 28%),
        linear-gradient(135deg, #061d49, #03122f);
    color: #ffffff;
}

.library-system {
    display: grid;
    grid-template-columns: 1fr .9fr;
    gap: 85px;
    align-items: center;
}

.library-system-copy > span {
    color: #73c5ff;
}

.library-system-copy h2 {
    color: #ffffff;
}

.library-system-copy h2 strong {
    color: #ff718c;
}

.library-system-copy > p {
    max-width: 650px;
    margin: 0 0 32px;
    color: rgba(255,255,255,.72);
    font-size: 17px;
    line-height: 1.8;
}

.library-system-list {
    display: grid;
    gap: 12px;
}

.library-system-list div {
    display: flex;
    align-items: center;
    gap: 15px;
}

.library-system-list span {
    width: 35px;
    height: 35px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: rgba(21,156,255,.14);
    border: 1px solid rgba(21,156,255,.3);
    color: #73c5ff;
    font-size: 10px;
    font-weight: 800;
}

.library-system-list p {
    margin: 0;
    color: rgba(255,255,255,.84);
    font-size: 14px;
}

.library-system-visual {
    display: flex;
    justify-content: center;
}

.library-window {
    width: min(470px, 100%);
    padding: 18px;
    border-radius: 20px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    box-shadow:
        0 30px 70px rgba(0,0,0,.28),
        0 0 40px rgba(21,156,255,.09);
    backdrop-filter: blur(12px);
}

.library-window-top {
    display: flex;
    gap: 7px;
    margin-bottom: 22px;
}

.library-window-top span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #6b7b92;
}

.library-window-search {
    height: 52px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    border-radius: 10px;
    background: rgba(255,255,255,.08);
}

.library-window-search span {
    color: #73c5ff;
    font-size: 22px;
}

.library-window-search p {
    margin: 0;
    color: rgba(255,255,255,.45);
    font-size: 13px;
}

.library-window-results {
    display: grid;
    gap: 11px;
    margin-top: 18px;
}

.mini-result {
    min-height: 70px;
    padding: 14px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-radius: 10px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
}

.mini-result b {
    color: rgba(255,255,255,.85);
    font-size: 13px;
}

.mini-result span {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}

.mini-blue { color: #73c5ff; }
.mini-red { color: #ff718c; }
.mini-navy { color: #aebdd1; }


/* =========================================================
   NEWSLETTER
========================================================= */

.resource-newsletter-section {
    position: relative;
    overflow: hidden;
    padding: 80px 0;
    background: #ffffff;
}

.newsletter-glow {
    position: absolute;
    width: 420px;
    height: 420px;
    right: -160px;
    top: -210px;
    border-radius: 50%;
    background: rgba(217,23,61,.07);
}

.newsletter-inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    padding: 45px;
    border-radius: 24px;
    background:
        linear-gradient(110deg, #f5f8fd, #ffffff);
    border: 1px solid rgba(6,29,73,.08);
    box-shadow: 0 20px 55px rgba(6,29,73,.08);
}

.resource-newsletter-section > div > div > span {
    color: var(--r-maroon);
}

.newsletter-inner h2 {
    margin: 9px 0 10px;
    color: var(--r-navy);
    font-size: clamp(30px, 4vw, 44px);
}

.newsletter-inner h2 strong {
    color: var(--r-maroon);
}

.newsletter-inner p {
    margin: 0;
    color: var(--r-muted);
}

.resource-newsletter-form {
    min-width: 440px;
    height: 58px;
    display: flex;
    padding: 5px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid rgba(6,29,73,.12);
}

.resource-newsletter-form input {
    flex: 1;
    min-width: 0;
    border: 0;
    outline: 0;
    padding: 0 15px;
    color: var(--r-navy);
    background: transparent;
}

.resource-newsletter-form button {
    border: 0;
    padding: 0 20px;
    border-radius: 9px;
    cursor: pointer;
    color: #ffffff;
    background: linear-gradient(135deg, #8f0b2a, #d9173d);
    font-weight: 800;
}


/* =========================================================
   FINAL CTA
========================================================= */

.resources-final-cta {
    position: relative;
    overflow: hidden;
    padding: 110px 30px;
    text-align: center;
    color: #ffffff;

    background:
        radial-gradient(circle at 20% 50%, rgba(21,156,255,.3), transparent 28%),
        radial-gradient(circle at 80% 50%, rgba(217,23,61,.28), transparent 30%),
        linear-gradient(120deg, #061d49, #075fc7 50%, #8f0b2a);
}

.resources-final-content {
    position: relative;
    z-index: 2;
    max-width: 900px;
    margin: 0 auto;
}

.resources-final-content > span {
    color: #91d4ff;
}

.resources-final-content h2 {
    margin: 17px 0;
    color: #ffffff;
}

.resources-final-content h2 strong {
    color: #ff718c;
}

.resources-final-content p {
    max-width: 700px;
    margin: 0 auto;
    color: rgba(255,255,255,.8);
    font-size: 17px;
    line-height: 1.8;
}

.resources-final-buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}


/* Thin footer divider */
.bw-resources-page + .footer::before {
    content: "";
    display: block;
    height: 3px;
    background: linear-gradient(90deg, #159cff, #075fc7, #8f0b2a, #d9173d);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1050px) {

    .resources-hero-grid {
        grid-template-columns: 1fr;
        padding: 90px 0;
    }

    .resources-hero-content {
        max-width: 800px;
    }

    .resource-vault-visual {
        height: 450px;
    }

    .free-learning-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .resource-card-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .glossary-layout,
    .library-system {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .newsletter-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .resource-newsletter-form {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 760px) {

    .resources-container {
        width: min(100% - 32px, 620px);
    }

    .resources-hero {
        min-height: auto;
    }

    .resources-hero-grid {
        width: min(100% - 32px, 620px);
        gap: 25px;
        padding: 80px 0 60px;
    }

    .resources-hero h1 {
        font-size: 50px;
        letter-spacing: -1.5px;
    }

    .resources-hero p {
        font-size: 16px;
    }

    .resource-vault-visual {
        height: 390px;
        transform: scale(.82);
    }

    .free-learning-section,
    .resource-library-section,
    .glossary-section,
    .learning-library-section {
        padding: 80px 0;
    }

    .free-learning-grid,
    .resource-card-grid {
        grid-template-columns: 1fr;
    }

    .library-top {
        flex-direction: column;
        align-items: flex-start;
    }

    .search-field {
        height: auto;
        min-height: 58px;
        flex-wrap: wrap;
        padding: 7px;
    }

    .search-field input {
        height: 44px;
    }

    .search-field button {
        width: 100%;
    }

    .glossary-terms {
        grid-template-columns: 1fr;
    }

    .newsletter-inner {
        padding: 30px 24px;
    }

    .resource-newsletter-form {
        height: auto;
        flex-direction: column;
        padding: 6px;
    }

    .resource-newsletter-form input {
        height: 48px;
    }

    .resource-newsletter-form button {
        height: 46px;
    }

    .resources-final-cta {
        padding: 80px 20px;
    }
}

@media (max-width: 480px) {

    .resources-hero h1 {
        font-size: 42px;
    }

    .resources-hero-buttons,
    .resources-final-buttons {
        flex-direction: column;
    }

    .resource-btn {
        width: 100%;
    }

    .resource-vault-visual {
        transform: scale(.67);
        margin: -35px 0;
    }

    .section-heading h2,
    .glossary-intro h2,
    .library-system-copy h2,
    .resources-final-content h2 {
        font-size: 36px;
    }
}


/* =========================================================
   RESOURCE LEARNING BRIDGE
   WHITE SECTION BEFORE FOOTER
========================================================= */

.resource-learning-bridge {
    position: relative;
    padding: 105px 0 88px;
    background:
        radial-gradient(
            circle at 8% 25%,
            rgba(21,156,255,.065),
            transparent 28%
        ),
        radial-gradient(
            circle at 92% 75%,
            rgba(143,11,42,.055),
            transparent 30%
        ),
        #ffffff;
    overflow: hidden;
}

.resource-learning-bridge::before {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    left: -180px;
    top: -180px;
    border-radius: 50%;
    background: rgba(21,156,255,.045);
    pointer-events: none;
}

.resource-learning-bridge::after {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    right: -180px;
    bottom: -190px;
    border-radius: 50%;
    background: rgba(143,11,42,.045);
    pointer-events: none;
}

.bridge-heading {
    position: relative;
    z-index: 2;
    max-width: 850px;
    margin: 0 auto 55px;
    text-align: center;
}

.bridge-heading > span {
    display: inline-block;
    margin-bottom: 15px;
    color: #8f0b2a;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2.4px;
    text-transform: uppercase;
}

.bridge-heading h2 {
    margin: 0 0 18px;
    color: #061d49;
    font-family: "Manrope", sans-serif;
    font-size: clamp(38px, 5vw, 58px);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -1px;
}

.bridge-heading h2 strong {
    color: #8f0b2a;
}

.bridge-heading p {
    max-width: 760px;
    margin: 0 auto;
    color: #66758b;
    font-size: 17px;
    line-height: 1.8;
}

.bridge-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.bridge-card {
    position: relative;
    min-height: 225px;
    padding: 30px;
    display: flex;
    gap: 22px;
    align-items: flex-start;
    border-radius: 20px;
    overflow: hidden;
    transition:
        transform .4s ease,
        box-shadow .4s ease;
}

.bridge-card:hover {
    transform: translateY(-8px);
}

.bridge-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(
        90deg,
        #159cff,
        #075fc7,
        #8f0b2a,
        #d9173d
    );
}

.bridge-blue {
    color: #ffffff;
    background: linear-gradient(145deg, #075fc7, #061d49);
    box-shadow: 0 20px 45px rgba(7,95,199,.16);
}

.bridge-maroon {
    color: #ffffff;
    background: linear-gradient(145deg, #a50e34, #061d49);
    box-shadow: 0 20px 45px rgba(143,11,42,.15);
}

.bridge-navy {
    color: #ffffff;
    background: linear-gradient(145deg, #061d49, #03122f);
    box-shadow: 0 20px 45px rgba(6,29,73,.15);
}

.bridge-number {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    border: 1px solid rgba(255,255,255,.2);
    background: rgba(255,255,255,.1);
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
}

.bridge-card h3 {
    margin: 3px 0 12px;
    font-size: 22px;
    font-weight: 800;
}

.bridge-card p {
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: 14px;
    line-height: 1.75;
}

.bridge-note {
    position: relative;
    z-index: 2;
    margin-top: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.bridge-note p {
    margin: 0;
    color: #061d49;
    font-size: 15px;
    font-weight: 800;
    text-align: center;
}

.bridge-note-line {
    width: 85px;
    height: 2px;
    background: linear-gradient(
        90deg,
        #075fc7,
        #8f0b2a
    );
}

/* Generous gap before footer */
.resource-learning-bridge + .footer {
    margin-top: 80px !important;
}

.resource-learning-bridge + .footer::before {
    content: "";
    display: block;
    height: 3px;
    background: linear-gradient(
        90deg,
        #159cff,
        #075fc7,
        #8f0b2a,
        #d9173d
    );
}

@media (max-width: 900px) {
    .resource-learning-bridge {
        padding: 85px 0 70px;
    }

    .bridge-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .resource-learning-bridge {
        padding: 70px 0 60px;
    }

    .bridge-card {
        min-height: auto;
        padding: 26px;
    }

    .bridge-note {
        gap: 10px;
    }

    .bridge-note-line {
        width: 35px;
    }
}

