/* =========================================================
   SANATAN RATAN ACADEMY
   4 YEAR INTEGRATED PROGRAM
   CLASS 9 TO 12
========================================================= */


/* =========================================================
   PAGE ROOT
========================================================= */

.sra-4-int-pro-page{

    --int-brown:#70421d;
    --int-dark:#3e2617;
    --int-copper:#a96f35;
    --int-gold:#c89a55;

    --int-cream:#fbf7f0;
    --int-soft:#f3eadc;

    --int-text:#4d4037;
    --int-muted:#6b5d52;

    --int-border:rgba(112,66,29,.14);

    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    padding:0 !important;

    background:#ffffff;

    color:var(--int-text);

    overflow:hidden;
}


.sra-4-int-pro-page *,
.sra-4-int-pro-page *::before,
.sra-4-int-pro-page *::after{

    box-sizing:border-box;
}


/* =========================================================
   ASTRA CONTENT RESET
========================================================= */

#primary.sra-4-int-pro-page{

    width:100% !important;
    max-width:none !important;

    margin-top:0 !important;
    margin-bottom:0 !important;

    padding-top:0 !important;
    padding-bottom:0 !important;
}


#primary.sra-4-int-pro-page .entry-content{

    margin:0 !important;
    padding:0 !important;
}


#primary.sra-4-int-pro-page .site-main{

    margin:0 !important;
    padding:0 !important;
}


/* =========================================================
   CONTAINER
========================================================= */

.sra-integrated-container{

    width:min(1180px,92%);

    margin-left:auto;
    margin-right:auto;
}


/* =========================================================
   HERO
========================================================= */

.sra-integrated-hero{

    position:relative;

    width:100%;

    min-height:620px;

    display:flex;

    align-items:center;

    overflow:hidden;

    margin:0 !important;

    padding:0 !important;

    background:
        radial-gradient(
            circle at 82% 25%,
            rgba(200,154,85,.20),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #fffdf9 0%,
            #f8efe3 52%,
            #ead9c2 100%
        );
}


.sra-integrated-hero::before{

    content:"";

    position:absolute;

    right:-170px;
    bottom:-220px;

    width:480px;
    height:480px;

    border:1px solid rgba(112,66,29,.15);

    border-radius:50%;

    pointer-events:none;
}


.sra-integrated-hero::after{

    content:"";

    position:absolute;

    right:60px;
    top:-160px;

    width:300px;
    height:300px;

    border:1px solid rgba(112,66,29,.12);

    border-radius:50%;

    pointer-events:none;
}


/* =========================================================
   HERO OVERLAY
========================================================= */

.sra-integrated-hero-overlay{

    position:absolute;

    inset:0;

    z-index:1;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.84),
            rgba(255,255,255,.16)
        );

    pointer-events:none;
}


/* =========================================================
   HERO CONTENT
========================================================= */

.sra-integrated-hero-content{

    position:relative;

    z-index:2;

    width:100%;

    max-width:900px;

    padding:95px 0;
}


/* =========================================================
   HERO LABEL
========================================================= */

.sra-integrated-label{

    display:inline-block;

    margin:0 0 16px;

    color:var(--int-copper);

    font-family:inherit;

    font-size:13px;

    font-weight:800;

    line-height:1.4;

    letter-spacing:2px;

    text-transform:uppercase;
}


/* =========================================================
   HERO HEADING
========================================================= */

.sra-integrated-hero h1{

    margin:0 0 22px !important;

    color:var(--int-dark) !important;

    font-size:clamp(44px,6vw,76px) !important;

    font-weight:800 !important;

    line-height:1.06 !important;

    letter-spacing:-1.8px !important;
}


.sra-integrated-hero h1 span{

    display:block;

    color:var(--int-brown);
}


/* =========================================================
   HERO TEXT
========================================================= */

.sra-integrated-hero p{

    max-width:780px;

    margin:0 0 30px !important;

    color:#625348 !important;

    font-size:18px !important;

    line-height:1.8 !important;
}


/* =========================================================
   HERO BUTTONS
========================================================= */

.sra-integrated-hero-buttons{

    display:flex;

    flex-wrap:wrap;

    gap:13px;
}


.sra-integrated-btn{

    display:inline-flex !important;

    align-items:center;

    justify-content:center;

    min-height:50px;

    padding:0 28px;

    border-radius:8px;

    text-decoration:none !important;

    font-size:14px !important;

    font-weight:700 !important;

    line-height:1 !important;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        background .3s ease,
        border-color .3s ease;
}


.sra-integrated-btn-primary{

    color:#fff !important;

    background:var(--int-brown) !important;

    border:1px solid var(--int-brown) !important;

    box-shadow:
        0 12px 25px rgba(112,66,29,.20);
}


.sra-integrated-btn-primary:hover{

    transform:translateY(-3px);

    color:#fff !important;

    background:var(--int-dark) !important;

    border-color:var(--int-dark) !important;

    box-shadow:
        0 16px 30px rgba(112,66,29,.25);
}


.sra-integrated-btn-outline{

    color:var(--int-brown) !important;

    background:rgba(255,255,255,.58) !important;

    border:1px solid rgba(112,66,29,.30) !important;
}


.sra-integrated-btn-outline:hover{

    transform:translateY(-3px);

    color:var(--int-brown) !important;

    background:#fff !important;

    border-color:rgba(112,66,29,.45) !important;
}


/* =========================================================
   GENERAL SECTIONS
========================================================= */

.sra-integrated-section{

    position:relative;

    width:100%;

    margin:0 !important;

    padding:95px 0;

    background:#fff;
}


.sra-integrated-light{

    background:
        linear-gradient(
            180deg,
            #fbf7f0 0%,
            #f8f1e7 100%
        );
}


/* =========================================================
   SECTION HEADING
========================================================= */

.sra-integrated-heading{

    max-width:800px;

    margin:0 auto 50px;

    text-align:center;
}


.sra-integrated-heading h2,
.sra-integrated-intro h2,
.sra-integrated-split h2,
.sra-integrated-balance h2,
.sra-integrated-cta h2{

    margin:0 0 18px !important;

    color:var(--int-dark) !important;

    font-size:clamp(32px,4vw,48px) !important;

    font-weight:800 !important;

    line-height:1.18 !important;
}


.sra-integrated-heading h2 span,
.sra-integrated-intro h2 span,
.sra-integrated-split h2 span,
.sra-integrated-balance h2 span,
.sra-integrated-cta h2 span{

    color:var(--int-brown);
}


.sra-integrated-heading p{

    margin:0 !important;

    color:var(--int-muted) !important;

    font-size:16px !important;

    line-height:1.75 !important;
}


/* =========================================================
   INTRO
========================================================= */

.sra-integrated-intro{

    max-width:870px;

    margin:0 auto;

    text-align:center;
}


.sra-integrated-intro p{

    max-width:800px;

    margin:0 auto 16px !important;

    color:var(--int-text) !important;

    font-size:17px !important;

    line-height:1.85 !important;
}


/* =========================================================
   YEAR CARDS
========================================================= */

.sra-integrated-year-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:18px;
}


.sra-integrated-year-card{

    height:100%;

    padding:30px 25px;

    border:1px solid var(--int-border);

    border-radius:14px;

    background:#fff;

    box-shadow:
        0 12px 35px rgba(74,45,24,.06);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}


.sra-integrated-year-card:hover{

    transform:translateY(-7px);

    border-color:rgba(112,66,29,.25);

    box-shadow:
        0 20px 42px rgba(74,45,24,.11);
}


.sra-integrated-year-top{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:10px;

    margin-bottom:23px;
}


.sra-integrated-year-top span{

    color:var(--int-gold);

    font-size:12px;

    font-weight:800;
}


.sra-integrated-year-top strong{

    color:var(--int-copper);

    font-size:11px;

    letter-spacing:1px;
}


.sra-integrated-year-card h3{

    margin:0 0 12px !important;

    color:var(--int-dark) !important;

    font-size:23px !important;

    line-height:1.25 !important;
}


.sra-integrated-year-card p{

    margin:0 0 20px !important;

    color:var(--int-text) !important;

    font-size:14px !important;

    line-height:1.7 !important;
}


.sra-integrated-year-card ul{

    margin:0 !important;

    padding:0 !important;

    list-style:none !important;
}


.sra-integrated-year-card li{

    position:relative;

    margin:0 0 9px !important;

    padding-left:18px;

    color:var(--int-text) !important;

    font-size:13px !important;

    line-height:1.55 !important;
}


.sra-integrated-year-card li::before{

    content:"";

    position:absolute;

    left:0;

    top:8px;

    width:6px;

    height:6px;

    border-radius:50%;

    background:var(--int-copper);
}


/* =========================================================
   SPLIT BENEFITS
========================================================= */

.sra-integrated-split{

    display:grid;

    grid-template-columns:1.05fr .95fr;

    gap:70px;

    align-items:center;
}


.sra-integrated-split-content p{

    max-width:680px;

    margin:0 0 15px !important;

    color:var(--int-text) !important;

    font-size:16px !important;

    line-height:1.8 !important;
}


.sra-integrated-benefits{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:14px;
}


.sra-integrated-benefits div{

    padding:22px;

    border:1px solid var(--int-border);

    border-radius:12px;

    background:#fff;

    box-shadow:
        0 8px 25px rgba(74,45,24,.04);
}


.sra-integrated-benefits strong{

    display:block;

    margin-bottom:8px;

    color:var(--int-gold);

    font-size:12px;

    font-weight:800;
}


.sra-integrated-benefits span{

    color:var(--int-dark);

    font-size:14px;

    font-weight:700;

    line-height:1.5;
}


/* =========================================================
   SUBJECTS
========================================================= */

.sra-integrated-subject-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:24px;

    max-width:900px;

    margin:0 auto;
}


.sra-integrated-subject-card{

    height:100%;

    padding:36px;

    border:1px solid var(--int-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-integrated-subject-card:hover{

    transform:translateY(-6px);

    box-shadow:
        0 18px 42px rgba(74,45,24,.10);
}


.sra-integrated-subject-number{

    display:block;

    margin-bottom:20px;

    color:var(--int-gold);

    font-size:13px;

    font-weight:800;
}


.sra-integrated-subject-card h3{

    margin:0 0 12px !important;

    color:var(--int-dark) !important;

    font-size:28px !important;
}


.sra-integrated-subject-card p{

    margin:0 0 20px !important;

    color:var(--int-text) !important;

    font-size:15px !important;

    line-height:1.75 !important;
}


.sra-integrated-subject-card ul{

    margin:0 !important;

    padding:0 !important;

    list-style:none !important;
}


.sra-integrated-subject-card li{

    position:relative;

    margin:0 0 10px !important;

    padding-left:20px;

    color:var(--int-text) !important;

    font-size:14px !important;

    line-height:1.55 !important;
}


.sra-integrated-subject-card li::before{

    content:"";

    position:absolute;

    left:0;

    top:9px;

    width:7px;

    height:7px;

    border-radius:50%;

    background:var(--int-copper);
}


/* =========================================================
   PROCESS
========================================================= */

.sra-integrated-process{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:18px;
}


.sra-integrated-process-item{

    height:100%;

    padding:30px 25px;

    border-top:2px solid var(--int-gold);

    background:#fff;

    box-shadow:
        0 10px 30px rgba(74,45,24,.05);
}


.sra-integrated-process-item > span{

    display:block;

    margin-bottom:18px;

    color:var(--int-copper);

    font-size:12px;

    font-weight:800;
}


.sra-integrated-process-item h3{

    margin:0 0 10px !important;

    color:var(--int-dark) !important;

    font-size:20px !important;
}


.sra-integrated-process-item p{

    margin:0 !important;

    color:var(--int-text) !important;

    font-size:14px !important;

    line-height:1.7 !important;
}


/* =========================================================
   BALANCE
========================================================= */

.sra-integrated-balance{

    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:55px;

    align-items:center;

    padding:55px;

    border:1px solid var(--int-border);

    border-radius:20px;

    background:
        linear-gradient(
            135deg,
            #fff,
            #f8eee1
        );

    box-shadow:
        0 18px 45px rgba(74,45,24,.07);
}


.sra-integrated-balance-content p{

    max-width:680px;

    margin:0 0 15px !important;

    color:var(--int-text) !important;

    font-size:16px !important;

    line-height:1.8 !important;
}


.sra-integrated-balance-points{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:13px;
}


.sra-integrated-balance-points div{

    padding:20px;

    border:1px solid rgba(112,66,29,.12);

    border-radius:10px;

    background:rgba(255,255,255,.72);
}


.sra-integrated-balance-points strong{

    display:block;

    margin-bottom:7px;

    color:var(--int-dark);

    font-size:14px;
}


.sra-integrated-balance-points span{

    color:var(--int-text);

    font-size:13px;

    line-height:1.5;
}


/* =========================================================
   TESTING
========================================================= */

.sra-integrated-test-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:18px;
}


.sra-integrated-test-card{

    height:100%;

    padding:28px 24px;

    border:1px solid var(--int-border);

    border-radius:13px;

    background:#fff;

    box-shadow:
        0 8px 25px rgba(74,45,24,.04);
}


.sra-integrated-test-card > span{

    color:var(--int-gold);

    font-size:12px;

    font-weight:800;
}


.sra-integrated-test-card h3{

    margin:18px 0 10px !important;

    color:var(--int-dark) !important;

    font-size:18px !important;
}


.sra-integrated-test-card p{

    margin:0 !important;

    color:var(--int-text) !important;

    font-size:14px !important;

    line-height:1.7 !important;
}


/* =========================================================
   MENTORING
========================================================= */

.sra-integrated-mentor-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:22px;
}


.sra-integrated-mentor-card{

    height:100%;

    padding:32px;

    border:1px solid var(--int-border);

    border-radius:14px;

    background:#fff;

    box-shadow:
        0 12px 35px rgba(74,45,24,.05);
}


.sra-integrated-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(--int-brown);

    font-size:12px;

    font-weight:800;
}


.sra-integrated-mentor-card h3{

    margin:0 0 11px !important;

    color:var(--int-dark) !important;

    font-size:20px !important;
}


.sra-integrated-mentor-card p{

    margin:0 !important;

    color:var(--int-text) !important;

    font-size:14px !important;

    line-height:1.75 !important;
}


/* =========================================================
   ROADMAP
========================================================= */

.sra-integrated-roadmap{

    max-width:850px;

    margin:0 auto;
}


.sra-integrated-roadmap-item{

    display:grid;

    grid-template-columns:65px 1fr;

    gap:20px;

    align-items:center;

    padding:24px 0;

    border-bottom:1px solid var(--int-border);
}


.sra-integrated-roadmap-item:last-child{

    border-bottom:0;
}


.sra-integrated-roadmap-year{

    display:flex;

    align-items:center;

    justify-content:center;

    width:50px;

    height:50px;

    border-radius:50%;

    background:#f3e6d5;

    color:var(--int-brown);

    font-size:18px;

    font-weight:800;
}


.sra-integrated-roadmap-item h3{

    margin:0 0 6px !important;

    color:var(--int-dark) !important;

    font-size:21px !important;
}


.sra-integrated-roadmap-item p{

    margin:0 !important;

    color:var(--int-text) !important;

    font-size:14px !important;

    line-height:1.7 !important;
}


/* =========================================================
   WHY
========================================================= */

.sra-integrated-why-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:18px;
}


.sra-integrated-why-card{

    height:100%;

    padding:28px 24px;

    border:1px solid var(--int-border);

    border-radius:13px;

    background:#fff;

    box-shadow:
        0 8px 25px rgba(74,45,24,.04);
}


.sra-integrated-why-card > span{

    color:var(--int-gold);

    font-size:12px;

    font-weight:800;
}


.sra-integrated-why-card h3{

    margin:18px 0 10px !important;

    color:var(--int-dark) !important;

    font-size:18px !important;
}


.sra-integrated-why-card p{

    margin:0 !important;

    color:var(--int-text) !important;

    font-size:14px !important;

    line-height:1.7 !important;
}


/* =========================================================
   FAQ
========================================================= */

.sra-integrated-faq{

    max-width:850px;

    margin:0 auto;
}


.sra-integrated-faq-item{

    padding:25px 0;

    border-bottom:1px solid var(--int-border);
}


.sra-integrated-faq-item:first-child{

    padding-top:0;
}


.sra-integrated-faq-item:last-child{

    border-bottom:0;
}


.sra-integrated-faq-item h3{

    margin:0 0 10px !important;

    color:var(--int-dark) !important;

    font-size:18px !important;
}


.sra-integrated-faq-item p{

    margin:0 !important;

    color:var(--int-text) !important;

    font-size:15px !important;

    line-height:1.75 !important;
}


/* =========================================================
   CTA
========================================================= */

.sra-integrated-cta{

    position:relative;

    width:100%;

    margin:0 !important;

    padding:95px 0;

    background:
        linear-gradient(
            135deg,
            #3e2617,
            #70421d
        );
}


.sra-integrated-cta-box{

    max-width:820px;

    margin:0 auto;

    text-align:center;
}


.sra-integrated-cta .sra-integrated-label{

    color:#d9b47b;
}


.sra-integrated-cta h2{

    color:#fff !important;
}


.sra-integrated-cta h2 span{

    color:#e0b976;
}


.sra-integrated-cta p{

    max-width:650px;

    margin:0 auto 28px !important;

    color:rgba(255,255,255,.78) !important;

    font-size:16px !important;

    line-height:1.8 !important;
}


.sra-integrated-cta .sra-integrated-btn-primary{

    background:#fff !important;

    border-color:#fff !important;

    color:var(--int-brown) !important;

    box-shadow:none;
}


.sra-integrated-cta .sra-integrated-btn-primary:hover{

    background:#f6eee4 !important;

    border-color:#f6eee4 !important;

    color:var(--int-brown) !important;
}


/* =========================================================
   EXISTING ANIMATION SUPPORT
========================================================= */

.sra-4-int-pro-page .animate{

    opacity:0;

    transform:translateY(28px);

    transition:
        opacity .7s ease,
        transform .7s ease;
}


.sra-4-int-pro-page .animate.show{

    opacity:1;

    transform:translateY(0);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:900px){

    .sra-integrated-hero{

        min-height:550px;
    }


    .sra-integrated-section{

        padding:75px 0;
    }


    .sra-integrated-year-grid{

        grid-template-columns:repeat(2,1fr);
    }


    .sra-integrated-process{

        grid-template-columns:repeat(2,1fr);
    }


    .sra-integrated-split{

        grid-template-columns:1fr;

        gap:40px;
    }


    .sra-integrated-balance{

        grid-template-columns:1fr;

        gap:35px;

        padding:40px;
    }


    .sra-integrated-test-grid{

        grid-template-columns:repeat(2,1fr);
    }


    .sra-integrated-mentor-grid{

        grid-template-columns:repeat(2,1fr);
    }


    .sra-integrated-why-grid{

        grid-template-columns:repeat(2,1fr);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:600px){

    .sra-integrated-container{

        width:90%;
    }


    .sra-integrated-hero{

        min-height:650px;
    }


    .sra-integrated-hero-content{

        padding:70px 0;
    }


    .sra-integrated-hero h1{

        font-size:42px !important;

        letter-spacing:-1px !important;
    }


    .sra-integrated-hero p{

        font-size:16px !important;

        line-height:1.7 !important;
    }


    .sra-integrated-hero-buttons{

        flex-direction:column;

        align-items:stretch;
    }


    .sra-integrated-btn{

        width:100% !important;

        min-height:52px;
    }


    .sra-integrated-section{

        padding:65px 0;
    }


    .sra-integrated-heading{

        margin-bottom:35px;
    }


    .sra-integrated-heading h2,
    .sra-integrated-intro h2,
    .sra-integrated-split h2,
    .sra-integrated-balance h2,
    .sra-integrated-cta h2{

        font-size:32px !important;

        line-height:1.2 !important;
    }


    .sra-integrated-year-grid{

        grid-template-columns:1fr;
    }


    .sra-integrated-benefits{

        grid-template-columns:1fr;
    }


    .sra-integrated-subject-grid{

        grid-template-columns:1fr;
    }


    .sra-integrated-subject-card{

        padding:29px 24px;
    }


    .sra-integrated-process{

        grid-template-columns:1fr;
    }


    .sra-integrated-balance{

        padding:30px 24px;

        border-radius:15px;
    }


    .sra-integrated-balance-points{

        grid-template-columns:1fr;
    }


    .sra-integrated-test-grid{

        grid-template-columns:1fr;
    }


    .sra-integrated-mentor-grid{

        grid-template-columns:1fr;
    }


    .sra-integrated-why-grid{

        grid-template-columns:1fr;
    }


    .sra-integrated-roadmap-item{

        grid-template-columns:55px 1fr;

        gap:15px;
    }


    .sra-integrated-cta{

        padding:70px 0;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width:380px){

    .sra-integrated-hero h1{

        font-size:36px !important;
    }


    .sra-integrated-heading h2,
    .sra-integrated-intro h2,
    .sra-integrated-split h2,
    .sra-integrated-balance h2,
    .sra-integrated-cta h2{

        font-size:29px !important;
    }

}


/* =========================================================
   FINAL PAGE GAP FIX
========================================================= */

#primary.sra-4-int-pro-page > *:first-child{

    margin-top:0 !important;
}


#primary.sra-4-int-pro-page > *:last-child{

    margin-bottom:0 !important;
}


#primary.sra-4-int-pro-page .sra-integrated-cta{

    margin-bottom:0 !important;
}


/* =========================================================
   FOOTER GAP FIX
========================================================= */

#primary.sra-4-int-pro-page + #secondary{

    margin-top:0 !important;
}


body:has(#primary.sra-4-int-pro-page) #colophon{

    margin-top:0 !important;
}


/* =========================================================
   MOBILE PAGE RESET
========================================================= */

@media (max-width:600px){

    #primary.sra-4-int-pro-page{

        margin-top:0 !important;

        margin-bottom:0 !important;

        padding-top:0 !important;

        padding-bottom:0 !important;
    }

}