/* ==================================================
   CAMPUS ONE — THE ANSWER
================================================== */

.answer-section{
    position:relative;
    overflow:hidden;
    padding:120px 24px 110px;

    background:
        radial-gradient(
            circle at 72% 40%,
            rgba(37,99,235,.065),
            transparent 34%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f9fbff 100%
        );
}

.answer-container{
    position:relative;
    z-index:2;

    width:100%;
    max-width:1500px;

    margin:0 auto;
}


/* ==================================================
   BACKGROUND DECORATION
================================================== */

.answer-bg{
    position:absolute;
    pointer-events:none;
}

.answer-bg-one{
    width:600px;
    height:600px;

    right:-330px;
    top:-330px;

    border-radius:50%;

    border:
        45px solid rgba(37,99,235,.025);

    box-shadow:
        0 0 0 35px rgba(37,99,235,.018),
        0 0 0 70px rgba(37,99,235,.012);
}

.answer-bg-two{
    width:500px;
    height:500px;

    left:-350px;
    bottom:-350px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(37,99,235,.05),
            transparent 70%
        );
}


/* ==================================================
   MAIN LAYOUT
================================================== */

.answer-layout{
    display:grid;

    grid-template-columns:
        minmax(460px,.88fr)
        minmax(650px,1.12fr);

    gap:70px;

    align-items:center;
}


/* ==================================================
   LEFT — TAG
================================================== */

.answer-tag{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:9px;

    padding:9px 18px;

    margin-bottom:27px;

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            #1747c9,
            #2563eb
        );

    color:#fff;

    font-size:13px;
    font-weight:800;

    letter-spacing:.8px;

    box-shadow:
        0 10px 25px rgba(37,99,235,.20);
}

.answer-tag svg{
    width:16px;
    height:16px;
}


/* ==================================================
   HEADING
================================================== */

.answer-title{
    margin:0;

    color:#081b4b;

    font-size:
        clamp(44px,4.25vw,70px);

    line-height:1.04;

    letter-spacing:-2.7px;

    font-weight:900;
}

.answer-title span{
    display:block;

    margin-top:7px;

    color:#2563eb;
}

.answer-title-line{
    width:68px;
    height:4px;

    margin:28px 0 24px;

    border-radius:100px;

    background:#2563eb;
}


/* ==================================================
   INTRO
================================================== */

.answer-intro{
    max-width:660px;

    margin:0;

    color:#334155;

    font-size:18px;

    line-height:1.72;
}

.answer-intro strong{
    color:#2563eb;
    font-weight:800;
}


/* ==================================================
   PRINCIPLES
================================================== */

.answer-principles{
    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    margin-top:40px;

    padding:27px 12px;

    background:
        rgba(255,255,255,.82);

    border:
        1px solid rgba(37,99,235,.13);

    border-radius:24px;

    box-shadow:
        0 18px 55px rgba(15,23,42,.06);
}

.answer-principle{
    position:relative;

    padding:0 15px;

    text-align:center;
}

.answer-principle:not(:last-child)::after{
    content:"";

    position:absolute;

    right:0;
    top:12%;

    width:1px;
    height:76%;

    background:
        rgba(37,99,235,.13);
}

.answer-principle-icon{
    width:56px;
    height:56px;

    margin:0 auto 16px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    color:#fff;

    background:
        linear-gradient(
            145deg,
            #0c2d8c,
            #1557e8
        );

    box-shadow:
        0 10px 22px rgba(37,99,235,.18);
}

.answer-principle-icon svg{
    width:26px;
    height:26px;

    stroke-width:1.8;
}

.answer-principle h3{
    margin:0 0 10px;

    color:#081b4b;

    font-size:14px;
    font-weight:800;

    line-height:1.35;
}

.answer-principle p{
    margin:0;

    color:#475569;

    font-size:12.5px;

    line-height:1.6;
}


/* ==================================================
   PROMISE
================================================== */

.answer-promise{
    display:flex;

    align-items:center;

    gap:28px;

    margin-top:28px;

    padding:26px 34px;

    border:
        1px solid rgba(37,99,235,.13);

    border-radius:24px;

    background:
        rgba(255,255,255,.86);

    box-shadow:
        0 18px 50px rgba(15,23,42,.055);
}

.answer-promise-icon{
    width:94px;
    height:94px;

    flex:0 0 94px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:
        linear-gradient(
            145deg,
            #f3f7ff,
            #ffffff
        );

    border:
        1px solid rgba(37,99,235,.14);

    color:#1747c9;

    box-shadow:
        0 10px 30px rgba(37,99,235,.08);
}

.answer-promise-icon svg{
    width:48px;
    height:48px;

    stroke-width:1.6;
}

.answer-promise-divider{
    width:1px;
    height:75px;

    background:
        rgba(37,99,235,.25);
}

.answer-promise-text h3{
    margin:0 0 3px;

    color:#081b4b;

    font-size:25px;
    font-weight:800;

    line-height:1.15;
}

.answer-promise-text strong{
    display:block;

    margin-top:8px;

    color:#2563eb;

    font-size:21px;

    line-height:1.3;
}

.answer-promise-text > span{
    display:block;

    width:62px;
    height:3px;

    margin-top:13px;

    border-radius:99px;

    background:#fbbf24;
}


/* ==================================================
   RIGHT VISUAL
================================================== */

.answer-visual{
    min-width:0;
}

.ecosystem-stage{
    position:relative;

    width:100%;
    max-width:780px;

    height:720px;

    margin:0 auto;
}


/* ==================================================
   ORBITS
================================================== */

.ecosystem-orbit{
    position:absolute;

    left:50%;
    top:50%;

    transform:
        translate(-50%,-50%);

    border-radius:50%;

    pointer-events:none;
}

.ecosystem-orbit-outer{
    width:650px;
    height:650px;

    border:
        4px solid rgba(37,99,235,.18);

    box-shadow:
        inset 0 0 80px rgba(37,99,235,.035),
        0 0 70px rgba(37,99,235,.05);
}

.ecosystem-orbit-outer::before{
    content:"";

    position:absolute;
    inset:-4px;

    border-radius:50%;

    border-top:
        4px solid #2563eb;

    border-left:
        4px solid #16a3e8;

    border-bottom:
        4px solid #22c55e;

    border-right:
        4px solid #8b5cf6;

    opacity:.75;
}

.ecosystem-orbit-middle{
    width:500px;
    height:500px;

    border:
        1px dashed rgba(37,99,235,.18);
}

.ecosystem-orbit-inner{
    width:380px;
    height:380px;

    border:
        2px solid rgba(37,99,235,.32);
}


/* ==================================================
   ORBIT DOTS
================================================== */

.ecosystem-dot{
    position:absolute;

    z-index:3;

    width:14px;
    height:14px;

    border-radius:50%;

    background:#2563eb;

    border:4px solid #dbeafe;

    box-sizing:content-box;

    box-shadow:
        0 5px 15px rgba(37,99,235,.30);
}

.dot-one{
    left:49%;
    top:15%;
}

.dot-two{
    right:5%;
    top:49%;
}

.dot-three{
    left:6%;
    top:49%;

    background:#16a34a;

    border-color:#dcfce7;
}

.dot-four{
    left:49%;
    bottom:4%;

    background:#7c3aed;

    border-color:#ede9fe;
}


/* ==================================================
   CENTER IMAGE
================================================== */

.ecosystem-center{
    position:absolute;

    z-index:4;

    left:50%;
    top:50%;

    width:350px;
    height:350px;

    transform:
        translate(-50%,-50%);

    padding:10px;

    border-radius:50%;

    background:#fff;

    box-shadow:
        0 25px 70px rgba(37,99,235,.16);
}

.ecosystem-image{
    width:100%;
    height:100%;

    overflow:hidden;

    border-radius:50%;

    background:#eef5ff;
}

.ecosystem-image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
}


/* ==================================================
   ECOSYSTEM CARDS
================================================== */

.ecosystem-card{
    position:absolute;

    z-index:6;

    width:285px;

    padding:45px 25px 25px;

    text-align:center;

    background:
        rgba(255,255,255,.96);

    border:
        1px solid rgba(37,99,235,.13);

    border-radius:24px;

    box-shadow:
        0 20px 55px rgba(15,23,42,.09);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.ecosystem-card:hover{
    transform:translateY(-6px);

    box-shadow:
        0 30px 70px rgba(37,99,235,.14);
}

.ecosystem-card-icon{
    position:absolute;

    left:50%;
    top:-36px;

    width:72px;
    height:72px;

    transform:
        translateX(-50%);

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#fff;

    border:2px solid #2563eb;

    color:#1747c9;

    box-shadow:
        0 10px 28px rgba(37,99,235,.12);
}

.ecosystem-card-icon svg{
    width:34px;
    height:34px;

    stroke-width:1.8;
}

.ecosystem-green{
    border-color:#22c55e;
    color:#15803d;
}

.ecosystem-purple{
    border-color:#8b5cf6;
    color:#7c3aed;
}

.ecosystem-card h3{
    margin:0 0 11px;

    color:#1557e8;

    font-size:16px;

    line-height:1.25;

    font-weight:850;

    text-transform:uppercase;
}

.ecosystem-card p{
    margin:0;

    color:#334155;

    font-size:13px;

    line-height:1.65;
}


/* POSITIONS */

.ecosystem-academic{
    left:50%;
    top:20px;

    transform:
        translateX(-50%);
}

.ecosystem-academic:hover{
    transform:
        translateX(-50%)
        translateY(-6px);
}

.ecosystem-competitive{
    left:0;
    bottom:15px;
}

.ecosystem-management{
    right:0;
    bottom:5px;
}


/* ==================================================
   SUPPORTING CAPABILITIES
================================================== */

.answer-support{
    display:grid;

    grid-template-columns:
        repeat(5,1fr);

    align-items:start;

    margin-top:22px;

    border-top:
        1px solid rgba(37,99,235,.10);

    padding-top:25px;
}

.answer-support article{
    position:relative;

    padding:0 12px;

    text-align:center;
}

.answer-support article:not(:last-child)::after{
    content:"";

    position:absolute;

    right:0;
    top:5px;

    width:1px;
    height:80px;

    background:
        rgba(37,99,235,.13);
}

.answer-support svg{
    width:30px;
    height:30px;

    margin-bottom:9px;

    color:#1557e8;

    stroke-width:1.8;
}

.answer-support span{
    display:block;

    color:#081b4b;

    font-size:12px;

    line-height:1.45;

    font-weight:700;
}


/* ==================================================
   1350PX
================================================== */

@media(max-width:1350px){

    .answer-layout{
        grid-template-columns:
            minmax(420px,.9fr)
            minmax(570px,1.1fr);

        gap:40px;
    }

    .ecosystem-stage{
        transform:scale(.9);

        transform-origin:center;
    }

}


/* ==================================================
   TABLET / SMALL LAPTOP
================================================== */

@media(max-width:1100px){

    .answer-section{
        padding:
            100px 28px 90px;
    }

    .answer-layout{
        display:block;
    }

    .answer-content{
        max-width:850px;

        margin:0 auto;

        text-align:center;
    }

    .answer-title-line{
        margin:
            26px auto 23px;
    }

    .answer-intro{
        margin:0 auto;
    }

    .answer-principles{
        margin-top:38px;
    }

    .answer-promise{
        max-width:700px;

        margin:
            28px auto 0;

        text-align:left;
    }

    .answer-visual{
        max-width:800px;

        margin:
            70px auto 0;
    }

}


/* ==================================================
   TABLET
================================================== */

@media(max-width:768px){

    .answer-section{
        padding:
            80px 20px 75px;
    }

    .answer-title{
        font-size:
            clamp(38px,8vw,52px);

        letter-spacing:-1.8px;
    }

    .answer-intro{
        font-size:16px;
    }

    .answer-principles{
        grid-template-columns:
            repeat(2,1fr);

        gap:0;

        padding:12px;
    }

    .answer-principle{
        padding:22px;
    }

    .answer-principle:nth-child(2)::after{
        display:none;
    }

    .answer-principle:nth-child(1),
    .answer-principle:nth-child(2){
        border-bottom:
            1px solid rgba(37,99,235,.12);
    }

    .answer-principle::after{
        height:70% !important;
    }


    /* VISUAL */

    .answer-visual{
        margin-top:55px;
    }

    .ecosystem-stage{
        height:auto;

        display:flex;

        flex-direction:column;

        align-items:center;

        gap:22px;

        transform:none;
    }

    .ecosystem-orbit{
        display:none;
    }

    .ecosystem-dot{
        display:none;
    }

    .ecosystem-center{
        position:relative;

        left:auto;
        top:auto;

        transform:none;

        width:min(380px,90vw);
        height:min(380px,90vw);

        order:1;

        margin-bottom:30px;
    }

    .ecosystem-card{
        position:relative;

        left:auto;
        right:auto;
        top:auto;
        bottom:auto;

        transform:none !important;

        width:100%;
        max-width:520px;

        order:2;

        padding:
            50px 28px 28px;
    }

    .ecosystem-card:hover{
        transform:translateY(-5px) !important;
    }

    .ecosystem-academic{
        order:2;
    }

    .ecosystem-competitive{
        order:3;
    }

    .ecosystem-management{
        order:4;
    }

    .answer-support{
        grid-template-columns:
            repeat(2,1fr);

        gap:22px;

        max-width:600px;

        margin:
            40px auto 0;
    }

    .answer-support article{
        padding:18px 10px;

        border:
            1px solid rgba(37,99,235,.10);

        border-radius:16px;

        background:#fff;
    }

    .answer-support article::after{
        display:none;
    }

    .answer-support article:last-child{
        grid-column:1/-1;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media(max-width:560px){

    .answer-section{
        padding:
            70px 16px 65px;
    }

    .answer-tag{
        margin-bottom:20px;

        padding:8px 15px;

        font-size:11px;
    }

    .answer-title{
        font-size:
            clamp(32px,9vw,40px);

        line-height:1.08;

        letter-spacing:-1.3px;
    }

    .answer-title span{
        margin-top:7px;
    }

    .answer-intro{
        font-size:15px;

        line-height:1.65;
    }


    /* PRINCIPLES */

    .answer-principles{
        grid-template-columns:1fr;

        padding:8px 18px;
    }

    .answer-principle{
        display:grid;

        grid-template-columns:
            58px 1fr;

        text-align:left;

        column-gap:16px;

        padding:20px 4px;
    }

    .answer-principle:not(:last-child){
        border-bottom:
            1px solid rgba(37,99,235,.11);
    }

    .answer-principle::after{
        display:none;
    }

    .answer-principle-icon{
        grid-row:1 / 3;

        width:54px;
        height:54px;

        margin:0;
    }

    .answer-principle-icon svg{
        width:24px;
        height:24px;
    }

    .answer-principle h3{
        margin:2px 0 4px;

        font-size:15px;
    }

    .answer-principle p{
        font-size:13px;
    }


    /* PROMISE */

    .answer-promise{
        display:block;

        padding:
            27px 20px;

        text-align:center;
    }

    .answer-promise-icon{
        width:80px;
        height:80px;

        margin:
            0 auto 17px;
    }

    .answer-promise-divider{
        display:none;
    }

    .answer-promise-text h3{
        font-size:22px;
    }

    .answer-promise-text strong{
        font-size:18px;
    }

    .answer-promise-text > span{
        margin:
            13px auto 0;
    }


    /* VISUAL */

    .answer-visual{
        margin-top:50px;
    }

    .ecosystem-center{
        width:min(310px,88vw);
        height:min(310px,88vw);
    }

    .ecosystem-card{
        padding:
            48px 20px 24px;

        border-radius:20px;
    }

    .ecosystem-card p{
        font-size:13px;
    }

    .answer-support{
        grid-template-columns:1fr 1fr;

        gap:12px;
    }

    .answer-support article{
        padding:16px 8px;
    }

    .answer-support span{
        font-size:11px;
    }

}


/* ==================================================
   SMALL MOBILE
================================================== */

@media(max-width:380px){

    .answer-title{
        font-size:30px;
    }

    .answer-support{
        grid-template-columns:1fr;
    }

    .answer-support article:last-child{
        grid-column:auto;
    }

}

/* =========================================================
   CAMPUS ONE — THE ANSWER
   PREMIUM MICRO ANIMATION PATCH
========================================================= */


/* =========================================================
   1. ORBIT ROTATION
   Center image remains completely static
========================================================= */

.ecosystem-orbit-outer{
    animation:answerOrbitClockwise 24s linear infinite;
}

.ecosystem-orbit-middle{
    animation:answerOrbitCounter 19s linear infinite;
}

.ecosystem-orbit-inner{
    animation:answerOrbitClockwise 15s linear infinite;
}

@keyframes answerOrbitClockwise{
    from{
        transform:translate(-50%,-50%) rotate(0deg);
    }
    to{
        transform:translate(-50%,-50%) rotate(360deg);
    }
}

@keyframes answerOrbitCounter{
    from{
        transform:translate(-50%,-50%) rotate(360deg);
    }
    to{
        transform:translate(-50%,-50%) rotate(0deg);
    }
}


/* =========================================================
   2. OUTER MULTI-COLOR RING
========================================================= */

.ecosystem-orbit-outer::before{
    animation:answerColorRing 11s linear infinite;
}

@keyframes answerColorRing{
    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }
}


/* =========================================================
   3. DECORATIVE DOTS
   Soft breathing / pulse
========================================================= */

.ecosystem-dot{
    animation:answerDotPulse 2.8s ease-in-out infinite;
}

.dot-one{
    animation-delay:0s;
}

.dot-two{
    animation-delay:.6s;
}

.dot-three{
    animation-delay:1.2s;
}

.dot-four{
    animation-delay:1.8s;
}

@keyframes answerDotPulse{

    0%,100%{
        transform:scale(1);
        opacity:.75;
    }

    50%{
        transform:scale(1.25);
        opacity:1;

        box-shadow:
            0 0 0 7px rgba(37,99,235,.08),
            0 5px 20px rgba(37,99,235,.28);
    }
}


/* Green dot keeps green glow */

.dot-three{
    animation-name:answerGreenDotPulse;
}

@keyframes answerGreenDotPulse{

    0%,100%{
        transform:scale(1);
        opacity:.75;
    }

    50%{
        transform:scale(1.25);
        opacity:1;

        box-shadow:
            0 0 0 7px rgba(34,197,94,.08),
            0 5px 20px rgba(34,197,94,.28);
    }
}


/* Purple dot */

.dot-four{
    animation-name:answerPurpleDotPulse;
}

@keyframes answerPurpleDotPulse{

    0%,100%{
        transform:scale(1);
        opacity:.75;
    }

    50%{
        transform:scale(1.25);
        opacity:1;

        box-shadow:
            0 0 0 7px rgba(124,58,237,.08),
            0 5px 20px rgba(124,58,237,.28);
    }
}


/* =========================================================
   4. CENTER SCHOOL — VERY SUBTLE GLOW
   Image itself does NOT move
========================================================= */

.ecosystem-center{
    animation:answerCenterGlow 4.5s ease-in-out infinite;
}

@keyframes answerCenterGlow{

    0%,100%{
        box-shadow:
            0 25px 70px rgba(37,99,235,.13);
    }

    50%{
        box-shadow:
            0 25px 75px rgba(37,99,235,.22),
            0 0 0 8px rgba(37,99,235,.025);
    }
}


/* =========================================================
   5. ECOSYSTEM CARDS
   Existing positioning is preserved
========================================================= */

.ecosystem-card{
    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        box-shadow .35s ease,
        border-color .35s ease;
}


/* TOP CARD */

.ecosystem-academic:hover{
    transform:
        translateX(-50%)
        translateY(-7px)
        scale(1.025);

    border-color:rgba(37,99,235,.27);

    box-shadow:
        0 30px 70px rgba(37,99,235,.14);
}


/* LEFT BOTTOM CARD */

.ecosystem-competitive:hover{
    transform:
        translateY(-7px)
        scale(1.025);

    border-color:rgba(34,197,94,.25);

    box-shadow:
        0 30px 70px rgba(34,197,94,.10);
}


/* RIGHT BOTTOM CARD */

.ecosystem-management:hover{
    transform:
        translateY(-7px)
        scale(1.025);

    border-color:rgba(139,92,246,.25);

    box-shadow:
        0 30px 70px rgba(139,92,246,.10);
}


/* =========================================================
   6. CARD ICON HOVER
========================================================= */

.ecosystem-card-icon{
    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        box-shadow .35s ease;
}

.ecosystem-card:hover .ecosystem-card-icon{
    transform:
        translateX(-50%)
        scale(1.08);

    box-shadow:
        0 13px 32px rgba(37,99,235,.17);
}


/* =========================================================
   7. PRINCIPLE ICONS
========================================================= */

.answer-principle-icon{
    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.answer-principle:hover .answer-principle-icon{
    transform:
        translateY(-3px)
        scale(1.07);

    box-shadow:
        0 14px 28px rgba(37,99,235,.24);
}


/* =========================================================
   8. PRINCIPLE CARDS
========================================================= */

.answer-principle{
    transition:transform .3s ease;
}

.answer-principle:hover{
    transform:translateY(-3px);
}


/* =========================================================
   9. SUPPORTING ECOSYSTEM ICONS
========================================================= */

.answer-support article{
    transition:
        transform .3s ease,
        background .3s ease;
}

.answer-support svg{
    transition:
        transform .3s ease,
        filter .3s ease;
}

.answer-support article:hover{
    transform:translateY(-4px);
}

.answer-support article:hover svg{
    transform:scale(1.12);

    filter:
        drop-shadow(
            0 5px 8px rgba(37,99,235,.18)
        );
}


/* =========================================================
   10. PROMISE ICON
========================================================= */

.answer-promise-icon{
    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.answer-promise:hover .answer-promise-icon{
    transform:scale(1.06);

    box-shadow:
        0 14px 35px rgba(37,99,235,.13);
}


/* =========================================================
   11. YELLOW PROMISE LINE
========================================================= */

.answer-promise-text > span{
    animation:answerPromiseLine 3s ease-in-out infinite;
}

@keyframes answerPromiseLine{

    0%,100%{
        width:62px;
        opacity:.75;
    }

    50%{
        width:82px;
        opacity:1;

        box-shadow:
            0 0 10px rgba(251,191,36,.25);
    }
}


/* =========================================================
   12. TITLE BLUE LINE
========================================================= */

.answer-title-line{
    animation:answerTitleLine 3.5s ease-in-out infinite;
}

@keyframes answerTitleLine{

    0%,100%{
        width:68px;
        opacity:.8;
    }

    50%{
        width:84px;
        opacity:1;

        box-shadow:
            0 0 12px rgba(37,99,235,.22);
    }
}


/* =========================================================
   MOBILE
   Orbits are already hidden in your existing CSS.
========================================================= */

@media(max-width:768px){

    .ecosystem-center{
        animation:answerCenterGlow 4.5s ease-in-out infinite;
    }

    .ecosystem-card:hover{
        transform:translateY(-5px) scale(1.01) !important;
    }

}


/* =========================================================
   ACCESSIBILITY
========================================================= */

@media(prefers-reduced-motion:reduce){

    .ecosystem-orbit-outer,
    .ecosystem-orbit-middle,
    .ecosystem-orbit-inner,
    .ecosystem-orbit-outer::before,
    .ecosystem-dot,
    .ecosystem-center,
    .answer-promise-text > span,
    .answer-title-line{
        animation:none !important;
    }

}