@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root {
    --navy: #071a3d;
    --blue: #246bfd;
    --cyan: #37d5eb;
    --ink: #14213b;
    --muted: #657089;
    --pale: #f3f7ff;
    --line: #dce5f3;
    --lime: #c8ff67
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 92px
}

body {
    margin: 0;
    color: var(--ink);
    background: #fff;
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased
}

h1,
h2,
h3,
p {
    margin-top: 0
}

h1,
h2,
h3 {
    font-family: "Manrope", sans-serif
}

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

.container {
    width: min(1160px, calc(100% - 40px));
    margin: auto
}

.site-header {
    height: 78px;
    background: rgba(255, 255, 255, .97);
    position: sticky;
    top: 0;
    z-index: 30;
    border-bottom: 1px solid rgba(7, 26, 61, .08);
    backdrop-filter: blur(14px)
}

.nav-wrap {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.brand img {
    width: 146px;
    display: block
}

.main-menu {
    display: flex;
    align-items: center;
    gap: 31px;
    font-size: 14px;
    font-weight: 600
}

.main-menu>a:not(.nav-cta):hover {
    color: var(--blue)
}

.nav-cta {
    background: var(--navy);
    color: #fff;
    padding: 12px 18px;
    border-radius: 8px
}

.nav-cta span {
    color: var(--lime);
    margin-left: 5px
}

.nav-toggle {
    display: none;
    background: none;
    padding: 8px;
    border: 0
}

.nav-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--navy);
    margin: 5px
}

.hero {
    position: relative;
    min-height: 690px;
    background: var(--navy);
    overflow: hidden;
    color: #fff
}

.hero-art {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(90deg, rgba(7, 26, 61, .99), rgba(7, 26, 61, .91) 34%, rgba(7, 26, 61, .16) 67%), url('../img/cup-learning-home-hero.png');
    background-size: cover;
    background-position: center
}

.hero-inner {
    position: relative;
    z-index: 1;
    min-height: 690px;
    display: flex;
    align-items: center
}

.hero-copy {
    max-width: 655px;
    padding: 64px 0
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
    color: var(--blue);
    margin-bottom: 20px
}

.eyebrow span {
    width: 26px;
    height: 2px;
    background: currentColor
}

.light-eyebrow {
    color: var(--cyan)
}

.hero h1 {
    font-size: clamp(45px, 5.3vw, 76px);
    line-height: 1.06;
    letter-spacing: -.045em;
    margin-bottom: 26px;
    font-weight: 700
}

.hero h1 em,
.scale h2 em,
.contact-card h2 em {
    font-style: normal;
    color: var(--cyan)
}

.hero-lead {
    font-size: 19px;
    color: #d7e3f7;
    max-width: 620px;
    margin-bottom: 33px
}

.hero-actions {
    display: flex;
    align-items: center;
    gap: 26px
}

.btn-primary-home {
    background: var(--lime);
    color: var(--navy);
    padding: 15px 21px;
    border-radius: 8px;
    font-weight: 700
}

.btn-primary-home:hover {
    background: #fff
}

.btn-primary-home span,
.btn-text span {
    margin-left: 8px
}

.btn-text {
    font-weight: 600
}

.btn-text span {
    color: var(--cyan)
}

.hero-proof {
    display: flex;
    margin-top: 58px;
    border-top: 1px solid rgba(255, 255, 255, .2);
    padding-top: 23px;
    max-width: 600px
}

.hero-proof div {
    display: flex;
    flex-direction: column;
    padding-right: 32px;
    margin-right: 32px;
    border-right: 1px solid rgba(255, 255, 255, .2)
}

.hero-proof div:last-child {
    border: 0
}

.hero-proof strong {
    font-family: "Manrope";
    font-size: 20px
}

.hero-proof span {
    font-size: 12px;
    color: #afbfda
}

.trust-strip {
    border-bottom: 1px solid var(--line)
}

.trust-inner {
    display: flex;
    align-items: center;
    min-height: 92px;
    gap: 45px
}

.trust-inner p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    white-space: nowrap
}

.trust-list {
    width: 100%;
    display: flex;
    justify-content: space-between;
    color: #47546d;
    font-weight: 600
}

.trust-list span {
    display: flex;
    align-items: center;
    gap: 9px
}

.trust-list i {
    color: var(--blue)
}

.section {
    padding: 105px 0
}

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

.about h2,
.section-heading h2,
.scale h2,
.contact-card h2 {
    font-size: clamp(36px, 4vw, 55px);
    line-height: 1.13;
    letter-spacing: -.04em;
    margin-bottom: 0
}

.about-copy {
    padding-top: 42px;
    color: var(--muted)
}

.lead-copy {
    font-size: 21px;
    line-height: 1.55;
    color: var(--ink);
    font-weight: 500
}

.text-link {
    display: inline-block;
    color: var(--blue);
    font-weight: 700;
    margin-top: 12px
}

.principles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 75px;
    border-top: 1px solid var(--line)
}

.principles article {
    padding: 30px 38px 10px 0;
    margin-right: 38px;
    border-right: 1px solid var(--line)
}

.principles article:last-child {
    border: 0
}

.principles span {
    font-size: 12px;
    color: var(--blue);
    font-weight: 800
}

.principles h3 {
    font-size: 20px;
    margin: 10px 0
}

.principles p,
.feature p:last-child {
    color: var(--muted);
    margin: 0;
    font-size: 15px
}

.platform {
    background: var(--pale)
}

.section-heading {
    margin-bottom: 55px
}

.centered {
    text-align: center;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto
}

.centered .eyebrow {
    justify-content: center
}

.section-heading>p:last-child {
    color: var(--muted);
    font-size: 18px;
    margin: 18px auto 0;
    max-width: 650px
}

.section-heading h2 em {
    font-style: normal;
    color: var(--blue)
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px
}

.feature {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 15px;
    padding: 37px;
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 23px;
    min-height: 260px
}

.feature-icon {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    background: #e9f0ff;
    color: var(--blue);
    display: grid;
    place-items: center;
    font-size: 22px
}

.feature-kicker {
    text-transform: uppercase;
    color: var(--blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    margin-bottom: 10px
}

.feature h3 {
    font-size: 23px;
    line-height: 1.3;
    margin-bottom: 13px
}

.feature-dark {
    background: var(--navy);
    color: #fff;
    border-color: var(--navy)
}

.feature-dark p:last-child {
    color: #b9c7dd
}

.feature-dark .feature-icon {
    background: rgba(55, 213, 235, .13);
    color: var(--cyan)
}

.feature-accent {
    border-color: #b8ccff;
    background: linear-gradient(135deg, #fff, #eef4ff)
}

.split-heading {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 90px;
    align-items: end
}

.split-heading>p {
    color: var(--muted);
    font-size: 18px;
    margin-bottom: 3px
}

.industry-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px
}

.industry-card {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    padding: 30px 25px;
    min-height: 375px;
    color: #fff;
    background: var(--navy);
    display: flex;
    flex-direction: column
}

.industry-card:before {
    content: "";
    position: absolute;
    right: -40px;
    bottom: -80px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .07)
}

.industry-card>i {
    font-size: 28px;
    color: var(--cyan);
    margin: 40px 0 30px
}

.industry-card h3 {
    font-size: 24px;
    margin-bottom: 12px
}

.industry-card p {
    color: #c4d1e4;
    font-size: 14px
}

.industry-card>span:last-child {
    margin-top: auto;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .09em;
    color: var(--lime)
}

.industry-number {
    position: absolute;
    right: 18px;
    top: 15px;
    font-size: 40px;
    font-weight: 800;
    color: rgba(255, 255, 255, .1)
}

.university {
    background: #12366c
}

.college {
    background: #1e55aa
}

.pharma {
    background: #0c7185
}

.pharma>i {
    color: var(--lime)
}

.scale {
    background: var(--navy);
    color: #fff;
    overflow: hidden
}

.scale-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center
}

.scale-copy>p:not(.eyebrow) {
    color: #c2cee1;
    font-size: 18px;
    margin: 24px 0 28px
}

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

.check-list li {
    display: flex;
    gap: 14px;
    margin: 17px 0;
    color: #c8d3e5
}

.check-list i {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: rgba(200, 255, 103, .13);
    color: var(--lime);
    display: grid;
    place-items: center;
    font-size: 11px;
    flex: none
}

.check-list strong {
    color: #fff
}

.scale-visual {
    height: 480px;
    position: relative
}

.core {
    position: absolute;
    z-index: 3;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: linear-gradient(145deg, #2371ff, #123b80);
    box-shadow: 0 0 65px rgba(55, 213, 235, .3);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column
}

.core img {
    max-width: 105px;
    max-height: 50px
}

.core small {
    margin-top: 9px;
    color: #bcd2f1
}

.orbit {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(55, 213, 235, .25);
    border-radius: 50%
}

.orbit-one {
    width: 330px;
    height: 330px
}

.orbit-two {
    width: 460px;
    height: 460px
}

.node {
    position: absolute;
    z-index: 4;
    width: 104px;
    height: 104px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .18);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    font-size: 12px
}

.node i {
    font-size: 20px;
    color: var(--cyan)
}

.node-a {
    top: 22px;
    left: 65px
}

.node-b {
    top: 35px;
    right: 25px
}

.node-c {
    bottom: 20px;
    left: 50px
}

.node-d {
    bottom: 32px;
    right: 10px
}

.node-d i {
    color: var(--lime)
}

.steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr)
}

.steps article {
    padding: 28px 30px;
    border-left: 1px solid var(--line)
}

.steps article:last-child {
    border-right: 1px solid var(--line)
}

.steps article>span {
    font-size: 12px;
    font-weight: 700;
    color: #99a5b8
}

.step-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--pale);
    color: var(--blue);
    display: grid;
    place-items: center;
    font-size: 20px;
    margin: 30px 0
}

.steps h3 {
    font-size: 21px
}

.steps p {
    color: var(--muted);
    font-size: 14px;
    margin: 0
}

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

.contact-card {
    background: linear-gradient(125deg, #123f93, #071a3d);
    border-radius: 20px;
    color: #fff;
    padding: 60px 70px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    box-shadow: 0 30px 70px rgba(13, 46, 105, .17)
}

.contact-details>p {
    color: #c9d8ed
}

.contact-link {
    display: flex;
    gap: 15px;
    margin-top: 19px;
    color: #fff
}

.contact-link i {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: rgba(55, 213, 235, .13);
    color: var(--cyan);
    display: grid;
    place-items: center;
    flex: none
}

.contact-link span {
    line-height: 1.45
}

.contact-link small {
    display: block;
    color: #8fafd8;
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: .13em;
    margin-bottom: 4px
}

.site-footer {
    background: #f5f8fd
}

.footer-main {
    display: grid;
    grid-template-columns: 1.4fr .7fr 1fr;
    gap: 80px;
    padding: 65px 0 45px
}

.footer-brand img {
    width: 160px
}

.footer-brand p {
    color: var(--muted);
    max-width: 330px;
    margin: 20px 0 0
}

.site-footer h3 {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .13em;
    margin-bottom: 16px
}

.footer-links {
    display: flex;
    flex-direction: column;
    gap: 9px
}

.footer-links a,
.footer-address p,
.footer-address a {
    color: var(--muted);
    font-size: 14px
}

.disclaimer {
    border-top: 1px solid var(--line);
    padding: 25px 0 28px
}

.disclaimer h3 {
    margin-bottom: 8px
}

.disclaimer p {
    font-size: 12px;
    color: #7a8598;
    margin: 0
}

.footer-bottom {
    background: var(--navy);
    color: #9dacc5;
    font-size: 12px;
    padding: 17px 0
}

.footer-bottom .container {
    display: flex;
    justify-content: space-between
}

@media(max-width:991px) {
    .main-menu {
        gap: 17px
    }

    .hero-art {
        background-position: 62%
    }

    .industry-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .steps {
        grid-template-columns: repeat(2, 1fr)
    }

    .footer-main {
        gap: 40px
    }
}

@media(max-width:767px) {
    html {
        scroll-padding-top: 70px
    }

    .container {
        width: calc(100% - 28px)
    }

    .site-header {
        height: 70px
    }

    .brand img {
        width: 130px
    }

    .nav-toggle {
        display: block
    }

    .main-menu {
        display: none;
        position: absolute;
        top: 70px;
        left: 0;
        right: 0;
        background: #fff;
        padding: 20px;
        box-shadow: 0 18px 30px rgba(7, 26, 61, .15);
        flex-direction: column;
        align-items: stretch
    }

    .main-menu.is-open {
        display: flex
    }

    .main-menu a {
        padding: 7px
    }

    .nav-cta {
        text-align: center
    }

    .hero,
    .hero-inner {
        min-height: 760px
    }

    .hero-art {
        background-image: linear-gradient(180deg, rgba(7, 26, 61, .99), rgba(7, 26, 61, .91) 55%, rgba(7, 26, 61, .3)), url('../img/cup-learning-home-hero.png');
        background-position: 68%
    }

    .hero-inner {
        align-items: flex-start
    }

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

    .hero h1 {
        font-size: 44px
    }

    .hero-lead {
        font-size: 17px
    }

    .hero-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px
    }

    .hero-proof {
        margin-top: 42px
    }

    .hero-proof div {
        padding-right: 13px;
        margin-right: 13px
    }

    .hero-proof strong {
        font-size: 16px
    }

    .hero-proof span {
        font-size: 10px
    }

    .trust-inner {
        display: block;
        padding: 22px 0
    }

    .trust-list {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 15px 25px;
        margin-top: 12px
    }

    .section {
        padding: 76px 0
    }

    .about-grid,
    .scale-grid,
    .split-heading,
    .contact-card {
        grid-template-columns: 1fr;
        gap: 35px
    }

    .about-copy {
        padding-top: 0
    }

    .principles,
    .feature-grid,
    .industry-grid,
    .steps {
        grid-template-columns: 1fr
    }

    .principles {
        margin-top: 50px
    }

    .principles article {
        border-right: 0;
        border-bottom: 1px solid var(--line);
        margin-right: 0;
        padding-right: 0
    }

    .feature {
        grid-template-columns: 48px 1fr;
        padding: 25px;
        min-height: 0
    }

    .feature-icon {
        width: 46px;
        height: 46px
    }

    .industry-card {
        min-height: 330px
    }

    .scale-visual {
        height: 410px;
        transform: scale(.86);
        margin: -25px
    }

    .orbit-two {
        width: 400px;
        height: 400px
    }

    .orbit-one {
        width: 285px;
        height: 285px
    }

    .node {
        width: 90px;
        height: 90px
    }

    .node-a,
    .node-c {
        left: 5px
    }

    .node-b,
    .node-d {
        right: -5px
    }

    .steps article,
    .steps article:last-child {
        border: 0;
        border-top: 1px solid var(--line);
        padding-left: 0
    }

    .contact-section {
        padding-bottom: 70px
    }

    .contact-card {
        padding: 40px 27px
    }

    .footer-main {
        grid-template-columns: 1fr;
        gap: 30px;
        padding-top: 50px
    }

    .footer-bottom .container {
        flex-direction: column;
        gap: 5px
    }
}

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

/* Interactive and inquiry enhancements */
.hero-floaters{position:absolute;inset:0;z-index:2;pointer-events:none}.floater{position:absolute;width:48px;height:48px;border:1px solid rgba(255,255,255,.25);border-radius:14px;background:rgba(15,61,126,.55);color:var(--cyan);display:grid;place-items:center;box-shadow:0 16px 35px rgba(0,0,0,.16);backdrop-filter:blur(10px);animation:floatIcon 5s ease-in-out infinite}.f1{right:42%;top:17%}.f2{right:7%;top:18%;animation-delay:-1s;color:var(--lime)}.f3{right:37%;bottom:18%;animation-delay:-2s;color:#ffb75d}.f4{right:5%;bottom:19%;animation-delay:-3s;color:#ff85c2}@keyframes floatIcon{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(4deg)}}
.hero-proof div{position:relative}.hero-proof div>i{color:var(--cyan);font-size:16px;margin-bottom:6px}.main-menu a,.btn-primary-home,.btn-text,.feature,.industry-card,.steps article,.submit-btn{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,border-color .25s ease,color .25s ease}.btn-primary-home:hover,.submit-btn:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(20,34,65,.22)}
.mini-icon{width:45px;height:45px;border-radius:12px;display:grid;place-items:center;margin:16px 0 5px;font-size:18px}.mini-icon.violet{background:#efe9ff;color:#774ee8}.mini-icon.cyan{background:#e2fbff;color:#0c9db2}.mini-icon.orange{background:#fff0df;color:#e8791c}.feature:hover{transform:translateY(-7px);box-shadow:0 22px 50px rgba(25,58,117,.11)}.feature-icon.pink{background:#ffe6f2;color:#d63582}.feature-icon.amber{background:#fff1d7;color:#dd7d00}.feature-icon.green{background:#e2fae8;color:#15984a}.feature-dark:hover{box-shadow:0 22px 50px rgba(7,26,61,.25)}
.industry-card{cursor:pointer;outline:none}.industry-card:hover,.industry-card:focus,.industry-card.active{transform:translateY(-10px);box-shadow:0 26px 45px rgba(7,26,61,.23)}.industry-card.active{outline:3px solid var(--lime);outline-offset:3px}.industry-card>i{transition:transform .3s ease}.industry-card:hover>i,.industry-card.active>i{transform:scale(1.18) rotate(-5deg)}.steps article:hover .step-icon{transform:scale(1.1) rotate(-7deg);background:var(--blue);color:#fff}.step-icon{transition:transform .25s ease,background .25s ease,color .25s ease}.orbit-one{animation:orbitPulse 4s ease-in-out infinite}.orbit-two{animation:orbitPulse 4s ease-in-out infinite reverse}@keyframes orbitPulse{0%,100%{opacity:.55}50%{opacity:1;box-shadow:0 0 35px rgba(55,213,235,.12)}}.node{animation:nodeDrift 4s ease-in-out infinite}.node-b,.node-c{animation-delay:-2s}@keyframes nodeDrift{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.reveal,.reveal-group>*{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible,.reveal-group.visible>*{opacity:1;transform:none}.reveal-group.visible>*:nth-child(2){transition-delay:.1s}.reveal-group.visible>*:nth-child(3){transition-delay:.2s}.reveal-group.visible>*:nth-child(4){transition-delay:.3s}
.contact-card{grid-template-columns:.85fr 1.15fr;align-items:start;position:relative;overflow:hidden}.contact-card:before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(55,213,235,.09);left:-130px;bottom:-180px}.contact-intro{position:relative;z-index:1}.contact-intro>p:not(.eyebrow){color:#c9d8ed;margin:24px 0 30px}.inquiry-panel{position:relative;z-index:2;background:#fff;color:var(--ink);padding:32px;border-radius:16px;box-shadow:0 24px 60px rgba(1,13,38,.28)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label{display:block;font-size:13px;font-weight:700;color:#34425c}.form-grid label>span:first-child{display:block;margin-bottom:7px}.form-grid label>span i{color:var(--blue);margin-right:6px}.form-grid .full{grid-column:1/-1}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{display:block;width:100%;border:1px solid #d7e0ed;border-radius:9px;background:#f9fbff;color:var(--ink);font:inherit;font-size:14px;padding:12px 13px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.inquiry-form input,.inquiry-form select{height:48px}.inquiry-form textarea{resize:vertical;min-height:110px}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(36,107,253,.1)}.inquiry-form .invalid{border-color:#dc3545;background:#fff8f8}.form-grid label>small,.field-error{display:block;color:#c72e3d;font-size:11px;margin-top:5px}.field-meta{display:flex!important;justify-content:space-between;margin-top:5px!important;color:#8a96a9;font-weight:500}.captcha-field{padding:14px;border:1px dashed #aebfd8;border-radius:10px;background:#f4f8ff}.captcha-row{display:flex;align-items:center;gap:12px}.captcha-row strong{font-size:20px;color:var(--navy);white-space:nowrap}.captcha-row input{max-width:105px;background:#fff}.captcha-row>span{margin-left:auto!important;margin-bottom:0!important;color:#76839a;font-size:11px;font-weight:600}.captcha-row>span i{color:#19a65b!important}.submit-btn{border:0;border-radius:9px;background:linear-gradient(100deg,var(--blue),#704de8);color:#fff;font-weight:700;padding:14px 20px;width:100%;margin-top:20px;display:flex;align-items:center;justify-content:center;gap:10px}.submit-btn:disabled{opacity:.7;cursor:wait}.submit-btn.sending i{animation:sendPulse .8s infinite alternate}@keyframes sendPulse{to{transform:translateX(5px)}}.privacy-note{text-align:center!important;color:#8793a5!important;font-size:11px!important;margin:10px 0 0!important}.privacy-note i{margin-right:4px}.hp-field{position:absolute;left:-10000px}.form-alert{display:flex;gap:10px;align-items:flex-start;border-radius:9px;padding:12px 14px;margin-bottom:18px;font-size:13px;font-weight:600}.success-alert{background:#eaf9ef;color:#14743a}.error-alert{background:#fff0f1;color:#a92d3a}
@media(max-width:991px){.floater{display:none}.contact-card{grid-template-columns:1fr;gap:38px}.contact-intro{max-width:680px}}@media(max-width:767px){.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.inquiry-panel{padding:22px 18px}.captcha-row{flex-wrap:wrap}.captcha-row>span{margin-left:0!important;width:100%}.reveal,.reveal-group>*{transform:translateY(14px)}}@media(prefers-reduced-motion:reduce){.floater,.orbit,.node{animation:none}.reveal,.reveal-group>*{opacity:1;transform:none;transition:none}}

/* Premium motion layer */
.scroll-progress{position:fixed;inset:0 0 auto;height:3px;z-index:100;pointer-events:none}.scroll-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--cyan),var(--blue),#8d4dff,#ff4f9a);box-shadow:0 0 12px rgba(55,213,235,.75);will-change:transform}.cursor-glow{position:fixed;z-index:4;left:-210px;top:-210px;width:420px;height:420px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(51,146,255,.10),rgba(55,213,235,.035) 40%,transparent 70%);transition:transform .1s linear;mix-blend-mode:multiply}
.hero:before{content:"";position:absolute;z-index:1;width:520px;height:520px;left:-180px;top:-230px;border-radius:50%;background:radial-gradient(circle,rgba(73,94,255,.27),transparent 68%);animation:heroAura 8s ease-in-out infinite alternate}.hero-copy h1 em{background:linear-gradient(90deg,var(--cyan),#8defff,var(--lime),var(--cyan));background-size:250% auto;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:textShimmer 5s linear infinite}@keyframes textShimmer{to{background-position:250% center}}@keyframes heroAura{to{transform:translate(110px,70px) scale(1.2)}}
.platform,.about,.industries,.how{position:relative;overflow:hidden}.platform:before,.how:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;filter:blur(1px);pointer-events:none}.platform:before{right:-230px;top:10%;background:radial-gradient(circle,rgba(137,77,255,.12),transparent 67%)}.how:before{left:-230px;bottom:-100px;background:radial-gradient(circle,rgba(55,213,235,.14),transparent 67%)}
.brand img{transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s}.brand:hover img{transform:scale(1.055);filter:drop-shadow(0 8px 12px rgba(21,78,153,.2))}.main-menu>a:not(.nav-cta){position:relative}.main-menu>a:not(.nav-cta):after{content:"";position:absolute;left:7px;right:7px;bottom:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--blue));transform:scaleX(0);transition:transform .25s;transform-origin:right}.main-menu>a:not(.nav-cta):hover:after{transform:scaleX(1);transform-origin:left}.nav-cta{overflow:hidden;position:relative}.nav-cta:before{content:"";position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(100deg,transparent,rgba(255,255,255,.25),transparent);transition:transform .55s}.nav-cta:hover:before{transform:translateX(110%)}
.feature,.industry-card,.steps article{transform-style:preserve-3d;will-change:transform}.feature.tilting,.industry-card.tilting,.steps article.tilting{transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-8px);transition:transform .08s linear,box-shadow .25s}.feature-icon,.mini-icon,.step-icon,.industry-card>i{transform:translateZ(25px)}.feature:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.48),transparent 70%);transform:translateX(-120%);transition:transform .7s;pointer-events:none}.feature{position:relative;overflow:hidden}.feature:hover:after{transform:translateX(120%)}.feature-dark:after{background:linear-gradient(120deg,transparent 30%,rgba(55,213,235,.10),transparent 70%)}
.industry-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--spot-x,50%) var(--spot-y,50%),rgba(255,255,255,.16),transparent 38%);opacity:0;transition:opacity .25s;pointer-events:none}.industry-card:hover:after{opacity:1}.industry-card h3,.industry-card p,.industry-card>span{position:relative;z-index:2}.contact-card{background-size:180% 180%;animation:contactGradient 10s ease infinite}@keyframes contactGradient{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}.contact-link i{transition:transform .3s,background .3s}.contact-link:hover i{transform:rotate(-8deg) scale(1.12);background:rgba(200,255,103,.18);color:var(--lime)}.submit-btn{background-size:200% auto;animation:buttonGradient 4s linear infinite}@keyframes buttonGradient{to{background-position:200% center}}.submit-btn:hover i{transform:translate(5px,-3px) rotate(-8deg)}.submit-btn i{transition:transform .25s}
@media(max-width:991px),(pointer:coarse){.cursor-glow{display:none}.feature.tilting,.industry-card.tilting,.steps article.tilting{transform:none}}@media(prefers-reduced-motion:reduce){.hero:before,.hero-copy h1 em,.contact-card,.submit-btn{animation:none}.cursor-glow{display:none}.feature,.industry-card,.steps article{will-change:auto}}

/* Calm professional light theme */
:root{--navy:#24312f;--navy-2:#344743;--blue:#24766f;--cyan:#3a9b8f;--ink:#26312f;--muted:#697471;--pale:#f4f6f1;--line:#dde3dc;--lime:#d8a94b;--white:#fff}
body{background:#fbfcf9;color:var(--ink)}.site-header{background:rgba(255,255,252,.94);border-bottom-color:rgba(36,49,47,.09)}.nav-cta{background:#2f4a45}.nav-cta span,.nav-cta i{color:#f4cf84}.main-menu>a:not(.nav-cta):after{background:linear-gradient(90deg,#d6a54a,#378d83)}
.hero{background:#eef1ea;color:var(--ink)}.hero-art{filter:saturate(.52) sepia(.16) brightness(1.08);background-image:linear-gradient(90deg,rgba(248,248,242,.99) 0%,rgba(248,248,242,.95) 35%,rgba(248,248,242,.58) 59%,rgba(239,241,234,.12) 100%),url('../img/cup-learning-home-hero.png')}.hero:before{background:radial-gradient(circle,rgba(216,169,75,.16),transparent 68%)}.hero-lead{color:#53615e}.hero .light-eyebrow{color:#24766f}.hero-copy h1 em{background:linear-gradient(90deg,#24766f,#508d74,#b08031,#24766f);background-size:250% auto;-webkit-background-clip:text;background-clip:text}.btn-primary-home{background:#2e6f68;color:#fff}.btn-primary-home:hover{background:#24312f;color:#fff}.btn-text{color:#394945}.btn-text span,.btn-text i{color:#a57524}.hero-proof{border-top-color:rgba(38,49,47,.18)}.hero-proof div{border-right-color:rgba(38,49,47,.16)}.hero-proof span{color:#697773}.hero-proof div>i{color:#2c8177}.floater{background:rgba(255,255,250,.83);border-color:rgba(45,92,84,.18);box-shadow:0 14px 34px rgba(44,65,60,.13);color:#287d74}.f2{color:#a76f19}.f3{color:#b46b3c}.f4{color:#8b6a89}
.trust-strip{background:#fffdf9}.trust-list i{color:#317f76}.about{background:#fbfcf9}.platform{background:#f0f3ed}.platform:before{background:radial-gradient(circle,rgba(216,169,75,.1),transparent 67%)}.feature{border-color:#dde3dc;box-shadow:0 10px 26px rgba(50,69,64,.04)}.feature-dark{background:#344944;border-color:#344944}.feature-dark .feature-icon{background:rgba(255,255,255,.1);color:#c8e3dc}.feature-dark p:last-child{color:#d2dedb}.feature-accent{background:linear-gradient(135deg,#fff,#f3f6ec);border-color:#d8dfcf}.feature-kicker,.text-link,.eyebrow{color:#24766f}.feature-icon{background:#e4f1ed;color:#277b72}.feature-icon.pink{background:#f4e8e4;color:#a55745}.feature-icon.amber{background:#f7edd8;color:#a87320}.feature-icon.green{background:#e8f1e5;color:#4d8152}
.industries{background:#fffdf9}.industry-card{color:#293431;border:1px solid rgba(60,75,69,.1)}.industry-card p{color:#5e6a66}.industry-card>span:last-child{color:#386f67}.industry-card>i{color:#397f75}.industry-number{color:rgba(38,49,47,.09)}.corporate{background:#e8efea}.university{background:#f0ece5}.college{background:#ebe9f0}.pharma{background:#e5efed}.pharma>i{color:#a36f23}.industry-card:before{background:rgba(255,255,255,.45)}.industry-card:hover,.industry-card:focus,.industry-card.active{box-shadow:0 24px 42px rgba(47,65,60,.13)}.industry-card.active{outline-color:#c59843}
.scale{background:#e9eeea;color:#27332f}.scale .light-eyebrow{color:#24766f}.scale h2 em{color:#a57423}.scale-copy>p:not(.eyebrow),.check-list li{color:#5f6c68}.check-list strong{color:#293632}.check-list i{background:#dceae4;color:#34796f}.orbit{border-color:rgba(36,118,111,.2)}.core{background:linear-gradient(145deg,#52796f,#2f514a);box-shadow:0 0 65px rgba(61,113,102,.18)}.node{background:rgba(255,255,255,.76);border-color:rgba(65,91,84,.14);color:#354641;box-shadow:0 12px 30px rgba(49,73,66,.08)}.node i{color:#377d72}.node-d i{color:#a87521}
.how{background:#fbfcf9}.how:before{background:radial-gradient(circle,rgba(62,139,127,.09),transparent 67%)}.step-icon{background:#e9f1ed;color:#32776e}.steps article:hover .step-icon{background:#3b756d}.contact-section{background:#fbfcf9}.contact-card{background:linear-gradient(125deg,#f1f3ec,#e6ece7,#f4ede2);color:#293532;border:1px solid #dce3da;box-shadow:0 28px 65px rgba(42,62,56,.1)}.contact-card:before{background:rgba(216,169,75,.12)}.contact-card .light-eyebrow{color:#24766f}.contact-card h2 em{color:#9b7029}.contact-intro>p:not(.eyebrow){color:#5c6965}.contact-link{color:#30413d}.contact-link small{color:#7a8984}.contact-link i{background:#deebe6;color:#2e776d}.contact-link:hover i{background:#f2e7ce;color:#95691f}.inquiry-panel{box-shadow:0 20px 50px rgba(42,62,56,.1);border:1px solid #e2e7df}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{background:#fbfcfa;border-color:#d9e0d8}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:#4e8a82;box-shadow:0 0 0 4px rgba(78,138,130,.1)}.captcha-field{background:#f4f7f2;border-color:#b9c9c2}.submit-btn{background:linear-gradient(100deg,#386f68,#558d83,#a9792c,#386f68)}
.site-footer{background:#f0f2ed}.footer-bottom{background:#2c3936;color:#c8d0cd}.scroll-progress span{background:linear-gradient(90deg,#4d8c82,#c49947,#8c796b,#4d8c82);box-shadow:0 0 10px rgba(73,132,122,.4)}.cursor-glow{background:radial-gradient(circle,rgba(70,130,117,.08),rgba(216,169,75,.025) 42%,transparent 70%);mix-blend-mode:multiply}
@media(max-width:767px){.hero-art{background-image:linear-gradient(180deg,rgba(248,248,242,.98) 0%,rgba(248,248,242,.92) 54%,rgba(239,241,234,.35) 100%),url('../img/cup-learning-home-hero.png')}}

/* Cup Learning signature dark theme */
:root{--navy:#07162e;--navy-2:#0c2343;--blue:#15a8cf;--cyan:#34d2db;--ink:#eaf2f7;--muted:#9fadb9;--pale:#101f32;--line:#24384c;--lime:#74d8c7;--white:#fff}
body{background:#091524;color:#e8f0f5}.site-header{background:rgba(7,18,35,.94);border-bottom-color:rgba(115,193,213,.12);box-shadow:0 8px 30px rgba(0,0,0,.15)}.site-header .brand img,.footer-brand img{filter:drop-shadow(0 5px 12px rgba(21,168,207,.14))}.main-menu{color:#d8e4ea}.main-menu>a:not(.nav-cta):hover{color:#55d8df}.main-menu>a:not(.nav-cta):after{background:linear-gradient(90deg,#1cb6d3,#49d6cf)}.nav-toggle span{background:#dce9ee}.nav-cta{background:linear-gradient(110deg,#0d7798,#135d77);box-shadow:0 10px 28px rgba(0,111,146,.22)}.nav-cta i{color:#8df2e7}
.hero{background:#07162e;color:#fff}.hero-art{filter:saturate(.76) brightness(.76);background-image:linear-gradient(90deg,rgba(7,22,46,.99) 0%,rgba(7,22,46,.94) 34%,rgba(7,22,46,.35) 66%,rgba(7,22,46,.2) 100%),url('../img/cup-learning-home-hero.png')}.hero:before{background:radial-gradient(circle,rgba(29,177,205,.18),transparent 68%)}.hero .light-eyebrow,.eyebrow{color:#48cdd5}.hero-lead{color:#c0cfda}.hero-copy h1 em{background:linear-gradient(90deg,#3fd3de,#82e8df,#49bcdc,#3fd3de);background-size:250% auto;-webkit-background-clip:text;background-clip:text}.btn-primary-home{background:linear-gradient(105deg,#21bfd0,#36c3b6);color:#061629;box-shadow:0 14px 34px rgba(27,185,201,.2)}.btn-primary-home:hover{background:#effcff;color:#07162e}.btn-text{color:#e7f1f5}.btn-text i{color:#4ed8da}.hero-proof{border-top-color:rgba(171,214,225,.18)}.hero-proof div{border-right-color:rgba(171,214,225,.16)}.hero-proof span{color:#9fb4c3}.hero-proof div>i{color:#42d0d6}.floater{background:rgba(10,34,61,.76);border-color:rgba(88,210,221,.24);box-shadow:0 15px 35px rgba(0,0,0,.28);color:#50dce1}.f2{color:#74d8c7}.f3{color:#76bddc}.f4{color:#73d7d1}
.trust-strip{background:#0c1b2d;border-bottom-color:#20354a}.trust-inner p{color:#8497a7}.trust-list{color:#c1d0d9}.trust-list i{color:#42c7d0}.about,.industries,.how{background:#0a1727}.about-copy,.principles p,.section-heading>p:last-child,.split-heading>p,.steps p{color:#9eafbb}.lead-copy{color:#dce8ee}.principles{border-top-color:#25394d}.principles article,.steps article{border-color:#25394d}.mini-icon.violet{background:#182d48;color:#6ccfe0}.mini-icon.cyan{background:#12383d;color:#59dbd2}.mini-icon.orange{background:#253347;color:#7fc8df}
.platform{background:#0d1d30}.platform:before,.how:before{background:radial-gradient(circle,rgba(40,184,198,.09),transparent 67%)}.feature{background:#12243a;border-color:#243b51;box-shadow:0 12px 30px rgba(0,0,0,.12)}.feature h3{color:#edf5f8}.feature p:last-child{color:#9fb0bc}.feature-dark{background:linear-gradient(145deg,#102b49,#0b213c);border-color:#245270}.feature-dark .feature-icon{background:rgba(64,204,215,.12);color:#58d8dd}.feature-accent{background:linear-gradient(140deg,#11283c,#123238);border-color:#275058}.feature-kicker,.text-link{color:#4bd1d8}.feature-icon,.feature-icon.pink,.feature-icon.amber,.feature-icon.green{background:#193349;color:#56cdd5}
.industry-card{color:#edf5f7;border-color:#284157}.industry-card p{color:#a8bac5}.industry-card>span:last-child{color:#71dcd5}.industry-card>i{color:#54d3da}.industry-number{color:rgba(223,246,250,.08)}.corporate{background:linear-gradient(145deg,#142a43,#102238)}.university{background:linear-gradient(145deg,#173247,#10283a)}.college{background:linear-gradient(145deg,#1b2d49,#14233b)}.pharma{background:linear-gradient(145deg,#123a42,#102b35)}.pharma>i{color:#72dfd1}.industry-card:before{background:rgba(76,205,215,.06)}.industry-card:hover,.industry-card:focus,.industry-card.active{box-shadow:0 28px 50px rgba(0,0,0,.32)}.industry-card.active{outline-color:#50d5d6}
.scale{background:#07182b;color:#edf5f7;border-top:1px solid #1b3148;border-bottom:1px solid #1b3148}.scale .light-eyebrow{color:#4bd0d7}.scale h2 em{color:#62d8d6}.scale-copy>p:not(.eyebrow),.check-list li{color:#a5b7c3}.check-list strong{color:#e7f1f4}.check-list i{background:rgba(70,206,195,.12);color:#66d9ce}.orbit{border-color:rgba(67,201,210,.22)}.core{background:linear-gradient(145deg,#0d7694,#0b4568);box-shadow:0 0 70px rgba(29,176,198,.2)}.node{background:rgba(13,37,59,.88);border-color:rgba(78,192,206,.2);color:#d9e9ed;box-shadow:0 14px 35px rgba(0,0,0,.2)}.node i,.node-d i{color:#56d2d3}
.step-icon{background:#152e43;color:#4ecbd2}.steps article:hover .step-icon{background:#167f91}.contact-section{background:#0a1727}.contact-card{background:linear-gradient(125deg,#0d2944,#0b2038,#103b43);color:#edf6f8;border-color:#24485b;box-shadow:0 30px 70px rgba(0,0,0,.25)}.contact-card:before{background:rgba(52,210,219,.09)}.contact-card .light-eyebrow{color:#59d9db}.contact-card h2 em{color:#66d9d4}.contact-intro>p:not(.eyebrow){color:#acbdc7}.contact-link{color:#e2eef1}.contact-link small{color:#88a2b1}.contact-link i{background:rgba(61,202,211,.12);color:#56d6da}.contact-link:hover i{background:rgba(90,222,210,.17);color:#75e4da}.inquiry-panel{background:#f7faf9;color:#243136;border-color:#dce7e6;box-shadow:0 24px 60px rgba(0,0,0,.28)}.form-grid label{color:#33444a}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{background:#fff;border-color:#d6e1e1;color:#26363b}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:#2997a6;box-shadow:0 0 0 4px rgba(41,151,166,.1)}.captcha-field{background:#eff6f5;border-color:#abc9ca}.submit-btn{background:linear-gradient(100deg,#117d96,#169ca8,#27b6ad,#117d96)}
.site-footer{background:#0c1b2b}.site-footer h3{color:#dce8ed}.footer-brand p,.footer-links a,.footer-address p,.footer-address a,.disclaimer p{color:#91a4b1}.disclaimer{border-top-color:#22374a}.footer-bottom{background:#06111f;color:#8297a6}.scroll-progress span{background:linear-gradient(90deg,#20bace,#43d4cf,#4caed0,#20bace);box-shadow:0 0 11px rgba(46,202,210,.5)}.cursor-glow{background:radial-gradient(circle,rgba(36,192,205,.08),rgba(25,113,151,.03) 42%,transparent 70%);mix-blend-mode:screen}
@media(max-width:767px){.hero-art{background-image:linear-gradient(180deg,rgba(7,22,46,.99) 0%,rgba(7,22,46,.94) 56%,rgba(7,22,46,.45) 100%),url('../img/cup-learning-home-hero.png')}}
