html {
    scroll-behavior: smooth;
}

main[id],
section[id] {
    scroll-margin-top: 24px;
}

:root {
    --navy: #102252;
    --green: #00966a;
    --muted: #7e8db1;
    --ease: cubic-bezier(.2, .7, .2, 1);
    --font-malayalam: 'Anek Malayalam', 'Noto Sans Malayalam', sans-serif
}

* {
    box-sizing: border-box
}

body {
    margin: 0;
    color: var(--navy);
    font-family: Inter, Arial, sans-serif;
    background: #f8fbff
}

:lang(ml),
[lang="ml"] {
    font-family: 'Anek Malayalam', 'Noto Sans Malayalam', sans-serif;
}

button,
a {
    -webkit-tap-highlight-color: transparent
}

button,
input {
    font: inherit
}

button {
    color: inherit;
    cursor: pointer
}

button:focus-visible,
a:focus-visible,
input:focus-visible {
    outline: 3px solid #00b5d7;
    outline-offset: 5px
}

button {
    border: 0
}

a {
    color: inherit;
    text-decoration: none
}

svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round
}

img {
    display: block;
    max-width: 100%
}

.svg-defs {
    position: absolute;
    width: 0;
    height: 0
}

.skip-link {
    position: fixed;
    top: -60px;
    left: 20px;
    background: white;
    padding: 12px;
    z-index: 99
}

.skip-link:focus {
    top: 10px
}

.page-shell {
    max-width: 1920px;
    margin: auto;
    overflow-x: hidden;
    background: radial-gradient(ellipse at 4% 7%, #edf6ff, transparent 27%), radial-gradient(ellipse at 46% 74%, #e9efff, transparent 29%), #fcfdff
}

.site-header {
    height: 126px;
    padding: 20px 4.3%;
    display: flex;
    align-items: center;
    gap: 30px;
    position: relative;
    z-index: 20
}

.brand {
    display: flex;
    align-items: baseline;
    gap: 14px;
    flex-shrink: 0;
    text-decoration: none
}

.brand-emblem {
    height: 54px;
    width: auto;
    object-fit: contain;
    flex-shrink: 0;
    filter: drop-shadow(0 2px 8px rgba(0, 102, 178, 0.12));
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1)
}

.brand:hover .brand-emblem {
    transform: scale(1.06)
}

.brand-copy {
    display: flex;
    flex-direction: column;
    justify-content: center
}

.brand-wordmark {
    height: 36px;
    width: auto;
    object-fit: contain;
    display: block
}

.brand strong {
    font-family: 'Anek Malayalam', 'Noto Sans Malayalam', sans-serif;
    font-size: 43px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: -2px
}

.brand small {
    font-size: 11.5px;
    margin-top: 2px;
    letter-spacing: .4px;
    text-align: left;
    color: var(--navy-subtle, #54718b);
    white-space: nowrap
}

/* Header Brand Cluster & Official Affiliations */
.header-brand-cluster {
    display: flex;
    align-items: center;
    gap: 22px;
    flex-shrink: 0;
    min-width: 0;
}

.header-brand-divider {
    width: 1.5px;
    height: 48px;
    background: linear-gradient(180deg, rgba(16, 50, 90, 0.04) 0%, rgba(16, 50, 90, 0.22) 50%, rgba(16, 50, 90, 0.04) 100%);
    border-radius: 1px;
    flex-shrink: 0;
}

.header-partners {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.partner-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    line-height: 0;
    padding: 3px;
    border-radius: 6px;
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.2s ease;
}

.partner-link:hover {
    transform: translateY(-1.5px);
    opacity: 0.94;
}

.partner-link:focus-visible {
    outline: 2px solid #009c77;
    outline-offset: 3px;
}

.partner-logo {
    display: block;
    object-fit: contain;
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.partner-logo-ed {
    height: 50px;
    width: auto;
    filter: drop-shadow(0 1px 3px rgba(0, 30, 60, 0.08));
}

.partner-logo-kite {
    height: 50px;
    width: auto;
    mix-blend-mode: multiply;
}

.partner-link:hover .partner-logo {
    transform: scale(1.04);
}

/* Mobile Drawer Affiliation (hidden on desktop) */
.nav-drawer-gov {
    display: none;
}

.navigation {
    display: flex;
    align-items: center;
    gap: 27px;
    margin-left: auto;
    white-space: nowrap
}

.navigation a,
.navigation button {
    background: none;
    font-size: 12px;
    padding: 12px 0;
    position: relative
}

.navigation .active:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #00b6d2
}

.navigation a:hover,
.navigation button:hover {
    color: var(--green)
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 14px
}

.icon-button {
    display: grid;
    place-items: center;
    background: #ffffffb3;
    border-radius: 50%;
    width: 40px;
    height: 40px
}

.login-button {
    border: 1px solid #bdcbe4;
    border-radius: 22px;
    padding: 12px 25px;
    background: transparent;
    font-size: 13px;
    font-weight: 600
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: linear-gradient(165deg, #48bd75, #00986d 80%);
    box-shadow: 0 7px 17px #00ae9a17;
    color: white;
    border-radius: 50px;
    font-weight: 600;
    transition: transform .25s, box-shadow .25s;
    cursor: pointer;
    pointer-events: auto;
}

.button:hover {
    transform: translateY(-3px);
    box-shadow: 0 9px 24px #009b7933
}

.header-cta {
    padding: 13px 23px;
    font-size: 13px;
    white-space: nowrap
}

.button svg {
    width: 20px;
    height: 20px;
    pointer-events: none
}

.handwriting {
    font-family: Caveat, cursive;
    font-weight: 400
}

.header-note {
    font-size: 23px;
    line-height: 1.03;
    margin: 0 0 0 16px;
    transform: rotate(-6deg);
    color: #7385ae;
    min-width: 180px
}

.menu-button {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
}

.menu-button span {
    display: block;
    height: 2px;
    width: 19px;
    background: var(--navy);
    border-radius: 1px;
}

.hero {
    position: relative;
    min-height: 898px
}

.hero-copy {
    position: relative;
    z-index: 6;
    width: 47%;
    padding: 35px 0 0 4.5%;
    pointer-events: none
}

.hero-copy button,
.hero-copy a {
    pointer-events: auto
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    border-radius: 40px;
    background: linear-gradient(110deg, #a8ef8a, #f2f6ff);
    box-shadow: 0 2px 5px #9dc9ff66;
    font-size: 14.5px;
    font-weight: 500;
    white-space: nowrap
}

.eyebrow svg {
    color: #13a9dc;
    width: 20px;
    height: 20px
}

.title-wrap {
    position: relative;
    width: max-content;
    max-width: 100%;
    margin-top: 27px
}

.title-wrap h1 {
    font-family: 'Anek Malayalam', 'Noto Sans Malayalam', sans-serif;
    font-size: clamp(85px, 8.9vw, 137px);
    line-height: 1.16;
    letter-spacing: -6px;
    font-weight: 900;
    margin: 0;
    background: linear-gradient(268deg, #80c350 1%, #009258 30%, #0f3658 56%, #072474 80%, #087fd2);
    background-clip: text;
    -webkit-text-fill-color: transparent;
    padding: 8px 0 0
}

.title-sprout {
    position: absolute;
    width: 57px;
    height: 75px;
    top: -59px;
    right: 18%;
    transform: rotate(10deg)
}

.hero-copy h2 {
    font-family: 'Anek Malayalam', 'Noto Sans Malayalam', sans-serif;
    font-weight: 600;
    font-size: 48px;
    line-height: 1.25;
    letter-spacing: -.6px;
    margin: 21px 0 10px
}

.intro {
    font-family: 'Anek Malayalam', 'Noto Sans Malayalam', sans-serif;
    font-size: 20px;
    line-height: 1.55;
    margin: 12px 0 28px;
    max-width: 620px
}

.hero-actions {
    display: flex;
    align-items: center;
    gap: 35px;
    pointer-events: auto;
}

.hero-actions a,
.hero-actions button {
    pointer-events: auto;
    cursor: pointer;
}

.primary-cta {
    font-size: 16px;
    min-height: 56px;
    padding: 15px 31px;
    white-space: nowrap
}

.watch-button {
    display: flex;
    align-items: center;
    gap: 13px;
    text-align: left;
    background: none;
    padding: 0
}

.play-circle {
    width: 55px;
    height: 55px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: white;
    box-shadow: 0 4px 12px #a4d0ff60;
    color: #1762c3
}

.play-circle svg {
    width: 23px;
    height: 23px;
    fill: currentColor;
    stroke-width: 0
}

.watch-button strong {
    font-size: 15px;
    display: block
}

.watch-button small {
    font-size: 11.5px;
    display: block;
    color: var(--muted);
    margin-top: 4px
}

.benefits {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-top: 39px;
    max-width: 580px
}

.benefits a,
.benefits button {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: none;
    text-align: left;
    padding: 0 5px;
    font-size: 14px;
    line-height: 1.3;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.benefits strong {
    font-weight: 600;
    margin-top: 7px
}

.benefit-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    transition: transform .25s
}

.benefits a:hover .benefit-icon, .benefits button:hover .benefit-icon {
    transform: translateY(-5px) rotate(-8deg)
}

.benefit-icon svg {
    width: 28px;
    height: 28px
}

.mint {
    background: #d0f5ee;
    color: #00a693
}

.lilac {
    background: #f0defe;
    color: #863de0
}

.cream {
    background: #fff2d8;
    color: #e78c08
}

.blue {
    background: #dfedff;
    color: #0789e0
}

/* -------------------------------------------------------------
 * Target Users & Resources (Left Bottom Section)
 * ------------------------------------------------------------- */
.target-users-section {
    margin-top: 38px;
    max-width: 610px;
    position: relative;
    z-index: 5;
}

.target-users-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.target-title-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
}

.target-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 30px;
    background: linear-gradient(110deg, #e7f4ff, #f3fbf6);
    border: 1px solid rgba(19, 169, 220, 0.28);
    box-shadow: 0 2px 8px rgba(157, 201, 255, 0.25);
    font-size: 13px;
    color: var(--navy);
}

.target-badge-icon {
    width: 17px;
    height: 17px;
    color: #00966a;
    flex-shrink: 0;
}

.target-badge strong {
    font-weight: 700;
}

.target-handwriting {
    font-family: Caveat, cursive;
    font-size: 21px;
    font-weight: 600;
    color: #008f65;
    position: relative;
    white-space: nowrap;
    transform: rotate(-1.5deg);
    margin-right: 6px;
}

.target-handwriting span {
    color: #0b70b5;
}

.target-handwriting i {
    position: absolute;
    bottom: -5px;
    left: 10%;
    width: 80%;
    height: 6px;
    border-bottom: 2px solid #50cd97;
    border-radius: 50%;
    transform: rotate(-1deg);
    pointer-events: none;
}

.target-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.target-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 14px 8px 12px;
    border-radius: 20px;
    border: 1.5px solid transparent;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    color: inherit;
    transition: transform 0.26s var(--ease), box-shadow 0.26s var(--ease);
    box-shadow: 0 4px 12px rgba(16, 34, 82, 0.04);
    min-height: 154px;
    position: relative;
    overflow: visible;
}

.target-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 22px rgba(16, 34, 82, 0.1);
}

.card-students {
    background: #e5fae9;
    border-color: #72d98d;
}

.card-teachers {
    background: #f1e9fe;
    border-color: #b58bf9;
}

.card-nodal {
    background: #fef8e4;
    border-color: #ecc96e;
}

.card-directorate {
    background: #dbf2ff;
    border-color: #75c9f5;
}

.card-students:hover {
    border-color: #49cb69;
}

.card-teachers:hover {
    border-color: #9f69f7;
}

.card-nodal:hover {
    border-color: #e0b445;
}

.card-directorate:hover {
    border-color: #51b9f2;
}

.target-avatar-wrap {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 2px;
}

.target-avatar-wrap img {
    width: 100%;
    max-width: 104px;
    height: auto;
    object-fit: contain;
    display: block;
    transition: transform 0.28s var(--ease);
}

.target-card:hover .target-avatar-wrap img {
    transform: scale(1.04);
}

.target-card-body {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 6px 0 8px;
    min-height: 32px;
}

.target-card-body strong {
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.25;
    color: #102252;
    display: block;
}

.target-card-btn {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.25s var(--ease);
    flex-shrink: 0;
}

.target-card-btn svg {
    width: 14px;
    height: 14px;
    transition: transform 0.25s var(--ease);
}

.card-students .target-card-btn {
    background: #c0f8c7;
    color: #0f8546;
}

.card-teachers .target-card-btn {
    background: #e3cbfd;
    color: #6a34d0;
}

.card-nodal .target-card-btn {
    background: #ffecb8;
    color: #a46d0a;
}

.card-directorate .target-card-btn {
    background: #b1e5fa;
    color: #096caf;
}

.target-card:hover .target-card-btn svg {
    transform: translateX(3px);
}

.hero-art {
    position: absolute;
    right: 0;
    top: -32px;
    width: 54%;
    height: 910px
}

.cosmos {
    position: absolute;
    inset: 0 -80px 88px 75px;
    overflow: hidden;
    border-radius: 52% 0 36% 41% / 37% 0 36% 34%;
    background: radial-gradient(ellipse at 5% 17%, #aeea7e 0%, #66c99f 17%, transparent 42%), radial-gradient(ellipse at 96% 95%, #96a5ff 0%, #6769ed 21%, transparent 48%), radial-gradient(ellipse at 16% 92%, #65d3bb, transparent 40%), linear-gradient(130deg, #1c7793, #051e48 56%, #172760)
}

.cosmos:after {
    content: '';
    position: absolute;
    inset: 40% -15% -20% 20%;
    border-radius: 50%;
    border: 55px solid #9fbcff16;
    transform: rotate(-28deg)
}

.stars {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, #a8deffa8 0 1px, transparent 1.7px), radial-gradient(circle, #6cb4eb90 0 .8px, transparent 1.5px);
    background-size: 73px 91px, 117px 67px;
    background-position: 13px 39px, 28px 1px;
    opacity: .6
}

.orb {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle at 45% 40%, #afaaff88, #7b5ce33b 35%, transparent 70%)
}

.orb-one {
    width: 80px;
    height: 80px;
    right: 17%;
    top: 25px
}

.orb-two {
    width: 60px;
    height: 60px;
    right: 18%;
    top: 450px;
    border: 1px solid #aaaaff55
}

.orbit {
    position: absolute;
    width: 120px;
    height: 120px;
    right: 13%;
    top: 410px;
    border: 1px solid #6aa9ed44;
    border-radius: 50%;
    transform: rotate(-45deg) scaleX(.25)
}

.student-wrap {
    position: absolute;
    left: 3%;
    top: 69px;
    width: 85%;
    z-index: 3
}

.student {
    width: 100%;
    height: auto;
    mask-image: linear-gradient(to bottom, #000 0%, #000 94%, transparent 100%)
}

.notebook-note {
    position: absolute;
    top: 43%;
    left: 48%;
    width: 23%;
    text-align: center;
    font-size: 27px;
    line-height: 1.13;
    transform: rotate(7deg);
    margin: 0;
    color: #172c46
}

.leaf {
    position: absolute;
    z-index: 2;
    transform-origin: 48% 96%;
}

.leaf-one {
    width: 180px;
    left: 0;
    top: 220px;
    transform: rotate(-11deg);
    opacity: 0;
    cursor: pointer;
    will-change: transform, opacity;
    transition: filter 0.35s ease;
}

.leaf-two {
    width: 150px;
    left: 3%;
    bottom: 145px;
    transform: rotate(-50deg);
    opacity: 0;
    cursor: pointer;
    will-change: transform, opacity;
    transition: filter 0.35s ease;
}

.leaf-one:hover,
.leaf-two:hover {
    filter: drop-shadow(0 0 16px rgba(103, 206, 134, 0.55)) brightness(1.05);
}

.leaf-three {
    width: 115px;
    right: 4%;
    top: 151px;
    transform: rotate(50deg);
    filter: hue-rotate(65deg);
    opacity: .7
}

.affirmation {
    position: absolute;
    top: 76px;
    left: -4%;
    z-index: 4;
    font-size: 33px;
    line-height: 1.08;
    transform: rotate(-10deg);
    margin: 0
}

.affirmation span {
    padding-left: 26px
}

.affirmation b {
    display: block;
    text-align: right;
    font-weight: 400
}

.exam-note {
    position: absolute;
    z-index: 4;
    right: 16%;
    top: 40px;
    transform: rotate(-8deg);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #9fe0ff;
    font-family: Caveat, cursive;
    font-size: 36px;
    line-height: 1.03;
    font-weight: 600
}

.exam-note small {
    font-size: 30px;
    color: white;
    margin-top: 8px
}

.exam-note i {
    width: 93px;
    height: 9px;
    border-top: 3px solid #6adafa;
    border-radius: 50%;
    transform: rotate(-11deg);
    margin: 12px 0 0 20px
}

.learning-cards {
    position: absolute;
    z-index: 5;
    top: 383px;
    left: 0;
    width: 228px;
    display: flex;
    flex-direction: column;
    gap: 11px
}

.learning-card {
    display: flex;
    align-items: center;
    gap: 13px;
    text-align: left;
    padding: 13px 17px;
    border-radius: 28px;
    min-height: 65px;
    box-shadow: 0 6px 18px #6184bd10;
    transition: translate .3s, box-shadow .3s;
    backdrop-filter: blur(14px);
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}

.learning-card:hover {
    translate: 7px 0;
    box-shadow: 0 5px 24px #143d6826
}

.learning-card strong {
    display: block;
    font-size: 12px;
    font-weight: 600
}

.learning-card small {
    display: block;
    font-size: 11px;
    margin-top: 3px
}

.pink {
    background: linear-gradient(100deg, #ffdce5ef, #f5d4edef);
    margin-left: 26px;
    margin-right: -26px
}

.purple {
    background: linear-gradient(100deg, #ead9ffed, #dac4f7f5)
}

.aqua {
    background: linear-gradient(100deg, #d0fff0ed, #b0eae8f5);
    margin-left: 3px;
    margin-right: -3px
}

.yellow {
    background: linear-gradient(100deg, #fff9c2f5, #fff0b4f5);
    margin-left: 24px;
    margin-right: -24px
}

.card-icon {
    width: 37px;
    height: 37px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    flex-shrink: 0
}

.card-icon svg {
    width: 23px;
    height: 23px
}

.pink .card-icon {
    background: #ffbace;
    color: #db2c65
}

.purple .card-icon {
    background: #d3b4ff;
    color: #7541c3
}

.aqua .card-icon {
    background: #8cdbc5;
    color: #008e6c
}

.yellow .card-icon {
    background: #ffe66c;
    color: #b99515
}

.ai-icon {
    font-size: 23px;
    font-weight: 500
}

.companion {
    position: absolute;
    right: 1%;
    top: 245px;
    width: 246px;
    height: 200px;
    padding: 0;
    background: transparent;
    z-index: 6;
    animation: float 6s ease-in-out infinite;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.companion img {
    position: absolute;
    right: -3px;
    top: 0;
    width: 173px;
    height: auto;
    filter: drop-shadow(0 0 13px #70cafa44)
}

.companion-bubble {
    position: absolute;
    left: 0;
    top: 82px;
    background: linear-gradient(125deg, #fff, #daefff);
    border: 2px solid white;
    border-radius: 24px;
    padding: 15px 15px;
    text-align: left;
    box-shadow: 0 0 18px #92e8ff77
}

.companion-bubble strong {
    font-size: 14px;
    line-height: 1.3
}

.companion-bubble small {
    display: block;
    font-size: 10px;
    margin-top: 4px
}

.quote-card {
    position: absolute;
    right: 4.5%;
    bottom: 78px;
    z-index: 7;
    width: 186px;
    min-height: 213px;
    background: linear-gradient(135deg, white, #e5efff);
    border-radius: 33px 37px 42px 35px;
    transform: rotate(-5deg);
    padding: 17px 23px 25px;
    margin: 0;
    box-shadow: 0 20px 55px #3ebbbb16
}

.quote-mark {
    font-family: Georgia, serif;
    font-size: 54px;
    line-height: .8;
    color: #91a0c2
}

.quote-card p {
    font-size: 29px;
    line-height: 1.03;
    text-align: center;
    margin: 0 0 29px;
    transform: rotate(5deg)
}

.quote-card footer {
    font-size: 12px;
    white-space: nowrap;
    color: #637da9;
    transform: rotate(5deg)
}

.bottom-story {
    position: absolute;
    left: 5.5%;
    bottom: 66px;
    width: 44%;
    display: flex;
    align-items: flex-end;
    gap: 28px;
    z-index: 6
}

.future-note {
    font-size: 31px;
    line-height: 1.06;
    transform: rotate(-12deg);
    white-space: nowrap;
    margin: 0 0 11px
}

.future-note span {
    padding-left: 10px
}

.future-note i {
    display: block;
    width: 157px;
    height: 13px;
    border-top: 3px solid #b1e368;
    border-radius: 50%;
    transform: rotate(-9deg);
    margin: 7px 0 0 23px
}

.bottom-story>img {
    width: 45%;
    margin: 0 0 3px
}

.classroom-note {
    font-size: 16px;
    line-height: 1.06;
    margin: 0 -50px 0 -8px;
    white-space: nowrap;
    transform: rotate(-8deg);
    color: #6b80ab
}

.classroom-note span {
    display: block;
    font-size: 40px;
    line-height: .7
}

.bottom-wave {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 146px;
    z-index: 8;
    pointer-events: none
}

.hero-copy {
    animation: enter .8s var(--ease) both
}

.learning-cards {
    animation: enter 1s .2s var(--ease) both
}

@keyframes enter {
    from {
        opacity: 0;
        transform: translateY(16px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes float {

    0%,
    100% {
        transform: translateY(0) rotate(-2deg)
    }

    50% {
        transform: translateY(-10px) rotate(1deg)
    }
}

@media (prefers-reduced-motion: reduce) {
    .leaf-one {
        transform: rotate(-11deg) scale(1) !important;
        opacity: 1 !important;
    }

    .leaf-two {
        transform: rotate(-50deg) scale(1) !important;
        opacity: .8 !important;
    }
}

dialog {
    width: min(520px, calc(100% - 32px));
    border: 1px solid #e0eaf2;
    border-radius: 28px;
    padding: 36px;
    color: var(--navy);
    box-shadow: 0 24px 100px #051e482d;
    background: #fcfeff
}

dialog::backdrop {
    background: #071a4699;
    backdrop-filter: blur(7px)
}

.modal-close {
    position: absolute;
    right: 12px;
    top: 12px;
    font-size: 27px;
    background: #edf4fa
}

dialog h2 {
    font-size: 28px;
    letter-spacing: -1px;
    margin: 12px 0
}

dialog p {
    font-size: 14px;
    line-height: 1.65;
    color: #627293
}

.modal-kicker {
    font-size: 11px;
    color: #00966a;
    letter-spacing: 1.4px;
    font-weight: 700
}

.course-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 22px 0
}

.course-option {
    padding: 18px;
    border: 1px solid #d8e7ed;
    border-radius: 16px;
    text-align: left;
    background: #f2f8fb
}

.course-option:hover {
    border-color: #03a885;
    background: #e5f8f0
}

.course-option strong,
.course-option small {
    display: block
}

.course-option small {
    font-size: 11px;
    margin-top: 6px;
    color: #677795
}

.dialog-action {
    padding: 13px 24px;
    margin-top: 10px
}

.field {
    display: block;
    width: 100%;
    padding: 13px 15px;
    border: 1px solid #cbdce6;
    border-radius: 12px;
    margin: 9px 0 15px;
    background: white;
    color: var(--navy)
}

.field-label {
    display: block;
    margin-top: 20px;
    font-size: 13px;
    font-weight: 600
}

.demo-note {
    font-size: 12px !important;
    background: #edf5fa;
    border-radius: 12px;
    padding: 10px 14px
}

.walk-scene {
    height: 170px;
    border-radius: 18px;
    background: linear-gradient(125deg, #d7f7d3, #def3ff 60%, #e4ddff);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin: 20px 0
}

.walk-scene img {
    width: 110px;
    animation: float 5s ease-in-out infinite
}

.walk-word {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -1px
}

.walk-progress {
    display: flex;
    gap: 7px
}

.walk-progress span {
    height: 4px;
    border-radius: 5px;
    flex: 1;
    background: #e0e9ee
}

.walk-progress .current {
    background: #00a67b
}

.walk-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 15px
}

.walk-controls button {
    border-radius: 20px;
    padding: 10px 17px;
    background: #eaf5f2
}

.search-results {
    margin-top: 16px
}

.search-results button {
    display: block;
    width: 100%;
    padding: 15px;
    text-align: left;
    background: #eef7f8;
    border-radius: 10px;
    margin: 8px 0
}

.search-results small {
    display: block;
    margin-top: 4px;
    color: #74859b
}

@media(min-width:1600px) {
    .hero {
        min-height: 960px
    }

    .hero-art {
        height: 980px
    }

    .hero-copy {
        padding-top: 50px
    }

    .hero-copy h2 {
        font-size: 54px;
        line-height: 1.25
    }

    .intro {
        font-size: 23px
    }

    .learning-cards {
        top: 415px
    }

    .student-wrap {
        top: 70px;
        width: 82%
    }

    .bottom-story {
        bottom: 68px
    }
}

@media(max-width:1380px) {
    .site-header {
        gap: 20px;
        padding-inline: 3.5%;
    }

    .header-brand-cluster {
        gap: 18px;
    }

    .header-brand-divider {
        height: 44px;
    }

    .header-partners {
        gap: 14px;
    }

    .partner-logo-ed {
        height: 44px;
    }

    .partner-logo-kite {
        height: 44px;
    }

    .header-note {
        display: none
    }

    .navigation {
        gap: 18px;
    }

    .navigation a,
    .navigation button {
        font-size: 11.5px;
    }

    .hero {
        min-height: 810px
    }

    .hero-art {
        height: 830px
    }

    .hero-copy {
        width: 48%;
        padding-top: 28px
    }

    .title-wrap h1 {
        font-size: 9vw
    }

    .hero-copy h2 {
        font-size: 40px;
        line-height: 1.25;
        margin-top: 18px
    }

    .intro {
        font-size: 18px;
        margin-bottom: 25px
    }

    .eyebrow {
        font-size: 13px;
        padding: 10px 15px
    }

    .hero-actions {
        gap: 23px
    }

    .primary-cta {
        padding: 15px 25px;
        font-size: 14px
    }

    .benefits {
        margin-top: 33px
    }

    .target-users-section {
        margin-top: 34px;
    }

    .benefits a, .benefits button {
        font-size: 12px
    }

    .learning-cards {
        top: 350px;
        width: 208px
    }

    .learning-card {
        min-height: 60px;
        padding: 10px 14px
    }

    .companion {
        right: 0;
        top: 226px;
        transform: scale(.9);
        transform-origin: right center
    }

    .student-wrap {
        top: 68px;
        left: 3%;
        width: 88%
    }

    .notebook-note {
        font-size: 25px
    }

    .affirmation {
        font-size: 30px;
        left: 0
    }

    .quote-card {
        bottom: 55px;
        width: 170px
    }

    .bottom-story {
        gap: 18px;
        bottom: 58px
    }

    .future-note {
        font-size: 28px
    }

    .classroom-note {
        font-size: 14px
    }

    .exam-note {
        right: 12%;
        font-size: 33px
    }

    .cosmos {
        bottom: 60px
    }

    .bottom-wave {
        height: 120px
    }
}

@media(max-width:1260px) {
    .site-header {
        gap: 14px;
        padding-inline: 2.5%;
    }

    .header-brand-cluster {
        gap: 14px;
    }

    .brand {
        gap: 10px;
    }

    .brand-emblem {
        height: 44px;
    }

    .brand-wordmark {
        height: 28px;
    }

    .header-brand-divider {
        height: 40px;
    }

    .header-partners {
        gap: 12px;
    }

    .partner-logo-ed {
        height: 40px;
    }

    .partner-logo-kite {
        height: 40px;
    }

    .navigation {
        gap: 13px;
    }

    .navigation a,
    .navigation button {
        font-size: 11px;
        padding: 6px 0;
    }

    .header-cta {
        padding: 10px 16px;
        font-size: 12px;
    }
}

@media(max-width:1100px) {
    .site-header {
        height: 108px;
        gap: 14px;
        padding-inline: 2.8%;
    }

    .header-brand-cluster {
        gap: 12px;
    }

    .header-brand-divider {
        height: 38px;
    }

    .header-partners {
        gap: 10px;
    }

    .partner-logo-ed {
        height: 38px;
    }

    .partner-logo-kite {
        height: 38px;
    }

    .brand {
        gap: 11px
    }

    .brand-emblem {
        height: 45px
    }

    .brand-wordmark {
        height: 30px
    }

    .brand strong {
        font-size: 34px
    }

    .brand img:not(.brand-emblem):not(.brand-wordmark) {
        width: 43px
    }

    .brand small {
        font-size: 10px
    }

    .navigation {
        gap: 17px
    }

    .navigation button,
    .navigation a {
        font-size: 10px
    }

    .header-actions {
        gap: 8px
    }

    .header-cta {
        padding: 12px 17px;
        font-size: 11px
    }

    .login-button {
        padding: 11px 16px;
        font-size: 11px
    }

    .search-button {
        width: 32px
    }

    .hero {
        min-height: 730px
    }

    .hero-art {
        height: 745px
    }

    .hero-copy {
        padding-top: 25px;
        width: 49%
    }

    .eyebrow {
        font-size: 11px;
        gap: 7px;
        padding: 9px 13px
    }

    .title-wrap {
        margin-top: 35px
    }

    .title-wrap h1 {
        letter-spacing: -4px
    }

    .title-sprout {
        width: 45px;
        top: -50px
    }

    .hero-copy h2 {
        font-size: 34px;
        line-height: 1.25
    }

    .intro {
        font-size: 16px
    }

    .hero-actions {
        gap: 20px;
        flex-wrap: wrap
    }

    .primary-cta {
        font-size: 12px;
        min-height: 48px;
        padding: 12px 20px
    }

    .play-circle {
        width: 44px;
        height: 44px
    }

    .watch-button {
        gap: 9px
    }

    .watch-button strong {
        font-size: 12px
    }

    .watch-button small {
        font-size: 9px
    }

    .benefits {
        gap: 8px;
        margin-top: 28px
    }

    .target-users-section {
        margin-top: 30px;
    }

    .benefits a, .benefits button {
        font-size: 11px
    }

    .benefit-icon {
        width: 38px;
        height: 38px
    }

    .benefit-icon svg {
        width: 24px
    }

    .learning-cards {
        top: 305px;
        width: 175px;
        gap: 9px
    }

    .learning-card {
        padding: 10px;
        gap: 9px;
        min-height: 55px
    }

    .learning-card strong {
        font-size: 10px
    }

    .learning-card small {
        font-size: 9px
    }

    .card-icon {
        width: 30px;
        height: 30px
    }

    .student-wrap {
        top: 77px;
        width: 94%;
        left: 0
    }

    .notebook-note {
        font-size: 23px
    }

    .companion {
        top: 213px;
        width: 194px;
        height: 160px
    }

    .companion img {
        width: 137px
    }

    .companion-bubble {
        top: 62px;
        padding: 12px 10px;
        border-radius: 19px
    }

    .companion-bubble strong {
        font-size: 11px
    }

    .companion-bubble small {
        font-size: 8px
    }

    .affirmation {
        font-size: 27px;
        top: 61px;
        left: -2%
    }

    .exam-note {
        font-size: 29px;
        right: 9%;
        top: 40px
    }

    .exam-note small {
        font-size: 23px
    }

    .leaf-one {
        width: 125px
    }

    .quote-card {
        width: 143px;
        min-height: 180px;
        bottom: 40px;
        padding: 17px
    }

    .quote-card p {
        font-size: 26px;
        margin-bottom: 22px
    }

    .quote-card footer {
        font-size: 10px
    }

    .bottom-story {
        bottom: 47px;
        width: 48%;
        gap: 17px
    }

    .future-note {
        font-size: 23px
    }

    .future-note i {
        width: 125px
    }

    .classroom-note {
        font-size: 12px
    }

    .bottom-story>img {
        width: 44%
    }

    .cosmos {
        left: 50px
    }

    .bottom-wave {
        height: 100px
    }
}

@media(max-width:1240px) {
    .header-brand-cluster {
        gap: 12px;
    }

    .header-brand-divider {
        height: 38px;
    }

    .header-partners {
        gap: 10px;
    }

    .partner-logo-ed {
        height: 38px;
    }

    .partner-logo-kite {
        height: 38px;
    }

    .navigation {
        display: none;
        position: absolute;
        left: 4%;
        right: 4%;
        top: 90px;
        background: #fff;
        box-shadow: 0 16px 30px #18376020;
        border: 1px solid #e0ebf5;
        border-radius: 18px;
        padding: 14px 22px;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        z-index: 99;
    }

    .nav-drawer-gov {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        margin-top: 14px;
        padding-top: 14px;
        border-top: 1px solid #e5eff8;
    }

    .drawer-gov-label {
        font-size: 10px;
        color: var(--navy-subtle, #54718b);
        font-weight: 600;
        letter-spacing: 0.5px;
        text-transform: uppercase;
    }

    .drawer-partner-logos {
        display: flex;
        align-items: center;
        gap: 14px;
    }

    .drawer-partner-link {
        display: inline-flex;
        align-items: center;
        padding: 5px 8px;
        background: #f7faff;
        border: 1px solid #e1ecf6;
        border-radius: 8px;
        text-decoration: none;
    }

    .drawer-logo-ed {
        height: 36px;
        width: auto;
        object-fit: contain;
    }

    .drawer-logo-kite {
        height: 34px;
        width: auto;
        object-fit: contain;
        mix-blend-mode: multiply;
    }

    .navigation.is-open {
        display: flex
    }

    .navigation a,
    .navigation button {
        font-size: 14px;
        text-align: left;
        padding: 13px
    }

    .navigation .active:after {
        display: none
    }

    .header-actions {
        margin-left: auto;
        gap: 12px
    }

    .menu-button {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 4px
    }
}

@media(max-width:900px) {

    .menu-button span {
        display: block;
        height: 2px;
        width: 19px;
        background: var(--navy)
    }

    .hero-copy h2 {
        font-size: 30px;
        line-height: 1.25
    }

    .intro {
        font-size: 15px
    }

    .hero-actions {
        gap: 15px
    }

    .watch-button small {
        display: none
    }

    .benefits {
        flex-wrap: wrap;
        justify-content: flex-start;
        column-gap: 25px;
        row-gap: 15px
    }

    .benefits a, .benefits button {
        width: calc(50% - 25px);
        position: relative;
        padding-left: 45px;
        min-height: 39px;
        justify-content: center
    }

    .benefit-icon {
        position: absolute;
        left: 0;
        top: 0
    }

    .benefits strong {
        margin-top: 0
    }

    .hero {
        min-height: 690px
    }

    .hero-art {
        height: 705px
    }

    .learning-cards {
        top: 295px;
        width: 163px
    }

    .learning-card {
        min-height: 52px
    }

    .student-wrap {
        width: 106%;
        left: -5%;
        top: 88px
    }

    .companion {
        top: 195px;
        right: -1%;
        width: 175px
    }

    .companion img {
        width: 123px
    }

    .companion-bubble {
        padding: 10px;
        top: 55px;
        left: -7px
    }

    .quote-card {
        bottom: 38px;
        right: 3%;
        width: 128px
    }

    .quote-card p {
        font-size: 23px
    }

    .quote-card footer {
        font-size: 9px
    }

    .affirmation {
        font-size: 23px
    }

    .notebook-note {
        font-size: 21px
    }

    .exam-note {
        font-size: 25px;
        right: 8%
    }

    .bottom-story {
        width: 52%;
        gap: 10px
    }

    .future-note {
        font-size: 21px
    }
}

@media(max-width:680px) {
    .site-header {
        height: 94px;
        padding: 14px 6%;
        gap: 8px
    }

    .brand {
        gap: 8px
    }

    .brand-emblem {
        height: 38px
    }

    .brand-wordmark {
        height: 25px
    }

    .brand img:not(.brand-emblem):not(.brand-wordmark) {
        width: 36px;
        height: 53px
    }

    .brand strong {
        font-size: 30px
    }

    .brand small {
        font-size: 8.5px
    }

    .header-actions {
        gap: 7px
    }

    .header-cta,
    .search-button {
        display: none
    }

    .login-button {
        padding: 9px 17px
    }

    .hero {
        min-height: 0;
        padding-bottom: 0;
        display: flex;
        flex-direction: column
    }

    .hero-copy {
        width: 100%;
        padding: 25px 7% 0;
        pointer-events: auto
    }

    .eyebrow {
        font-size: 11px;
        padding: 9px 13px;
        gap: 7px;
        max-width: 100%
    }

    .eyebrow svg {
        width: 18px;
        height: 18px;
        flex-shrink: 0
    }

    .title-wrap {
        margin-top: 38px
    }

    .title-wrap h1 {
        font-size: 19vw;
        letter-spacing: -4px;
        line-height: 1.2
    }

    .title-sprout {
        width: 46px;
        height: 60px;
        top: -37px;
        right: 17%
    }

    .hero-copy h2 {
        font-size: clamp(26px, 7vw, 42px);
        line-height: 1.25;
        margin: 16px 0 10px;
        letter-spacing: -.4px
    }

    .intro {
        font-size: 15px;
        line-height: 1.7;
        max-width: 490px;
        margin: 12px 0 22px
    }

    .hero-actions {
        gap: 20px;
        flex-wrap: nowrap
    }

    .primary-cta {
        font-size: 12px;
        min-height: 48px;
        padding: 12px 20px
    }

    .watch-button strong {
        font-size: 12px
    }

    .watch-button small {
        display: block;
        font-size: 8px
    }

    .watch-button {
        gap: 8px
    }

    .play-circle {
        width: 42px;
        height: 42px;
        flex-shrink: 0
    }

    .target-users-section {
        margin-top: 26px;
    }

    .benefits {
        display: grid;
        grid-template-columns: 1fr 1fr;
        margin-top: 29px;
        column-gap: 15px;
        row-gap: 19px;
        max-width: 390px
    }

    .benefits a, .benefits button {
        width: 100%;
        padding-left: 48px;
        font-size: 12px;
        min-height: 40px
    }

    .benefit-icon {
        width: 39px;
        height: 39px
    }

    .hero-art {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        height: 640px;
        margin-top: 42px
    }

    .cosmos {
        inset: 0 -55px 16px 18px;
        border-radius: 48% 0 36% 42% / 26% 0 29% 30%
    }

    .student-wrap {
        width: 94%;
        left: 5%;
        top: 66px;
        max-width: 480px
    }

    .notebook-note {
        font-size: 23px
    }

    .affirmation {
        top: 17px;
        left: 7%;
        font-size: 26px
    }

    .exam-note {
        top: 22px;
        right: 13%;
        font-size: 29px
    }

    .exam-note small {
        font-size: 24px
    }

    .learning-cards {
        top: 282px;
        left: 3%;
        width: 162px;
        gap: 9px
    }

    .learning-card {
        min-height: 53px;
        padding: 9px 10px;
        border-radius: 23px
    }

    .learning-card strong {
        font-size: 10px
    }

    .learning-card small {
        font-size: 9px
    }

    .pink {
        margin-left: 12px;
        margin-right: -12px
    }

    .yellow {
        margin-left: 15px;
        margin-right: -15px
    }

    .companion {
        top: 190px;
        right: 1%;
        width: 166px
    }

    .companion img {
        width: 122px
    }

    .companion-bubble {
        top: 58px;
        padding: 10px;
        left: -4px
    }

    .companion-bubble strong {
        font-size: 10px
    }

    .companion-bubble small {
        font-size: 7px
    }

    .quote-card {
        width: 122px;
        min-height: 158px;
        right: 5%;
        bottom: 38px;
        padding: 14px;
        border-radius: 25px
    }

    .quote-mark {
        font-size: 40px
    }

    .quote-card p {
        font-size: 24px;
        margin-bottom: 17px
    }

    .quote-card footer {
        font-size: 8px
    }

    .leaf-one {
        top: 157px;
        left: 3%;
        width: 112px
    }

    .leaf-two {
        bottom: 85px;
        width: 120px
    }

    .leaf-three {
        top: 124px;
        width: 85px
    }

    .bottom-story {
        position: relative;
        bottom: auto;
        left: auto;
        width: 100%;
        padding: 10px 7% 35px;
        gap: 18px;
        align-items: center;
        order: 3;
        background: #f8fbff
    }

    .future-note {
        font-size: 22px;
        flex-shrink: 0
    }

    .future-note i {
        width: 118px
    }

    .bottom-story>img {
        width: 47%;
        margin-left: auto
    }

    .classroom-note {
        display: none
    }

    .bottom-wave {
        bottom: 127px;
        height: 86px
    }

    .hero-copy {
        animation: none
    }
}

@media(min-width:460px) and (max-width:680px) {
    .hero-art {
        height: 750px
    }

    .student-wrap {
        left: 12%;
        width: 83%
    }

    .learning-cards {
        top: 350px;
        left: 7%;
        width: 190px
    }

    .learning-card {
        min-height: 60px
    }

    .learning-card strong {
        font-size: 12px
    }

    .companion {
        top: 239px;
        right: 5%
    }

    .quote-card {
        bottom: 50px;
        width: 155px
    }

    .quote-card p {
        font-size: 30px
    }

    .notebook-note {
        font-size: 27px
    }
}

@media(max-width:370px) {
    .hero-copy {
        padding-inline: 6%
    }

    .hero-actions {
        gap: 12px
    }

    .primary-cta {
        padding: 12px 15px;
        font-size: 11px
    }

    .watch-button small {
        display: none
    }

    .hero-art {
        height: 580px
    }

    .learning-cards {
        top: 260px;
        width: 149px
    }

    .learning-card {
        gap: 6px
    }

    .learning-card strong {
        font-size: 9px
    }

    .learning-card small {
        font-size: 8px
    }

    .quote-card {
        bottom: 26px;
        width: 112px
    }

    .companion {
        top: 164px
    }

    .notebook-note {
        font-size: 20px
    }
}

@media(prefers-reduced-motion:reduce) {

    *,
    *:before,
    *:after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important
    }
}

/* Final optical alignment against the supplied reference. */
@media(min-width:1101px) {
    .title-wrap {
        margin-top: 13px
    }

    .title-wrap h1 {
        line-height: 1.08
    }

    .hero-copy h2 {
        margin-top: 13px;
        font-size: 44px;
        line-height: 1.25
    }

    .intro {
        font-size: 19px;
        line-height: 1.5
    }

    .benefits {
        margin-top: 35px
    }

    .header-note {
        font-size: 21px;
        min-width: 170px
    }

    .header-actions {
        gap: 12px
    }

    .site-header {
        gap: 25px
    }

    .bottom-story {
        bottom: 66px
    }
}

@media(min-width:1101px) and (max-width:1380px) {
    .hero-copy h2 {
        font-size: 38px;
        line-height: 1.25
    }

    .intro {
        font-size: 17px
    }

    .title-wrap {
        margin-top: 19px
    }
}

@media(max-width:680px) {
    .student-wrap {
        width: 86%;
        left: 2%;
        top: 82px
    }

    .exam-note {
        right: 5%;
        top: 26px;
        font-size: 25px
    }

    .exam-note small {
        font-size: 21px
    }

    .exam-note i {
        width: 65px;
        margin-left: 5px
    }

    .hero-copy h2 {
        font-size: clamp(25px, 6.8vw, 38px);
        line-height: 1.25
    }

    .notebook-note {
        font-size: 21px
    }

    .companion {
        right: 0
    }

    .affirmation {
        left: 6%
    }
}

/* One-screen composition: the header and banner share the viewport height on initial view, with scrolling to subsequent sections. */
.page-shell {
    min-height: 100vh;
    min-height: 100svh;
    height: auto;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}

.site-header {
    height: clamp(58px, 11svh, 110px);
    flex: 0 0 clamp(58px, 11svh, 110px);
    padding-block: 1svh
}

.hero {
    flex: 0 0 calc(100svh - clamp(58px, 11svh, 110px));
    height: calc(100svh - clamp(58px, 11svh, 110px));
    min-height: 0;
    container-type: size
}

.brand-emblem {
    height: min(54px, 4.5svh);
    width: auto
}

.brand-wordmark {
    height: min(36px, 3.2svh);
    width: auto
}

.brand img:not(.brand-emblem):not(.brand-wordmark) {
    height: min(70px, 7svh);
    width: auto
}

.brand strong {
    font-size: clamp(26px, 4.4svh, 43px)
}

.brand small {
    font-size: clamp(10px, 1.5svh, 15px)
}

.hero-copy {
    padding-top: 3cqh;
    width: 45%
}

.eyebrow {
    font-size: clamp(8px, 3.25cqh, 14.5px);
    padding: 1cqh 16px
}

.title-wrap {
    margin-top: 3cqh
}

.title-wrap h1 {
    font-size: min(9vw, 15cqh);
    line-height: 1.1
}

.title-sprout {
    height: 8cqh;
    width: auto;
    top: -6cqh
}

.hero-copy h2 {
    font-size: min(4.05vw, 5.45cqh);
    line-height: 1.25;
    margin: 1.8cqh 0 1cqh;
}

.intro {
    font-size: min(1.35vw, 2.3cqh);
    line-height: 1.5;
    margin: 1.4cqh 0 3cqh;
    max-width: 640px
}

.hero-actions {
    gap: 2vw
}

.primary-cta {
    min-height: 6.2cqh;
    padding: 1.4cqh 2vw;
    font-size: clamp(11px, 1.85cqh, 16px)
}

.play-circle {
    width: 6.2cqh;
    height: 6.2cqh
}

.watch-button strong {
    font-size: clamp(10px, 1.75cqh, 15px)
}

.watch-button small {
    font-size: clamp(8px, 1.3cqh, 11.5px)
}

.benefits {
    margin-top: 3.6cqh;
    max-width: 620px
}

.benefits a, .benefits button {
    font-size: clamp(9px, 1.6cqh, 14px)
}

.benefit-icon {
    width: 5.2cqh;
    height: 5.2cqh
}

.benefit-icon svg {
    width: 3.2cqh;
    height: 3.2cqh
}

.target-users-section {
    margin-top: clamp(24px, 3.8cqh, 42px);
    max-width: 620px;
}

.target-users-header {
    margin-bottom: 2.2cqh;
}

.target-badge {
    padding: .55cqh 12px;
    font-size: clamp(10.5px, 1.5cqh, 13px);
}

.target-badge-icon {
    width: 1.9cqh;
    height: 1.9cqh;
}

.target-handwriting {
    font-size: clamp(16px, 2.6cqh, 22px);
}

.target-cards {
    gap: clamp(6px, 1cqw, 10px);
}

.target-card {
    border-radius: clamp(12px, 2cqh, 18px);
    padding: .5cqh 6px .8cqh;
    min-height: 15cqh;
}

.target-avatar-wrap img {
    max-width: min(100%, 10.5cqh);
}

.target-card-body {
    margin: .3cqh 0 .5cqh;
    min-height: 3.4cqh;
}

.target-card-body strong {
    font-size: clamp(9.5px, 1.35cqh, 12.5px);
}

.target-card-btn {
    width: 3.1cqh;
    height: 3.1cqh;
}

.target-card-btn svg {
    width: 1.5cqh;
    height: 1.5cqh;
}

.hero-art {
    top: 0;
    right: 0;
    width: 54%;
    height: 100%;
    container-type: size
}

.cosmos {
    inset: -2% -10% 4% 9%
}

.student-wrap {
    left: auto;
    right: 9%;
    top: 5%;
    width: min(92%, 80cqh);
    max-width: none
}

.notebook-note {
    font-size: 3cqh
}

.affirmation {
    top: 6%;
    left: 0;
    font-size: 3.6cqh
}

.exam-note {
    top: 4%;
    right: 12%;
    font-size: 4cqh
}

.exam-note small {
    font-size: 3.3cqh
}

.exam-note i {
    width: 10cqh;
    margin-top: 1cqh
}

.leaf-one {
    top: 25%;
    left: 0;
    width: 19cqh
}

.leaf-two {
    bottom: 16%;
    width: 17cqh
}

.leaf-three {
    top: 54%;
    width: 13cqh
}

.learning-cards {
    top: 43%;
    left: 1%;
    width: 26cqh;
    gap: 1.3cqh
}

.learning-card {
    min-height: 7.3cqh;
    padding: 1.3cqh 1.7cqh;
    gap: 1.4cqh;
    border-radius: 3.2cqh
}

.learning-card strong {
    font-size: 1.4cqh
}

.learning-card small {
    font-size: 1.25cqh
}

.card-icon {
    width: 4.2cqh;
    height: 4.2cqh
}

.card-icon svg {
    width: 2.6cqh;
    height: 2.6cqh
}

.ai-icon {
    font-size: 2.6cqh
}

.companion {
    top: 27%;
    right: 1%;
    width: 28cqh;
    height: 23cqh
}

.companion img {
    width: 20cqh;
    right: 0
}

.companion-bubble {
    top: 9cqh;
    left: 0;
    padding: 1.6cqh;
    border-radius: 2.7cqh
}

.companion-bubble strong {
    font-size: 1.6cqh
}

.companion-bubble small {
    font-size: 1.15cqh
}

.quote-card {
    bottom: 7%;
    right: 4.5%;
    width: 21cqh;
    min-height: 24cqh;
    padding: 2cqh 2.5cqh;
    border-radius: 4cqh
}

.quote-mark {
    font-size: 6cqh
}

.quote-card p {
    font-size: 3.3cqh;
    margin-bottom: 3cqh
}

.quote-card footer {
    font-size: 1.35cqh
}

.bottom-story {
    bottom: 7%;
    width: 44%;
    gap: 2vw
}

.future-note {
    font-size: 3.5cqh;
    margin-bottom: 1cqh
}

.future-note i {
    width: 17cqh;
    margin-top: 1cqh
}

.bottom-story>img {
    width: 45%;
    max-height: 11cqh
}

.classroom-note {
    font-size: 1.8cqh
}

.classroom-note span {
    font-size: 4.5cqh
}

.bottom-wave {
    bottom: -1px;
    height: 12%;
    width: 100%
}

@media(min-width:681px) and (max-width:1100px) {
    .hero-copy {
        width: 49%
    }

    .hero-copy h2 {
        font-size: min(3.8vw, 5.1cqh);
        line-height: 1.25
    }

    .intro {
        font-size: min(1.75vw, 2.15cqh)
    }

    .title-wrap h1 {
        font-size: min(9.3vw, 14cqh)
    }

    .benefits {
        display: flex;
        flex-wrap: nowrap;
        gap: 8px
    }

    .benefits a, .benefits button {
        width: auto;
        padding: 0;
        min-height: 0;
        font-size: 1.45cqh
    }

    .benefit-icon {
        position: static
    }

    .benefits strong {
        margin-top: 6px
    }

    .student-wrap {
        right: 3%;
        width: min(97%, 66cqh)
    }

    .learning-cards {
        width: 23cqh;
        left: 0
    }

    .learning-card strong {
        font-size: 1.25cqh
    }

    .learning-card small {
        font-size: 1.1cqh
    }

    .navigation {
        top: 90%
    }
}

@media(max-width:680px), (max-width:900px) and (orientation:portrait) {
    .site-header {
        height: 8svh;
        flex-basis: 8svh;
        min-height: 0;
        padding: .7svh 6%
    }

    .brand img {
        height: 5.8svh
    }

    .brand strong {
        font-size: min(7vw, 3.5svh)
    }

    .brand small {
        font-size: min(2.5vw, 1.15svh)
    }

    .login-button {
        padding: .8svh 14px;
        font-size: 1.4svh
    }

    .menu-button {
        width: 30px;
        height: 30px
    }

    .navigation {
        top: 95%;
        max-height: 80svh;
        overflow: auto
    }

    .hero {
        display: grid;
        grid-template-rows: 53% 47%;
    }

    .hero-copy {
        width: 100%;
        padding: 1cqh 6% 0;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        min-height: 0
    }

    .eyebrow {
        align-self: flex-start;
        font-size: clamp(8px, min(2.8vw, 2.4cqh), 13.5px);
        padding: .85cqh 12px;
        gap: 6px
    }

    .eyebrow svg {
        height: clamp(16px, 2.4cqh, 20px);
        width: clamp(16px, 2.4cqh, 20px)
    }

    .title-wrap {
        margin: 1.5cqh 0 0
    }

    .title-wrap h1 {
        font-size: min(17vw, 8.8cqh);
        line-height: 1.05;
        letter-spacing: -2px
    }

    .title-sprout {
        height: 4.5cqh;
        top: -3.2cqh
    }

    .hero-copy h2 {
        font-size: min(6.2vw, 3.4cqh);
        line-height: 1.25;
        margin: .7cqh 0 0
    }

    .intro {
        font-size: min(3.25vw, 1.65cqh);
        line-height: 1.48;
        margin: .7cqh 0 1cqh
    }

    .hero-actions {
        gap: 4vw;
        flex-wrap: nowrap
    }

    .primary-cta {
        min-height: 4.6cqh;
        padding: 1cqh 4vw;
        font-size: min(2.8vw, 1.5cqh)
    }

    .primary-cta svg {
        width: 1.9cqh;
        height: 1.9cqh
    }

    .play-circle {
        width: 4.5cqh;
        height: 4.5cqh
    }

    .play-circle svg {
        width: 2cqh;
        height: 2cqh
    }

    .watch-button strong {
        font-size: 1.35cqh
    }

    .watch-button small {
        font-size: 1cqh;
        display: block
    }

    .benefits {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        margin: 1.2cqh 0 0;
        gap: 5px;
        max-width: none
    }

    .benefits a, .benefits button {
        width: auto;
        padding: 0;
        min-height: 0;
        font-size: min(2.15vw, 1.12cqh);
        display: block
    }

    .benefits a > strong,
    .benefits button > strong,
    .benefits a > span:not(.benefit-icon),
    .benefits button > span:not(.benefit-icon) {
        display: block
    }

    .benefits strong {
        margin-top: .3cqh
    }

    .benefit-icon {
        position: static;
        width: 3.2cqh;
        height: 3.2cqh
    }

    .benefit-icon svg {
        width: 2.2cqh;
        height: 2.2cqh
    }

    .target-users-section {
        margin-top: clamp(14px, 2.2cqh, 24px);
        max-width: 100%;
    }

    .target-users-header {
        margin-bottom: .9cqh;
    }

    .target-badge {
        padding: .4cqh 10px;
        font-size: min(2.5vw, 1.15cqh);
    }

    .target-handwriting {
        font-size: min(3.6vw, 1.7cqh);
    }

    .target-cards {
        gap: 5px;
    }

    .target-card {
        padding: .35cqh 3px .6cqh;
        border-radius: 12px;
        min-height: 0;
    }

    .target-avatar-wrap img {
        max-width: min(100%, 7.5cqh);
    }

    .target-card-body strong {
        font-size: min(2vw, .95cqh);
    }

    .target-card-btn {
        width: 2.3cqh;
        height: 2.3cqh;
    }

    .target-card-btn svg {
        width: 1.1cqh;
        height: 1.1cqh;
    }

    .hero-art {
        position: relative;
        top: auto;
        right: auto;
        height: 100%;
        width: 100%;
        margin: 0;
        align-self: end
    }

    .cosmos {
        inset: 4% -8% 0 4%
    }

    .student-wrap {
        top: 7%;
        right: 18%;
        left: auto;
        width: 61cqh
    }

    .notebook-note {
        font-size: 2.8cqh
    }

    .affirmation {
        top: 7%;
        left: 6%;
        font-size: 5.7cqh
    }

    .exam-note {
        right: 9%;
        top: 7%;
        font-size: 6cqh
    }

    .exam-note small {
        font-size: 4.8cqh
    }

    .exam-note i {
        width: 16cqh
    }

    .leaf-one {
        width: 25cqh;
        top: 30%;
        left: 4%
    }

    .leaf-two {
        width: 25cqh;
        bottom: 9%
    }

    .leaf-three {
        width: 20cqh;
        top: 26%;
        right: 6%
    }

    .learning-cards {
        top: 45%;
        left: 5%;
        width: 34cqh;
        gap: 2cqh
    }

    .learning-card {
        min-height: 10cqh;
        padding: 1.4cqh 2cqh;
        gap: 1.8cqh;
        border-radius: 5cqh
    }

    .learning-card strong {
        font-size: 2.15cqh
    }

    .learning-card small {
        font-size: 1.85cqh;
        margin-top: .4cqh
    }

    .card-icon {
        width: 6cqh;
        height: 6cqh
    }

    .card-icon svg {
        width: 3.8cqh;
        height: 3.8cqh
    }

    .ai-icon {
        font-size: 3.8cqh
    }

    .pink {
        margin-left: 6px;
        margin-right: -6px
    }

    .yellow {
        margin-left: 9px;
        margin-right: -9px
    }

    .companion {
        top: 35%;
        right: 1%;
        width: 37cqh;
        height: 30cqh
    }

    .companion img {
        width: 25cqh
    }

    .companion-bubble {
        top: 12cqh;
        padding: 2cqh;
        border-radius: 4cqh
    }

    .companion-bubble strong {
        font-size: 2.05cqh
    }

    .companion-bubble small {
        font-size: 1.5cqh
    }

    .quote-card {
        right: 5%;
        bottom: 5%;
        width: 24cqh;
        min-height: 29cqh;
        padding: 2.5cqh;
        border-radius: 5cqh
    }

    .quote-mark {
        font-size: 7cqh
    }

    .quote-card p {
        font-size: 4.7cqh;
        margin-bottom: 2cqh
    }

    .quote-card footer {
        font-size: 1.6cqh
    }

    .bottom-story {
        position: relative;
        left: auto;
        bottom: auto;
        order: initial;
        width: 100%;
        height: 100%;
        padding: 0 7%;
        gap: 5vw;
        align-items: center
    }

    .future-note {
        font-size: 1.8cqh;
        line-height: .98;
        margin: 0;
        transform: rotate(-8deg)
    }

    .future-note i {
        width: 10cqh;
        height: .5cqh;
        margin: .2cqh 0 0 1cqh;
        border-width: 1px
    }

    .bottom-story>img {
        width: 40%;
        height: 6cqh;
        max-height: none;
        object-fit: contain;
        margin: 0 0 0 auto
    }

    .bottom-wave {
        bottom: 0%;
        height: 6%;
    }

    .classroom-note {
        display: none
    }
}

/* Two-student portrait: preserve both faces and the book lettering. */
.student-wrap.student-pair {
    top: auto;
    bottom: 2%;
    right: 2%;
    left: auto;
    width: min(97%)
}

.hero-art:has(.student-pair) .companion {
    top: 42%
}

.hero-art:has(.student-pair) .exam-note {
    right: 5%;
    top: 3%
}

@media(max-width:680px), (max-width:900px) and (orientation:portrait) {
    .student-wrap.student-pair {
        bottom: 1%;
        right: 8%;
        width: min(89%)
    }

    .hero-art:has(.student-pair) .companion {
        top: 42%;
        right: 0
    }

    .hero-art:has(.student-pair) .exam-note {
        top: 6%;
        right: 5%;
        font-size: 5cqh
    }

    .hero-art:has(.student-pair) .exam-note small {
        font-size: 3.9cqh
    }
}

/* -------------------------------------------------------------
 * 3D Robot AI Companion Stage & Canvas
 * ------------------------------------------------------------- */
.robot-3d-stage {
    /* display: none !important; */
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 8;
    overflow: visible;
}

#robot-3d-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    pointer-events: none;
    background: transparent;
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

#robot-3d-canvas.is-loaded {
    opacity: 1;
}

/* Fallback companion button & robot.svg hidden by default so they never flash or appear on refresh */
.companion {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    animation: none !important;
}

.companion img.companion-fallback,
.companion img {
    opacity: 0 !important;
    visibility: hidden !important;
    display: none !important;
}

.companion-bubble {
    opacity: 0 !important;
    visibility: hidden !important;
    display: none !important;
    pointer-events: none !important;
}

/* -------------------------------------------------------------
 * Dynamic 3D-Anchored Robot Speech Bubble
 * ------------------------------------------------------------- */
.robot-speaking-bubble {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 25;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: linear-gradient(135deg, #ffffff 0%, #f0f9ff 55%, #e0f2fe 100%);
    border: 2px solid #ffffff;
    border-radius: 22px;
    padding: 13px 18px 12px 16px;
    box-shadow: 0 14px 34px -4px rgba(14, 165, 233, 0.32), 0 6px 14px rgba(0, 0, 0, 0.07);
    color: #0f172a;
    font-family: var(--font-sans, inherit);
    pointer-events: auto;
    cursor: pointer;
    visibility: hidden;
    opacity: 0;
    user-select: none;
    transform-origin: bottom center;
    will-change: transform, opacity;
    white-space: nowrap;
    transition: box-shadow 0.25s ease, filter 0.25s ease;
}

.robot-speaking-bubble:hover {
    box-shadow: 0 18px 42px -4px rgba(14, 165, 233, 0.46), 0 8px 18px rgba(0, 0, 0, 0.09);
    filter: brightness(1.02);
}

.robot-speaking-bubble:active {
    transform: scale(0.97);
}

.robot-speaking-bubble .bubble-sparkle {
    font-size: 16px;
    line-height: 1;
    display: inline-block;
    filter: drop-shadow(0 0 6px rgba(56, 189, 248, 0.75));
    animation: sparklePulse 2.4s ease-in-out infinite;
}

@keyframes sparklePulse {

    0%,
    100% {
        transform: scale(1) rotate(0deg);
    }

    50% {
        transform: scale(1.24) rotate(14deg);
    }
}

.robot-speaking-bubble .bubble-body {
    display: flex;
    flex-direction: column;
    text-align: left;
}

.robot-speaking-bubble strong {
    font-size: 13.5px;
    line-height: 1.25;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.01em;
}

.robot-speaking-bubble small {
    display: block;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 600;
    color: #0284c7;
    margin-top: 3px;
    letter-spacing: 0.02em;
}

.robot-speaking-bubble .bubble-tail {
    position: absolute;
    bottom: -7px;
    left: 50%;
    width: 13px;
    height: 13px;
    background: #e0f2fe;
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    transform: translateX(-50%) rotate(45deg);
    border-bottom-right-radius: 3px;
    box-shadow: 2px 2px 4px rgba(14, 165, 233, 0.15);
}

@media (max-width: 768px) {
    .robot-speaking-bubble {
        padding: 10px 14px 9px 12px;
        border-radius: 17px;
        gap: 7px;
    }

    .robot-speaking-bubble strong {
        font-size: 11.5px;
    }

    .robot-speaking-bubble small {
        font-size: 8.5px;
    }

    .robot-speaking-bubble .bubble-tail {
        bottom: -6px;
        width: 11px;
        height: 11px;
    }
}

@media (max-width: 480px) {
    .robot-speaking-bubble {
        padding: 8px 12px 7px 10px;
        border-radius: 15px;
        gap: 6px;
    }

    .robot-speaking-bubble strong {
        font-size: 10.5px;
    }

    .robot-speaking-bubble small {
        font-size: 8px;
    }
}

/* =============================================================
 * SAMAGRA RESOURCES SECTION (Pixel-close to shared UX)
 * ============================================================= */

/* =======================================================
   ABOUT MUKULAM SECTION
   ======================================================= */
.about-mukulam-section {
    position: relative;
    width: 100%;
    padding: 65px 0 75px;
    background: url('assets/about-bg.webp') center/cover no-repeat,
        linear-gradient(175deg, #f0faf4 0%, #f7fcfa 30%, #ffffff 60%, #f4faff 100%);
    overflow: hidden;
    color: #102252;
}

.about-bg-decor {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}

.about-container {
    position: relative;
    z-index: 2;
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 40px;
}

.about-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 48px;
    align-items: center;
}

/* --- Left Column --- */
.about-content-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Pill Badge */
.about-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6.5px 16px;
    border-radius: 999px;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    color: #087c60;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.1px;
    margin-bottom: 18px;
    width: fit-content;
    align-self: flex-start;
}

.about-pill svg {
    width: 17px;
    height: 17px;
    stroke: #087c60;
    stroke-width: 2;
    fill: none;
}

/* Heading */
.about-title-wrap {
    position: relative;
    display: flex;
    margin: 0 0 16px;
}

.about-heading {
    font-size: clamp(32px, 3.5vw, 46px);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.15;
    margin: 0;
    display: flex;
    flex-direction: column;
}

.about-heading .heading-line-1 {
    color: #0f214d;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.about-heading .heading-line-2 {
    color: #00966a;
}

.about-burst {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}

/* Lead Description */
.about-desc {
    font-size: 15px;
    line-height: 1.62;
    color: #64748b;
    margin: 0 0 22px;
    max-width: 530px;
    text-align: justify;
}

.about-desc strong {
    color: #0f214d;
    font-weight: 600;
}

/* Feature Mini Cards (Grid) */
.about-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px 18px;
    margin-bottom: 22px;
    max-width: 530px;
    width: 100%;
}

.about-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.about-feature-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.about-feature-item:hover .about-feature-icon {
    transform: translateY(-2px);
}

.about-feature-icon svg {
    width: 20px;
    height: 20px;
}

.about-feature-icon.icon-resources,
.about-feature-icon.icon-ai {
    background: #ecfdf5;
    color: #00966a;
}

.about-feature-icon.icon-competitive,
.about-feature-icon.icon-exams {
    background: #fff7ed;
    color: #ea580c;
}

.about-feature-icon.icon-assignments,
.about-feature-icon.icon-ecosystem {
    background: #eff6ff;
    color: #2563eb;
}

.about-feature-icon.icon-plan,
.about-feature-icon.icon-access {
    background: #f5f3ff;
    color: #7c3aed;
}

.about-feature-icon.icon-canvas {
    background: #fdf2f8;
    color: #db2777;
}

.about-feature-icon.icon-analytics {
    background: #fffbeb;
    color: #d97706;
}

.about-feature-text h4 {
    margin: 0 0 3px;
    font-size: 13.5px;
    font-weight: 700;
    color: #0f214d;
    line-height: 1.25;
}

.about-feature-text p {
    margin: 0;
    font-size: 12px;
    color: #64748b;
    line-height: 1.45;
}

/* Quote Block */
.about-quote {
    margin: 0 0 24px;
    padding: 12px 16px;
    border: 1px solid rgba(0, 150, 106, 0.14);
    border-left: 3.5px solid #00966a;
    background: rgba(0, 150, 106, 0.04);
    border-radius: 0 10px 10px 0;
    max-width: 530px;
    width: 100%;
}

.about-quote p {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
    color: #087c60;
}

.about-quote strong {
    font-weight: 600;
    color: #0f214d;
}

/* CTA Button */
.about-actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

.about-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px 12px 28px;
    border-radius: 50px;
    background: linear-gradient(135deg, #16a34a, #15803d);
    color: #fff;
    font-size: 14.5px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 16px rgba(22, 163, 74, 0.3);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.about-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(22, 163, 74, 0.4);
}

.about-cta-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    box-shadow: 0 2px 8px rgba(245, 158, 11, 0.35);
    flex-shrink: 0;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.about-cta-arrow svg {
    width: 16px;
    height: 16px;
    stroke: #fff;
    transition: transform 0.25s ease;
}

.about-cta-btn:hover .about-cta-arrow {
    transform: translateX(4px);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.45);
}

/* --- Right Column --- */
.about-visual-col {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.about-visual-wrapper {
    position: relative;
    width: 100%;
    max-width: 540px;
    aspect-ratio: 1 / 1;
}

/* Central Illustration */
.about-illustration-card {
    /* position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 65%;
    z-index: 2; */
}

.about-illustration-img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s ease;
}

.about-illustration-card:hover .about-illustration-img {
    transform: scale(1.03);
}

/* Floating Feature Badges */
.about-badge {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
    z-index: 3;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: default;
}

.about-badge:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.about-badge-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
}

.about-badge-icon svg {
    width: 20px;
    height: 20px;
}

.about-badge-icon.green {
    background: #dcfce7;
    color: #16a34a;
}

.about-badge-icon.orange {
    background: #ffedd5;
    color: #ea580c;
}

.about-badge-icon.teal {
    background: #ccfbf1;
    color: #0d9488;
}

.about-badge-icon.blue {
    background: #dbeafe;
    color: #2563eb;
}

.about-badge-icon.mint {
    background: #d1fae5;
    color: #059669;
}

.about-badge-text {
    display: flex;
    flex-direction: column;
    font-size: 12.5px;
    line-height: 1.35;
    color: #475569;
    white-space: nowrap;
}

.about-badge-text strong {
    font-size: 13.5px;
    font-weight: 700;
    color: #0f172a;
}

/* Badge Positions */
.about-badge-ai {
    top: 4%;
    left: 32%;
}

.about-badge-gamification {
    top: 38%;
    left: -2%;
}

.about-badge-resources {
    bottom: 14%;
    left: 4%;
}

.about-badge-assessments {
    top: 28%;
    right: -4%;
}

.about-badge-exams {
    bottom: 8%;
    right: 2%;
}

/* Handwriting Note */
.about-handwriting {
    position: absolute;
    top: 2%;
    right: -8%;
    font-size: 18px;
    line-height: 1.5;
    color: #15803d;
    transform: rotate(4deg);
    z-index: 3;
    margin: 0;
    text-align: right;
}

.about-handwriting span {
    color: #16a34a;
    font-size: 20px;
}

.about-handwriting em {
    font-style: normal;
    text-decoration: underline;
    text-decoration-color: #86efac;
    text-underline-offset: 3px;
}

.about-hw-check {
    width: 22px;
    height: 22px;
    display: block;
    margin-left: auto;
    margin-top: 4px;
}

/* --- Responsive --- */
@media (max-width: 1100px) {
    .about-grid {
        gap: 40px;
    }

    .about-heading {
        font-size: clamp(30px, 3.2vw, 40px);
    }

    .about-heading-brand {
        font-size: inherit;
    }

    .about-heading-sub {
        font-size: clamp(20px, 2.2vw, 28px);
    }

    .about-handwriting {
        display: none;
    }

    .about-badge {
        padding: 8px 14px;
    }

    .about-badge-icon {
        width: 32px;
        height: 32px;
    }

    .about-badge-text {
        font-size: 11px;
    }

    .about-badge-text strong {
        font-size: 12px;
    }
}

@media (max-width: 900px) {
    .about-mukulam-section {
        padding: 50px 0 60px;
    }

    .about-container {
        padding: 0 20px;
    }

    .about-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .about-features-grid {
        max-width: 100%;
    }

    .about-content-col {
        order: 1;
    }

    .about-visual-col {
        order: 2;
    }

    .about-visual-wrapper {
        max-width: 400px;
        margin: 0 auto;
    }

    .about-heading {
        font-size: clamp(28px, 3vw, 34px);
    }

    .about-heading-brand {
        font-size: inherit;
    }

    .about-heading-sub {
        font-size: clamp(19px, 2vw, 24px);
    }

    .about-text-block p {
        font-size: 14.5px;
    }

    .about-badge {
        padding: 7px 12px;
        border-radius: 10px;
    }

    .about-badge-icon {
        width: 28px;
        height: 28px;
        border-radius: 8px;
    }

    .about-badge-icon svg {
        width: 16px;
        height: 16px;
    }

    .about-badge-text {
        font-size: 10px;
    }

    .about-badge-text strong {
        font-size: 11px;
    }
}

@media (max-width: 580px) {
    .about-mukulam-section {
        padding: 36px 0 48px;
    }

    .about-container {
        padding: 0 20px;
    }

    .about-features-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .about-heading {
        font-size: 26px;
    }

    .about-heading-brand {
        font-size: inherit;
    }

    .about-heading-sub {
        font-size: 18px;
    }

    .about-heading-check {
        width: 22px;
        height: 22px;
    }

    .about-pill {
        font-size: 12px;
        padding: 6px 16px;
        margin-bottom: 20px;
    }

    .about-text-block p {
        font-size: 13.5px;
    }

    .about-quote {
        padding: 12px 16px;
    }

    .about-quote p {
        font-size: 13px;
    }

    .about-cta-btn {
        padding: 12px 22px;
        font-size: 13.5px;
    }

    .about-visual-wrapper {
        max-width: 300px;
    }

    .about-badge {
        padding: 5px 10px;
        border-radius: 8px;
        gap: 6px;
    }

    .about-badge-icon {
        width: 24px;
        height: 24px;
        border-radius: 6px;
    }

    .about-badge-icon svg {
        width: 14px;
        height: 14px;
    }

    .about-badge-text {
        font-size: 9px;
    }

    .about-badge-text strong {
        font-size: 10px;
    }

    .about-badge-gamification {
        left: -3%;
    }

    .about-badge-assessments {
        right: -6%;
    }
}

.samagra-resources-section {
    position: relative;
    width: 100%;
    min-height: 52vh;
    padding: 60px 0 75px;
    background: linear-gradient(180deg, #f7fcfa 0%, #ffffff 40%, #f4faff 100%);
    overflow: hidden;
    color: #102252;
}

/* Background Waves & Botanical Leaves */
.samagra-bg-decor {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}

.samagra-bg-decor path,
.samagra-bg-decor g {
    stroke: none;
}

.samagra-bg-decor .stroke-curve {
    fill: none !important;
    stroke: #84cc16 !important;
    stroke-linecap: round !important;
}

.samagra-bg-decor .top-curve {
    fill: none !important;
    stroke: rgba(132, 204, 22, 0.28) !important;
    stroke-linecap: round !important;
}

.samagra-container {
    position: relative;
    z-index: 2;
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 40px;
}

/* Header Area */
.samagra-header {
    position: relative;
    margin-bottom: 28px;
}

.samagra-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 18px;
    border-radius: 999px;
    background: rgba(219, 234, 254, 0.55);
    border: 1px solid rgba(191, 219, 254, 0.7);
    color: #2563eb;
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: 0.1px;
    margin-bottom: 14px;
}

.samagra-pill svg {
    width: 18px;
    height: 18px;
    stroke: #2563eb;
    stroke-width: 2;
    fill: none;
}

.samagra-title-wrap {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin: 0 0 10px;
}

.samagra-title {
    font-size: clamp(30px, 3.4vw, 46px);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.12;
    margin: 0;
    color: #0f214d;
    position: relative;
    display: inline-block;
}

.samagra-title .highlight-green {
    color: #00966a;
    font-weight: 800;
}

/* 3 radiant burst accents to the right of Resources */
.title-burst {
    position: absolute;
    top: -8px;
    right: -46px;
    width: 40px;
    height: 40px;
    pointer-events: none;
}

/* Handwritten: Explore Learn Grow ♡ */
.handwritten-explore {
    position: absolute;
    left: 700px;
    top: -18px;
    font-family: Caveat, cursive;
    font-size: 26px;
    line-height: 1.1;
    color: #4361ee;
    display: flex;
    flex-direction: column;
    pointer-events: none;
    transform: rotate(-4deg);
}

.handwritten-explore .heart {
    font-size: 20px;
    color: #4361ee;
    font-weight: 400;
    margin-left: 4px;
}

.handwritten-explore .doodle-arrow {
    position: absolute;
    top: 74px;
    left: 6px;
    width: 85px;
    height: 90px;
}

/* Handwritten Top Right: Knowledge for a Brighter Tomorrow */
.handwritten-tomorrow {
    position: absolute;
    right: 45px;
    top: 15px;
    font-family: Caveat, cursive;
    font-size: 25px;
    line-height: 1.16;
    color: #166534;
    text-align: center;
    transform: rotate(3deg);
    pointer-events: none;
}

.handwritten-tomorrow i {
    display: block;
    width: 46px;
    height: 3px;
    background: #16a34a;
    border-radius: 2px;
    margin: 5px auto 0;
}

.samagra-subtitle {
    font-size: clamp(16px, 1.45vw, 19px);
    font-weight: 600;
    color: #334155;
    margin: 8px 0 8px;
    line-height: 1.35;
}

.samagra-description {
    font-size: clamp(13.5px, 1.05vw, 15px);
    line-height: 1.55;
    color: #64748b;
    margin: 0;
    max-width: 550px;
}

/* Resource Cards Grid */
.samagra-cards-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
    margin-top: 30px;
}

.resource-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 14px 16px 16px;
    border-radius: 20px;
    border: 1.5px solid transparent;
    text-decoration: none;
    background: #ffffff;
    box-shadow: 0 2px 12px rgba(16, 34, 82, 0.04);
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.3s ease, border-color 0.3s;
    cursor: pointer;
    min-height: 210px;
    overflow: visible;
}

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

/* ---- Card Number Badge (top-left) ---- */
.card-top-row {
    position: absolute;
    top: 14px;
    left: 14px;
    right: 14px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    z-index: 3;
    pointer-events: none;
}

.card-num-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10.5px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 8px;
    letter-spacing: 0.04em;
    line-height: 1.3;
    pointer-events: auto;
}

.card-deco-badge {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    pointer-events: auto;
}

.card-deco-badge.blue {
    background: radial-gradient(circle at 35% 35%, #60a5fa, #2563eb);
    color: #fff;
    box-shadow: 0 3px 8px rgba(37, 99, 235, 0.35);
}

.card-deco-badge.blue svg {
    width: 10px;
    height: 10px;
    margin-left: 1px;
}

/* ---- 3D Art Image (upper-right float) ---- */
.card-art-box {
    position: absolute;
    top: -2px;
    right: 50px;
    width: 140px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    pointer-events: none;
}

.card-art-img {
    width: 130px;
    height: 110px;
    object-fit: contain;
    display: block;
    transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
    filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.1));
}

.resource-card:hover .card-art-img {
    transform: translateY(-5px) scale(1.08);
}

/* ---- Card Content ---- */
.resource-card .card-content {
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 2;
    margin-top: 95px;
}

.resource-card h3 {
    font-size: 14.5px;
    font-weight: 800;
    color: #0f214d;
    margin: 0 0 5px;
    line-height: 1.22;
    letter-spacing: -0.02em;
}

.resource-card p {
    font-size: 11.5px;
    line-height: 1.45;
    color: #64748b;
    margin: 0;
}

/* ---- CTA Action Row ---- */
.card-cta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 14px;
    position: relative;
    z-index: 2;
}

.card-cta-row .cta-label {
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.card-cta-row .cta-arrow-btn {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    color: #ffffff;
    transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.25s ease;
}

.card-cta-row .cta-arrow-btn svg {
    width: 13px;
    height: 13px;
    stroke: currentColor;
    stroke-width: 2.5;
    transition: transform 0.2s ease;
}

.resource-card:hover .cta-arrow-btn {
    transform: scale(1.1);
}

.resource-card:hover .cta-arrow-btn svg {
    transform: translateX(2px);
}

/* =============================================================
   5 Card Color Themes — pastel background with soft accent blob
   ============================================================= */

/* 1. Videos (Blue) */
.card-videos {
    background: linear-gradient(135deg, #f0f7ff 0%, #e8f4ff 60%, #ffffff 100%);
    border-color: #c3dafe;
}

.card-videos:hover {
    border-color: #93bbfd;
    box-shadow: 0 16px 36px -6px rgba(37, 99, 235, 0.14), 0 2px 8px rgba(37, 99, 235, 0.04);
}

.card-videos .card-num-badge {
    color: #2563eb;
    background: rgba(219, 234, 254, 0.8);
    border: 1px solid #bfdbfe;
}

.card-videos .cta-label {
    color: #2563eb;
}

.card-videos .cta-arrow-btn {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.35);
}

/* 2. Images & Diagrams (Green) */
.card-images {
    background: linear-gradient(135deg, #f0fdf5 0%, #e6f9ec 60%, #ffffff 100%);
    border-color: #a7f3d0;
}

.card-images:hover {
    border-color: #6ee7b7;
    box-shadow: 0 16px 36px -6px rgba(22, 163, 74, 0.14), 0 2px 8px rgba(22, 163, 74, 0.04);
}

.card-images .card-num-badge {
    color: #16a34a;
    background: rgba(220, 252, 231, 0.8);
    border: 1px solid #bbf7d0;
}

.card-images .cta-label {
    color: #16a34a;
}

.card-images .cta-arrow-btn {
    background: linear-gradient(135deg, #22c55e, #15803d);
    box-shadow: 0 4px 10px rgba(22, 163, 74, 0.35);
}

/* 3. Interactive Activities (Purple) */
.card-interactives {
    background: linear-gradient(135deg, #f8f5ff 0%, #f1ecff 60%, #ffffff 100%);
    border-color: #ddd6fe;
}

.card-interactives:hover {
    border-color: #c4b5fd;
    box-shadow: 0 16px 36px -6px rgba(124, 58, 237, 0.14), 0 2px 8px rgba(124, 58, 237, 0.04);
}

.card-interactives .card-num-badge {
    color: #7c3aed;
    background: rgba(237, 233, 254, 0.8);
    border: 1px solid #ddd6fe;
}

.card-interactives .cta-label {
    color: #7c3aed;
}

.card-interactives .cta-arrow-btn {
    background: linear-gradient(135deg, #a855f7, #6d28d9);
    box-shadow: 0 4px 10px rgba(124, 58, 237, 0.35);
}

/* 4. Concept Maps (Amber) */
.card-concept-maps {
    background: linear-gradient(135deg, #fffcf0 0%, #fef8e1 60%, #ffffff 100%);
    border-color: #fde68a;
}

.card-concept-maps:hover {
    border-color: #fbbf24;
    box-shadow: 0 16px 36px -6px rgba(217, 119, 6, 0.14), 0 2px 8px rgba(217, 119, 6, 0.04);
}

.card-concept-maps .card-num-badge {
    color: #d97706;
    background: rgba(254, 243, 199, 0.8);
    border: 1px solid #fde68a;
}

.card-concept-maps .cta-label {
    color: #d97706;
}

.card-concept-maps .cta-arrow-btn {
    background: linear-gradient(135deg, #f59e0b, #b45309);
    box-shadow: 0 4px 10px rgba(217, 119, 6, 0.35);
}

/* 5. Topic Reviews & Notes (Rose) */
.card-notes {
    background: linear-gradient(135deg, #fff5f6 0%, #ffe8eb 60%, #ffffff 100%);
    border-color: #fecdd3;
}

.card-notes:hover {
    border-color: #fda4af;
    box-shadow: 0 16px 36px -6px rgba(225, 29, 72, 0.14), 0 2px 8px rgba(225, 29, 72, 0.04);
}

.card-notes .card-num-badge {
    color: #e11d48;
    background: rgba(255, 228, 230, 0.8);
    border: 1px solid #fecdd3;
}

.card-notes .cta-label {
    color: #e11d48;
}

.card-notes .cta-arrow-btn {
    background: linear-gradient(135deg, #f43f5e, #be123c);
    box-shadow: 0 4px 10px rgba(225, 29, 72, 0.35);
}

/* Bottom Footer Bar */
.samagra-footer-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 38px;
    padding-top: 4px;
    position: relative;
    z-index: 3;
}

.scert-badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #52637f;
    font-size: 13px;
    font-weight: 500;
}

.scert-line-left {
    display: inline-block;
    width: 26px;
    height: 1.5px;
    background: rgba(148, 163, 184, 0.45);
    border-radius: 1px;
}

.scert-line-mid {
    display: inline-block;
    width: 14px;
    height: 1.5px;
    background: rgba(148, 163, 184, 0.45);
    border-radius: 1px;
}

.scert-indicator {
    width: 22px;
    height: 11px;
    border-radius: 999px;
    background: #dcfce7;
    border: 1px solid #bbf7d0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.scert-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #16a34a;
}

.resources-stat-pill {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 7px 22px 7px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(226, 232, 240, 0.85);
    box-shadow: 0 4px 18px rgba(16, 34, 82, 0.06);
    backdrop-filter: blur(10px);
}

.stat-icon-wrap {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #eff6ff;
    display: grid;
    place-items: center;
    color: #2563eb;
}

.stat-icon-wrap svg {
    width: 19px;
    height: 19px;
}

.stat-number {
    font-size: 22px;
    font-weight: 800;
    color: #1d4ed8;
    letter-spacing: -0.02em;
}

.stat-text {
    font-size: 11px;
    line-height: 1.25;
    color: #64748b;
    font-weight: 500;
}

/* Responsive Media Queries */
@media (max-width: 1200px) {
    .samagra-cards-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }

    .handwritten-explore {
        display: none;
    }
}

@media (max-width: 768px) {
    .samagra-resources-section {
        padding: 45px 0 60px;
    }

    .samagra-cards-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }

    .samagra-footer-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }

    .handwritten-tomorrow {
        display: none;
    }
}

@media (max-width: 520px) {
    .samagra-cards-grid {
        grid-template-columns: 1fr;
    }

    .samagra-container {
        padding: 0 20px;
    }
}


/* =======================================================
   SAMAGRA CANVAS SECTION (Digital Blackboard Studio)
   ======================================================= */
.samagra-canvas-section {
    position: relative;
    width: 100%;
    padding: 75px 0 65px;
    background: #ffffff;
    overflow: hidden;
    color: #102252;
}

.canvas-container {
    position: relative;
    z-index: 2;
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.canvas-main-grid {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    align-items: center;
    gap: 48px;
    position: relative;
}

/* Left Column: Typography & Badges */
.canvas-content-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.canvas-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6.5px 16px;
    border-radius: 999px;
    background: #eff6ff;
    border: 1px solid #dbeafe;
    color: #2563eb;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.1px;
    margin-bottom: 18px;
}

.canvas-badge svg {
    width: 17px;
    height: 17px;
    stroke: #2563eb;
    stroke-width: 2;
    fill: none;
}

.canvas-heading {
    font-size: clamp(32px, 3.5vw, 46px);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.15;
    margin: 0 0 16px;
    display: flex;
    flex-direction: column;
}

.canvas-heading .heading-line-1 {
    color: #0f214d;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.canvas-burst {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}

.canvas-heading .heading-line-2 {
    color: #00966a;
}

.canvas-desc {
    font-size: 15px;
    line-height: 1.62;
    color: #64748b;
    margin: 0 0 32px;
    max-width: 530px;
}

/* 4 Feature Mini Cards */
.canvas-features-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 36px;
    width: 100%;
}

.canvas-feature-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.feature-icon-box {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    margin-bottom: 12px;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.canvas-feature-item:hover .feature-icon-box {
    transform: translateY(-2px);
}

.feature-icon-box svg {
    width: 24px;
    height: 24px;
}

.feature-icon-box.icon-drawing {
    background: #eff6ff;
    color: #2563eb;
}

.feature-icon-box.icon-drawing svg {
    stroke: #2563eb;
}

.feature-icon-box.icon-ai {
    background: #f5f3ff;
    color: #7c3aed;
}

.feature-icon-box.icon-ai .ai-text {
    font-size: 17px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #7c3aed;
}

.feature-icon-box.icon-resources {
    background: #f0fdf4;
    color: #16a34a;
}

.feature-icon-box.icon-resources svg {
    stroke: #16a34a;
}

.feature-icon-box.icon-remote {
    background: #fffbeb;
    color: #d97706;
}

.feature-icon-box.icon-remote svg {
    stroke: #d97706;
}

.feature-text h4 {
    font-size: 13.5px;
    font-weight: 700;
    color: #0f214d;
    margin: 0 0 5px;
    line-height: 1.25;
}

.feature-text p {
    font-size: 11.5px;
    line-height: 1.45;
    color: #64748b;
    margin: 0;
}

/* Action Buttons */
.canvas-actions-row {
    display: flex;
    align-items: center;
    gap: 24px;
}

.canvas-primary-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 28px;
    border-radius: 999px;
    background: linear-gradient(165deg, #48bd75, #00986d 80%);
    color: #ffffff;
    font-size: 14.5px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 10px 22px -4px rgba(16, 185, 129, 0.4);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.canvas-primary-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px -4px rgba(16, 185, 129, 0.5);
}

.canvas-primary-btn svg {
    width: 17px;
    height: 17px;
    stroke: #ffffff;
    stroke-width: 2.2;
    transition: transform 0.2s ease;
}

.canvas-primary-btn:hover svg {
    transform: translateX(3px);
}

.canvas-watch-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 4px 6px;
    text-align: left;
}

.watch-play-circle {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 14px rgba(15, 33, 77, 0.08);
    display: grid;
    place-items: center;
    color: #2563eb;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.canvas-watch-btn:hover .watch-play-circle {
    transform: scale(1.06);
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.18);
}

.watch-play-circle svg {
    width: 17px;
    height: 17px;
    fill: #2563eb;
    stroke: none;
    margin-left: 2px;
}

.watch-text-wrap strong {
    font-size: 13.5px;
    font-weight: 700;
    color: #0f214d;
    display: block;
    line-height: 1.25;
}

.watch-text-wrap small {
    font-size: 11px;
    color: #64748b;
    display: block;
}

/* Right Column: Visual Mockup & CSS Splash */
.canvas-visual-col {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.canvas-screen-wrapper {
    position: relative;
    width: 100%;
    max-width: 575px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Behind-the-screen CSS Splash Design */
.canvas-splash-blob {
    position: absolute;
    pointer-events: none;
    z-index: 1;
}

.blob-green {
    width: 440px;
    height: 400px;
    top: -55px;
    left: -70px;
    border-radius: 48% 52% 60% 40% / 45% 55% 45% 55%;
    background: radial-gradient(circle at 45% 45%, rgba(209, 250, 229, 0.95) 0%, rgba(187, 247, 208, 0.85) 45%, rgba(167, 243, 208, 0.3) 72%, transparent 100%);
    filter: blur(24px);
    opacity: 0.92;
}

.blob-blue {
    width: 520px;
    height: 520px;
    top: -95px;
    right: -65px;
    border-radius: 50%;
    background: radial-gradient(circle at 60% 40%, rgba(224, 242, 254, 0.95) 0%, rgba(186, 230, 253, 0.82) 48%, rgba(147, 197, 253, 0.25) 75%, transparent 100%);
    filter: blur(30px);
    opacity: 0.92;
}

.blob-cyan {
    width: 580px;
    height: 300px;
    bottom: -65px;
    right: 10px;
    border-radius: 50%;
    background: radial-gradient(ellipse at 50% 50%, rgba(207, 250, 254, 0.88) 0%, rgba(224, 242, 254, 0.45) 60%, transparent 85%);
    filter: blur(24px);
    opacity: 0.88;
}

/* Playful Accent Rays on top-left */
.canvas-accent-rays {
    position: absolute;
    top: 30px;
    left: -18px;
    z-index: 2;
    display: flex;
    gap: 6px;
    pointer-events: none;
}

.canvas-accent-rays span:first-child {
    display: block;
    width: 14px;
    height: 3px;
    background: #93c5fd;
    border-radius: 2px;
    transform: rotate(-35deg);
}

.canvas-accent-rays span:last-child {
    display: block;
    width: 14px;
    height: 3px;
    background: #93c5fd;
    border-radius: 2px;
    transform: rotate(20deg);
}

/* Canvas Screen Window Mockup */
.canvas-screen-mockup {
    position: relative;
    z-index: 3;
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.85);
    box-shadow: 0 24px 55px -12px rgba(15, 33, 77, 0.12), 0 4px 16px rgba(15, 33, 77, 0.04);
    transition: transform 0.32s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.32s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.canvas-screen-mockup:hover {
    transform: translateY(-4px);
    box-shadow: 0 32px 65px -12px rgba(15, 33, 77, 0.16), 0 6px 20px rgba(15, 33, 77, 0.06);
}

.canvas-screen-img {
    width: 100%;
    height: auto;
    display: block;
}

/* Floating Helper Cards */
.floating-canvas-card {
    position: absolute;
    z-index: 6;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 18px 9px 12px;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(14px);
    border-radius: 18px;
    box-shadow: 0 14px 34px -4px rgba(15, 33, 77, 0.1), 0 2px 8px rgba(15, 33, 77, 0.04);
    border: 1px solid rgba(226, 232, 240, 0.85);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.floating-canvas-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 40px -4px rgba(15, 33, 77, 0.14);
}

.card-phone {
    top: -24px;
    right: -10px;
    border-color: rgba(191, 219, 254, 0.7);
}

.card-slides {
    bottom: -22px;
    right: 15px;
    border-color: rgba(167, 243, 208, 0.8);
}

.float-card-icon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
}

.icon-phone {
    background: #eff6ff;
    color: #2563eb;
}

.icon-phone svg {
    width: 20px;
    height: 20px;
    stroke: #2563eb;
}

.icon-slides {
    background: #ecfdf5;
    color: #059669;
}

.icon-slides svg {
    width: 20px;
    height: 20px;
    stroke: #059669;
}

.float-card-content {
    display: flex;
    flex-direction: column;
}

.float-title {
    font-size: 13px;
    font-weight: 700;
    color: #0f214d;
    line-height: 1.2;
}

.float-sub {
    font-size: 11px;
    color: #64748b;
    line-height: 1.25;
}

.floating-wireless-waves {
    position: absolute;
    top: -12px;
    right: -12px;
    width: 28px;
    height: 28px;
    pointer-events: none;
}

.floating-wireless-waves svg {
    width: 28px;
    height: 28px;
    stroke: #3b82f6;
}

/* Bottom Footer Bar */
.canvas-footer-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 26px;
    border-top: 1px solid rgba(226, 232, 240, 0.7);
    position: relative;
    z-index: 2;
}

.canvas-footer-left {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #52637f;
    font-size: 13px;
    font-weight: 500;
}

.canvas-dot-pill {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #bbf7d0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.canvas-inner-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #22c55e;
}

.canvas-footer-right {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #52637f;
    font-size: 13px;
    font-weight: 500;
}

.mortarboard-icon {
    width: 19px;
    height: 19px;
    stroke: #52637f;
    stroke-width: 1.8;
    fill: none;
}

/* Responsive Queries */
@media (max-width: 1100px) {
    .canvas-main-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .canvas-visual-col {
        order: 2;
        width: 100%;
    }

    .canvas-screen-wrapper {
        max-width: 600px;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    .samagra-canvas-section {
        padding: 46px 0 50px;
    }

    .canvas-container {
        padding: 0 20px;
        gap: 36px;
    }

    .canvas-heading {
        font-size: clamp(28px, 6.5vw, 36px);
        margin-bottom: 14px;
    }

    .canvas-desc {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 26px;
    }

    .canvas-features-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px 14px;
        margin-bottom: 30px;
    }

    .feature-icon-box {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        margin-bottom: 10px;
    }

    .feature-icon-box svg {
        width: 22px;
        height: 22px;
    }

    .feature-text h4 {
        font-size: 13px;
    }

    .feature-text p {
        font-size: 11px;
    }

    .canvas-visual-col {
        order: 2;
        width: 100%;
        margin-top: 6px;
    }

    .canvas-screen-wrapper {
        position: relative;
        width: 100%;
        max-width: 520px;
        margin: 0 auto;
        padding: 16px 4px;
        display: block;
    }

    .blob-green {
        width: 260px;
        height: 240px;
        top: -15px;
        left: -15px;
        filter: blur(28px);
        opacity: 0.85;
    }

    .blob-blue {
        width: 280px;
        height: 280px;
        top: -25px;
        right: -15px;
        filter: blur(30px);
        opacity: 0.85;
    }

    .blob-cyan {
        width: 260px;
        height: 180px;
        bottom: -15px;
        right: 0;
        filter: blur(24px);
        opacity: 0.8;
    }

    .canvas-screen-mockup {
        width: 100%;
        border-radius: 16px;
        box-shadow: 0 16px 40px -10px rgba(15, 33, 77, 0.12), 0 4px 14px rgba(15, 33, 77, 0.04);
    }

    .floating-canvas-card {
        position: absolute;
        z-index: 6;
        display: flex;
        align-items: center;
        gap: 9px;
        padding: 7px 14px 7px 9px;
        background: rgba(255, 255, 255, 0.96);
        backdrop-filter: blur(14px);
        border-radius: 15px;
        box-shadow: 0 12px 28px -4px rgba(15, 33, 77, 0.12), 0 3px 8px rgba(15, 33, 77, 0.04);
        margin: 0;
        width: auto;
        max-width: calc(100% - 20px);
        box-sizing: border-box;
    }

    .card-phone {
        top: 2px;
        right: 4px;
    }

    .card-slides {
        bottom: 2px;
        right: 6px;
    }

    .float-card-icon {
        width: 32px;
        height: 32px;
        border-radius: 10px;
    }

    .float-card-icon svg {
        width: 17px;
        height: 17px;
    }

    .float-title {
        font-size: 11.5px;
        line-height: 1.2;
    }

    .float-sub {
        font-size: 9.5px;
        line-height: 1.2;
    }

    .floating-wireless-waves {
        top: -9px;
        right: -9px;
        width: 22px;
        height: 22px;
    }

    .floating-wireless-waves svg {
        width: 22px;
        height: 22px;
    }
}

@media (max-width: 520px) {
    .canvas-actions-row {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
    }

    .canvas-primary-btn {
        justify-content: center;
        padding: 13px 20px;
    }

    .canvas-watch-btn {
        justify-content: flex-start;
        padding: 4px 8px;
    }

    .canvas-footer-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding-top: 20px;
    }
}

@media (max-width: 380px) {
    .floating-canvas-card {
        padding: 5px 10px 5px 8px;
        gap: 7px;
        border-radius: 12px;
    }

    .float-card-icon {
        width: 28px;
        height: 28px;
        border-radius: 8px;
    }

    .float-card-icon svg {
        width: 15px;
        height: 15px;
    }

    .float-title {
        font-size: 10.5px;
    }

    .float-sub {
        font-size: 8.5px;
    }

    .card-phone {
        top: 4px;
        right: 2px;
    }

    .card-slides {
        bottom: 4px;
        right: 4px;
    }
}

/* Assessment journey: the same navy, green and pastel language as Samagra. */
.assessment-section {
    position: relative;
    overflow: hidden;
    padding: 35px 0 76px;
    background: radial-gradient(ellipse at 0% 35%, #e8f9f1 0, transparent 48%), radial-gradient(ellipse at 100% 50%, #edf0ff 0, transparent 48%), #f8fbff;
}

.assessment-container {
    max-width: 1380px;
    margin: auto;
    padding: 0 40px;
}

.assessment-heading {
    position: relative;
    text-align: center;
    margin-bottom: 46px;
}

.assessment-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #087c60;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
}

.assessment-kicker svg {
    width: 18px;
    height: 18px;
}

.assessment-heading h2 {
    margin: 16px 0;
    font-size: clamp(32px, 3.5vw, 46px);
    letter-spacing: -.035em;
    line-height: 1.15;
}

.assessment-heading h2 span {
    color: var(--green);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.assessment-burst {
    width: 34px;
    height: 34px;
    flex-shrink: 0;
}

.assessment-heading p {
    color: #64748b;
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

.assessment-note {
    position: absolute;
    right: 3%;
    top: 35px;
    color: #518b78;
    font-size: 23px;
    line-height: 1.1;
    transform: rotate(8deg);
}

.assessment-note span {
    display: block;
    font-size: 38px;
}

/* Assessment Grid & Cards with Colorful Incomplete Bubbles */
.assessment-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

.assessment-card {
    position: relative;
    border-radius: 28px;
    padding: 34px;
    min-width: 0;
    overflow: hidden;
    transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s ease, border-color 0.35s ease;
}

.assessment-practice {
    --assessment-accent: #087c60;
    border: 2px solid #58d68d;
    background: linear-gradient(155deg, #eefcf5 0%, #ffffff 38%, #f2fbf7 100%);
    box-shadow: 0 20px 45px -16px rgba(8, 124, 96, 0.16), 0 2px 8px rgba(0, 0, 0, 0.02);
}

.assessment-practice:hover {
    transform: translateY(-6px);
    border-color: #10b981;
    box-shadow: 0 30px 60px -14px rgba(8, 124, 96, 0.25), 0 8px 24px rgba(0, 0, 0, 0.04);
}

.assessment-exam {
    --assessment-accent: #6651b5;
    border: 2px solid #a78bfa;
    background: linear-gradient(155deg, #f7f2ff 0%, #ffffff 38%, #faf5ff 100%);
    box-shadow: 0 20px 45px -16px rgba(102, 81, 181, 0.18), 0 2px 8px rgba(0, 0, 0, 0.02);
}

.assessment-exam:hover {
    transform: translateY(-6px);
    border-color: #8b5cf6;
    box-shadow: 0 30px 60px -14px rgba(102, 81, 181, 0.28), 0 8px 24px rgba(0, 0, 0, 0.04);
}

/* Card Decorative Incomplete Bubbles (Bleeding over card borders) */
.card-bubbles-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 0;
}

.card-bubble {
    position: absolute;
    border-radius: 50%;
}

.card-bubble-ring {
    position: absolute;
    border-radius: 50%;
}

/* Practice (Green / Cyan / Gold) */
.assessment-practice .bubble-tr {
    width: 240px;
    height: 240px;
    right: -70px;
    top: -70px;
    background: radial-gradient(circle at 40% 40%, rgb(0 227 123) 0%, rgb(0 215 66 / 30%) 50%, transparent 75%);
}

.assessment-practice .ring-tr {
    width: 220px;
    height: 220px;
    right: -60px;
    top: -60px;
    border: 2.5px dashed rgba(16, 185, 129, 0.45);
}

.assessment-practice .bubble-bl {
    width: 180px;
    height: 180px;
    left: -60px;
    bottom: -60px;
    background: radial-gradient(circle at 60% 60%, rgba(254, 240, 138, 0.45) 0%, rgba(110, 231, 183, 0.25) 55%, transparent 75%);
}

.assessment-practice .ring-bl {
    width: 160px;
    height: 160px;
    left: -50px;
    bottom: -50px;
    border: 2px dashed rgba(245, 158, 11, 0.4);
}

.assessment-practice .bubble-mr {
    width: 100px;
    height: 100px;
    right: -30px;
    top: 45%;
    background: radial-gradient(circle at 35% 35%, rgba(103, 232, 249, 0.4) 0%, rgba(16, 185, 129, 0.15) 60%, transparent 80%);
    border: 1.5px solid rgba(6, 182, 212, 0.3);
}

/* Exam (Violet / Magenta / Sky) */
.assessment-exam .bubble-tr {
    width: 240px;
    height: 240px;
    right: -70px;
    top: -70px;
    background: radial-gradient(circle at 40% 40%, rgb(193 112 255 / 65%) 0%, rgb(255 0 133 / 30%) 50%, transparent 75%);
}

.assessment-exam .ring-tr {
    width: 220px;
    height: 220px;
    right: -60px;
    top: -60px;
    border: 2.5px dashed rgba(139, 92, 246, 0.48);
}

.assessment-exam .bubble-bl {
    width: 180px;
    height: 180px;
    left: -60px;
    bottom: -60px;
    background: radial-gradient(circle at 60% 60%, rgba(186, 230, 253, 0.5) 0%, rgba(221, 214, 254, 0.3) 55%, transparent 75%);
}

.assessment-exam .ring-bl {
    width: 160px;
    height: 160px;
    left: -50px;
    bottom: -50px;
    border: 2px dashed rgba(56, 189, 248, 0.45);
}

.assessment-exam .bubble-mr {
    width: 100px;
    height: 100px;
    right: -30px;
    top: 45%;
    background: radial-gradient(circle at 35% 35%, rgba(244, 114, 182, 0.4) 0%, rgba(139, 92, 246, 0.15) 60%, transparent 80%);
    border: 1.5px solid rgba(236, 72, 153, 0.3);
}

/* Card Top & Pill Badge */
.assessment-card-top {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 5px 14px 5px 6px;
    border-radius: 100px;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(10px);
}

.assessment-practice .assessment-card-top {
    border: 1px solid #bbf7d0;
    box-shadow: 0 4px 12px rgba(8, 124, 96, 0.08);
}

.assessment-exam .assessment-card-top {
    border: 1px solid #ddd6fe;
    box-shadow: 0 4px 12px rgba(102, 81, 181, 0.08);
}

.assessment-icon {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #ddf4e9;
    color: #087c60;
}

.assessment-exam .assessment-icon {
    background: #ede8ff;
    color: #6651b5;
}

.assessment-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    color: var(--assessment-accent);
}

.assessment-card h3 {
    position: relative;
    z-index: 2;
    font-size: 30px;
    margin: 18px 0 8px;
    letter-spacing: -.035em;
    color: var(--navy);
}

.assessment-summary {
    position: relative;
    z-index: 2;
    font-size: 14px;
    line-height: 1.65;
    color: #64748b;
    margin: 0;
    max-width: 480px;
}

/* Visual Scene with Colorful Incomplete Bubbles Stage */
.assessment-scene {
    position: relative;
    margin: 28px 0 28px;
    padding: 24px 12px 30px;
    min-height: 320px;
    border-radius: 24px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* CSS Incomplete Bubble Rings */

.assessment-practice .scene-bubble-stage::before {
    width: 140px;
    height: 140px;
    right: 15px;
    top: 15px;
    border: 3.5px solid transparent;
    border-top: 3.5px solid #10b981;
    border-right: 3.5px solid #06b6d4;
    border-bottom: 3.5px dashed rgba(16, 185, 129, 0.45);
    transform: rotate(25deg);
}



.assessment-practice .assessment-scene {
    background: radial-gradient(circle at 75% 25%, rgb(0 255 124 / 65%) 0%, rgba(236, 253, 245, 0.45) 50%, transparent 75%);
}

.assessment-exam .assessment-scene {
    background: radial-gradient(circle at 75% 25%, #ff0085db 0%, rgba(236, 253, 245, 0.45) 50%, transparent 75%);
}

.scene-bubble-stage {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: visible;
    z-index: 1;
}

/* Glowing Blobs */
.scene-bubble-glow {
    position: absolute;
    pointer-events: none;
}

.assessment-practice .scene-bubble-glow.blob-1 {
    width: 200px;
    height: 200px;
    right: 15px;
    top: 20px;
    border-radius: 54% 46% 62% 38% / 45% 58% 42% 55%;
    background: radial-gradient(circle at 35% 35%, #6ee7b7 0%, #34d399 45%, #059669 90%);
    opacity: 0.28;
    filter: blur(14px);
}

.assessment-practice .scene-bubble-glow.blob-2 {
    width: 140px;
    height: 140px;
    left: 20px;
    top: 25px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, #fef08a 0%, #f59e0b 80%);
    opacity: 0.3;
    filter: blur(10px);
}

.assessment-practice .scene-bubble-glow.blob-3 {
    width: 150px;
    height: 150px;
    left: 30px;
    bottom: 20px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, #67e8f9 0%, #06b6d4 80%);
    opacity: 0.22;
    filter: blur(12px);
}

.assessment-exam .scene-bubble-glow.blob-1 {
    width: 200px;
    height: 200px;
    right: 20px;
    top: 20px;
    border-radius: 46% 54% 39% 61% / 55% 42% 58% 45%;
    background: radial-gradient(circle at 35% 35%, #c084fc 0%, #8b5cf6 45%, #6d28d9 90%);
    opacity: 0.3;
    filter: blur(14px);
}

.assessment-exam .scene-bubble-glow.blob-2 {
    width: 140px;
    height: 140px;
    left: 20px;
    top: 25px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, #bae6fd 0%, #38bdf8 80%);
    opacity: 0.32;
    filter: blur(10px);
}

.assessment-exam .scene-bubble-glow.blob-3 {
    width: 170px;
    height: 170px;
    right: 25px;
    bottom: 15px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, #f472b6 0%, #db2777 80%);
    opacity: 0.26;
    filter: blur(12px);
}

.incomplete-bubbles-art {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}

/* Glossy 3D Floating Soap Bubbles */
.glass-bubble-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 2;
    box-shadow: inset 0 2px 5px rgba(255, 255, 255, 0.95), inset 0 -2px 5px rgba(0, 0, 0, 0.08), 0 8px 20px rgba(0, 0, 0, 0.07);
    backdrop-filter: blur(1px);
    animation: bubbleFloat 5s ease-in-out infinite alternate;
}

.assessment-practice .glass-bubble-orb {
    background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.25) 30%, rgba(110, 231, 183, 0.35) 65%, rgba(6, 182, 212, 0.45) 100%);
    border: 1px solid rgba(167, 243, 208, 0.75);
}

.assessment-exam .glass-bubble-orb {
    background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.25) 30%, rgba(196, 181, 253, 0.35) 65%, rgba(236, 72, 153, 0.45) 100%);
    border: 1px solid rgba(221, 214, 254, 0.75);
}

.glass-bubble-orb.orb-1 {
    width: 38px;
    height: 38px;
    right: 18px;
    top: 15px;
    animation-duration: 4.8s;
}

.glass-bubble-orb.orb-2 {
    width: 24px;
    height: 24px;
    right: 58px;
    top: 70px;
    animation-duration: 6.2s;
    animation-delay: -1.8s;
}

.glass-bubble-orb.orb-3 {
    width: 20px;
    height: 20px;
    left: 20px;
    top: 95px;
    animation-duration: 5.5s;
    animation-delay: -3.2s;
}

.glass-bubble-orb.orb-4 {
    width: 16px;
    height: 16px;
    left: 36px;
    bottom: 30px;
    animation-duration: 4.2s;
    animation-delay: -2s;
}

@keyframes bubbleFloat {
    0% {
        transform: translateY(0px) scale(1) rotate(0deg);
    }

    50% {
        transform: translateY(-6px) scale(1.03) rotate(2deg);
    }

    100% {
        transform: translateY(-10px) scale(0.98) rotate(-2deg);
    }
}

/* Paper Previews (Centrally sized so bubbles wrap them) */
.assessment-paper {
    position: relative;
    width: 100%;
    max-width: 440px;
    padding: 22px 24px 24px;
    border: 1.5px solid #dcebe4;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 16px 36px -8px rgba(16, 34, 82, 0.09), 0 4px 14px rgba(0, 0, 0, 0.02);
    transform: rotate(-1.8deg);
    z-index: 3;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.exam-paper {
    transform: rotate(1.8deg);
    border-color: #e5e0f5;
    box-shadow: 0 16px 36px -8px rgba(102, 81, 181, 0.1), 0 4px 14px rgba(0, 0, 0, 0.02);
}

.assessment-card:hover .assignment-paper {
    transform: rotate(-0.8deg) translateY(-4px);
    box-shadow: 0 22px 46px -6px rgba(16, 34, 82, 0.14), 0 6px 18px rgba(0, 0, 0, 0.03);
}

.assessment-card:hover .exam-paper {
    transform: rotate(0.8deg) translateY(-4px);
    box-shadow: 0 22px 46px -6px rgba(102, 81, 181, 0.16), 0 6px 18px rgba(0, 0, 0, 0.03);
}

.assessment-paper-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    font-size: 8px;
    letter-spacing: .06em;
    color: #52637f;
    font-weight: 700;
}

.assessment-status {
    background: #e9f8ef;
    color: #08734e;
    padding: 4px 8px;
    border-radius: 6px;
    letter-spacing: 0;
    white-space: nowrap;
}

.assignment-paper .assessment-status {
    color: #94640b;
    background: #fff5db;
}

.assessment-paper h4 {
    font-size: 16px;
    margin: 14px 0 6px;
    color: var(--navy);
}

.assessment-paper>p {
    color: #64748b;
    font-size: 11px;
    margin: 0 0 12px;
}

.assessment-answer {
    background: #f7faf9;
    border: 1px solid #dbeef5;
    border-radius: 8px;
    padding: 10px 12px;
}

.assessment-answer>span {
    color: #64748b;
    font-size: 7px;
    letter-spacing: .1em;
}

.assessment-answer p {
    margin: 4px 0;
    font-size: 11px;
    color: #52637f;
}

.assessment-answer strong {
    font-family: Georgia, serif;
    font-style: italic;
    font-size: 18px;
    color: #0f172a;
}

.assessment-answer small {
    float: right;
    margin-top: 6px;
    color: #087c60;
    font-size: 8px;
    font-weight: 600;
}

.assessment-progress-label {
    display: flex;
    justify-content: space-between;
    margin: 12px 0 6px;
    font-size: 9px;
    color: #52637f;
}

.assignment-paper .assessment-progress-label {
    max-width: 60%;
}

.assessment-progress {
    background: #eaf1ed;
    height: 6px;
    border-radius: 6px;
    overflow: hidden;
}

.assignment-paper .assessment-progress {
    max-width: 60%;
}

.assessment-progress span {
    display: block;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, #10b981, #06b6d4);
    border-radius: 6px;
}

/* Yellow Post-it Sticky Note pinned at bottom-right of assignment scene */
.assessment-sticker {
    position: absolute;
    bottom: 22px;
    right: 22px;
    top: auto;
    width: auto;
    height: auto;
    padding: 12px 18px;
    background: linear-gradient(135deg, #fffbeb 0%, #fef08a 100%);
    color: #78602b;
    border: 1.5px solid #fde047;
    border-radius: 12px;
    box-shadow: 0 10px 24px -4px rgba(180, 83, 9, 0.2);
    transform: rotate(6deg);
    font-size: 20px;
    line-height: 1.08;
    z-index: 5;
    white-space: nowrap;
}

.assessment-sticker svg {
    position: absolute;
    right: 6px;
    top: -10px;
    width: 20px;
    height: 20px;
}

.exam-paper h4 span {
    font-size: 10px;
    font-weight: 500;
    margin-left: 8px;
    color: #64748b;
}

.assessment-exam-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 8px;
    color: #64748b;
    padding-bottom: 10px;
    border-bottom: 1px dashed #dfe3ee;
}

.assessment-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 10px;
    padding: 8px 0;
    border-bottom: 1px solid #f0f2f7;
}

.exam-paper .assessment-question {
    padding-right: 76px;
}

.assessment-question b {
    color: #98a3b8;
    margin-right: 8px;
    font-weight: 500;
}

.assessment-question strong {
    font-size: 10px;
    color: #087c60;
    text-align: right;
}

.assessment-question small {
    display: block;
    font-size: 7px;
    font-weight: 500;
    margin-top: 2px;
}

.assessment-question.partial strong {
    color: #ad5419;
}

.assessment-paper-foot {
    display: block;
    font-size: 7px;
    color: #64748b;
    margin-top: 8px;
}

/* 18/20 Score Stamp */
.assessment-score {
    position: absolute;
    right: -10px;
    bottom: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 104px;
    height: 104px;
    border: 2.5px solid #8b5cf6;
    outline: 2px dashed #c084fc;
    outline-offset: 3px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ffffff 0%, #f5f0ff 100%);
    color: #6651b5;
    transform: rotate(-10deg);
    box-shadow: 0 12px 28px -6px rgba(109, 40, 217, 0.3), 0 4px 10px rgba(0, 0, 0, 0.05);
    z-index: 5;
}

.assessment-score>span {
    font-size: 7px;
    letter-spacing: .08em;
    font-weight: 700;
}

.assessment-score strong {
    font-size: 32px;
    line-height: 1.25;
    letter-spacing: -.05em;
    color: #6d28d9;
}

.assessment-score small {
    font-size: 15px;
    font-weight: 500;
}

/* Feature List with Icon Badges */
.assessment-features {
    list-style: none;
    padding: 0;
    margin: 28px 0 24px;
    display: grid;
    gap: 16px;
    position: relative;
    z-index: 2;
}

.assessment-features li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.6;
}

.feature-icon-badge {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.assessment-practice .feature-icon-badge {
    background: #e6f7ef;
    color: #087c60;
    border: 1px solid #c2eed9;
}

.assessment-exam .feature-icon-badge {
    background: #f2ecff;
    color: #6651b5;
    border: 1px solid #ded4fb;
}

.assessment-features li:hover .feature-icon-badge {
    transform: scale(1.08);
}

.feature-icon-badge svg {
    width: 18px;
    height: 18px;
}

.assessment-features strong {
    display: block;
    color: var(--navy);
    font-size: 13px;
    margin-bottom: 2px;
}

/* Action Link / Buttons */
.assessment-link {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 13px 18px 13px 22px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.assessment-practice .assessment-link {
    background: #eefcf4;
    border: 1.5px solid #a7f3d0;
    color: #087c60;
}

.assessment-practice .assessment-link:hover {
    background: #087c60;
    border-color: #087c60;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -6px rgba(8, 124, 96, 0.35);
}

.assessment-exam .assessment-link {
    background: #f7f3ff;
    border: 1.5px solid #ddd6fe;
    color: #6651b5;
}

.assessment-exam .assessment-link:hover {
    background: #6651b5;
    border-color: #6651b5;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px -6px rgba(102, 81, 181, 0.35);
}

.assessment-link-arrow {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    transition: all 0.25s ease;
}

.assessment-practice .assessment-link-arrow {
    background: #087c60;
    color: #ffffff;
}

.assessment-practice .assessment-link:hover .assessment-link-arrow {
    background: #ffffff;
    color: #087c60;
    transform: translateX(3px);
}

.assessment-exam .assessment-link-arrow {
    background: #6651b5;
    color: #ffffff;
}

.assessment-exam .assessment-link:hover .assessment-link-arrow {
    background: #ffffff;
    color: #6651b5;
    transform: translateX(3px);
}

.assessment-link-arrow svg {
    width: 14px;
    height: 14px;
}

.assessment-teachers {
    margin-top: 28px;
    padding: 26px 30px;
    background: #fff;
    border: 1px solid #dde6ed;
    border-radius: 22px;
    display: flex;
    align-items: center;
    gap: 28px;
}

.assessment-teacher-intro {
    display: flex;
    align-items: center;
    gap: 16px;
}

.assessment-teacher-intro h3 {
    margin: 4px 0 6px;
    font-size: 21px;
    letter-spacing: -.025em;
}

.assessment-teacher-intro p {
    margin: 0;
    color: #64748b;
    font-size: 11px;
}

.assessment-workflow {
    flex: 1;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 0;
    margin: 0;
}

.assessment-workflow li {
    border-left: 1px solid #e4eae8;
    padding-left: 20px;
}

.assessment-workflow li>span {
    font-size: 10px;
    color: #087c60;
    display: block;
    margin-bottom: 5px;
}

.assessment-workflow strong {
    display: block;
    font-size: 13px;
}

.assessment-workflow small {
    display: block;
    font-size: 10px;
    color: #64748b;
    line-height: 1.6;
    margin-top: 5px;
}

.assessment-teacher-link {
    flex-shrink: 0;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #e9f8ef;
    color: #087c60;
}

@media (max-width: 1150px) {
    .assessment-note {
        display: none;
    }

    .assessment-teachers {
        flex-wrap: wrap;
    }

    .assessment-teacher-intro {
        flex: 1 1 75%;
    }

    .assessment-workflow {
        order: 3;
        flex-basis: 100%;
    }
}

@media (max-width: 800px) {
    .assessment-grid {
        grid-template-columns: 1fr;
    }

    .assessment-card {
        padding: 26px;
    }

    .assessment-scene {
        max-width: 520px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .assessment-section {
        padding: 60px 0;
    }
}

@media (max-width: 520px) {
    .assessment-container {
        padding: 0 20px;
    }

    .assessment-heading h2 span {
        display: block;
    }

    .assessment-heading p {
        font-size: 13px;
    }

    .assessment-kicker {
        font-size: 9px;
    }

    .assessment-card {
        padding: 21px;
        border-radius: 22px;
    }

    .assessment-label {
        font-size: 8px;
    }

    .assessment-paper {
        padding: 14px;
    }

    .assessment-scene {
        padding-left: 0;
        padding-right: 8px;
        height: 290px;
    }

    .assessment-paper-meta {
        font-size: 7px;
    }

    .assessment-sticker {
        font-size: 16px;
        padding: 8px 12px;
        bottom: 14px;
        right: 12px;
    }

    .assessment-score {
        width: 86px;
        height: 86px;
        bottom: 12px;
        right: 10px;
    }

    .assessment-score strong {
        font-size: 26px;
    }

    .assessment-teachers {
        padding: 22px;
        gap: 20px;
    }

    .assessment-teacher-intro {
        flex-basis: 70%;
        gap: 10px;
    }

    .assessment-teacher-intro>.assessment-icon {
        display: none;
    }

    .assessment-teacher-intro h3 {
        font-size: 19px;
    }

    .assessment-workflow {
        gap: 10px;
    }

    .assessment-workflow li {
        padding-left: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .assessment-section *,
    .assessment-section *::before {
        transition: none !important;
    }
}

/* Keep the result stamp clear of the question marks. */
.exam-paper .assessment-question {
    padding-right: 76px;
}

/* assessment-sticker bottom cleaned */


/* =======================================================
   ENTRANCE PRACTICE TESTS SECTION (Pixel-close to UX)
   ======================================================= */
.entrance-practice-section {
    position: relative;
    width: 100%;
    padding: 70px 0 85px;
    background: #ffffff;
    overflow: hidden;
    color: #102252;
}

/* Background Botanical SVG */
.entrance-bg-decor {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}

.entrance-container {
    position: relative;
    z-index: 2;
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 40px;
}

.entrance-main-grid {
    display: grid;
    grid-template-columns: 1fr 1.08fr;
    align-items: center;
    gap: 48px;
    position: relative;
}

/* ----------------------------------------------------
   Left Column: Dummy Image Area
   ---------------------------------------------------- */
.entrance-visual-col {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.entrance-visual-wrapper {
    position: relative;
    width: 100%;
    max-width: 600px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Ambient Splash Gradient Blobs behind dummy image */
.entrance-splash-blob {
    position: absolute;
    pointer-events: none;
    z-index: 1;
}

.entrance-splash-blob.blob-mint {
    width: 480px;
    height: 440px;
    top: -50px;
    left: -50px;
    border-radius: 50%;
    background: radial-gradient(circle at 45% 45%, rgba(209, 250, 229, 0.9) 0%, rgba(187, 247, 208, 0.5) 50%, transparent 75%);
    filter: blur(30px);
    opacity: 0.85;
}

.entrance-splash-blob.blob-cyan {
    width: 460px;
    height: 380px;
    bottom: -40px;
    right: -30px;
    border-radius: 50%;
    background: radial-gradient(circle at 50% 50%, rgba(207, 250, 254, 0.85) 0%, rgba(186, 230, 253, 0.45) 55%, transparent 75%);
    filter: blur(28px);
    opacity: 0.85;
}

/* Image Card Showcase */
.entrance-image-card {
    position: relative;
    z-index: 2;
    width: 100%;
    border-radius: 28px;
    overflow: hidden;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.entrance-dummy-img {
    width: 100%;
    height: auto;
    max-height: 480px;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 14px 28px rgba(15, 33, 77, 0.08));
}

/* ----------------------------------------------------
   Right Column: Content, Cards & Actions
   ---------------------------------------------------- */
.entrance-content-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Pill Badge */
.entrance-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6.5px 16px;
    border-radius: 999px;
    background: #eff6ff;
    border: 1px solid #dbeafe;
    color: #2563eb;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.1px;
    margin-bottom: 18px;
}

.entrance-pill svg {
    width: 17px;
    height: 17px;
    stroke: #2563eb;
    stroke-width: 2;
    fill: none;
}

/* Heading with Burst Accent */
.entrance-title-wrap {
    position: relative;
    display: inline-flex;
    align-items: flex-start;
    margin: 0 0 14px;
}

.entrance-heading {
    font-size: clamp(32px, 3.4vw, 46px);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.15;
    margin: 0;
    display: flex;
    flex-direction: column;
}

.entrance-heading .heading-dark {
    color: #0f214d;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.entrance-heading .heading-green {
    color: #00966a;
}

.heading-burst {
    width: 32px;
    height: 32px;
    margin-left: 10px;
    margin-top: 4px;
    flex-shrink: 0;
}

/* Description */
.entrance-desc {
    font-size: 15px;
    line-height: 1.6;
    color: #64748b;
    margin: 0 0 28px;
    max-width: 530px;
}

/* ----------------------------------------------------
   6 Feature Mini Cards Grid (2 Col x 3 Row)
   ---------------------------------------------------- */
.entrance-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 24px;
    row-gap: 18px;
    width: 100%;
    margin-bottom: 34px;
}

.entrance-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 6px 4px;
    transition: transform 0.22s ease;
}

.entrance-card:hover {
    transform: translateY(-2px);
}

.entrance-card .card-icon-wrap {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.entrance-card:hover .card-icon-wrap {
    transform: scale(1.05);
}

.entrance-card .card-icon-wrap svg {
    width: 23px;
    height: 23px;
}

/* Icon Color Palettes matching UX */
.icon-blue {
    background: #eff6ff;
    color: #2563eb;
}

.icon-amber {
    background: #fffbeb;
    color: #d97706;
}

.icon-green {
    background: #ecfdf5;
    color: #059669;
}

.icon-rose {
    background: #fff1f2;
    color: #e11d48;
}

.icon-purple {
    background: #f5f3ff;
    color: #7c3aed;
}

.icon-teal {
    background: #f0fdfa;
    color: #0d9488;
}

.entrance-card .card-text h4 {
    font-size: 14.5px;
    font-weight: 700;
    color: #0f214d;
    margin: 0 0 3px;
    line-height: 1.2;
}

.entrance-card .card-text p {
    font-size: 12px;
    color: #64748b;
    margin: 0;
    line-height: 1.35;
}

/* ----------------------------------------------------
   Bottom Action Row & Handwritten Scribble
   ---------------------------------------------------- */
.entrance-bottom-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: 6px;
    position: relative;
}

.entrance-primary-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 30px;
    border-radius: 999px;
    background: linear-gradient(165deg, #48bd75, #00986d 80%);
    color: #ffffff;
    font-size: 14.5px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 10px 22px -4px rgba(0, 150, 106, 0.4);
    transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.entrance-primary-btn:hover {
    background: #059669;
    transform: translateY(-2px);
    box-shadow: 0 14px 28px -4px rgba(0, 150, 106, 0.5);
}

.entrance-primary-btn svg {
    width: 17px;
    height: 17px;
    stroke: #ffffff;
    stroke-width: 2.2;
    transition: transform 0.2s ease;
}

.entrance-primary-btn:hover svg {
    transform: translateX(3px);
}

/* Handwritten Note: Higher Goals, Brighter Futures */
.handwritten-goals {
    font-family: Caveat, cursive;
    font-size: 24px;
    line-height: 1.15;
    color: #16a34a;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    transform: rotate(-3deg);
    pointer-events: none;
    padding-right: 18px;
}

/* ----------------------------------------------------
   Responsive Breakpoints
   ---------------------------------------------------- */
@media (max-width: 1100px) {
    .entrance-main-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .entrance-visual-col {
        order: 1;
        width: 100%;
    }

    .entrance-content-col {
        order: 2;
    }

    .entrance-visual-wrapper {
        max-width: 520px;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    .entrance-practice-section {
        padding: 50px 0 60px;
    }

    .entrance-features-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .entrance-bottom-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .handwritten-goals {
        align-items: flex-start;
        padding-right: 0;
        transform: rotate(-2deg);
    }
}

@media (max-width: 520px) {
    .entrance-container {
        padding: 0 20px;
    }

    .entrance-primary-btn {
        width: 100%;
        justify-content: center;
    }
}


/* =======================================================
   AI-POWERED STUDY PLAN SECTION (Pixel-close to UX)
   ======================================================= */
.study-plan-section {
    position: relative;
    width: 100%;
    padding: 90px 0 95px;
    background: #f9fff4;
    overflow: hidden;
    color: #102252;
}

/* Ambient Glow Blobs */
.study-plan-blob {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
}

.study-plan-blob.blob-mint {
    top: -60px;
    left: -60px;
    width: 380px;
    height: 380px;
    background: radial-gradient(circle, rgba(74, 222, 128, 0.13) 0%, rgba(74, 222, 128, 0) 70%);
    filter: blur(45px);
}

.study-plan-blob.blob-cyan {
    bottom: -40px;
    right: -40px;
    width: 360px;
    height: 360px;
    background: radial-gradient(circle, rgba(56, 189, 248, 0.12) 0%, rgba(56, 189, 248, 0) 70%);
    filter: blur(45px);
}

.study-plan-container {
    position: relative;
    z-index: 2;
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 40px;
}

.study-plan-grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 60px;
    align-items: center;
}

/* Left Column: Content & Actions */
.study-plan-content-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Pill Badge */
.study-plan-pill {
    display: inline-flex;
    align-items: center;
    gap: 8.5px;
    padding: 6.5px 16px;
    border-radius: 999px;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    color: #0f8546;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 20px;
}

.study-plan-pill .pill-spark-icon {
    width: 15px;
    height: 15px;
    stroke: #16a34a;
}

/* Section Heading */
.study-plan-heading {
    font-size: 46px;
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.15;
    margin: 0 0 18px;
}

.study-plan-heading .heading-dark {
    color: #102252;
    display: block;
}

.study-plan-heading .heading-green-wrap {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    position: relative;
}

.study-plan-heading .heading-green {
    color: #0f8546;
}

.study-plan-burst {
    width: 34px;
    height: 34px;
    flex-shrink: 0;
}

/* Description */
.study-plan-desc {
    font-size: 15px;
    line-height: 1.62;
    color: #52637f;
    margin: 0 0 26px;
    max-width: 500px;
}

/* Exam Category Tags */
.study-plan-tags-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 34px;
}

.plan-tag {
    padding: 6.5px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    cursor: default;
}

.plan-tag:hover {
    transform: translateY(-2px);
}

.tag-keam {
    background: #ecfdf5;
    border: 1.5px solid #a7f3d0;
    color: #059669;
}

.tag-neet {
    background: #fff1f2;
    border: 1.5px solid #fecdd3;
    color: #e11d48;
}

.tag-jee {
    background: #eff6ff;
    border: 1.5px solid #bfdbfe;
    color: #2563eb;
}

.tag-cuet {
    background: #f5f3ff;
    border: 1.5px solid #ddd6fe;
    color: #7c3aed;
}

/* Actions Row */
.study-plan-actions-row {
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
}

.study-plan-primary-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13.5px 28px;
    border-radius: 999px;
    background: linear-gradient(165deg, #48bd75, #00986d 80%);
    color: #ffffff;
    font-size: 14.5px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(15, 133, 70, 0.28);
    transition: all 0.25s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.study-plan-primary-btn:hover {
    background: #0d733d;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(15, 133, 70, 0.36);
}

.study-plan-primary-btn svg {
    width: 17px;
    height: 17px;
    transition: transform 0.25s ease;
}

.study-plan-primary-btn:hover svg {
    transform: translateX(3px);
}

.study-plan-secondary-btn {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    color: #1d4ed8;
    font-size: 14.5px;
    font-weight: 600;
    font-family: inherit;
    transition: color 0.2s ease;
}

.study-plan-secondary-btn:hover {
    color: #1e40af;
}

.study-plan-play-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #eff6ff;
    border: 1.5px solid #dbeafe;
    display: grid;
    place-items: center;
    color: #2563eb;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.08);
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.study-plan-play-btn svg {
    width: 14px;
    height: 14px;
    margin-left: 2px;
}

.study-plan-secondary-btn:hover .study-plan-play-btn {
    transform: scale(1.08);
    background: #dbeafe;
}

/* ----------------------------------------------------
   Right Column: Timeline & Cards
   ---------------------------------------------------- */
.study-plan-visual-col {
    position: relative;
    display: flex;
    align-items: center;
}

.study-plan-timeline-wrap {
    position: relative;
    display: flex;
    align-items: stretch;
    width: 100%;
}

.timeline-curve-svg {
    position: absolute;
    left: 0;
    top: 0;
    width: 64px;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}

.study-plan-cards-stack {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    padding-left: 64px;
    position: relative;
    z-index: 2;
}

.plan-card {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 16px 22px;
    border-radius: 20px;
    background: #ffffff;
    border: 1.5px solid rgba(226, 232, 240, 0.85);
    box-shadow: 0 6px 22px rgba(16, 34, 82, 0.04);
    transition: transform 0.26s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.26s cubic-bezier(0.2, 0.7, 0.2, 1), border-color 0.26s;
    cursor: pointer;
}

.plan-card:hover {
    transform: translateX(6px);
    box-shadow: 0 12px 28px rgba(16, 34, 82, 0.08);
    border-color: rgba(203, 213, 225, 1);
}

.plan-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 15px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
}

.plan-card-icon svg {
    width: 24px;
    height: 24px;
}

.plan-card-icon.icon-mint {
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    color: #10b981;
}

.plan-card-icon.icon-blue {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #2563eb;
}

.plan-card-icon.icon-amber {
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #d97706;
}

.plan-card-icon.icon-rose {
    background: #fff1f2;
    border: 1px solid #fecdd3;
    color: #e11d48;
}

.plan-card-body h4 {
    font-size: 15px;
    font-weight: 700;
    color: #102252;
    margin: 0 0 3.5px;
    line-height: 1.3;
}

.plan-card-body p {
    font-size: 12.5px;
    color: #64748b;
    margin: 0;
    line-height: 1.4;
}

.study-plan-top-burst {
    position: absolute;
    top: -24px;
    right: 12px;
    width: 36px;
    height: 36px;
    pointer-events: none;
}

/* ----------------------------------------------------
   Responsive Media Queries for Study Plan
   ---------------------------------------------------- */
@media (max-width: 1100px) {
    .study-plan-grid {
        gap: 40px;
    }

    .study-plan-heading {
        font-size: 40px;
    }
}

@media (max-width: 900px) {
    .study-plan-section {
        padding: 65px 0 70px;
    }

    .study-plan-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .study-plan-heading {
        font-size: 36px;
    }

    .study-plan-cards-stack {
        padding-left: 58px;
    }
}

@media (max-width: 600px) {
    .study-plan-section {
        padding: 50px 0 55px;
    }

    .study-plan-container {
        padding: 0 20px;
    }

    .study-plan-heading {
        font-size: 30px;
    }

    .timeline-curve-svg {
        display: none;
    }

    .study-plan-cards-stack {
        padding-left: 0;
        gap: 12px;
    }

    .plan-card {
        padding: 14px 16px;
        gap: 14px;
    }

    .study-plan-actions-row {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    .study-plan-primary-btn {
        justify-content: center;
    }
}

/* =============================================================
   MOBILE VIEW FIXES (Responsive Header, Overflow & Robot)
   ============================================================= */
@media (max-width: 900px) {

    .robot-3d-stage,
    #robot-3d-stage,
    #robot-3d-canvas,
    .robot-speaking-bubble,
    #robot-speaking-bubble,
    .companion,
    .companion-fallback {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
        opacity: 0 !important;
    }
}

@media (max-width: 680px) {

    html,
    body,
    .page-shell {
        overflow-x: hidden !important;
        max-width: 100vw !important;
    }

    .site-header {
        padding: 10px 14px !important;
        justify-content: space-between !important;
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
        gap: 8px !important;
        background: #c6d7ff3d;
    }

    .header-brand-cluster {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    .header-brand-divider {
        width: 1.5px !important;
        height: 26px !important;
        background: rgba(16, 50, 90, 0.18) !important;
        margin: 0 2px !important;
        flex-shrink: 0 !important;
    }

    .header-partners {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex-shrink: 1 !important;
        min-width: 0 !important;
    }

    .partner-link {
        padding: 0 !important;
        flex-shrink: 1 !important;
        min-width: 0 !important;
    }

    .partner-logo-ed {
        height: clamp(22px, 5.8vw, 30px) !important;
        max-width: 145px !important;
        width: auto !important;
        flex-shrink: 1 !important;
    }

    .partner-logo-kite {
        height: clamp(22px, 5.8vw, 30px) !important;
        max-width: 45px !important;
        width: auto !important;
        flex-shrink: 1 !important;
    }

    .brand {
        flex: 0 1 auto !important;
        min-width: 0 !important;
        gap: 6px !important;
    }

    .brand-emblem {
        height: 32px !important;
        width: auto !important;
        flex-shrink: 0 !important;
    }

    .brand-wordmark {
        height: 22px !important;
        width: auto !important;
        flex-shrink: 0 !important;
    }

    .brand small {
        font-size: 7.5px !important;
    }

    .header-actions {
        flex-shrink: 0 !important;
        margin-left: auto !important;
        gap: 6px !important;
    }

    .login-button {
        padding: 5px 12px !important;
        font-size: 12px !important;
        height: 30px !important;
    }

    .menu-button {
        width: 30px !important;
        height: 30px !important;
        flex-shrink: 0 !important;
    }

    .cosmos,
    .stars,
    .hero-art,
    .entrance-visual-wrapper {
        overflow: hidden !important;
    }
}

/* Target Users & Resources hidden on mobile resolution */
@media (max-width: 768px),
(max-width: 900px) and (orientation: portrait) {
    .target-users-section {
        display: none !important;
    }
}

/* Ultra-compact Mobile Screen Optimizations (<= 380px) */
@media (max-width: 380px) {
    .site-header {
        padding: 8px 10px !important;
        gap: 6px !important;
    }

    .header-brand-cluster {
        gap: 5px !important;
    }

    .brand {
        gap: 4px !important;
    }

    .brand-emblem {
        height: 26px !important;
    }

    .brand-wordmark {
        height: 18px !important;
    }

    .header-brand-divider {
        height: 22px !important;
        margin: 0 !important;
    }

    .header-partners {
        gap: 6px !important;
    }

    .partner-logo-ed {
        height: clamp(20px, 5.4vw, 24px) !important;
        max-width: 115px !important;
    }

    .partner-logo-kite {
        height: clamp(20px, 5.4vw, 24px) !important;
        max-width: 36px !important;
    }
}

/* =============================================================
 * Site Footer (Integrated Organic Wave Background & Institutional Branding)
 * ============================================================= */
.site-footer {
    position: relative;
    width: 100%;
    background-color: #f9fff4;
    background-image: url('assets/footer-bg.webp');
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% auto;
    overflow: hidden;
    margin-top: 0;
}

/* Floating handwriting above sprout in the background */
.footer-handwriting {
    position: absolute;
    right: clamp(24px, 7vw, 120px);
    top: clamp(6px, 1.2vw, 16px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-family: Caveat, cursive;
    font-size: clamp(15px, 1.5vw, 24px);
    line-height: 1.05;
    color: #2b7449;
    transform: rotate(-7deg);
    z-index: 2;
    pointer-events: none;
    user-select: none;
    filter: drop-shadow(0 1px 2px rgba(255, 255, 255, 0.95));
}

.footer-handwriting span:nth-child(2) {
    padding-left: 6px;
}

.footer-handwriting span:nth-child(3) {
    padding-left: 12px;
}

/* Content Container - Compact & Reduced Height */
.footer-content-wrap {
    max-width: 1440px;
    margin: 0 auto;
    padding: clamp(20px, 3.2vw, 20px) 3% 14px;
    position: relative;
    z-index: 3;
}

.footer-main-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(10px, 1.2vw, 18px);
    padding: 4px 0 12px;
}

/* Brands Group (Mukulam + Divider + KITE) */
.footer-brands-group {
    display: flex;
    align-items: center;
    gap: clamp(12px, 1.3vw, 18px);
    flex-shrink: 0;
}

/* Column 1: Mukulam Brand */
.footer-col-brand {
    flex-shrink: 0;
}

.footer-brand-link {
    display: inline-flex;
    align-items: baseline;
    gap: 10px;
    text-decoration: none;
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.footer-brand-link:hover {
    transform: translateY(-1.5px);
}

.footer-brand-emblem {
    height: 38px;
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 2px 5px rgba(0, 102, 178, 0.12));
}

.footer-brand-text {
    display: flex;
    flex-direction: column;
}

.footer-brand-title {
    font-family: var(--font-sans, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
    font-size: 19px;
    font-weight: 700;
    color: #12335c;
    letter-spacing: -0.3px;
    line-height: 1.15;
}

.footer-brand-tagline {
    font-size: 10.5px;
    color: #5f758e;
    margin-top: 2px;
    font-weight: 500;
    white-space: nowrap;
}

/* Vertical Dividers */
.footer-divider {
    width: 1px;
    height: 38px;
    background: rgba(18, 51, 92, 0.12);
    flex-shrink: 0;
}

/* Column 2: KITE Affiliation */
.footer-col-kite {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.footer-kite-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    flex-shrink: 0;
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.footer-kite-link:hover {
    transform: translateY(-1.5px);
}

.footer-kite-logo {
    height: 50px;
    width: auto;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.footer-kite-text {
    display: flex;
    flex-direction: column;
}

.footer-kite-heading {
    font-size: 11.5px;
    font-weight: 700;
    color: #12335c;
    line-height: 1.25;
    margin-bottom: 2px;
    white-space: nowrap;
}

.footer-kite-sub,
.footer-kite-gov {
    font-size: 10px;
    color: #5f758e;
    line-height: 1.3;
    white-space: nowrap;
}

/* Column 3: Contact Details */
.footer-col-contact {
    display: flex;
    align-items: center;
    gap: clamp(8px, 1vw, 14px);
    flex-shrink: 0;
}

.footer-contact-item {
    display: flex;
    align-items: center;
    gap: 7px;
}

.footer-contact-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #eef9f3;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #009c77;
    border: 1px solid rgba(0, 156, 119, 0.16);
    transition: background 0.25s ease, color 0.25s ease, transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease;
}

.footer-contact-icon svg {
    width: 13px;
    height: 13px;
}

.footer-contact-item:hover .footer-contact-icon {
    background: #009c77;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 156, 119, 0.25);
}

.footer-contact-info {
    display: flex;
    flex-direction: column;
}

.footer-contact-link,
.footer-contact-text {
    font-size: 11px;
    font-weight: 600;
    color: #1e293b;
    text-decoration: none;
    line-height: 1.25;
    white-space: nowrap;
    transition: color 0.2s ease;
}

.footer-contact-link:hover {
    color: #009c77;
}

.footer-contact-sub {
    font-size: 9.5px;
    color: #64748b;
    margin-top: 1px;
}

/* Bottom Row: Copyright */
.footer-bottom-row {
    padding-top: 2px;
    /* border-top: 1px solid rgba(18, 51, 92, 0.08); */
}

.footer-copyright {
    font-size: 11px;
    color: #64748b;
    font-weight: 400;
    margin: 0;
}

/* =============================================================
 * Footer Responsive Breakpoints
 * ============================================================= */
@media (max-width: 1260px) {
    .footer-content-wrap {
        padding: clamp(20px, 3vw, 20px) 3% 14px;
    }

    .footer-main-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 4px 0 12px;
    }

    .footer-brands-group {
        display: flex;
        align-items: center;
        gap: 20px;
        width: 100%;
    }

    .footer-divider-desktop {
        display: none;
    }

    .footer-col-contact {
        width: 100%;
        padding-top: 10px;
        border-top: 1px solid rgba(18, 51, 92, 0.08);
        gap: 18px;
        flex-wrap: wrap;
    }
}

@media (max-width: 900px) {
    .site-footer {
        background-size: auto 150px;
        background-position: top right;
    }
}

@media (max-width: 768px) {
    .site-footer {
        background-size: auto 135px;
        background-position: top right;
    }

    .footer-content-wrap {
        padding: 24px 5% 14px;
    }

    .footer-handwriting {
        right: 14px;
        top: 6px;
        font-size: 14px;
        opacity: 0.9;
    }

    .footer-brands-group {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        width: 100%;
    }

    .footer-brands-group .footer-divider {
        display: none;
    }

    .footer-col-kite {
        padding-top: 10px;
        border-top: 1px solid rgba(18, 51, 92, 0.08);
        width: 100%;
    }

    .footer-col-contact {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding-top: 10px;
        border-top: 1px solid rgba(18, 51, 92, 0.08);
        width: 100%;
    }

    .footer-brand-tagline,
    .footer-kite-heading,
    .footer-kite-sub,
    .footer-kite-gov,
    .footer-contact-link,
    .footer-contact-text {
        white-space: normal;
    }
}

@media (max-width: 480px) {
    .site-footer {
        background-size: auto 110px;
        background-position: top right;
    }

    .footer-content-wrap {
        padding: 20px 4% 12px;
    }

    .footer-handwriting {
        display: none;
    }

    .footer-brand-emblem {
        height: 34px;
    }

    .footer-brand-title {
        font-size: 18px;
    }

    .footer-brand-tagline {
        font-size: 10.5px;
    }

    .footer-kite-logo {
        height: 50px;
    }

    .footer-kite-heading {
        font-size: 11.5px;
    }

    .footer-kite-sub,
    .footer-kite-gov {
        font-size: 10px;
    }

    .footer-contact-icon {
        width: 28px;
        height: 28px;
    }

    .footer-contact-icon svg {
        width: 13px;
        height: 13px;
    }

    .footer-contact-link,
    .footer-contact-text {
        font-size: 11px;
    }
}

/* =============================================================
 * Mukulam Hero Video Modal & 5centscdn Video.js Custom Styling
 * ============================================================= */
dialog.video-modal {
    width: min(1000px, calc(100vw - 36px));
    max-width: 1000px;
    border: none;
    border-radius: 26px;
    padding: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    color: #ffffff;
    margin: auto;
    inset: 0;
}

dialog.video-modal::backdrop {
    background: rgba(6, 18, 38, 0.76);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: opacity 0.3s ease;
}

dialog.video-modal[open] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    animation: videoModalEntrance 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes videoModalEntrance {
    from {
        opacity: 0;
        transform: scale(0.94) translateY(14px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.video-modal-container {
    position: relative;
    width: 100%;
    margin-top: 50px;
}

.video-modal-close {
    position: absolute;
    top: -54px;
    right: 0px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, 0.45);
    background: rgba(14, 25, 45, 0.65);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 50;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}

.video-modal-close:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.85);
    transform: scale(1.08);
}

.video-modal-close:focus-visible {
    outline: 2px solid #22c55e;
    outline-offset: 2px;
}

.video-player-wrapper {
    position: relative;
    width: 100%;
    background: #040910;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 25px 80px -15px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.16);
    user-select: none;
}

/* Video.js skin overrides to match Mukulam green aesthetic */
.video-js {
    width: 100% !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    font-family: inherit !important;
    background-color: #040910 !important;
}

.video-js video {
    border-radius: 24px !important;
    object-fit: cover !important;
}

.video-js .vjs-big-play-button {
    width: 78px !important;
    height: 78px !important;
    line-height: 74px !important;
    border-radius: 50% !important;
    background: rgba(45, 140, 95, 0.9) !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.5), inset 0 1px 1px rgba(255, 255, 255, 0.4) !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease !important;
}

.video-js:hover .vjs-big-play-button,
.video-js .vjs-big-play-button:hover,
.video-js .vjs-big-play-button:focus {
    background-color: #00a86b !important;
    transform: translate(-50%, -50%) scale(1.1) !important;
    box-shadow: 0 16px 42px rgba(0, 168, 107, 0.45) !important;
    border-color: rgba(255, 255, 255, 0.6) !important;
}

.video-js .vjs-control-bar {
    background: linear-gradient(to top, rgba(5, 12, 22, 0.95) 0%, rgba(5, 12, 22, 0.6) 65%, transparent 100%) !important;
    height: 48px !important;
    padding: 0 14px !important;
    align-items: center !important;
}

.video-js .vjs-play-progress {
    background-color: #22c55e !important;
}

.video-js .vjs-play-progress:before {
    color: #ffffff !important;
    font-size: 14px !important;
    top: -0.32em !important;
}

.video-js .vjs-slider {
    background-color: rgba(255, 255, 255, 0.28) !important;
    border-radius: 4px !important;
}

.video-js .vjs-load-progress,
.video-js .vjs-load-progress div {
    background: rgba(255, 255, 255, 0.22) !important;
    border-radius: 4px !important;
}

.video-js .vjs-button:hover {
    color: #34d399 !important;
}

.video-js .vjs-volume-level {
    background-color: #22c55e !important;
}

.video-js .vjs-volume-panel:hover .vjs-volume-control.vjs-volume-horizontal {
    width: 5em !important;
}

.video-js .vjs-time-control {
    font-size: 13px !important;
    letter-spacing: 0.5px !important;
    font-variant-numeric: tabular-nums !important;
}

@media (max-width: 768px) {
    .video-modal-container {
        margin-top: 44px;
    }

    .video-modal-close {
        top: -46px;
        right: 0;
        width: 38px;
        height: 38px;
    }

    .video-js .vjs-big-play-button {
        width: 62px !important;
        height: 62px !important;
        line-height: 58px !important;
    }
}

@media (max-width: 480px) {
    .video-player-wrapper,
    .video-js,
    .video-js video {
        border-radius: 18px !important;
    }

    .video-js .vjs-big-play-button {
        width: 52px !important;
        height: 52px !important;
        line-height: 48px !important;
    }
}
