/* =========================================================
   SANATAN RATAN ACADEMY
   OLYMPIADS PAGE
========================================================= */

.sra-olympiads-page{

    --oly-brown:#70421d;
    --oly-dark:#3e2617;
    --oly-copper:#a96f35;
    --oly-gold:#c89a55;
    --oly-cream:#fbf7f0;
    --oly-soft:#f3eadc;
    --oly-white:#fff;
    --oly-text:#4d4037;
    --oly-border:rgba(112,66,29,.14);

    margin:0!important;
    padding:0!important;

    background:#fff;
    color:var(--oly-text);

    overflow:hidden;
}

.sra-olympiads-page *,
.sra-olympiads-page *::before,
.sra-olympiads-page *::after{
    box-sizing:border-box;
}

.sra-olympiads-container{
    width:min(1180px,92%);
    margin:0 auto;
}


/* =========================================================
   HERO
========================================================= */

.sra-olympiads-hero{

    position:relative;

    min-height:600px;

    display:flex;
    align-items:center;

    overflow:hidden;

    background:
        radial-gradient(
            circle at 82% 28%,
            rgba(200,154,85,.20),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #fffdf9 0%,
            #f8efe3 52%,
            #ead9c2 100%
        );
}

.sra-olympiads-hero::before{

    content:"";

    position:absolute;

    right:-150px;
    bottom:-200px;

    width:450px;
    height:450px;

    border:1px solid rgba(112,66,29,.15);

    border-radius:50%;
}

.sra-olympiads-hero::after{

    content:"";

    position:absolute;

    right:70px;
    top:-150px;

    width:280px;
    height:280px;

    border:1px solid rgba(112,66,29,.12);

    border-radius:50%;
}

.sra-olympiads-hero-overlay{

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.82),
            rgba(255,255,255,.18)
        );
}

.sra-olympiads-hero-content{

    position:relative;
    z-index:2;

    max-width:850px;

    padding:90px 0;
}

.sra-olympiads-label{

    display:inline-block;

    margin-bottom:16px;

    color:var(--oly-copper);

    font-size:13px;
    font-weight:800;

    letter-spacing:2px;
    text-transform:uppercase;
}

.sra-olympiads-hero h1{

    margin:0 0 22px;

    color:var(--oly-dark);

    font-size:clamp(42px,6vw,72px);

    line-height:1.08;

    letter-spacing:-1.5px;
}

.sra-olympiads-hero h1 span{

    display:block;

    color:var(--oly-brown);
}

.sra-olympiads-hero p{

    max-width:750px;

    margin:0 0 30px;

    color:#625348;

    font-size:18px;
    line-height:1.8;
}

.sra-olympiads-hero-buttons{

    display:flex;
    flex-wrap:wrap;
    gap:13px;
}

.sra-olympiads-btn{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    min-height:50px;

    padding:0 28px;

    border-radius:8px;

    text-decoration:none!important;

    font-size:14px;
    font-weight:700;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        background .3s ease;
}

.sra-olympiads-btn-primary{

    background:var(--oly-brown);

    color:#fff!important;

    box-shadow:
        0 12px 25px rgba(112,66,29,.20);
}

.sra-olympiads-btn-primary:hover{

    transform:translateY(-3px);

    background:var(--oly-dark);

    box-shadow:
        0 16px 30px rgba(112,66,29,.25);
}

.sra-olympiads-btn-outline{

    background:rgba(255,255,255,.55);

    color:var(--oly-brown)!important;

    border:1px solid rgba(112,66,29,.30);
}

.sra-olympiads-btn-outline:hover{

    transform:translateY(-3px);

    background:#fff;
}


/* =========================================================
   SECTIONS
========================================================= */

.sra-olympiads-section{

    padding:95px 0;

    background:#fff;
}

.sra-olympiads-light{

    background:
        linear-gradient(
            180deg,
            #fbf7f0 0%,
            #f8f1e7 100%
        );
}

.sra-olympiads-heading{

    max-width:780px;

    margin:0 auto 48px;

    text-align:center;
}

.sra-olympiads-heading h2,
.sra-olympiads-intro h2,
.sra-olympiads-cta h2{

    margin:0 0 18px;

    color:var(--oly-dark);

    font-size:clamp(32px,4vw,48px);

    line-height:1.18;
}

.sra-olympiads-heading h2 span,
.sra-olympiads-intro h2 span,
.sra-olympiads-cta h2 span{

    color:var(--oly-brown);
}

.sra-olympiads-heading p{

    margin:0;

    color:#6b5d52;

    font-size:16px;
    line-height:1.75;
}


/* =========================================================
   INTRO
========================================================= */

.sra-olympiads-intro{

    max-width:850px;

    margin:0 auto;

    text-align:center;
}

.sra-olympiads-intro p{

    max-width:790px;

    margin:0 auto 16px;

    font-size:17px;

    line-height:1.85;
}


/* =========================================================
   CARDS
========================================================= */

.sra-olympiads-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:22px;
}

.sra-olympiads-card{

    padding:32px 28px;

    background:#fff;

    border:1px solid var(--oly-border);

    border-radius:14px;

    box-shadow:
        0 12px 35px rgba(74,45,24,.06);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.sra-olympiads-card:hover{

    transform:translateY(-6px);

    border-color:rgba(112,66,29,.28);

    box-shadow:
        0 18px 40px rgba(74,45,24,.10);
}

.sra-olympiads-card-number{

    display:block;

    margin-bottom:20px;

    color:var(--oly-gold);

    font-size:13px;
    font-weight:800;
    letter-spacing:1px;
}

.sra-olympiads-card h3{

    margin:0 0 12px;

    color:var(--oly-dark);

    font-size:21px;
}

.sra-olympiads-card p{

    margin:0;

    font-size:15px;

    line-height:1.75;
}

.sra-olympiads-skill-icon{

    display:flex;

    align-items:center;
    justify-content:center;

    width:44px;
    height:44px;

    margin-bottom:20px;

    border-radius:50%;

    background:#f3e6d5;

    color:var(--oly-brown);

    font-size:12px;
    font-weight:800;
}


/* =========================================================
   SUBJECTS
========================================================= */

.sra-olympiads-subject-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:24px;

    max-width:900px;

    margin:0 auto;
}

.sra-olympiads-subject-card{

    padding:35px;

    border:1px solid var(--oly-border);

    border-radius:16px;

    background:#fff;

    box-shadow:
        0 12px 35px rgba(74,45,24,.06);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.sra-olympiads-subject-card:hover{

    transform:translateY(-6px);

    box-shadow:
        0 18px 40px rgba(74,45,24,.10);
}

.sra-olympiads-featured{

    background:
        linear-gradient(
            145deg,
            #fffdf9,
            #f8eee0
        );

    border-color:rgba(169,111,53,.32);
}

.sra-olympiads-subject-top{

    display:flex;

    justify-content:space-between;
    align-items:center;

    margin-bottom:25px;
}

.sra-olympiads-subject-number{

    color:var(--oly-gold);

    font-size:13px;
    font-weight:800;
}

.sra-olympiads-subject-tag{

    padding:6px 10px;

    border-radius:30px;

    background:#f4eadb;

    color:var(--oly-brown);

    font-size:10px;
    font-weight:800;

    letter-spacing:1px;
    text-transform:uppercase;
}

.sra-olympiads-subject-card h3{

    margin:0 0 12px;

    color:var(--oly-dark);

    font-size:27px;
}

.sra-olympiads-subject-card p{

    margin:0 0 20px;

    font-size:15px;

    line-height:1.75;
}

.sra-olympiads-subject-card ul{

    margin:0;
    padding:0;

    list-style:none;
}

.sra-olympiads-subject-card li{

    position:relative;

    margin-bottom:10px;

    padding-left:20px;

    font-size:14px;
}

.sra-olympiads-subject-card li::before{

    content:"";

    position:absolute;

    left:0;
    top:9px;

    width:7px;
    height:7px;

    border-radius:50%;

    background:var(--oly-copper);
}


/* =========================================================
   STEPS
========================================================= */

.sra-olympiads-steps{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:18px;
}

.sra-olympiads-step{

    padding:30px 25px;

    border-top:2px solid var(--oly-gold);

    background:#fff;

    box-shadow:
        0 10px 30px rgba(74,45,24,.05);
}

.sra-olympiads-step > span{

    display:block;

    margin-bottom:20px;

    color:var(--oly-copper);

    font-size:13px;
    font-weight:800;
}

.sra-olympiads-step h3{

    margin:0 0 11px;

    color:var(--oly-dark);

    font-size:20px;
}

.sra-olympiads-step p{

    margin:0;

    font-size:14px;

    line-height:1.7;
}


/* =========================================================
   ASSESSMENT
========================================================= */

.sra-olympiads-assessment{

    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:55px;

    align-items:center;

    padding:55px;

    border:1px solid var(--oly-border);

    border-radius:20px;

    background:
        linear-gradient(
            135deg,
            #fff,
            #f8eee1
        );

    box-shadow:
        0 18px 45px rgba(74,45,24,.07);
}

.sra-olympiads-assessment-content h3{

    margin:0 0 15px;

    color:var(--oly-dark);

    font-size:28px;
}

.sra-olympiads-assessment-content p{

    max-width:650px;

    margin:0 0 15px;

    font-size:16px;

    line-height:1.8;
}

.sra-olympiads-assessment-points{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:13px;
}

.sra-olympiads-assessment-points div{

    padding:20px;

    border:1px solid rgba(112,66,29,.12);

    border-radius:10px;

    background:rgba(255,255,255,.72);
}

.sra-olympiads-assessment-points strong{

    display:block;

    margin-bottom:8px;

    color:var(--oly-gold);

    font-size:12px;
}

.sra-olympiads-assessment-points span{

    color:var(--oly-dark);

    font-size:14px;
    font-weight:700;
}


/* =========================================================
   MENTOR
========================================================= */

.sra-olympiads-mentor-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:22px;
}

.sra-olympiads-mentor-card{

    padding:32px;

    border:1px solid var(--oly-border);

    border-radius:14px;

    background:#fff;

    box-shadow:
        0 12px 35px rgba(74,45,24,.05);
}

.sra-olympiads-mentor-card > span{

    display:flex;

    align-items:center;
    justify-content:center;

    width:44px;
    height:44px;

    margin-bottom:20px;

    border-radius:50%;

    background:#f3e6d5;

    color:var(--oly-brown);

    font-size:12px;
    font-weight:800;
}

.sra-olympiads-mentor-card h3{

    margin:0 0 11px;

    color:var(--oly-dark);

    font-size:20px;
}

.sra-olympiads-mentor-card p{

    margin:0;

    font-size:14px;

    line-height:1.75;
}


/* =========================================================
   JOURNEY
========================================================= */

.sra-olympiads-journey{

    max-width:850px;

    margin:0 auto;
}

.sra-olympiads-journey-item{

    display:grid;

    grid-template-columns:55px 1fr;

    gap:20px;

    padding:24px 0;

    border-bottom:1px solid var(--oly-border);
}

.sra-olympiads-journey-item:last-child{
    border-bottom:0;
}

.sra-olympiads-journey-item > span{

    display:flex;

    align-items:center;
    justify-content:center;

    width:42px;
    height:42px;

    border-radius:50%;

    background:#f3e6d5;

    color:var(--oly-brown);

    font-size:12px;
    font-weight:800;
}

.sra-olympiads-journey-item h3{

    margin:0 0 6px;

    color:var(--oly-dark);

    font-size:20px;
}

.sra-olympiads-journey-item p{

    margin:0;

    font-size:14px;

    line-height:1.7;
}


/* =========================================================
   WHY SRA
========================================================= */

.sra-olympiads-why-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:18px;
}

.sra-olympiads-why-card{

    padding:28px 24px;

    background:#fff;

    border:1px solid var(--oly-border);

    border-radius:13px;
}

.sra-olympiads-why-card > span{

    color:var(--oly-gold);

    font-size:12px;
    font-weight:800;
}

.sra-olympiads-why-card h3{

    margin:18px 0 10px;

    color:var(--oly-dark);

    font-size:18px;
}

.sra-olympiads-why-card p{

    margin:0;

    font-size:14px;

    line-height:1.7;
}


/* =========================================================
   FAQ
========================================================= */

.sra-olympiads-faq{

    max-width:850px;

    margin:0 auto;
}

.sra-olympiads-faq-item{

    padding:25px 0;

    border-bottom:1px solid var(--oly-border);
}

.sra-olympiads-faq-item h3{

    margin:0 0 10px;

    color:var(--oly-dark);

    font-size:18px;
}

.sra-olympiads-faq-item p{

    margin:0;

    font-size:15px;

    line-height:1.75;
}


/* =========================================================
   CTA
========================================================= */

.sra-olympiads-cta{

    padding:90px 0;

    background:
        linear-gradient(
            135deg,
            #3e2617,
            #70421d
        );
}

.sra-olympiads-cta-box{

    max-width:800px;

    margin:0 auto;

    text-align:center;
}

.sra-olympiads-cta .sra-olympiads-label{
    color:#d9b47b;
}

.sra-olympiads-cta h2{
    color:#fff;
}

.sra-olympiads-cta h2 span{
    color:#e0b976;
}

.sra-olympiads-cta p{

    max-width:650px;

    margin:0 auto 28px;

    color:rgba(255,255,255,.78);

    font-size:16px;

    line-height:1.8;
}

.sra-olympiads-cta .sra-olympiads-btn-primary{

    background:#fff;

    color:var(--oly-brown)!important;

    box-shadow:none;
}

.sra-olympiads-cta .sra-olympiads-btn-primary:hover{
    background:#f6eee4;
}


/* =========================================================
   ANIMATION
========================================================= */

.sra-olympiads-page .animate{

    opacity:0;

    transform:translateY(28px);

    transition:
        opacity .7s ease,
        transform .7s ease;
}

.sra-olympiads-page .animate.show{

    opacity:1;

    transform:translateY(0);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:900px){

    .sra-olympiads-hero{
        min-height:540px;
    }

    .sra-olympiads-section{
        padding:75px 0;
    }

    .sra-olympiads-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .sra-olympiads-steps{
        grid-template-columns:repeat(2,1fr);
    }

    .sra-olympiads-assessment{
        grid-template-columns:1fr;
        gap:35px;
        padding:40px;
    }

    .sra-olympiads-mentor-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .sra-olympiads-why-grid{
        grid-template-columns:repeat(2,1fr);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:600px){

    .sra-olympiads-container{
        width:90%;
    }

    .sra-olympiads-hero{
        min-height:620px;
    }

    .sra-olympiads-hero-content{
        padding:70px 0;
    }

    .sra-olympiads-hero h1{

        font-size:42px;

        letter-spacing:-1px;
    }

    .sra-olympiads-hero p{

        font-size:16px;

        line-height:1.7;
    }

    .sra-olympiads-hero-buttons{

        flex-direction:column;

        align-items:stretch;
    }

    .sra-olympiads-btn{
        width:100%;
    }

    .sra-olympiads-section{
        padding:65px 0;
    }

    .sra-olympiads-heading{
        margin-bottom:35px;
    }

    .sra-olympiads-heading h2,
    .sra-olympiads-intro h2,
    .sra-olympiads-cta h2{
        font-size:32px;
    }

    .sra-olympiads-grid{
        grid-template-columns:1fr;
    }

    .sra-olympiads-subject-grid{
        grid-template-columns:1fr;
    }

    .sra-olympiads-subject-card{
        padding:28px 24px;
    }

    .sra-olympiads-steps{
        grid-template-columns:1fr;
    }

    .sra-olympiads-assessment{
        padding:30px 24px;
        border-radius:15px;
    }

    .sra-olympiads-assessment-points{
        grid-template-columns:1fr;
    }

    .sra-olympiads-mentor-grid{
        grid-template-columns:1fr;
    }

    .sra-olympiads-why-grid{
        grid-template-columns:1fr;
    }

    .sra-olympiads-journey-item{

        grid-template-columns:45px 1fr;

        gap:15px;
    }

    .sra-olympiads-cta{
        padding:70px 0;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width:380px){

    .sra-olympiads-hero h1{
        font-size:36px;
    }

    .sra-olympiads-heading h2,
    .sra-olympiads-intro h2,
    .sra-olympiads-cta h2{
        font-size:29px;
    }

}