/* =========================================================
   SANATAN RATAN ACADEMY
   1 YEAR COMPREHENSIVE PROGRAM
   FILE: assets/css/1cp.css
========================================================= */


/* =========================================================
   PAGE BASE
========================================================= */

.sra-1cp-page{

    --one-brown:#70421d;
    --one-dark:#3e2617;
    --one-copper:#a96f35;
    --one-gold:#c89a55;

    --one-cream:#fbf7f0;
    --one-soft:#f3eadc;

    --one-text:#4d4037;
    --one-muted:#6b5d52;

    --one-border:rgba(112,66,29,.14);

    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    padding:0 !important;

    color:var(--one-text);

    background:#fff;

    overflow:hidden;
}


/* =========================================================
   BOX SIZING
========================================================= */

.sra-1cp-page *,
.sra-1cp-page *::before,
.sra-1cp-page *::after{

    box-sizing:border-box;
}


/* =========================================================
   ASTRA GAP FIX
========================================================= */

#primary.sra-1cp-page{

    margin-top:0 !important;
    margin-bottom:0 !important;

    padding-top:0 !important;
    padding-bottom:0 !important;
}


.sra-1cp-page > section:first-child{

    margin-top:0 !important;
}


.sra-1cp-page > section:last-child{

    margin-bottom:0 !important;
}


/* =========================================================
   BODY CLASS GAP FIX
========================================================= */

body.sra-1cp-body #content,
body.sra-1cp-body .site-content,
body.sra-1cp-body .content-area{

    margin-top:0 !important;
    padding-top:0 !important;
}


body.sra-1cp-body #content{

    margin-bottom:0 !important;
    padding-bottom:0 !important;
}


/* =========================================================
   CONTAINER
========================================================= */

.sra-1cp-container{

    width:min(1180px,92%);

    margin-left:auto;
    margin-right:auto;
}


/* =========================================================
   TYPOGRAPHY RESET
========================================================= */

.sra-1cp-page h1,
.sra-1cp-page h2,
.sra-1cp-page h3,
.sra-1cp-page p{

    margin-top:0;
}


.sra-1cp-page ul{

    margin:0;
    padding:0;
}


.sra-1cp-page a{

    text-decoration:none;
}


/* =========================================================
   LABEL
========================================================= */

.sra-1cp-label{

    display:inline-block;

    margin-bottom:15px;

    color:var(--one-copper);

    font-size:12px;
    line-height:1.4;

    font-weight:800;

    letter-spacing:2px;

    text-transform:uppercase;
}


/* =========================================================
   HERO
========================================================= */

.sra-1cp-hero{

    position:relative;

    width:100%;

    min-height:600px;

    display:flex;
    align-items:center;

    overflow:hidden;

    background:

        radial-gradient(
            circle at 85% 25%,
            rgba(200,154,85,.22),
            transparent 30%
        ),

        linear-gradient(
            135deg,
            #fffdf9 0%,
            #f8efe3 52%,
            #ead9c2 100%
        );
}


.sra-1cp-hero::before{

    content:"";

    position:absolute;

    width:470px;
    height:470px;

    right:-190px;
    bottom:-240px;

    border-radius:50%;

    border:1px solid rgba(112,66,29,.13);

    pointer-events:none;
}


.sra-1cp-hero::after{

    content:"";

    position:absolute;

    width:300px;
    height:300px;

    right:65px;
    top:-165px;

    border-radius:50%;

    border:1px solid rgba(112,66,29,.10);

    pointer-events:none;
}


/* =========================================================
   HERO SHAPES
========================================================= */

.sra-1cp-hero-shape{

    position:absolute;

    border-radius:50%;

    pointer-events:none;
}


.sra-1cp-shape-one{

    width:180px;
    height:180px;

    left:-100px;
    bottom:-90px;

    background:rgba(169,111,53,.06);
}


.sra-1cp-shape-two{

    width:90px;
    height:90px;

    right:19%;
    bottom:12%;

    border:1px solid rgba(169,111,53,.13);
}


/* =========================================================
   HERO CONTENT
========================================================= */

.sra-1cp-hero-content{

    position:relative;

    z-index:2;

    width:100%;

    max-width:820px;

    padding:95px 0;
}


.sra-1cp-hero h1{

    margin:0 0 22px;

    color:var(--one-dark);

    font-size:clamp(46px,5.3vw,76px);

    line-height:1.04;

    letter-spacing:-2.5px;

    font-weight:800;
}


.sra-1cp-hero h1 span{

    display:block;

    color:var(--one-brown);
}


.sra-1cp-hero p{

    max-width:690px;

    margin:0 0 32px;

    color:var(--one-muted);

    font-size:17px;

    line-height:1.8;
}


/* =========================================================
   BUTTONS
========================================================= */

.sra-1cp-buttons{

    display:flex;

    align-items:center;

    gap:14px;

    flex-wrap:wrap;
}


.sra-1cp-btn{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    min-height:50px;

    padding:0 27px;

    border-radius:999px;

    border:1px solid transparent;

    font-size:14px;

    font-weight:700;

    letter-spacing:.2px;

    transition:
        transform .3s ease,
        background .3s ease,
        border-color .3s ease,
        color .3s ease,
        box-shadow .3s ease;
}


.sra-1cp-btn-primary{

    background:var(--one-brown);

    border-color:var(--one-brown);

    color:#fff !important;

    box-shadow:
        0 9px 24px rgba(112,66,29,.18);
}


.sra-1cp-btn-primary:hover{

    transform:translateY(-3px);

    background:var(--one-dark);

    border-color:var(--one-dark);

    color:#fff !important;

    box-shadow:
        0 13px 28px rgba(62,38,23,.20);
}


.sra-1cp-btn-outline{

    background:rgba(255,255,255,.45);

    border-color:rgba(112,66,29,.24);

    color:var(--one-brown) !important;
}


.sra-1cp-btn-outline:hover{

    transform:translateY(-3px);

    background:#fff;

    border-color:var(--one-brown);

    color:var(--one-brown) !important;
}


/* =========================================================
   SECTION
========================================================= */

.sra-1cp-section{

    position:relative;

    width:100%;

    margin:0 !important;

    padding:95px 0;

    background:#fff;
}


.sra-1cp-light{

    background:var(--one-cream);
}


/* =========================================================
   INTRO
========================================================= */

.sra-1cp-intro{

    max-width:850px;

    margin:0 auto;

    text-align:center;
}


.sra-1cp-intro h2{

    margin:0 0 22px;

    color:var(--one-dark);

    font-size:clamp(34px,4vw,52px);

    line-height:1.12;

    letter-spacing:-1.4px;

    font-weight:800;
}


.sra-1cp-intro h2 span{

    color:var(--one-brown);
}


.sra-1cp-intro p{

    max-width:780px;

    margin:0 auto 15px;

    color:var(--one-muted);

    font-size:16px;

    line-height:1.85;
}


.sra-1cp-intro p:last-child{

    margin-bottom:0;
}


/* =========================================================
   HEADING
========================================================= */

.sra-1cp-heading{

    max-width:800px;

    margin:0 auto 48px;

    text-align:center;
}


.sra-1cp-heading h2{

    margin:0 0 18px;

    color:var(--one-dark);

    font-size:clamp(34px,4vw,50px);

    line-height:1.12;

    letter-spacing:-1.4px;

    font-weight:800;
}


.sra-1cp-heading h2 span{

    color:var(--one-brown);
}


.sra-1cp-heading p{

    max-width:700px;

    margin:0 auto;

    color:var(--one-muted);

    font-size:16px;

    line-height:1.8;
}


/* =========================================================
   FEATURE GRID
========================================================= */

.sra-1cp-feature-grid{

    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:18px;
}


.sra-1cp-feature-card{

    position:relative;

    min-height:280px;

    padding:32px 27px;

    border:1px solid var(--one-border);

    border-radius:20px;

    background:#fff;

    box-shadow:
        0 8px 28px rgba(74,45,24,.045);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}


.sra-1cp-feature-card:hover{

    transform:translateY(-7px);

    border-color:rgba(169,111,53,.25);

    box-shadow:
        0 18px 38px rgba(74,45,24,.10);
}


.sra-1cp-number{

    display:flex;

    align-items:center;
    justify-content:center;

    width:48px;
    height:48px;

    margin-bottom:28px;

    border-radius:15px;

    background:#f5e8d5;

    color:var(--one-brown);

    font-size:13px;

    font-weight:800;
}


.sra-1cp-feature-card h3{

    margin:0 0 13px;

    color:var(--one-dark);

    font-size:20px;

    line-height:1.25;

    font-weight:800;
}


.sra-1cp-feature-card p{

    margin:0;

    color:var(--one-muted);

    font-size:14px;

    line-height:1.75;
}


/* =========================================================
   SUBJECT GRID
========================================================= */

.sra-1cp-subject-grid{

    display:grid;

    grid-template-columns:
        repeat(2,1fr);

    gap:22px;

    max-width:950px;

    margin:0 auto;
}


.sra-1cp-subject-card{

    position:relative;

    padding:38px 34px;

    border:1px solid var(--one-border);

    border-radius:23px;

    background:#fff;

    box-shadow:
        0 10px 30px rgba(74,45,24,.05);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


.sra-1cp-subject-card:hover{

    transform:translateY(-6px);

    box-shadow:
        0 18px 38px rgba(74,45,24,.10);
}


.sra-1cp-subject-number{

    display:block;

    margin-bottom:22px;

    color:var(--one-gold);

    font-size:12px;

    font-weight:800;

    letter-spacing:1px;
}


.sra-1cp-subject-card h3{

    margin:0 0 13px;

    color:var(--one-dark);

    font-size:30px;

    line-height:1.2;
}


.sra-1cp-subject-card p{

    margin:0;

    color:var(--one-muted);

    font-size:15px;

    line-height:1.8;
}


.sra-1cp-subject-line{

    width:55px;

    height:2px;

    margin:27px 0 14px;

    background:var(--one-gold);
}


.sra-1cp-subject-card > span:last-child{

    color:var(--one-copper);

    font-size:12px;

    font-weight:700;

    letter-spacing:.5px;
}


/* =========================================================
   PROCESS
========================================================= */

.sra-1cp-process{

    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:18px;
}


.sra-1cp-process-card{

    position:relative;

    padding:32px 27px;

    min-height:240px;

    border-radius:20px;

    border:1px solid var(--one-border);

    background:#fff;

    box-shadow:
        0 8px 25px rgba(74,45,24,.045);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


.sra-1cp-process-card:hover{

    transform:translateY(-6px);

    box-shadow:
        0 17px 34px rgba(74,45,24,.09);
}


.sra-1cp-process-card > span{

    display:block;

    margin-bottom:27px;

    color:var(--one-gold);

    font-size:12px;

    font-weight:800;

    letter-spacing:1px;
}


.sra-1cp-process-card h3{

    margin:0 0 12px;

    color:var(--one-dark);

    font-size:21px;
}


.sra-1cp-process-card p{

    margin:0;

    color:var(--one-muted);

    font-size:14px;

    line-height:1.75;
}


/* =========================================================
   ROADMAP
========================================================= */

.sra-1cp-roadmap{

    position:relative;

    max-width:900px;

    margin:0 auto;
}


.sra-1cp-roadmap::before{

    content:"";

    position:absolute;

    left:29px;

    top:30px;

    bottom:30px;

    width:1px;

    background:rgba(112,66,29,.16);
}


.sra-1cp-roadmap-item{

    position:relative;

    display:grid;

    grid-template-columns:60px 1fr;

    gap:25px;

    align-items:start;

    margin-bottom:22px;

    padding:27px 30px;

    border:1px solid var(--one-border);

    border-radius:19px;

    background:#fff;

    box-shadow:
        0 7px 24px rgba(74,45,24,.04);
}


.sra-1cp-roadmap-item:last-child{

    margin-bottom:0;
}


.sra-1cp-roadmap-month{

    position:relative;

    z-index:2;

    display:flex;

    align-items:center;

    justify-content:center;

    width:58px;
    height:58px;

    border-radius:50%;

    background:#f4e6d4;

    color:var(--one-brown);

    font-size:13px;

    font-weight:800;

    box-shadow:
        0 0 0 7px #fbf7f0;
}


.sra-1cp-roadmap-content h3{

    margin:2px 0 8px;

    color:var(--one-dark);

    font-size:21px;
}


.sra-1cp-roadmap-content p{

    margin:0;

    color:var(--one-muted);

    font-size:14px;

    line-height:1.75;
}


/* =========================================================
   WHY GRID
========================================================= */

.sra-1cp-why-grid{

    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:18px;
}


.sra-1cp-why-card{

    height:100%;

    padding:29px 24px;

    border:1px solid var(--one-border);

    border-radius:18px;

    background:#fff;

    box-shadow:
        0 8px 25px rgba(74,45,24,.04);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


.sra-1cp-why-card:hover{

    transform:translateY(-5px);

    box-shadow:
        0 15px 32px rgba(74,45,24,.09);
}


.sra-1cp-why-card > span{

    color:var(--one-gold);

    font-size:12px;

    font-weight:800;
}


.sra-1cp-why-card h3{

    margin:18px 0 10px;

    color:var(--one-dark);

    font-size:18px;
}


.sra-1cp-why-card p{

    margin:0;

    color:var(--one-muted);

    font-size:14px;

    line-height:1.7;
}


/* =========================================================
   FAQ
========================================================= */

.sra-1cp-faq{

    max-width:850px;

    margin:0 auto;
}


.sra-1cp-faq-item{

    padding:25px 0;

    border-bottom:1px solid var(--one-border);
}


.sra-1cp-faq-item:first-child{

    padding-top:0;
}


.sra-1cp-faq-item:last-child{

    border-bottom:0;
}


.sra-1cp-faq-item h3{

    margin:0 0 10px;

    color:var(--one-dark);

    font-size:18px;

    line-height:1.4;
}


.sra-1cp-faq-item p{

    margin:0;

    color:var(--one-muted);

    font-size:15px;

    line-height:1.75;
}


/* =========================================================
   CTA
========================================================= */

.sra-1cp-cta{

    position:relative;

    width:100%;

    margin:0 !important;

    padding:95px 0;

    background:
        linear-gradient(
            135deg,
            #3e2617,
            #70421d
        );
}


.sra-1cp-cta-box{

    max-width:820px;

    margin:0 auto;

    text-align:center;
}


.sra-1cp-cta .sra-1cp-label{

    color:#d9b47b;
}


.sra-1cp-cta h2{

    margin:0 0 18px;

    color:#fff;

    font-size:clamp(36px,4vw,54px);

    line-height:1.12;

    letter-spacing:-1.3px;
}


.sra-1cp-cta h2 span{

    color:#e0b976;
}


.sra-1cp-cta p{

    max-width:650px;

    margin:0 auto 28px;

    color:rgba(255,255,255,.78);

    font-size:16px;

    line-height:1.8;
}


.sra-1cp-cta .sra-1cp-btn-primary{

    background:#fff;

    border-color:#fff;

    color:var(--one-brown) !important;

    box-shadow:none;
}


.sra-1cp-cta .sra-1cp-btn-primary:hover{

    background:#f6eee4;

    border-color:#f6eee4;

    color:var(--one-brown) !important;
}


/* =========================================================
   ANIMATION
========================================================= */

.sra-1cp-page .animate{

    opacity:0;

    transform:translateY(28px);

    transition:
        opacity .7s ease,
        transform .7s ease;
}


.sra-1cp-page .animate.show{

    opacity:1;

    transform:translateY(0);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:900px){

    .sra-1cp-hero{

        min-height:560px;
    }


    .sra-1cp-feature-grid,
    .sra-1cp-process,
    .sra-1cp-why-grid{

        grid-template-columns:
            repeat(2,1fr);
    }


    .sra-1cp-subject-grid{

        grid-template-columns:1fr;
    }


    .sra-1cp-section{

        padding:78px 0;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:600px){

    .sra-1cp-container{

        width:90%;
    }


    .sra-1cp-hero{

        min-height:650px;
    }


    .sra-1cp-hero-content{

        padding:70px 0;
    }


    .sra-1cp-hero h1{

        font-size:42px;

        letter-spacing:-1.4px;
    }


    .sra-1cp-hero p{

        font-size:15px;

        line-height:1.75;
    }


    .sra-1cp-buttons{

        flex-direction:column;

        align-items:stretch;
    }


    .sra-1cp-btn{

        width:100%;

        min-height:52px;
    }


    .sra-1cp-section{

        padding:65px 0;
    }


    .sra-1cp-heading{

        margin-bottom:35px;
    }


    .sra-1cp-heading h2,
    .sra-1cp-intro h2{

        font-size:31px;

        letter-spacing:-.8px;
    }


    .sra-1cp-heading p,
    .sra-1cp-intro p{

        font-size:14px;

        line-height:1.75;
    }


    .sra-1cp-feature-grid,
    .sra-1cp-process,
    .sra-1cp-why-grid{

        grid-template-columns:1fr;

        gap:15px;
    }


    .sra-1cp-feature-card{

        min-height:0;

        padding:27px 23px;

        border-radius:18px;
    }


    .sra-1cp-subject-card{

        padding:30px 25px;

        border-radius:20px;
    }


    .sra-1cp-subject-card h3{

        font-size:27px;
    }


    .sra-1cp-process-card{

        min-height:0;

        padding:28px 24px;
    }


    .sra-1cp-roadmap::before{

        left:24px;
    }


    .sra-1cp-roadmap-item{

        grid-template-columns:50px 1fr;

        gap:18px;

        padding:23px 20px;

        border-radius:17px;
    }


    .sra-1cp-roadmap-month{

        width:48px;
        height:48px;

        box-shadow:
            0 0 0 6px #fbf7f0;
    }


    .sra-1cp-roadmap-content h3{

        font-size:18px;
    }


    .sra-1cp-roadmap-content p{

        font-size:13px;
    }


    .sra-1cp-cta{

        padding:70px 0;
    }


    .sra-1cp-cta h2{

        font-size:31px;
    }


    .sra-1cp-cta p{

        font-size:14px;
    }

}


/* =========================================================
   REDUCE MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

    .sra-1cp-page *,
    .sra-1cp-page *::before,
    .sra-1cp-page *::after{

        animation:none !important;

        transition:none !important;
    }

}