 /* ===================== THEME — derived from the DG Academy logo =====================
     Navy  sampled from the logo wordmark/icon  ≈ rgb(3,32,74)
     Gold  sampled from the logo arrow/tassel   ≈ rgb(210,150,45)
  ======================================================================================= */
:root {
            --ink: #0E2A52;
            --ink-deep: #081B36;
            --ink-soft: #2C4A72;

            --gold: #C9902E;
            --gold-light: #E8C077;
            --gold-deep: #A5731F;
            --gold-soft: #F3E4C0;

            --white: #FFFFFF;

            --paper: #FBFAF7;
            --paper-line: #E7E2D6;

            --charcoal: #20262B;
            --charcoal-soft: #5B6670;

            --radius: 4px;

            --shadow:
                0 1px 2px rgba(14, 42, 82, 0.05),
                0 8px 24px rgba(14, 42, 82, 0.08);
        }

 * {
     box-sizing: border-box;
 }

 html {
     scroll-behavior: smooth;
 }

 @media (prefers-reduced-motion:reduce) {
     html {
         scroll-behavior: auto;
     }

     * {
         animation: none !important;
         transition: none !important;
     }
 }

    body {
            margin: 0;
            padding: 0;
            background: var(--paper);
            color: var(--charcoal);
            font-family: 'IBM Plex Sans', 'Segoe UI', system-ui, sans-serif;
            overflow-x: hidden;
            
        }

  h1,
        h2,
        h3,
        h4,
        h5 {
            font-family: 'Fraunces', Georgia, serif;
            color: var(--ink);
            margin: 0;
            letter-spacing: -0.01em;
        }
 
        a {
            text-decoration: none;
        }

        .container {
            max-width: 1240px;
        }

        .section-padding {
            padding: 100px 0;
        }

 /* The H1 must carry the full SEO heading text in one element;
     this keeps "Deep Water" as the visual headline while the
     mandatory rest reads as a smaller subtitle beneath it. */
 h1 {
     display: flex;
     flex-direction: column;
     gap: 8px;
 }

 h1 .h1-sub {
     font-family: 'IBM Plex Sans', sans-serif;
     font-size: 1rem;
     font-weight: 500;
     letter-spacing: 0;
     color: var(--ink-soft);
 }

 a {
     color: inherit;
 }


 
 .eyebrow::before {
    content: "";
    width: 30px;
    height: 1px;
    background: var(--gold);
}

 p {
     margin: 0;
 }
 

 .eyebrow {
     font-family: 'IBM Plex Mono', 'Courier New', monospace;
     display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--gold-deep);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.8px;
    text-transform: uppercase;
 }

 .rule {
     width: 56px;
     height: 2px;
     background: var(--gold);
 }

 
 
 
 
        /* =========================================================
           NAVBAR
        ========================================================= */

        .main-navbar {
            position: relative;
            z-index: 1000;
            background: rgba(255, 255, 255, 0.97);
            border-bottom: 1px solid var(--paper-line);
        }

        .navbar {
            min-height: 82px;
        }

        .navbar-brand {
            display: flex;
            align-items: center;
            gap: 12px;
            color: var(--ink);
        }

        /*
           Replace this .logo-placeholder with your actual logo image.
           Example:
           <img src="images/logo.png" alt="DG Academy">
        */
        .dg-logo {
            width: 240px;
            height: auto;
            display: block;
        }

        .logo-placeholder {
            width: 48px;
            height: 48px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid var(--gold);
            color: var(--gold-deep);
            font-family: "Playfair Display", serif;
            font-weight: 700;
            font-size: 18px;
        }

        .brand-text {
            line-height: 1;
        }

        .brand-name {
            display: block;
            font-family: "Playfair Display", serif;
            font-size: 23px;
            font-weight: 700;
            color: var(--ink);
        }

        .brand-subtitle {
            display: block;
            font-size: 9px;
            margin-top: 5px;
            color: var(--gold-deep);
            letter-spacing: 2px;
            text-transform: uppercase;
        }

        .navbar-nav {
            gap: 5px;
        }

        .navbar-nav .nav-link {
            position: relative;
            padding: 12px 15px !important;
            color: var(--ink);
            font-size: 14px;
            font-weight: 600;
        }

        .navbar-nav .nav-link::after {
            transition: .25s ease;
        }

        .navbar-nav .nav-link:hover,
        .navbar-nav .nav-link:focus {
            color: var(--gold-deep);
        }

        /* Desktop dropdown */

        @media(min-width:992px) {

            .navbar .dropdown:hover>.dropdown-menu {
                display: block;
                margin-top: 0;
            }

            .dropdown-menu {
                border: 1px solid var(--paper-line);
                border-radius: var(--radius);
                box-shadow: 0 18px 50px rgba(8, 27, 54, .13);
                padding: 12px;
            }

            .dropdown-menu .dropdown-item {
                padding: 10px 13px;
                border-radius: 3px;
                font-size: 13px;
                color: var(--ink);
            }

            .dropdown-menu .dropdown-item:hover {
                background: var(--gold-soft);
                color: var(--ink);
            }

            .mega-menu {
                width: 700px;
                padding: 25px;
                left: 50%;
                transform: translateX(-35%);
            }

            .mega-title {
                font-size: 12px;
                font-weight: 700;
                color: var(--gold-deep);
                text-transform: uppercase;
                letter-spacing: 1px;
                margin-bottom: 10px;
            }

            .mega-link {
                display: block;
                padding: 7px 0;
                color: var(--ink-soft);
                font-size: 13px;
            }

            .mega-link:hover {
                color: var(--gold-deep);
            }
        }

        .nav-cta {
            margin-left: 15px;
            background: var(--ink);
            color: var(--white) !important;
            padding: 11px 19px !important;
            border-radius: var(--radius);
        }

        .nav-cta:hover {
            background: var(--gold-deep);
        }



 .btn-dg {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     padding: 11px 20px;
     background: var(--white);
     border: 1px solid var(--ink);
     color: var(--ink);
     font-family: 'IBM Plex Sans', sans-serif;
     font-size: 0.85rem;
     font-weight: 600;
     border-radius: var(--radius);
     box-shadow: var(--shadow);
     transition: background .15s ease, color .15s ease, transform .15s ease;
 }

 .btn-dg:hover {
     background: var(--ink);
     color: var(--white);
     transform: translateY(-1px);
 }

 .btn-dg::after {
     content: "→";
     transition: transform .15s ease;
 }

 .btn-dg:hover::after {
     transform: translateX(3px);
 }

 .btn-dg-primary {
     background: var(--gold);
     border-color: var(--gold);
     color: var(--white);
 }

 .btn-dg-primary:hover {
     background: var(--gold-deep);
     color: var(--white);
 }

 .btn-dg-sm {
     padding: 9px 16px;
     font-size: 0.8rem;
     box-shadow: none;
 }

 .btn-dg-nocaret::after {
     content: none;
 }
 
 /*
|--------------------------------------------------------------------------
| Desktop submenu
|--------------------------------------------------------------------------
*/

@media (min-width: 992px) {

    .dropdown-submenu {
        position: relative;
    }


    .dropdown-submenu > .dropdown-menu {
        position: absolute;
        top: 0;
        left: 100%;
        margin-top: 0;
        margin-left: 0;
        display: none;
    }


    .dropdown-submenu:hover > .dropdown-menu {
        display: block;
    }


    .dropdown-submenu > .submenu-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

}


/*
|--------------------------------------------------------------------------
| Mobile menu
|--------------------------------------------------------------------------
*/

@media (max-width: 991.98px) {

    #mainNav {
        display: none;
        width: 100%;
    }


    #mainNav.mobile-menu-open {
        display: block;
    }


    /*
    |--------------------------------------------------------------------------
    | Mobile Classes dropdown
    |--------------------------------------------------------------------------
    */

    #mainNav .dropdown-menu {
        position: static !important;
        float: none;
        width: 100%;
        margin: 0;
        border: 0;
        box-shadow: none;
    }


    /*
    |--------------------------------------------------------------------------
    | Hide second level by default
    |--------------------------------------------------------------------------
    */

    #mainNav .dropdown-submenu > .dropdown-menu {
        display: none;
        padding-left: 15px;
    }


    /*
    |--------------------------------------------------------------------------
    | Show second level when active
    |--------------------------------------------------------------------------
    */

    #mainNav .dropdown-submenu.submenu-open > .dropdown-menu {
        display: block;
    }


    /*
    |--------------------------------------------------------------------------
    | Class item
    |--------------------------------------------------------------------------
    */

    #mainNav .dropdown-submenu > .submenu-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }


    /*
    |--------------------------------------------------------------------------
    | Arrow rotation
    |--------------------------------------------------------------------------
    */

    #mainNav
    .dropdown-submenu.submenu-open
    .submenu-arrow {

        transform: rotate(90deg);

    }


    .submenu-arrow {
        transition: transform 0.2s ease;
    }

}




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

        .hero {
            position: relative;
            min-height: 690px;
            display: flex;
            align-items: center;
            overflow: hidden;
            background:
                linear-gradient(110deg,
                    var(--paper) 0%,
                    var(--paper) 55%,
                    #F4EDE0 100%);
        }

        .hero::before {
            content: "";
            position: absolute;
            width: 550px;
            height: 550px;
            right: -160px;
            top: -150px;
            border: 1px solid rgba(201, 144, 46, .20);
            border-radius: 50%;
        }

        .hero::after {
            content: "";
            position: absolute;
            width: 380px;
            height: 380px;
            right: -60px;
            bottom: -180px;
            border: 1px solid rgba(201, 144, 46, .15);
            border-radius: 50%;
        }

        .hero-content {
            position: relative;
            z-index: 2;
            padding: 80px 0;
        }

        .hero-kicker {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            padding: 8px 13px;
            border: 1px solid var(--paper-line);
            background: rgba(255, 255, 255, .65);
            color: var(--gold-deep);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 1.3px;
            text-transform: uppercase;
            margin-bottom: 24px;
        }

        .hero-kicker i {
            font-size: 14px;
        }

        .hero h1 {
            font-size: 68px;
            line-height: 1.04;
            letter-spacing: -1.5px;
            max-width: 850px;
            margin-bottom: 25px;
        }

        .hero h1 span {
            color: var(--gold-deep);
            font-style: italic;
        }

        .hero-description {
            max-width: 690px;
            color: var(--charcoal-soft);
            font-size: 17px;
            line-height: 1.85;
            margin-bottom: 32px;
        }

        .hero-buttons {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
        }

        .btn-primary-dg {
            background: var(--ink);
            border: 1px solid var(--ink);
            color: var(--white);
            padding: 14px 24px;
            border-radius: var(--radius);
            font-size: 13px;
            font-weight: 700;
            transition: .25s ease;
        }

        .btn-primary-dg:hover {
            background: var(--gold-deep);
            border-color: var(--gold-deep);
            color: var(--white);
            transform: translateY(-2px);
        }

        .btn-outline-dg {
            background: transparent;
            border: 1px solid var(--ink);
            color: var(--ink);
            padding: 14px 24px;
            border-radius: var(--radius);
            font-size: 13px;
            font-weight: 700;
            transition: .25s ease;
        }

        .btn-outline-dg:hover {
            background: var(--ink);
            color: var(--white);
        }

        .hero-note {
            margin-top: 25px;
            color: var(--charcoal-soft);
            font-size: 12px;
        }

        .hero-note i {
            color: var(--gold);
            margin-right: 5px;
        }




 /* =========================================================
           RESOURCE STRIP
        ========================================================= */

        .resource-strip {
            position: relative;
            z-index: 5;
            margin-top: -45px;
        }

        .resource-box {
            background: var(--ink);
            color: var(--white);
            padding: 28px 30px;
            box-shadow: 0 18px 40px rgba(8, 27, 54, .16);
        }

        .resource-box h3 {
            color: var(--white);
            font-size: 20px;
            margin: 0 0 5px;
        }

        .resource-box p {
            margin: 0;
            color: rgba(255, 255, 255, .7);
            font-size: 13px;
        }

        .resource-items {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: 8px;
        }

        .resource-pill {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            border: 1px solid rgba(255, 255, 255, .18);
            padding: 9px 12px;
            color: var(--white);
            font-size: 11px;
            background: rgba(255, 255, 255, .04);
        }

        .resource-pill i {
            color: var(--gold-light);
        }




 /* =========================================================
           CHAPTER SYSTEM
        ========================================================= */
        .section-head {
            max-width: 620px;
            margin-bottom: 44px;
        }
        
        
        .section-text {
            color: var(--charcoal-soft);
            line-height: 1.8;
            max-width: 650px;
        }
        

        .section-title {
                font-size: 42px;
                line-height: 1.15;
                margin: 12px 0 18px;
                font-weight: 600;
            }

        .section-head h2 {
            font-size: 2rem;
            margin-top: 10px;
        }

        .section-head p {
            margin-top: 14px;
            color: var(--charcoal-soft);
            font-size: 1rem;
        }

        .chapter-section {
            background: var(--white);
        }

        .chapter-card {
            position: relative;
            height: 100%;
            padding: 32px;
            background: var(--paper);
            border: 1px solid var(--paper-line);
            transition: .3s ease;
        }

        .chapter-card:hover {
            transform: translateY(-6px);
            box-shadow: var(--shadow);
            border-color: rgba(201, 144, 46, .4);
        }

        .chapter-number {
            font-family: "Playfair Display", serif;
            font-size: 44px;
            line-height: 1;
            color: var(--gold-light);
            margin-bottom: 22px;
        }

        .chapter-card h3 {
            font-size: 23px;
            margin-bottom: 12px;
        }

        .chapter-card p {
            color: var(--charcoal-soft);
            font-size: 13px;
            line-height: 1.7;
            margin-bottom: 20px;
        }

        .chapter-list {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .chapter-list li {
            display: flex;
            align-items: center;
            gap: 9px;
            padding: 7px 0;
            font-size: 12px;
            color: var(--ink-soft);
            border-bottom: 1px solid var(--paper-line);
        }

        .chapter-list li:last-child {
            border-bottom: 0;
        }

        .chapter-list i {
            color: var(--gold-deep);
        }






        /* =========================================================
           ABOUT
        ========================================================= */

        .about-section {
            background: var(--paper);
        }

        .about-visual {
            min-height: 470px;
            position: relative;
            background: var(--ink);
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .about-visual::before {
            content: "";
            position: absolute;
            width: 350px;
            height: 350px;
            border: 1px solid rgba(232, 192, 119, .25);
            border-radius: 50%;
        }

        .about-visual::after {
            content: "DG";
            position: absolute;
            font-family: "Playfair Display", serif;
            font-size: 190px;
            font-weight: 700;
            color: rgba(255, 255, 255, .035);
        }

        .about-center {
            position: relative;
            z-index: 2;
            text-align: center;
        }

        .about-center .small-label {
            color: var(--gold-light);
            text-transform: uppercase;
            font-size: 11px;
            letter-spacing: 2px;
        }

        .about-center strong {
            display: block;
            color: var(--white);
            font-family: "Playfair Display", serif;
            font-size: 60px;
            margin: 5px 0;
        }

        .about-center span {
            color: rgba(255, 255, 255, .65);
            font-size: 13px;
        }

        .about-points {
            margin-top: 28px;
        }

        .about-point {
            display: flex;
            gap: 15px;
            margin-bottom: 22px;
        }

        .point-icon {
            min-width: 42px;
            height: 42px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: var(--gold-soft);
            color: var(--gold-deep);
            font-size: 18px;
        }

        .about-point h4 {
            font-family: "DM Sans", sans-serif;
            font-size: 15px;
            font-weight: 700;
            margin: 0 0 5px;
        }

        .about-point p {
            margin: 0;
            color: var(--charcoal-soft);
            font-size: 13px;
            line-height: 1.65;
        }





   /* =========================================================
           CLASS SECTION
        ========================================================= */

        .class-section {
            background: var(--ink-deep);
        }

        .class-section .eyebrow {
            color: var(--gold-light);
        }

        .class-section .section-title {
            color: var(--white);
        }

        .class-section .section-text {
            color: rgba(255, 255, 255, .65);
        }

        .class-card {
            position: relative;
            display: block;
            padding: 30px;
            height: 100%;
            min-height: 190px;
            border: 1px solid rgba(255, 255, 255, .12);
            background: rgba(255, 255, 255, .035);
            transition: .3s ease;
        }

        .class-card:hover {
            background: var(--white);
            transform: translateY(-5px);
        }

        .class-card span {
            display: block;
            color: var(--gold-light);
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            margin-bottom: 12px;
        }

        .class-card h3 {
            color: var(--white);
            font-size: 28px;
            margin-bottom: 8px;
        }

        .class-card p {
            color: rgba(255, 255, 255, .58);
            font-size: 12px;
            margin: 0;
        }

        .class-card:hover h3 {
            color: var(--ink);
        }

        .class-card:hover p {
            color: var(--charcoal-soft);
        }

        .class-card:hover span {
            color: var(--gold-deep);
        }

        .class-arrow {
            position: absolute;
            right: 25px;
            bottom: 25px;
            color: var(--gold-light);
            font-size: 18px;
        }

        .class-card:hover .class-arrow {
            color: var(--gold-deep);
        }

        /* ---------- Chapter cards ---------- */
        .chapter-card {
            background: var(--white);
            border: 1px solid var(--paper-line);
            border-radius: 8px;
            box-shadow: var(--shadow);
            padding: 24px;
            height: 100%;
            display: flex;
            flex-direction: column;
        }

        .chapter-card .tag {
            font-family: 'IBM Plex Mono', monospace;
            font-size: 0.65rem;
            letter-spacing: 0.06em;
            padding: 4px 10px;
            border-radius: 20px;
            width: fit-content;
        }

        .chapter-card h3 {
            font-size: 1.15rem;
            margin-top: 14px;
        }

        .chapter-card p {
            margin-top: 10px;
            font-size: 0.86rem;
            color: var(--charcoal-soft);
            flex: 1;
        }

        .chapter-card a.cta {
            margin-top: 16px;
            font-size: 0.85rem;
            font-weight: 600;
        }

        .chapter-card.disabled {
            opacity: 0.55;
        }

        .chapter-card.disabled a.cta {
            color: var(--charcoal-soft);
            pointer-events: none;
        }

        .chapter-card:not(.disabled) a.cta {
            color: var(--gold-deep);
        }


        /* =========================================================
           SUBJECTS
        ========================================================= */

        .subject-card {
            display: block;
            height: 100%;
            padding: 28px;
            background: var(--white);
            border: 1px solid var(--paper-line);
            transition: .3s ease;
        }

        .subject-card:hover {
            border-color: var(--gold-light);
            box-shadow: var(--shadow);
            transform: translateY(-5px);
        }

        .subject-icon {
            width: 50px;
            height: 50px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: var(--gold-soft);
            color: var(--gold-deep);
            font-size: 21px;
            margin-bottom: 20px;
        }

        .subject-card h3 {
            font-size: 21px;
            margin-bottom: 8px;
        }

        .subject-card p {
            color: var(--charcoal-soft);
            font-size: 12px;
            line-height: 1.65;
            margin-bottom: 18px;
        }

        .subject-link {
            color: var(--gold-deep);
            font-size: 12px;
            font-weight: 700;
        }


        /* =========================================================
           HOW IT WORKS
        ========================================================= */

        .process-section {
            background: #F4F0E7;
        }

        .process-item {
            position: relative;
            text-align: center;
            padding: 25px;
        }

        .process-number {
            width: 54px;
            height: 54px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 20px;
            border: 1px solid var(--gold);
            color: var(--gold-deep);
            background: var(--paper);
            font-family: "Playfair Display", serif;
            font-size: 20px;
        }

        .process-item h3 {
            font-family: "DM Sans", sans-serif;
            font-size: 16px;
            font-weight: 700;
            margin-bottom: 9px;
        }

        .process-item p {
            color: var(--charcoal-soft);
            font-size: 12px;
            line-height: 1.7;
            margin: 0;
        }

        .process-line {
            position: absolute;
            top: 52px;
            left: 75%;
            width: 50%;
            height: 1px;
            background: var(--gold-light);
        }


        /* =========================================================
           PYQ SECTION
        ========================================================= */

        .pyq-section {
            background: var(--white);
        }

        .pyq-box {
            background: var(--ink);
            padding: 55px;
            position: relative;
            overflow: hidden;
        }

        .pyq-box::after {
            content: "?";
            position: absolute;
            right: 40px;
            bottom: -50px;
            color: rgba(255, 255, 255, .04);
            font-family: "Playfair Display", serif;
            font-size: 260px;
            line-height: 1;
        }

        .pyq-box h2 {
            color: var(--white);
            font-size: 40px;
            max-width: 600px;
            position: relative;
            z-index: 2;
        }

        .pyq-box p {
            color: rgba(255, 255, 255, .67);
            max-width: 650px;
            line-height: 1.8;
            font-size: 14px;
            position: relative;
            z-index: 2;
        }

        .pyq-list {
            position: relative;
            z-index: 2;
            margin-top: 25px;
        }

        .pyq-list span {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 8px 12px;
            border: 1px solid rgba(255, 255, 255, .15);
            color: rgba(255, 255, 255, .85);
            font-size: 11px;
            margin: 4px;
        }

        .pyq-list i {
            color: var(--gold-light);
        }


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

        .cta-section {
            padding: 90px 0;
            background: var(--gold-soft);
            text-align: center;
        }

        .cta-section h2 {
            font-size: 46px;
            max-width: 700px;
            margin: 12px auto 18px;
        }

        .cta-section p {
            color: var(--charcoal-soft);
            max-width: 650px;
            margin: 0 auto 28px;
            line-height: 1.8;
            font-size: 14px;
        }






 /* ---------- Section shell ---------- */
 section {
     scroll-margin-top: 84px;
 }

 section.alt {
     background: var(--white);
     border-top: 1px solid var(--paper-line);
     border-bottom: 1px solid var(--paper-line);
 }

 .section-head {
     max-width: 620px;
     margin-bottom: 44px;
 }

 .section-head h2 {
     font-size: 2rem;
     margin-top: 10px;
 }

 .section-head p {
     margin-top: 14px;
     color: var(--charcoal-soft);
     font-size: 1rem;
 }

 /* ---------- Class tabs (interactive) ---------- */
 .class-pills {
     display: flex;
     gap: 8px;
     flex-wrap: wrap;
     margin-bottom: 30px;
 }

 .class-pills .nav-link {
     font-family: 'IBM Plex Sans', sans-serif;
     font-weight: 600;
     font-size: 0.88rem;
     color: var(--ink-soft);
     background: var(--white);
     border: 1px solid var(--paper-line);
     border-radius: 24px;
     padding: 9px 20px;
 }

 .class-pills .nav-link.active {
     background: var(--ink) !important;
     color: var(--white) !important;
     border-color: var(--ink);
 }

 .class-panel {
     background: var(--white);
     border: 1px solid var(--paper-line);
     border-radius: 10px;
     box-shadow: var(--shadow);
     padding: 34px;
 }

 .class-panel .status {
     font-family: 'IBM Plex Mono', monospace;
     font-size: 0.65rem;
     letter-spacing: 0.06em;
     padding: 4px 10px;
     border-radius: 20px;
     display: inline-block;
 }

 .status-live {
     background: var(--gold-soft);
     color: var(--gold-deep);
 }

 .status-soon {
     background: var(--paper-line);
     color: var(--charcoal-soft);
 }

 .subject-chip {
     display: inline-block;
     padding: 6px 14px;
     margin: 4px 6px 0 0;
     border: 1px solid var(--paper-line);
     border-radius: 20px;
     font-size: 0.8rem;
     color: var(--ink-soft);
 }

 /* ---------- Recently uploaded chapters feed (inside class panel) ---------- */
 .recent-chapters {
     margin-top: 28px;
     padding-top: 22px;
     border-top: 1px solid var(--paper-line);
 }

 .recent-chapters .rc-label {
     font-family: 'IBM Plex Mono', monospace;
     font-size: 0.68rem;
     letter-spacing: 0.1em;
     text-transform: uppercase;
     color: var(--charcoal-soft);
     margin-bottom: 6px;
 }

 .rc-row {
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 16px;
     padding: 14px 0;
     border-bottom: 1px solid var(--paper-line);
 }

 .rc-row:last-child {
     border-bottom: none;
 }

 .rc-left {
     display: flex;
     align-items: center;
     gap: 14px;
     min-width: 0;
 }

 .rc-icon {
     width: 38px;
     height: 38px;
     flex: 0 0 auto;
     border-radius: 8px;
     background: var(--paper);
     display: flex;
     align-items: center;
     justify-content: center;
     font-family: 'IBM Plex Mono', monospace;
     font-weight: 700;
     font-size: 0.8rem;
     color: var(--gold-deep);
 }

 .rc-row.is-live .rc-icon {
     background: var(--gold-soft);
 }

 .rc-text {
     min-width: 0;
 }

 .rc-title {
     font-weight: 600;
     color: var(--ink);
     font-size: 0.94rem;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
 }

 .rc-sub {
     font-size: 0.78rem;
     color: var(--charcoal-soft);
     margin-top: 2px;
 }

 .rc-right {
     display: flex;
     align-items: center;
     gap: 16px;
     flex: 0 0 auto;
 }

 .rc-date {
     font-family: 'IBM Plex Mono', monospace;
     font-size: 0.68rem;
     color: var(--charcoal-soft);
     white-space: nowrap;
 }

 .rc-link {
     font-size: 0.82rem;
     font-weight: 600;
     color: var(--gold-deep);
     white-space: nowrap;
 }

 .rc-link::after {
     content: " →";
 }

 .rc-row.is-soon {
     opacity: 0.6;
 }

 .rc-row.is-soon .rc-link {
     color: var(--charcoal-soft);
     pointer-events: none;
 }

 .rc-row.is-soon .rc-link::after {
     content: "";
 }

 @media (max-width:576px) {
     .rc-row {
         flex-wrap: wrap;
     }

     .rc-right {
         margin-left: 52px;
     }
 }

 /* ---------- Feature (depth) cards ---------- */
 .feature-card {
     background: var(--white);
     border: 1px solid var(--paper-line);
     border-radius: 8px;
     box-shadow: var(--shadow);
     padding: 24px 22px;
     height: 100%;
 }

 .feature-card .ft {
     font-family: 'IBM Plex Mono', monospace;
     font-size: 0.7rem;
     color: var(--gold-deep);
     letter-spacing: 0.08em;
 }

 .feature-card h3 {
     font-size: 1.1rem;
     margin-top: 8px;
 }

 .feature-card p {
     margin-top: 10px;
     font-size: 0.86rem;
     color: var(--charcoal-soft);
 }

 /* ---------- Chapter cards ---------- */
 .chapter-card {
     background: var(--white);
     border: 1px solid var(--paper-line);
     border-radius: 8px;
     box-shadow: var(--shadow);
     padding: 24px;
     height: 100%;
     display: flex;
     flex-direction: column;
 }

 .chapter-card .tag {
     font-family: 'IBM Plex Mono', monospace;
     font-size: 0.65rem;
     letter-spacing: 0.06em;
     padding: 4px 10px;
     border-radius: 20px;
     width: fit-content;
 }

 .chapter-card h3 {
     font-size: 1.15rem;
     margin-top: 14px;
 }

 .chapter-card p {
     margin-top: 10px;
     font-size: 0.86rem;
     color: var(--charcoal-soft);
     flex: 1;
 }

 .chapter-card a.cta {
     margin-top: 16px;
     font-size: 0.85rem;
     font-weight: 600;
 }

 .chapter-card.disabled {
     opacity: 0.55;
 }

 .chapter-card.disabled a.cta {
     color: var(--charcoal-soft);
     pointer-events: none;
 }

 .chapter-card:not(.disabled) a.cta {
     color: var(--gold-deep);
 }

 /* ---------- FAQ accordion ---------- */
 .faq-accordion .accordion-item {
     border: 1px solid var(--paper-line);
     border-radius: 8px !important;
     overflow: hidden;
     margin-bottom: 12px;
     box-shadow: var(--shadow);
 }

 .faq-accordion .accordion-button {
     font-family: 'IBM Plex Sans', sans-serif;
     font-weight: 600;
     font-size: 0.95rem;
     color: var(--ink);
     background: var(--white);
     padding: 18px 20px;
 }

 .faq-accordion .accordion-button:not(.collapsed) {
     background: var(--paper);
     color: var(--gold-deep);
     box-shadow: none;
 }

 .faq-accordion .accordion-button:focus {
     box-shadow: 0 0 0 3px var(--gold-soft);
 }

 .faq-accordion .accordion-button::after {
     filter: none;
 }

 .faq-accordion .accordion-body {
     font-size: 0.9rem;
     color: var(--charcoal-soft);
     padding: 4px 20px 20px;
 }

 /* ---------- Testimonials ---------- */
 .quote-card {
     background: var(--paper);
     border: 1px solid var(--paper-line);
     border-radius: 8px;
     padding: 26px 24px;
     height: 100%;
 }

 .quote-card .mark {
     font-family: 'Fraunces', serif;
     font-size: 2.4rem;
     color: var(--gold);
     line-height: 1;
 }

 .quote-card p.q {
     margin-top: 8px;
     font-size: 0.94rem;
     color: var(--charcoal);
 }

 .quote-card .who {
     margin-top: 16px;
     font-family: 'IBM Plex Mono', monospace;
     font-size: 0.7rem;
     color: var(--charcoal-soft);
     letter-spacing: 0.04em;
 }

 /* ---------- Contact ---------- */
 .contact-info-card {
     background: var(--ink);
     color: var(--white);
     border-radius: 10px;
     padding: 34px;
     height: 100%;
     box-shadow: var(--shadow);
 }

 .contact-info-card h3 {
     color: var(--white);
     font-size: 1.3rem;
 }

 .contact-info-card p {
     color: #B9CDD3;
     margin-top: 10px;
     font-size: 0.92rem;
 }

 .contact-row {
     display: flex;
     gap: 14px;
     align-items: flex-start;
     margin-top: 22px;
     padding-top: 22px;
     border-top: 1px solid rgba(255, 255, 255, 0.14);
 }

 .contact-row:first-of-type {
     border-top: none;
     margin-top: 26px;
     padding-top: 0;
 }

 .contact-row i {
     color: var(--gold-light);
     font-size: 1.1rem;
     margin-top: 2px;
 }

 .contact-row .lbl {
     font-size: 0.68rem;
     letter-spacing: 0.06em;
     text-transform: uppercase;
     color: #8FA9B3;
     font-family: 'IBM Plex Mono', monospace;
 }

 .contact-row .val {
     font-size: 0.92rem;
     margin-top: 2px;
 }

 .contact-form-card {
     background: var(--white);
     border: 1px solid var(--paper-line);
     border-radius: 10px;
     box-shadow: var(--shadow);
     padding: 34px;
 }

 .contact-form-card .form-label {
     font-family: 'IBM Plex Mono', monospace;
     font-size: 0.7rem;
     letter-spacing: 0.06em;
     text-transform: uppercase;
     color: var(--charcoal-soft);
 }

 .contact-form-card .form-control {
     border: 1px solid var(--paper-line);
     border-radius: 6px;
     padding: 11px 14px;
     font-size: 0.92rem;
 }

 .contact-form-card .form-control:focus {
     border-color: var(--gold);
     box-shadow: 0 0 0 3px var(--gold-soft);
 }

 .form-note {
     font-size: 0.75rem;
     color: var(--charcoal-soft);
     margin-top: 10px;
 }

 /* ---------- CTA banner ---------- */
 .cta-banner {
     background: linear-gradient(120deg, var(--ink) 0%, var(--ink-deep) 100%);
     color: var(--white);
     border-radius: 8px;
     padding: 44px;
     box-shadow: var(--shadow);
 }

 .cta-banner h3 {
     color: var(--white);
     font-size: 1.6rem;
 }

 .cta-banner p {
     color: #C7D3DA;
     margin-top: 10px;
     max-width: 460px;
 }

  /* =========================================================
           FOOTER
        ========================================================= */

        .footer {
            background: var(--ink-deep);
            color: rgba(255, 255, 255, .65);
            padding: 70px 0 0;
            text-align:left;
        }

        .footer-brand {
            width: 150px;
            height: auto;
            /* Makes the logo work better against the dark footer */
            filter: brightness(0) invert(1);
            margin-bottom: 14px;
        }

        .footer p {
            font-size: 14px;
            line-height: 1.8;
            max-width: 370px;
            text-align:left;
        }

        .footer h4 {
            color: var(--white);
            font-family: "DM Sans", sans-serif;
            font-size: 15px;
            font-weight: 700;
            margin-bottom: 18px;
        }

        .footer-links {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .footer-links li {
            margin-bottom: 9px;
        }

        .footer-links a {
            color: rgba(255, 255, 255, .58);
            font-size: 13px;
            transition: .2s;
        }

        .footer-links a:hover {
            color: var(--gold-light);
        }

        .footer-bottom {
            margin-top: 55px;
            padding: 20px 0;
            border-top: 1px solid rgba(255, 255, 255, .09);
            font-size: 11px;
        }

        .footer-bottom a {
            color: var(--gold-light);
        }


 /* ---------- Back to top ---------- */
 #backToTop {
     position: fixed;
     right: 22px;
     bottom: 22px;
     width: 44px;
     height: 44px;
     background: var(--ink);
     color: var(--white);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     box-shadow: var(--shadow);
     opacity: 0;
     visibility: hidden;
     transform: translateY(8px);
     transition: opacity .2s ease, transform .2s ease, visibility .2s ease, background .15s ease;
     z-index: 1050;
 }

 #backToTop.show {
     opacity: 1;
     visibility: visible;
     transform: translateY(0);
 }

 #backToTop:hover {
     background: var(--gold-deep);
 }

 :focus-visible {
     outline: 2px solid var(--gold);
     outline-offset: 2px;
 }

 /* -------------Chapters Styling -------------- */
 .crumb-strip {
     padding: 12px 0;
     background: var(--paper);
     border-bottom: 1px solid var(--paper-line);
 }

 .crumb-strip .crumb {
     font-family: 'IBM Plex Mono', monospace;
     font-size: 0.7rem;
     color: var(--charcoal-soft);
     letter-spacing: 0.05em;
 }

 .crumb-strip .crumb a {
     color: var(--charcoal-soft);
 }

 .crumb-strip .crumb a:hover {
     color: var(--gold-deep);
 }

 .crumb-strip .crumb .sep {
     margin: 0 6px;
     color: var(--paper-line);
 }

 .hero {
     background: linear-gradient(180deg, var(--white) 0%, var(--paper) 100%);
     border-bottom: 1px solid var(--paper-line);
     padding: 56px 0 44px;
 }

 

 .hero p.lede {
     margin-top: 18px;
     font-size: 1.02rem;
     color: var(--ink-soft);
     max-width: 680px;
 }

 .hero-stats {
     display: flex;
     gap: 26px;
     margin-top: 26px;
     flex-wrap: wrap;
     font-family: 'IBM Plex Mono', monospace;
     font-size: 0.72rem;
     color: var(--charcoal-soft);
 }

 .hero-stats strong {
     display: block;
     color: var(--ink);
     font-family: 'IBM Plex Sans', sans-serif;
     font-size: 0.92rem;
     font-weight: 600;
     margin-top: 2px;
 }

 

 /* Filter pills */
 .filter-pills {
     display: flex;
     gap: 8px;
     flex-wrap: wrap;
     margin-bottom: 26px;
     margin-top: 26px;
 }

 .filter-pills .fbtn {
     font-family: 'IBM Plex Sans', sans-serif;
     font-weight: 600;
     font-size: 0.85rem;
     color: var(--ink-soft);
     background: var(--white);
     border: 1px solid var(--paper-line);
     border-radius: 24px;
     padding: 8px 18px;
     cursor: pointer;
 }

 .filter-pills .fbtn.active {
     background: var(--ink);
     color: var(--white);
     border-color: var(--ink);
 }

 /* Chapter list rows (same visual language as the homepage's recent-uploads feed) */
 .chapter-list {
     background: var(--white);
     border-radius: 10px;
     overflow: hidden;
 }

 .rc-row {
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 16px;
     padding: 16px 22px;
     border-bottom: 1px solid var(--paper-line);
 }

 .rc-row:last-child {
     border-bottom: none;
 }

 .rc-left {
     display: flex;
     align-items: center;
     gap: 14px;
     min-width: 0;
 }

 .rc-icon {
     width: 38px;
     height: 38px;
     flex: 0 0 auto;
     border-radius: 8px;
     background: var(--paper);
     display: flex;
     align-items: center;
     justify-content: center;
     font-family: 'IBM Plex Mono', monospace;
     font-weight: 700;
     font-size: 0.8rem;
     color: var(--gold-deep);
 }

 .rc-row.is-live .rc-icon {
     background: var(--gold-soft);
 }

 .rc-text {
     min-width: 0;
 }

 .rc-title {
     font-weight: 600;
     color: var(--ink);
     font-size: 0.95rem;
 }

 .rc-sub {
     font-size: 0.78rem;
     color: var(--charcoal-soft);
     margin-top: 2px;
 }

 .rc-right {
     display: flex;
     align-items: center;
     gap: 16px;
     flex: 0 0 auto;
 }

 .rc-date {
     font-family: 'IBM Plex Mono', monospace;
     font-size: 0.68rem;
     color: var(--charcoal-soft);
     white-space: nowrap;
 }

 .rc-link {
     font-size: 0.82rem;
     font-weight: 600;
     color: var(--gold-deep);
     white-space: nowrap;
 }

 .rc-link::after {
     content: " →";
 }

 .rc-row.is-soon {
     opacity: 0.6;
 }

 .rc-row.is-soon .rc-link {
     color: var(--charcoal-soft);
     pointer-events: none;
 }

 .rc-row.is-soon .rc-link::after {
     content: "";
 }

 @media (max-width:576px) {
     .rc-row {
         flex-wrap: wrap;
     }

     .rc-right {
         margin-left: 52px;
     }
 }

 /* Pagination */
 .dg-pagination {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 6px;
     margin-top: 32px;
     margin-bottom: 32px;
     flex-wrap: wrap;
 }

 .dg-pagination button {
     font-family: 'IBM Plex Mono', monospace;
     font-size: 0.8rem;
     font-weight: 600;
     min-width: 38px;
     height: 38px;
     padding: 0 10px;
     border: 1px solid var(--paper-line);
     background: var(--white);
     color: var(--ink-soft);
     border-radius: 6px;
     cursor: pointer;
 }

 .dg-pagination button:hover:not(:disabled) {
     border-color: var(--gold);
     color: var(--gold-deep);
 }

 .dg-pagination button.active {
     background: var(--ink);
     border-color: var(--ink);
     color: var(--white);
 }

 .dg-pagination button:disabled {
     opacity: 0.4;
     cursor: not-allowed;
 }

 /*----------------------------
  Chapter Description Styling
  -------------------------- */

 /* ---------- Hero (light, premium editorial) ---------- */
 .hero {
         background: linear-gradient(110deg, var(--paper) 0%, var(--paper) 55%, #F4EDE0 100%);
     padding: 68px 32px 56px;
     border-bottom: 1px solid var(--paper-line);
     position: relative;
 }

 .hero-inner {
     max-width: 820px;
     margin: 0 auto;
 }



 .hero .rule {
     width: 56px;
     height: 2px;
     background: var(--gold);
     margin-top: 22px;
 }

 .btn-video {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     margin-top: 22px;
     padding: 10px 20px;
     background: var(--white);
     border: 1px solid var(--paper-line);
     color: var(--ink);
     font-family: 'IBM Plex Sans', sans-serif;
     font-size: 0.86rem;
     font-weight: 600;
     border-radius: var(--radius);
     box-shadow: var(--shadow);
     transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
 }

 .btn-video i {
     color: #FF0000;
     font-size: 1.05rem;
 }

 .btn-video:hover {
     border-color: #FF0000;
     transform: translateY(-1px);
     box-shadow: 0 4px 14px rgba(255, 0, 0, 0.14);
 }

 .hero p.lede {
     margin-top: 20px;
     font-size: 1.05rem;
     color: var(--ink-soft);
     max-width: 660px;
 }

 .hero-meta {
     display: flex;
     gap: 28px;
     margin-top: 30px;
     flex-wrap: wrap;
     font-family: 'IBM Plex Mono', monospace;
     font-size: 0.72rem;
     color: var(--charcoal-soft);
     letter-spacing: 0.03em;
 }

 .hero-meta strong {
     display: block;
     color: var(--ink);
     font-family: 'IBM Plex Sans', sans-serif;
     font-size: 0.9rem;
     font-weight: 600;
     margin-top: 2px;
 }

 /* ---------- Layout ---------- */
 .page {
     max-width: 1060px;
     margin: 0 auto;
     padding: 0 32px;
     display: grid;
     grid-template-columns: 160px 1fr;
     gap: 0 44px;
 }

 /* ---------- Depth rail (signature element, lightened) ---------- */
 .depth-rail {
     position: sticky;
     top: 24px;
     align-self: start;
     padding-top: 56px;
     height: fit-content;
 }

 .depth-rail ol {
     list-style: none;
     margin: 0;
     padding: 0;
     border-left: 1px solid var(--paper-line);
 }

 .depth-rail li {
     position: relative;
 }

 .depth-rail a {
     display: block;
     text-decoration: none;
     padding: 16px 0 16px 20px;
     font-family: 'IBM Plex Mono', monospace;
     font-size: 0.7rem;
     letter-spacing: 0.06em;
     color: var(--charcoal-soft);
     border-left: 2px solid transparent;
     margin-left: -1px;
     transition: color .15s ease, border-color .15s ease;
 }

 .depth-rail a .ft {
     display: block;
     font-size: 0.85rem;
     color: var(--ink);
     font-weight: 600;
     margin-bottom: 2px;
     font-family: 'IBM Plex Sans', sans-serif;
 }

 .depth-rail a:hover,
 .depth-rail a.active {
     color: var(--gold);
     border-left-color: var(--gold);
 }

 .depth-rail a:hover .ft,
 .depth-rail a.active .ft {
     color: var(--gold);
 }

 .depth-rail .waterline {
     font-family: 'IBM Plex Mono', monospace;
     font-size: 0.65rem;
     color: var(--charcoal-soft);
     padding-left: 20px;
     padding-top: 14px;
     border-top: 1px dashed var(--paper-line);
     margin-top: 4px;
     margin-bottom:20px;
 }

 /* ---------- Content sections ---------- */
 .content {
     padding: 56px 0 40px;
 }

 section.chapter-block {
     padding: 32px 0 38px;
     border-bottom: 1px solid var(--paper-line);
 }

 section.chapter-block:first-child {
     padding-top: 0;
 }

 section.chapter-block .depth-badge {
     display: none;
     font-family: 'IBM Plex Mono', monospace;
     font-size: 0.68rem;
     color: var(--gold);
     letter-spacing: 0.08em;
     margin-bottom: 8px;
 }

 section.chapter-block h2 {
     font-size: 1.55rem;
 }

 section.chapter-block p.intro {
     margin-top: 12px;
     color: var(--charcoal);
     max-width: 660px;
     font-size: 0.98rem;
 }

 .btn {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     margin-top: 20px;
     padding: 12px 22px;
     background: var(--white);
     border: 1px solid var(--ink);
     color: var(--ink);
     font-family: 'IBM Plex Sans', sans-serif;
     font-size: 0.86rem;
     font-weight: 600;
     text-decoration: none;
     border-radius: var(--radius);
     box-shadow: var(--shadow);
     transition: background .15s ease, color .15s ease, transform .15s ease;
 }

 .btn:hover {
     background: var(--ink);
     color: var(--white);
     transform: translateY(-1px);
 }

 .btn::after {
     content: "→";
     transition: transform .15s ease;
 }

 .btn:hover::after {
     transform: translateX(3px);
 }

 .btn-primary {
     background: var(--gold);
     border-color: var(--gold);
     color: var(--white);
 }

 .btn-primary:hover {
     background: var(--gold-deep);
     color: var(--white);
 }

 /* ---------- Q&A accordion ---------- */
 .qa-list {
     margin-top: 22px;
     display: flex;
     flex-direction: column;
     gap: 10px;
     max-width: 720px;
 }

 .qa-item {
     background: var(--white);
     border: 1px solid var(--paper-line);
     border-radius: 6px;
     box-shadow: var(--shadow);
     overflow: hidden;
 }

 .qa-item summary {
     list-style: none;
     cursor: pointer;
     padding: 16px 20px;
     display: flex;
     align-items: baseline;
     gap: 14px;
     font-weight: 600;
     color: var(--ink);
     font-size: 0.95rem;
 }

 .qa-item summary::-webkit-details-marker {
     display: none;
 }

 .qa-item summary .qnum {
     font-family: 'IBM Plex Mono', monospace;
     color: var(--gold);
     font-size: 0.78rem;
     flex: 0 0 auto;
 }

 .qa-item summary::after {
     content: "+";
     margin-left: auto;
     font-family: 'IBM Plex Mono', monospace;
     color: var(--gold);
     font-size: 1rem;
 }

 .qa-item[open] summary::after {
     content: "–";
 }

 .qa-item .answer {
     padding: 0 20px 18px 54px;
     color: var(--charcoal-soft);
     font-size: 0.92rem;
     max-width: 600px;
 }

 /* ---------- Main CTA block ---------- */
 .main-cta {
     margin-top: 8px;
     padding: 38px 34px;
     background: var(--ink);
     color: var(--white);
     border-radius: 8px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 20px;
     flex-wrap: wrap;
     box-shadow: var(--shadow);
 }

 .main-cta h3 {
     font-family: 'Fraunces', serif;
     font-size: 1.35rem;
     margin: 0 0 6px;
     color: var(--white);
 }

 .main-cta p {
     margin: 0;
     color: #C7D3DA;
     font-size: 0.9rem;
     /*max-width: 420px;*/
 }

 footer {
     padding: 28px 32px 44px;
     text-align: center;
     font-family: 'IBM Plex Mono', monospace;
     font-size: 0.7rem;
     color: var(--charcoal-soft);
 }

 /* ---------- Mobile ---------- */
 @media (max-width:760px) {
     .page {
         grid-template-columns: 1fr;
     }

     .depth-rail {
         display: none;
     }

     section.chapter-block .depth-badge {
         display: block;
     }

     .main-cta {
         flex-direction: column;
         align-items: flex-start;
     }

     .qa-item .answer {
         padding-left: 20px;
     }
 }

 :focus-visible {
     outline: 2px solid var(--gold);
     outline-offset: 2px;
 }

 /* --------------------- 
    Sample paper styling
 --------------------------- */

 /* Paper picker pills */
        .paper-pills {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
            margin-bottom: 30px;
        }

            .paper-pills .nav-link {
                font-family: 'IBM Plex Sans',sans-serif;
                font-weight: 600;
                font-size: 0.86rem;
                color: var(--ink-soft);
                background: var(--white);
                border: 1px solid var(--paper-line);
                border-radius: 24px;
                padding: 9px 18px;
            }

                .paper-pills .nav-link.active {
                    background: var(--ink) !important;
                    color: var(--white) !important;
                    border-color: var(--ink);
                }

        /* Paper header info card */
        .paper-header {
            background: var(--ink);
            color: var(--white);
            border-radius: 10px;
            padding: 28px 30px;
            margin-bottom: 28px;
            box-shadow: var(--shadow);
            display: flex;
            flex-wrap: wrap;
            gap: 24px;
            align-items: center;
            justify-content: space-between;
        }

            .paper-header h3 {
                color: var(--white);
                font-size: 1.35rem;
            }

            .paper-header .meta-row {
                display: flex;
                gap: 22px;
                flex-wrap: wrap;
                font-family: 'IBM Plex Mono',monospace;
                font-size: 0.72rem;
                color: #B9CDD3;
            }

                .paper-header .meta-row strong {
                    display: block;
                    color: var(--white);
                    font-family: 'IBM Plex Sans',sans-serif;
                    font-size: 0.9rem;
                    font-weight: 600;
                    margin-top: 2px;
                }

        /* Section label */
        .section-label {
            font-family: 'IBM Plex Mono',monospace;
            font-size: 0.72rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--gold-deep);
            margin: 30px 0 14px;
            padding-bottom: 8px;
            border-bottom: 1px solid var(--paper-line);
        }

            .section-label:first-of-type {
                margin-top: 0;
            }

        /* Reading passage box */
        .passage-box {
            background: var(--white);
            border: 1px solid var(--paper-line);
            border-left: 3px solid var(--gold);
            border-radius: 6px;
            padding: 20px 22px;
            font-size: 0.92rem;
            color: var(--charcoal);
            margin-bottom: 16px;
        }

            .passage-box .p-label {
                font-family: 'IBM Plex Mono',monospace;
                font-size: 0.65rem;
                letter-spacing: 0.06em;
                color: var(--charcoal-soft);
                text-transform: uppercase;
                margin-bottom: 8px;
                display: block;
            }


        /* Plain Question/Answer text — matches simple admin/CKEditor output, no card styling */
        .qa-list {
            display: flex;
            flex-direction: column;
            gap: 22px;
            margin-bottom: 8px;
        }

        .qa-block {
            font-size: 0.98rem;
            line-height: 1.6;
        }

            .qa-block .q-line {
                font-weight: 700;
                color: var(--charcoal);
                margin: 0 0 4px;
            }

            .qa-block .a-line {
                font-weight: 400;
                color: var(--charcoal);
                margin: 0;
            }

                .qa-block .a-line strong {
                    font-weight: 700;
                }
                
                
                
   .dg-logo {
            width: 240px;
            height: auto;
            display: block;
    }
        
        
        
 /* =========================================================
           RESPONSIVE
        ========================================================= */

        @media(max-width:1199px) {

            .hero h1 {
                font-size: 58px;
            }

            .resource-items {
                justify-content: flex-start;
                margin-top: 20px;
            }

        }

        @media(max-width:991px) {

            .navbar {
                min-height: 70px;
            }

            .navbar-nav {
                padding: 15px 0;
            }

            .navbar-nav .nav-link {
                padding: 11px 0 !important;
            }

            .nav-cta {
                margin: 8px 0 0 !important;
                display: inline-block;
                width: max-content;
                padding-right: 5px;
                padding-left: 5px;
            }

            .dropdown-menu {
                border: 0;
                box-shadow: none;
                background: var(--paper);
            }

            .hero {
                min-height: auto;
            }

            .hero-content {
                padding: 80px 0 100px;
            }

            .hero h1 {
                font-size: 52px;
            }

            .section-padding {
                padding: 75px 0;
            }

            .process-line {
                display: none;
            }

            .about-visual {
                margin-bottom: 40px;
            }

        }

        @media(max-width:767px) {

            .hero h1 {
                font-size: 42px;
                letter-spacing: -.8px;
            }

            .hero-description {
                font-size: 15px;
            }

            .section-title {
                font-size: 34px;
            }

            .resource-strip {
                margin-top: -30px;
            }

            .resource-box {
                padding: 25px 20px;
            }

            .resource-items {
                gap: 5px;
            }

            .resource-pill {
                font-size: 10px;
            }

            .about-visual {
                min-height: 350px;
            }

            .about-center strong {
                font-size: 48px;
            }

            .pyq-box {
                padding: 35px 25px;
            }

            .pyq-box h2 {
                font-size: 32px;
            }

            .cta-section {
                padding: 70px 20px;
            }

            .cta-section h2 {
                font-size: 35px;
            }

        }

        @media(max-width:480px) {

            .hero-content {
                padding: 60px 0 85px;
            }

            .hero h1 {
                font-size: 36px;
            }

            .hero-buttons {
                flex-direction: column;
                align-items: stretch;
            }

            .hero-buttons a {
                text-align: center;
            }

            .section-title {
                font-size: 30px;
            }

            .chapter-card {
                padding: 25px;
            }

            .class-card {
                min-height: 165px;
            }

        }        
        
        
        
        .footer-bottom .col-md-6 {
                text-align: left;
            }
            
            
            
            
            
            /* =========================================================
   2ND LEVEL CLASS DROPDOWN
========================================================= */

.dropdown-submenu {
    position: relative;
}

.dropdown-submenu > .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: 0;
    margin-left: 0;
    display: none;
}

.dropdown-submenu:hover > .dropdown-menu {
    display: block;
}


/* Right arrow */

.dropdown-submenu > .dropdown-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
}


/* Keep submenu above other content */

.dropdown-menu {
    z-index: 1050;
}


/* =========================================================
   DESKTOP
========================================================= */

@media (min-width: 992px) {

    .dropdown-submenu:hover > .dropdown-menu {
        display: block;
    }

}
            
            


section.hero.inner {
    min-height: 250px !important;
}

            
        