/*==========================================================
BRAIN ZOO
GLOBAL STYLES
==========================================================*/
*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
    font-size:16px;
}

body{
    font-family:'poppins',sans-serif;
    background:#F9F7F3;
    color:#2B2B2B;
    overflow-x:hidden;
    line-height:1.75;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

img{
    display:block;
    max-width:100%;
}

svg{
    display:block;
}

a{
    text-decoration:none;
    color:inherit;
}

button{
    border:none;
    background:none;
    font:inherit;
    cursor:pointer;
}

ul{
    list-style:none;
}

section{
    position:relative;
    padding:60px 0;
}

/*=========================
ROOT VARIABLES
=========================*/

:root{

    --primary:#2B7267;
    --primary-dark:#235C53;
    --secondary:#5E5BA8;
    --accent:#D4A53D;

    --text:#262626;
    --text-light:#646464;

    --background:#F9F7F3;
    --surface:#FFFFFF;
    --surface-alt:#F4F0EA;

    --border:#E6DED2;

    --radius-xs:8px;
    --radius-sm:14px;
    --radius-md:22px;
    --radius-lg:30px;
    --radius-xl:42px;
    --radius-pill:999px;

    --shadow-sm:
        0 8px 25px rgba(0,0,0,.04);

    --shadow-md:
        0 18px 45px rgba(0,0,0,.07);

    --shadow-lg:
        0 35px 80px rgba(0,0,0,.08);

    --transition:.35s ease;

    --container:1240px;

}

/*=========================
CONTAINER
=========================*/

.container{

    width:min(var(--container),92%);
    margin-inline:auto;

}

.container.narrow{

    width:min(820px,92%);
    margin-inline:auto;

}

/*=========================
TYPOGRAPHY
=========================*/

h1,
h2,
h3,
h4,
h5{

    font-family:'Poppins',serif;
    color:var(--text);
    line-height:1.1;
    font-weight:600;

}

h1{

    font-size:clamp(3.3rem,7vw,5.8rem);
    margin-bottom:28px;

}

h2{

    font-size:clamp(2.6rem,5vw,4.3rem);
    margin-bottom:26px;

}

h3{

    font-size:2rem;
    margin-bottom:18px;

}

h4{

    font-size:1.4rem;

}

p{

    color:var(--text-light);
    font-size:1.08rem;
    margin-bottom:20px;

}

.lead{

    font-size:1.45rem;
    color:var(--text);
    max-width:760px;

}

/*=========================
SECTION TAG
=========================*/

.section-tag{

    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:10px 20px;

    border-radius:999px;

    background:#ffffff;

    border:1px solid var(--border);

    color:var(--primary);

    font-size:.86rem;

    letter-spacing:.12em;

    text-transform:uppercase;

    margin-bottom:24px;

    font-weight:600;

}

.section-tag::before{

    content:"";

    width:8px;
    height:8px;

    border-radius:50%;

    background:var(--accent);

}

/*=========================
SECTION HEADING
=========================*/

.section-heading{

    max-width:760px;
    margin:0 auto 70px;
    text-align:center;

}

.section-heading p{

    margin:0 auto;
    max-width:680px;

}

/*=========================
BUTTONS
=========================*/

.btn{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:10px;

    min-width:180px;

    padding:18px 34px;

    border-radius:999px;

    transition:var(--transition);

    font-weight:600;

    font-size:.96rem;

}

.btn-primary{

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color:#fff;

    box-shadow:var(--shadow-md);

}

.btn-primary:hover{

    transform:translateY(-4px);

    box-shadow:var(--shadow-lg);

}

.btn-outline{

    border:1px solid var(--border);

    background:#fff;

    color:var(--text);

}

.btn-outline:hover{

    background:var(--surface-alt);

}

.btn-light{

    background:#fff;

    color:var(--primary);

    box-shadow:var(--shadow-md);

}

.btn-light:hover{

    transform:translateY(-3px);

}

/*=========================
TEXT LINK
=========================*/

.text-link{

    color:var(--primary);

    display:inline-flex;

    gap:8px;

    align-items:center;

    font-weight:600;

    transition:.3s;

}

.text-link:hover{

    gap:14px;

}

/*=========================
UTILITY CLASSES
=========================*/

.grid-2{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:60px;

}

.grid-3{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;

}

.grid-4{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;

}

.center{

    text-align:center;

}

.flex{

    display:flex;
    align-items:center;

}

.space-between{

    justify-content:space-between;

}

.hidden{

    display:none;

}

/*=========================
CARD
=========================*/

.card{

    background:#fff;

    border-radius:30px;

    border:1px solid var(--border);

    padding:40px;

    transition:.35s;

    box-shadow:var(--shadow-sm);

}

.card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}

/*=========================
BACKGROUND BLOBS
=========================*/

.bg-blob{

    position:absolute;

    border-radius:50%;

    filter:blur(80px);

    opacity:.18;

    pointer-events:none;

}

.bg-blob.one{

    width:420px;
    height:420px;

    background:#73c7b5;

    top:-180px;
    left:-100px;

}

.bg-blob.two{

    width:420px;
    height:420px;

    background:#8E7CF5;

    bottom:-160px;
    right:-160px;

}

/*=========================
SCROLL REVEAL
=========================*/

.reveal{

    opacity:0;

    transform:translateY(70px);

    transition:1s ease;

}

.reveal.active{

    opacity:1;

    transform:translateY(0);

}

/*=========================
FLOAT
=========================*/

@keyframes float{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-12px);

    }

    100%{

        transform:translateY(0);

    }

}

.floating{

    animation:float 6s ease-in-out infinite;

}

/*=========================
FADE UP
=========================*/

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(50px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.fade-up{

    animation:fadeUp .9s ease forwards;

}

/*==========================================================
HEADER
==========================================================*/

.site-header{

    position:fixed;

    top:0;
    left:0;

    width:100%;

    z-index:9999;

    padding:22px 0;

    transition:all .35s ease;

}

.site-header .container{

    display:flex;

    align-items:center;

    justify-content:space-between;

}

/*==========================================================
STICKY HEADER
==========================================================*/

.site-header.sticky{

    padding:14px 0;

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border-bottom:1px solid rgba(0,0,0,.05);

    box-shadow:
    0 15px 40px rgba(0,0,0,.06);

}

/*==========================================================
LOGO
==========================================================*/

.logo{

    display:flex;

    align-items:center;

    gap:12px;

    flex-shrink:0;

}

.logo img{

    height:58px;

    width:auto;

    transition:.35s;

}

.site-header.sticky .logo img{

    height:48px;

}

/*==========================================================
NAVIGATION
==========================================================*/

.main-nav{

    margin-left:auto;

    margin-right:45px;

}

.main-nav ul{

    display:flex;

    align-items:center;

    gap:38px;

}

.main-nav li{

    position:relative;

}

.main-nav a{

    position:relative;

    font-size:.96rem;

    font-weight:500;

    color:var(--text);

    transition:.3s;

    padding:8px 0;

}

/*==========================================================
NAV HOVER
==========================================================*/

.main-nav a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-4px;

    width:0;

    height:2px;

    background:linear-gradient(
    90deg,
    var(--primary),
    var(--secondary)
    );

    transition:.35s;

    border-radius:20px;

}

.main-nav a:hover{

    color:var(--primary);

}

.main-nav a:hover::after{

    width:100%;

}

/*==========================================================
ACTIVE MENU
==========================================================*/

.main-nav li.current-menu-item a,
.main-nav li.active a{

    color:var(--primary);

}

.main-nav li.current-menu-item a::after,
.main-nav li.active a::after{

    width:100%;

}

/*==========================================================
HEADER CTA
==========================================================*/

.site-header .btn{

    min-width:190px;

    padding:16px 28px;

    font-size:.95rem;

}

/*==========================================================
HAMBURGER
==========================================================*/

.mobile-toggle{

    display:none;

    width:48px;

    height:48px;

    border-radius:50%;

    align-items:center;

    justify-content:center;

    cursor:pointer;

    background:#fff;

    border:1px solid var(--border);

    transition:.3s;

}

.mobile-toggle:hover{

    background:var(--surface-alt);

}

.mobile-toggle span{

    display:block;

    width:24px;

    height:2px;

    background:var(--text);

    position:relative;

    transition:.3s;

}

.mobile-toggle span::before,
.mobile-toggle span::after{

    content:"";

    position:absolute;

    left:0;

    width:24px;

    height:2px;

    background:var(--text);

    transition:.3s;

}

.mobile-toggle span::before{

    top:-7px;

}

.mobile-toggle span::after{

    top:7px;

}

/*==========================================================
MOBILE TOGGLE ACTIVE
==========================================================*/

.mobile-toggle.active span{

    background:transparent;

}

.mobile-toggle.active span::before{

    top:0;

    transform:rotate(45deg);

}

.mobile-toggle.active span::after{

    top:0;

    transform:rotate(-45deg);

}

/*==========================================================
NAV DROPDOWN
==========================================================*/

.main-nav ul li ul{

    position:absolute;

    left:0;

    top:120%;

    min-width:230px;

    background:#fff;

    border-radius:20px;

    border:1px solid var(--border);

    box-shadow:var(--shadow-md);

    padding:16px 0;

    opacity:0;

    visibility:hidden;

    transform:translateY(15px);

    transition:.35s;

}

.main-nav ul li:hover > ul{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

.main-nav ul li ul li{

    width:100%;

}

.main-nav ul li ul li a{

    display:block;

    padding:12px 22px;

}

.main-nav ul li ul li a::after{

    display:none;

}

.main-nav ul li ul li a:hover{

    background:var(--surface-alt);

}

/*==========================================================
HEADER ANIMATION
==========================================================*/

.site-header{

    animation:headerFade .8s ease;

}

@keyframes headerFade{

    from{

        opacity:0;

        transform:translateY(-40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*==========================================================
TABLET
==========================================================*/

@media(max-width:1100px){

.main-nav{

    margin-right:20px;

}

.main-nav ul{

    gap:22px;

}

.site-header .btn{

    min-width:160px;

    padding:15px 22px;

}

}

/*==========================================================
MOBILE NAVIGATION
==========================================================*/

@media(max-width:991px){

.mobile-toggle{

    display:flex;

}

.main-nav{

    position:fixed;

    top:0;

    right:-100%;

    width:340px;

    max-width:100%;

    height:100vh;

    background:#fff;

    padding:120px 40px;

    transition:.4s ease;

    box-shadow:-10px 0 40px rgba(0,0,0,.08);

    margin:0;

    overflow:auto;

}

.main-nav.active{

    right:0;

}

.main-nav ul{

    flex-direction:column;

    align-items:flex-start;

    gap:24px;

}

.main-nav li{

    width:100%;

}

.main-nav a{

    display:block;

    width:100%;

    font-size:1.05rem;

}

.site-header .btn{

    display:none;

}

.main-nav ul li ul{

    position:relative;

    opacity:1;

    visibility:visible;

    transform:none;

    border:none;

    box-shadow:none;

    padding-top:10px;

    display:none;

}

.main-nav ul li.open ul{

    display:block;

}

}

/*==========================================================
SMALL MOBILE
==========================================================*/

@media(max-width:575px){

.site-header{

    padding:16px 0;

}

.logo img{

    height:48px;

}

.main-nav{

    width:100%;

    padding:100px 30px;

}

.mobile-toggle{

    width:44px;

    height:44px;

}

}

/*==========================================================
HERO SECTION
==========================================================*/

.hero{

    position:relative;

    overflow:hidden;

    padding:190px 0 140px;

    background:
    linear-gradient(
    180deg,
    #FCFBF8 0%,
    #F7F3ED 100%
    );

}

.hero::before{

    content:"";

    position:absolute;

    width:700px;
    height:700px;

    left:-220px;
    top:-260px;

    border-radius:50%;

    background:
    radial-gradient(circle,
    rgba(43,114,103,.08) 0%,
    rgba(43,114,103,0) 70%);

    pointer-events:none;

}

.hero::after{

    content:"";

    position:absolute;

    width:650px;
    height:650px;

    right:-180px;
    bottom:-260px;

    border-radius:50%;

    background:
    radial-gradient(circle,
    rgba(94,91,168,.08) 0%,
    rgba(94,91,168,0) 70%);

    pointer-events:none;

}

.hero-bg{

    position:absolute;

    inset:0;

    background:
    url(images/noise.png);

    opacity:.04;

    pointer-events:none;

}

/*==========================================================
HERO GRID
==========================================================*/

.hero-grid{

    display:grid;

    grid-template-columns:1.05fr .95fr;

    align-items:center;

    gap:90px;

    position:relative;

    z-index:2;

}

/*==========================================================
LEFT CONTENT
==========================================================*/

.hero-content{

    max-width:640px;

}

.hero-content h1{

    max-width:620px;

    margin-bottom:30px;

    letter-spacing:-1px;

}

.hero-content p{

    font-size:1.18rem;

    color:var(--text-light);

    max-width:560px;

    margin-bottom:40px;

}

.hero-buttons{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin-bottom:60px;

}

/*==========================================================
FEATURES
==========================================================*/

.hero-features{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:22px;

}

.feature{

    display:flex;

    align-items:center;

    gap:18px;

    background:#fff;

    padding:18px 22px;

    border-radius:22px;

    border:1px solid var(--border);

    box-shadow:var(--shadow-sm);

    transition:.35s;

}

.feature:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}

.feature .icon{

    width:52px;

    height:52px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(
    135deg,
    rgba(43,114,103,.12),
    rgba(94,91,168,.12));

    font-size:1.3rem;

}

.feature p{

    margin:0;

    font-size:.95rem;

    font-weight:600;

    color:var(--text);

}

/*==========================================================
RIGHT IMAGE
==========================================================*/

.hero-image{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

}

.hero-image img{

    width:100%;

    max-width:560px;

    border-radius:36px;

    box-shadow:
    0 40px 80px rgba(0,0,0,.10);

    position:relative;

    z-index:2;

}

/*==========================================================
IMAGE FRAME
==========================================================*/

.hero-image::before{

    content:"";

    position:absolute;

    width:105%;

    height:105%;

    border-radius:40px;

    border:1px solid rgba(255,255,255,.6);

    z-index:1;

}

.hero-image::after{

    content:"";

    position:absolute;

    inset:-18px;

    border-radius:48px;

    border:1px dashed rgba(43,114,103,.18);

    z-index:0;

}

/*==========================================================
FLOATING ANIMALS
==========================================================*/

.floating{

    position:absolute;

    width:90px;

    height:90px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#fff;

    border-radius:50%;

    box-shadow:var(--shadow-md);

    animation:float 6s ease-in-out infinite;

    z-index:5;

}

.floating img{

    width:58px;

    box-shadow:none;

    border-radius:0;

}

.owl{

    top:40px;

    left:-35px;

}

.fox{

    right:-30px;

    top:130px;

    animation-delay:1.5s;

}

.elephant{

    bottom:90px;

    left:-55px;

    animation-delay:3s;

}

.dolphin{

    bottom:-10px;

    right:40px;

    animation-delay:4.5s;

}

/*==========================================================
SCROLL INDICATOR
==========================================================*/

.scroll-down{

    position:absolute;

    bottom:40px;

    left:50%;

    transform:translateX(-50%);

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:10px;

    color:var(--text-light);

    font-size:.8rem;

    letter-spacing:.15em;

    text-transform:uppercase;

}

.scroll-mouse{

    width:28px;

    height:46px;

    border:2px solid var(--text-light);

    border-radius:40px;

    position:relative;

}

.scroll-mouse::before{

    content:"";

    position:absolute;

    left:50%;

    top:8px;

    width:4px;

    height:8px;

    border-radius:20px;

    background:var(--text-light);

    transform:translateX(-50%);

    animation:wheel 1.8s infinite;

}

@keyframes wheel{

    0%{

        opacity:1;

        transform:translate(-50%,0);

    }

    100%{

        opacity:0;

        transform:translate(-50%,16px);

    }

}

/*==========================================================
HERO DECORATIONS
==========================================================*/

.hero-circle{

    position:absolute;

    border-radius:50%;

    background:#fff;

    box-shadow:var(--shadow-sm);

}

.hero-circle.small{

    width:14px;

    height:14px;

}

.hero-circle.medium{

    width:24px;

    height:24px;

}

.hero-circle.large{

    width:42px;

    height:42px;

}

/*==========================================================
TABLET
==========================================================*/

@media(max-width:1100px){

.hero{

    padding:170px 0 110px;

}

.hero-grid{

    gap:60px;

}

.hero-content h1{

    font-size:2.3rem;

}

.hero-features{

    grid-template-columns:1fr;

}

}

/*==========================================================
MOBILE
==========================================================*/

@media(max-width:991px){

.hero{

    padding:150px 0 90px;

}

.hero-grid{

    grid-template-columns:1fr;

    text-align:center;

}

.hero-content{

    margin:auto;

}

.hero-content p{

    margin-inline:auto;

}

.hero-buttons{

    justify-content:center;

}

.hero-image{

    margin-top:20px;

}

.hero-image img{

    max-width:500px;

}

.hero-features{

    margin-top:20px;

}

.floating{

    width:70px;

    height:70px;

}

.floating img{

    width:42px;

}

.owl{

    left:0;

}

.elephant{

    left:0;

}

.fox{

    right:0;

}

}

/*==========================================================
SMALL MOBILE
==========================================================*/

@media(max-width:576px){

.hero{

    padding:135px 0 80px;

}

.hero-content h1{

    font-size:2rem;

}

.hero-content p{

    font-size:1rem;

}

.hero-buttons{

    flex-direction:column;

}

.hero-buttons .btn{

    width:100%;

}

.hero-features{

    grid-template-columns:1fr;

}

.hero-image img{

    border-radius:26px;

}

.floating{

    display:none;

}

.scroll-down{

    display:none;

}

}
/*==========================================================
HERO PREMIUM EFFECTS
==========================================================*/

.hero *{
    position:relative;
    z-index:2;
}

/* Decorative glow */

.hero-glow{
    position:absolute;
    width:520px;
    height:520px;
    border-radius:50%;
    background:radial-gradient(circle,
    rgba(43,114,103,.14) 0%,
    rgba(43,114,103,0) 72%);
    top:-180px;
    right:-120px;
    pointer-events:none;
    z-index:1;
}

.hero-glow.secondary{
    width:460px;
    height:460px;
    left:-180px;
    bottom:-120px;
    background:radial-gradient(circle,
    rgba(94,91,168,.10) 0%,
    rgba(94,91,168,0) 70%);
}

/*==========================================================
HERO CONTENT ANIMATION
==========================================================*/

.hero-content>*{

    opacity:0;

    transform:translateY(35px);

    animation:heroFade .8s forwards;

}

.hero-content .section-tag{

    animation-delay:.1s;

}

.hero-content h1{

    animation-delay:.25s;

}

.hero-content p{

    animation-delay:.45s;

}

.hero-buttons{

    opacity:0;

    animation:heroFade .8s forwards;

    animation-delay:.65s;

}

.hero-features{

    opacity:0;

    animation:heroFade .8s forwards;

    animation-delay:.9s;

}

.hero-image{

    opacity:0;

    transform:translateX(40px);

    animation:imageReveal 1.1s forwards;

    animation-delay:.45s;

}

@keyframes heroFade{

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes imageReveal{

    to{

        opacity:1;

        transform:translateX(0);

    }

}

/*==========================================================
BUTTON EFFECTS
==========================================================*/

.hero .btn{

    overflow:hidden;

    position:relative;

}

.hero .btn::before{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:120%;

    height:100%;

    background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.28),
    transparent);

    transition:.8s;

}

.hero .btn:hover::before{

    left:120%;

}

/*==========================================================
IMAGE HOVER
==========================================================*/

.hero-image{

    transition:.5s;

}

.hero-image:hover{

    transform:translateY(-8px);

}

.hero-image img{

    transition:.6s;

}

.hero-image:hover img{

    transform:scale(1.02);

}

/*==========================================================
FLOATING ICONS
==========================================================*/

.floating{

    transition:.4s;

}

.floating:hover{

    transform:translateY(-10px) scale(1.08);

}

/*==========================================================
FEATURE CARDS
==========================================================*/

.feature{

    overflow:hidden;

    position:relative;

}

.feature::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
    135deg,
    rgba(43,114,103,.04),
    rgba(94,91,168,.04));

    opacity:0;

    transition:.35s;

}

.feature:hover::before{

    opacity:1;

}

.feature .icon{

    transition:.35s;

}

.feature:hover .icon{

    transform:rotate(8deg) scale(1.08);

}

/*==========================================================
SECTION TAG
==========================================================*/

.hero .section-tag{

    box-shadow:
    0 10px 25px rgba(0,0,0,.04);

}

/*==========================================================
TEXT WIDTH
==========================================================*/

.hero-content{

    padding-right:20px;

}

.hero-content p{

    max-width:540px;

}

/*==========================================================
ACCESSIBILITY
==========================================================*/

.hero a:focus-visible{

    outline:3px solid var(--accent);

    outline-offset:4px;

}

/*==========================================================
REDUCED MOTION
==========================================================*/

@media(prefers-reduced-motion:reduce){

.hero *{

    animation:none !important;

    transition:none !important;

}

.floating{

    animation:none;

}

.scroll-mouse::before{

    animation:none;

}

}

/*==========================================================
LARGE DESKTOP
==========================================================*/

@media(min-width:1500px){

.hero{

    min-height:95vh;

    display:flex;

    align-items:center;

}

.hero-grid{

    gap:120px;

}

.hero-image img{

    max-width:640px;

}

.hero-content{

    max-width:700px;

}

}

/*==========================================================
TABLET IMPROVEMENTS
==========================================================*/

@media(max-width:991px){

.hero-content{

    padding-right:0;

}

.hero-image{

    margin-inline:auto;

}

.hero-features{

    max-width:620px;

    margin:35px auto 0;

}

}

/*==========================================================
MOBILE IMPROVEMENTS
==========================================================*/

@media(max-width:767px){

.hero{

    text-align:center;

}

.hero-content{

    max-width:100%;

}

.hero-content p{

    max-width:100%;

}

.hero-image{

    max-width:420px;

    margin:50px auto 0;

}

.hero-features{

    gap:18px;

}

.feature{

    padding:18px;

}

}

/*==========================================================
EXTRA SMALL
==========================================================*/

@media(max-width:480px){

.hero{

    padding-top:120px;

}

.hero-content h1{

    line-height:1.12;

}

.hero-image{

    max-width:100%;

}

.feature{

    flex-direction:column;

    text-align:center;

}

.feature .icon{

    margin-bottom:12px;

}

}

/*==========================================================
BUTTON EFFECTS
==========================================================*/

.hero .btn{

    overflow:hidden;

    position:relative;

}

.hero .btn::before{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:120%;

    height:100%;

    background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.28),
    transparent);

    transition:.8s;

}

.hero .btn:hover::before{

    left:120%;

}

/*==========================================================
IMAGE HOVER
==========================================================*/

.hero-image{

    transition:.5s;

}

.hero-image:hover{

    transform:translateY(-8px);

}

.hero-image img{

    transition:.6s;

}

.hero-image:hover img{

    transform:scale(1.02);

}

/*==========================================================
FLOATING ICONS
==========================================================*/

.floating{

    transition:.4s;

}

.floating:hover{

    transform:translateY(-10px) scale(1.08);

}

/*==========================================================
FEATURE CARDS
==========================================================*/

.feature{

    overflow:hidden;

    position:relative;

}

.feature::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
    135deg,
    rgba(43,114,103,.04),
    rgba(94,91,168,.04));

    opacity:0;

    transition:.35s;

}

.feature:hover::before{

    opacity:1;

}

.feature .icon{

    transition:.35s;

}

.feature:hover .icon{

    transform:rotate(8deg) scale(1.08);

}

/*==========================================================
SECTION TAG
==========================================================*/

.hero .section-tag{

    box-shadow:
    0 10px 25px rgba(0,0,0,.04);

}

/*==========================================================
TEXT WIDTH
==========================================================*/

.hero-content{

    padding-right:20px;

}

.hero-content p{

    max-width:540px;

}

/*==========================================================
ACCESSIBILITY
==========================================================*/

.hero a:focus-visible{

    outline:3px solid var(--accent);

    outline-offset:4px;

}

/*==========================================================
REDUCED MOTION
==========================================================*/

@media(prefers-reduced-motion:reduce){

.hero *{

    animation:none !important;

    transition:none !important;

}

.floating{

    animation:none;

}

.scroll-mouse::before{

    animation:none;

}

}

/*==========================================================
LARGE DESKTOP
==========================================================*/

@media(min-width:1500px){

.hero{

    min-height:95vh;

    display:flex;

    align-items:center;

}

.hero-grid{

    gap:120px;

}

.hero-image img{

    max-width:640px;

}

.hero-content{

    max-width:700px;

}

}

/*==========================================================
TABLET IMPROVEMENTS
==========================================================*/

@media(max-width:991px){

.hero-content{

    padding-right:0;

}

.hero-image{

    margin-inline:auto;

}

.hero-features{

    max-width:620px;

    margin:35px auto 0;

}

}

/*==========================================================
MOBILE IMPROVEMENTS
==========================================================*/

@media(max-width:767px){

.hero{

    text-align:center;

}

.hero-content{

    max-width:100%;

}

.hero-content p{

    max-width:100%;

}

.hero-image{

    max-width:420px;

    margin:50px auto 0;

}

.hero-features{

    gap:18px;

}

.feature{

    padding:18px;

}

}

/*==========================================================
EXTRA SMALL
==========================================================*/

@media(max-width:480px){

.hero{

    padding-top:120px;

}

.hero-content h1{

    line-height:1.12;

}

.hero-image{

    max-width:100%;

}

.feature{

    flex-direction:column;

    text-align:center;

}

.feature .icon{

    margin-bottom:12px;

}

}
/*==========================================================
PROBLEM SECTION
==========================================================*/

.problem{

    position:relative;

    overflow:hidden;

    padding: 0;

    background:#F8F5EF;

}

/* Decorative Background */

.problem::before{

    content:"";

    position:absolute;

    width:600px;
    height:600px;

    top:-260px;
    left:-240px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(43,114,103,.08) 0%,
        rgba(43,114,103,0) 70%
    );

}

.problem::after{

    content:"";

    position:absolute;

    width:520px;
    height:520px;

    right:-220px;
    bottom:-220px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(94,91,168,.08) 0%,
        rgba(94,91,168,0) 72%
    );

}

/*==========================================================
LAYOUT
==========================================================*/

.problem .container{

    position:relative;

    z-index:2;

}

.problem .section-tag{

    margin-bottom:24px;

}

.problem h2{

    max-width:760px;

    margin-bottom:30px;

}

.problem .lead{

    font-size:1.45rem;

    font-weight:500;

    color:var(--text);

    margin-bottom:60px;

    max-width:720px;

}
/*==================================================
BRAIN ZOO
==================================================*/

.brainzoo-section{

padding:60px 0;

}

.brain-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:35px;

margin:70px 0 35px;

}

.brain-card{

background:#fff;

padding:50px;

border-radius:32px;

border:1px solid rgba(0,0,0,.06);

transition:.35s;

}

.brain-card:hover{

transform:translateY(-8px);

box-shadow:0 25px 60px rgba(0,0,0,.07);

}

.card-number{

display:inline-flex;

width:52px;

height:52px;

border-radius:50%;

background:#F4EEE6;

align-items:center;

justify-content:center;

font-weight:700;

color:#7A8C89;

margin-bottom:30px;

}

.brain-card h3{

margin-bottom:18px;

font-size:2rem;

}

.brain-card p{

color:#666;

line-height:1.8;

margin:0;

}

.brain-card-large{

margin-top:35px;

text-align:center;

}

.brain-quote{

max-width:850px;

margin:90px auto 0;

text-align:center;

}

.brain-quote h2{

font-size:3rem;

line-height:1.2;

margin-bottom:8px;

}

.brain-quote h2:last-of-type{

color:var(--primary);

margin-bottom:30px;

}

.brain-quote p{

font-size:1.15rem;

line-height:1.9;

color:#666;

max-width:700px;

margin:auto;

}

@media(max-width:991px){

.brain-grid{

grid-template-columns:1fr;

}

.brain-card{

padding:35px;

}

.brain-quote h2{

font-size:2.2rem;

}

}
/*==================================================
PROGRAMME FINDER
==================================================*/

.quiz-section{

padding:60px 0;

background:#F8F4EE;

}

.quiz-heading{

max-width:760px;

margin:auto;

text-align:center;

}

.quiz-heading p{

max-width:620px;

margin:25px auto 0;

}

.quiz-timeline{

max-width:720px;

margin:80px auto;

position:relative;

}

.timeline-item{

display:flex;

align-items:center;

gap:35px;

background:#fff;

padding:32px 40px;

border-radius:24px;

border:1px solid rgba(0,0,0,.05);

transition:.35s;

}

.timeline-item:hover{

transform:translateX(10px);

box-shadow:0 20px 50px rgba(0,0,0,.06);

}

.timeline-number{

width:72px;

height:72px;

border-radius:50%;

background:#EFE7DC;

display:flex;

align-items:center;

justify-content:center;

font-size:1.4rem;

font-weight:700;

color:var(--primary);

flex-shrink:0;

}

.timeline-content h3{

margin:0;

font-size:1.7rem;

}

.timeline-line{

width:2px;

height:45px;

background:#D7CEC2;

margin:0 auto;

}

.quiz-footer{

text-align:center;

max-width:650px;

margin:auto;

}

.quiz-footer p{

margin-bottom:35px;

font-size:1.1rem;

color:#666;

}

@media(max-width:767px){

.timeline-item{

padding:25px;

gap:20px;

}

.timeline-number{

width:58px;

height:58px;

font-size:1.1rem;

}

.timeline-content h3{

font-size:1.3rem;

}

}

/*==========================================
PROGRAMMES
==========================================*/

.programmes{

padding:60px 0;

}

.programme-list{

margin-top:80px;

border-top:1px solid rgba(0,0,0,.08);

}

.programme-row{

display:grid;

grid-template-columns:90px 1fr auto;

gap:50px;

padding:45px 0;

align-items:center;

border-bottom:1px solid rgba(0,0,0,.08);

transition:.35s;

}

.programme-row:hover{

padding-left:20px;

}

.programme-index{

font-size:1rem;

font-weight:700;

color:var(--primary);

letter-spacing:.15em;

}

.programme-content h3{

font-size:2rem;

margin-bottom:15px;

}

.programme-content p{

max-width:700px;

margin:0;

color:#666;

line-height:1.8;

}

.programme-link{

font-weight:600;

color:var(--primary);

text-decoration:none;

white-space:nowrap;

transition:.3s;

}

.programme-link:hover{

transform:translateX(8px);

}

.coming{

opacity:.7;

}

.coming-soon{

padding:10px 20px;

border-radius:40px;

background:#F2EEE7;

font-size:.85rem;

font-weight:600;

letter-spacing:.08em;

text-transform:uppercase;

color:#666;

}

@media(max-width:991px){

.programme-row{

grid-template-columns:1fr;

gap:20px;

}

.programme-link{

margin-top:10px;

}

}



/*==========================================
WHO IT'S FOR
==========================================*/

.audience-section{

    padding:60px 0;

}

.audience-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:40px;

    margin-top:80px;

}

.audience-item{

    padding:45px;

    border:1px solid rgba(0,0,0,.08);

    border-radius:28px;

    background:#fff;

    transition:.35s ease;

}

.audience-item:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 60px rgba(0,0,0,.06);

}

.audience-item h3{

    margin-bottom:20px;

    font-size:2rem;

}

.audience-item p{

    color:#666;

    line-height:1.8;

    margin-bottom:30px;

}

.audience-item a{

    text-decoration:none;

    font-weight:600;

    color:var(--primary);

}

.audience-item a:hover{

    letter-spacing:.04em;

}

@media(max-width:991px){

    .audience-grid{

        grid-template-columns:1fr;

    }

}

/*====================================================
HOME FINAL
====================================================*/

.home-final{

padding:60px 0;

}

.home-final-card{

background:#fff;

border-radius:40px;

overflow:hidden;

box-shadow:0 25px 80px rgba(0,0,0,.07);

}

/*=========================
TOP
=========================*/

.home-final-top{

display:grid;

grid-template-columns:480px 1fr;

align-items:center;

}

.home-final-image{

height:100%;

}

.home-final-image img{

width:100%;

height:100%;

object-fit:cover;

display:block;

}

.home-final-content{

padding:80px;

}

.home-final-content h2{

margin:18px 0 30px;

}

.home-final-content p{

margin-bottom:22px;

color:#666;

line-height:1.9;

max-width:620px;

}

.home-final-content .btn{

margin-top:15px;

}

/*=========================
DIVIDER
=========================*/

.home-divider{

height:1px;

background:rgba(0,0,0,.08);

margin:0 80px;

}

/*=========================
BOTTOM
=========================*/

.home-final-bottom{

padding:70px 80px;

text-align:center;

background:linear-gradient(
135deg,
#6B8F8D,
#7C77A5);

color:#fff;

}

.home-final-bottom h2{

color:#fff;

margin:20px 0;

}

.home-final-bottom p{

max-width:760px;

margin:0 auto 40px;

font-size:1.1rem;

line-height:1.9;

opacity:.95;
color:#fff;
}

.home-final-bottom span{

opacity:.8;

padding:0 10px;

}

.home-final-bottom .btn{

background:#fff;

color:#1f1f1f;

}

.home-final-bottom .btn:hover{

background:#F5F5F5;

}

/*=========================
RESPONSIVE
=========================*/

@media(max-width:1100px){

.home-final-top{

grid-template-columns:1fr;

}

.home-final-image{

height:520px;

}

.home-final-content{

padding:60px;

}

.home-divider{

margin:0 60px;

}

.home-final-bottom{

padding:60px;

}

}

@media(max-width:767px){

.home-final{

padding:90px 0;

}

.home-final-card{

border-radius:28px;

}

.home-final-image{

height:380px;

}

.home-final-content{

padding:35px 25px;

}

.home-final-bottom{

padding:45px 25px;

}

.home-divider{

margin:0 25px;

}

.home-final-bottom h2{

font-size:2.2rem;

}

}

/*==========================================
FOOTER
==========================================*/

.site-footer{

    background:#ffffff;

    border-top:1px solid rgba(0,0,0,.08);

    padding:90px 0 35px;

}

.footer-top{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:70px;

    padding-bottom:60px;

    border-bottom:1px solid rgba(0,0,0,.08);

}

.footer-brand img{

    width:230px;

    display:block;

    margin-bottom:25px;

}

.footer-brand p{

    max-width:280px;

    color:#666;

    line-height:1.8;

}

.footer-column h4{

    margin-bottom:22px;

    font-size:1.15rem;

}

.footer-column ul{

    list-style:none;

    margin:0;

    padding:0;

}

.footer-column li{

    margin-bottom:14px;

}

.footer-column a{

    text-decoration:none;

    color:#666;

    transition:.3s;

}

.footer-column a:hover{

    color:var(--primary);

    padding-left:5px;

}

.footer-bottom{

    margin-top:35px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;

    flex-wrap:wrap;

}

.footer-bottom p{

    margin:0;

    color:#666;

}

.social-links{

    display:flex;

    gap:25px;

    flex-wrap:wrap;

}

.social-links a{

    text-decoration:none;

    color:#666;

    transition:.3s;

}

.social-links a:hover{

    color:var(--primary);

}

/*=========================
TABLET
=========================*/

@media(max-width:991px){

.footer-top{

grid-template-columns:repeat(2,1fr);

gap:50px;

}

}

/*=========================
MOBILE
=========================*/

@media(max-width:767px){

.site-footer{

padding:70px 0 30px;

}

.footer-top{

grid-template-columns:1fr;

gap:40px;

text-align:center;

}

.footer-brand{

display:flex;

flex-direction:column;

align-items:center;

}

.footer-brand img{

width:180px;

}

.footer-brand p{

max-width:100%;

}

.footer-bottom{

flex-direction:column;

text-align:center;

}

.social-links{

justify-content:center;

}

}


/*** contatct form ***/
/*=========================================================
CONTACT PAGE
PART 1
Hero + Contact Options
=========================================================*/

/*=========================================
CONTACT HERO
=========================================*/

.contact-hero{

    position:relative;

    overflow:hidden;

    padding:180px 0 120px;

    background:linear-gradient(
    135deg,
    #F8F5F0 0%,
    #F3EFE8 100%);

}

.contact-hero::before{

    content:"";

    position:absolute;

    width:650px;

    height:650px;

    border-radius:50%;

    background:radial-gradient(
    rgba(107,143,141,.10),
    transparent 70%);

    top:-260px;

    right:-180px;

}

.contact-hero::after{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    border-radius:50%;

    background:radial-gradient(
    rgba(125,121,167,.08),
    transparent 70%);

    bottom:-180px;

    left:-120px;

}

.contact-hero .container{

    position:relative;

    z-index:2;

}

/*=========================================
HERO GRID
=========================================*/

.contact-hero-grid{

    display:grid;

    grid-template-columns:1fr 480px;

    gap:90px;

    align-items:center;

}

/*=========================================
HERO CONTENT
=========================================*/

.contact-hero .hero-content h1{

    margin:22px 0 30px;

    max-width:620px;

}

.contact-hero .hero-content p{

    max-width:560px;

    color:#666;

    line-height:1.9;

    font-size:1.08rem;

    margin-bottom:40px;

}

.hero-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

/*=========================================
HERO IMAGE
=========================================*/

.hero-image{

    border-radius:36px;

    overflow:hidden;

    box-shadow:0 30px 70px rgba(0,0,0,.08);

}

.hero-image img{

    width:100%;

    display:block;

    transition:.6s;

}

.hero-image:hover img{

    transform:scale(1.05);

}

/*=========================================
CONTACT OPTIONS
=========================================*/

.contact-options{

    padding:60px 0;

    background:#fff;

}

.contact-options .section-heading{

    margin-bottom:80px;

}

/*=========================================
CONTACT GRID
=========================================*/

.contact-card-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

/*=========================================
CONTACT CARD
=========================================*/

.contact-card{

    background:#F8F5F0;

    padding:50px;

    border-radius:30px;

    border:1px solid rgba(0,0,0,.05);

    transition:.35s ease;

    position:relative;

    overflow:hidden;

}

.contact-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:5px;

    background:linear-gradient(
    90deg,
    var(--primary),
    var(--secondary));

    transform:scaleX(0);

    transition:.35s;

    transform-origin:left;

}

.contact-card:hover{

    transform:translateY(-10px);

    background:#fff;

    box-shadow:0 30px 70px rgba(0,0,0,.08);

}

.contact-card:hover::before{

    transform:scaleX(1);

}

/*=========================================
CARD CONTENT
=========================================*/

.contact-label{

    display:inline-block;

    padding:8px 18px;

    background:#EDF5F5;

    color:var(--primary);

    border-radius:40px;

    font-size:.78rem;

    text-transform:uppercase;

    letter-spacing:.08em;

    font-weight:600;

    margin-bottom:22px;

}

.contact-card h3{

    margin-bottom:22px;

    font-size:1.8rem;

}

.contact-card p{

    color:#666;

    line-height:1.8;

    margin-bottom:15px;

}

.contact-card a{

    display:inline-block;

    margin-bottom:18px;

    color:var(--primary);

    font-weight:600;

    text-decoration:none;

    transition:.3s;

}

.contact-card a:hover{

    letter-spacing:.03em;

}

.contact-card small{

    display:block;

    color:#888;

    margin-top:15px;

    line-height:1.7;

}

/*=========================================
HOVER EFFECT
=========================================*/

.contact-card:hover .contact-label{

    background:var(--primary);

    color:#fff;

}

.contact-card:hover h3{

    color:var(--primary);

}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:1100px){

.contact-hero-grid{

grid-template-columns:1fr;

gap:60px;

}

.hero-image{

max-width:520px;

margin:auto;

}

.contact-card-grid{

grid-template-columns:1fr;

}

}

@media(max-width:768px){

.contact-hero{

padding:60px 0 90px;

}

.contact-options{

padding:90px 0;

}

.hero-buttons{

flex-direction:column;

}

.hero-buttons .btn{

width:100%;

}

.contact-card{

padding:35px;

}

.hero-image{

border-radius:24px;

}

}/*=========================================================
CONTACT PAGE
PART 2
Contact Form
=========================================================*/

/*=========================================
CONTACT FORM SECTION
=========================================*/

.contact-form-section{

    padding:60px 0;

    background:#F8F5F0;

}

.contact-form-grid{

    display:grid;

    grid-template-columns:420px 1fr;

    gap:80px;

    align-items:start;

}

/*=========================================
LEFT CONTENT
=========================================*/

.contact-form-content{

    position:sticky;

    top:120px;

}

.contact-form-content h2{

    margin:20px 0 30px;

}

.contact-form-content p{

    color:#666;

    line-height:1.9;

    margin-bottom:25px;

}

.contact-note{

    margin-top:50px;

    padding:35px;

    background:#fff;

    border-radius:24px;

    border-left:5px solid var(--primary);

    box-shadow:0 15px 40px rgba(0,0,0,.05);

}

.contact-note h4{

    margin-bottom:15px;

    font-size:1.4rem;

}

.contact-note p{

    margin:0;

}

/*=========================================
FORM WRAPPER
=========================================*/

.contact-form-wrapper{

    background:#fff;

    padding:55px;

    border-radius:36px;

    box-shadow:0 25px 70px rgba(0,0,0,.06);

    border:1px solid rgba(0,0,0,.05);

}

/*=========================================
FORM
=========================================*/

.contact-form{

    display:flex;

    flex-direction:column;

    gap:28px;

}

/*=========================================
ROW
=========================================*/

.form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:25px;

}

/*=========================================
GROUP
=========================================*/

.form-group{

    display:flex;

    flex-direction:column;

}

.form-group label{

    margin-bottom:10px;

    font-size:.95rem;

    font-weight:600;

    color:#444;

}

/*=========================================
INPUTS
=========================================*/

.form-group input,

.form-group select,

.form-group textarea{

    width:100%;

    padding:18px 22px;

    border:1px solid #DDD;

    border-radius:16px;

    background:#FAFAFA;

    font-family:inherit;

    font-size:1rem;

    color:#333;

    transition:.3s;

    outline:none;

}

.form-group textarea{

    resize:vertical;

    min-height:180px;

}

.form-group input:focus,

.form-group select:focus,

.form-group textarea:focus{

    border-color:var(--primary);

    background:#fff;

    box-shadow:0 0 0 4px rgba(107,143,141,.12);

}

/*=========================================
PLACEHOLDER
=========================================*/

.form-group input::placeholder,

.form-group textarea::placeholder{

    color:#999;

}

/*=========================================
SELECT
=========================================*/

.form-group select{

    cursor:pointer;

}

/*=========================================
CHECKBOX
=========================================*/

.checkbox-group{

    margin-top:5px;

}

.checkbox-group label{

    display:flex;

    align-items:flex-start;

    gap:14px;

    cursor:pointer;

    line-height:1.8;

    color:#666;

}

.checkbox-group input{

    width:20px;

    height:20px;

    margin-top:4px;

    accent-color:var(--primary);

}

/*=========================================
BUTTON
=========================================*/

.btn-full{

    width:100%;

    margin-top:10px;

    justify-content:center;

}

/*=========================================
FORM HOVER
=========================================*/

.contact-form-wrapper:hover{

    box-shadow:0 35px 80px rgba(0,0,0,.08);

}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:1100px){

.contact-form-grid{

grid-template-columns:1fr;

gap:60px;

}

.contact-form-content{

position:relative;

top:auto;

}

}

@media(max-width:768px){

.contact-form-section{

padding:90px 0;

}

.contact-form-wrapper{

padding:30px;

border-radius:24px;

}

.form-row{

grid-template-columns:1fr;

gap:20px;

}

.form-group input,

.form-group select,

.form-group textarea{

padding:16px 18px;

}

.contact-note{

padding:25px;

}

}/*=========================================================
CONTACT PAGE
PART 3
Quick Contact + Discovery Call
=========================================================*/

/*=========================================
QUICK CONTACT
=========================================*/

.quick-contact{

    padding:120px 0;

    background:#fff;

}

.quick-contact-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.quick-card{

    background:#F8F5F0;

    border:1px solid rgba(0,0,0,.05);

    border-radius:30px;

    padding:45px;

    transition:.35s ease;

    position:relative;

    overflow:hidden;

}

.quick-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:4px;

    background:linear-gradient(
    90deg,
    var(--primary),
    var(--secondary));

    transform:scaleX(0);

    transform-origin:left;

    transition:.35s;

}

.quick-card:hover{

    background:#fff;

    transform:translateY(-10px);

    box-shadow:0 25px 60px rgba(0,0,0,.08);

}

.quick-card:hover::before{

    transform:scaleX(1);

}

.quick-card span{

    display:inline-block;

    font-size:.8rem;

    text-transform:uppercase;

    letter-spacing:.08em;

    color:var(--primary);

    font-weight:600;

    margin-bottom:20px;

}

.quick-card h3{

    font-size:1.8rem;

    margin-bottom:18px;

}

.quick-card p{

    color:#666;

    line-height:1.8;

    margin:0;

}

/*=========================================
DISCOVERY CALL
=========================================*/

.discovery-call-section{

    padding:60px 0;

    background:#F8F5F0;

}

.discovery-call-card{

    max-width:1100px;

    margin:auto;

    border-radius:40px;

    overflow:hidden;

    background:linear-gradient(
    135deg,
    #6B8F8D,
    #7D79A7);

    position:relative;

}

.discovery-call-card::before{

    content:"";

    position:absolute;

    width:520px;

    height:520px;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    top:-220px;

    right:-180px;

}

.discovery-call-card::after{

    content:"";

    position:absolute;

    width:320px;

    height:320px;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    bottom:-150px;

    left:-120px;

}

.discovery-content{

    position:relative;

    z-index:2;

    padding:90px;

    text-align:center;

}

.discovery-content h2{

    color:#fff;

    margin:20px 0 30px;

}

.discovery-content p{

    color:rgba(255,255,255,.92);

    line-height:1.9;

    max-width:720px;

    margin:0 auto 25px;

    font-size:1.05rem;

}

/*=========================================
CTA BUTTONS
=========================================*/

.discovery-content .cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

    margin-top:45px;

}

.discovery-content .btn-light{

    background:#fff;

    color:#222;

}

.discovery-content .btn-light:hover{

    background:#f5f5f5;

}

.discovery-content .btn-outline-light{

    background:transparent;

    border:2px solid rgba(255,255,255,.35);

    color:#fff;

}

.discovery-content .btn-outline-light:hover{

    background:#fff;

    color:var(--primary);

}

/*=========================================
HOVER EFFECT
=========================================*/

.discovery-call-card:hover{

    box-shadow:0 40px 90px rgba(0,0,0,.12);

}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:991px){

.quick-contact-grid{

grid-template-columns:1fr;

}

.discovery-content{

padding:70px 50px;

}

}

@media(max-width:767px){

.quick-contact{

padding:80px 0;

}

.discovery-call-section{

padding:90px 0;

}

.quick-card{

padding:35px;

border-radius:24px;

}

.discovery-call-card{

border-radius:28px;

}

.discovery-content{

padding:45px 25px;

}

.discovery-content .cta-buttons{

flex-direction:column;

align-items:center;

}

.discovery-content .cta-buttons .btn{

width:100%;

max-width:320px;

}

}/*=========================================================
CONTACT PAGE
PART 4
FAQ + Location
=========================================================*/

/*=========================================
FAQ SECTION
=========================================*/

.faq-section{

    padding:60px 0;

    background:#ffffff;

}

.faq-section .section-heading{

    margin-bottom:70px;

}

/*=========================================
FAQ WRAPPER
=========================================*/

.faq-wrapper{

    max-width:900px;

    margin:auto;

    display:flex;

    flex-direction:column;

    gap:20px;

}

/*=========================================
FAQ ITEM
=========================================*/

.faq-item{

    background:#F8F5F0;

    border:1px solid rgba(0,0,0,.06);

    border-radius:24px;

    overflow:hidden;

    transition:.35s;

}

.faq-item:hover{

    box-shadow:0 18px 45px rgba(0,0,0,.06);

}

/*=========================================
QUESTION
=========================================*/

.faq-question{

    width:100%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:28px 35px;

    border:none;

    background:transparent;

    cursor:pointer;

    font-size:1.15rem;

    font-weight:600;

    color:#222;

    text-align:left;

    transition:.3s;

}

.faq-question:hover{

    color:var(--primary);

}

.faq-question span{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#ffffff;

    font-size:1.5rem;

    color:var(--primary);

    transition:.35s;

}

/*=========================================
ACTIVE FAQ
=========================================*/

.faq-item.active .faq-question span{

    transform:rotate(45deg);

    background:var(--primary);

    color:#fff;

}

/*=========================================
ANSWER
=========================================*/

.faq-answer{

    max-height:0;

    overflow:hidden;

    transition:max-height .45s ease;

}

.faq-item.active .faq-answer{

    max-height:400px;

}

.faq-answer p{

    padding:0 35px 35px;

    margin:0;

    color:#666;

    line-height:1.9;

}

/*=========================================
LOCATION
=========================================*/

.location-section{

    padding:60px 0;

    background:#F8F5F0;

}

.location-card{

    max-width:1150px;

    margin:auto;

    padding:80px;

    background:#fff;

    border-radius:36px;

    box-shadow:0 25px 70px rgba(0,0,0,.06);

    text-align:center;

}

.location-card h2{

    margin:20px 0 25px;

}

.location-card>p{

    max-width:700px;

    margin:0 auto 60px;

    color:#666;

    line-height:1.9;

}

/*=========================================
LOCATION GRID
=========================================*/

.location-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.location-item{

    padding:40px;

    background:#F8F5F0;

    border-radius:24px;

    border:1px solid rgba(0,0,0,.05);

    transition:.35s;

}

.location-item:hover{

    transform:translateY(-8px);

    background:#fff;

    box-shadow:0 20px 50px rgba(0,0,0,.07);

}

.location-item h4{

    margin-bottom:18px;

    font-size:1.6rem;

    color:var(--primary);

}

.location-item p{

    margin:0;

    color:#666;

    line-height:1.8;

}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:991px){

.location-grid{

grid-template-columns:1fr;

}

.location-card{

padding:60px 40px;

}

}

@media(max-width:767px){

.faq-section{

padding:90px 0;

}

.location-section{

padding:90px 0;

}

.faq-question{

padding:22px;

font-size:1rem;

}

.faq-answer p{

padding:0 22px 22px;

}

.location-card{

padding:40px 25px;

border-radius:24px;

}

.location-item{

padding:30px;

}

}/*=========================================================
CONTACT PAGE
PART 5
Final CTA + Animations + Utilities
=========================================================*/

/*=========================================
FINAL CTA
=========================================*/

.contact-final-cta{

    padding:60px 0;

    background:#ffffff;

}

.contact-final-cta .cta-box{

    max-width:1100px;

    margin:auto;

    padding:90px;

    text-align:center;

    border-radius:40px;

    overflow:hidden;

    position:relative;

    background:linear-gradient(
    135deg,
    #6B8F8D 0%,
    #7D79A7 100%);

    box-shadow:0 35px 90px rgba(0,0,0,.12);

}

/* Decorative Shapes */

.contact-final-cta .cta-box::before{

    content:"";

    position:absolute;

    width:520px;

    height:520px;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    right:-220px;

    top:-220px;

}

.contact-final-cta .cta-box::after{

    content:"";

    position:absolute;

    width:320px;

    height:320px;

    border-radius:50%;

    background:rgba(255,255,255,.04);

    left:-120px;

    bottom:-120px;

}

.contact-final-cta .cta-box>*{

    position:relative;

    z-index:2;

}

.contact-final-cta h2{

    color:#fff;

    margin:20px 0 25px;

}

.contact-final-cta p{

    max-width:760px;

    margin:0 auto 22px;

    color:rgba(255,255,255,.92);

    line-height:1.9;

    font-size:1.08rem;

}

.contact-final-cta .cta-buttons{

    margin-top:45px;

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

/*=========================================
CTA BUTTONS
=========================================*/

.contact-final-cta .btn-light{

    background:#fff;

    color:#222;

}

.contact-final-cta .btn-light:hover{

    background:#F5F5F5;

    transform:translateY(-3px);

}

.contact-final-cta .btn-outline-light{

    background:transparent;

    color:#fff;

    border:2px solid rgba(255,255,255,.35);

}

.contact-final-cta .btn-outline-light:hover{

    background:#fff;

    color:var(--primary);

    transform:translateY(-3px);

}

/*=========================================
SECTION TRANSITIONS
=========================================*/

.contact-card,
.quick-card,
.location-item,
.faq-item,
.contact-form-wrapper{

    transition:
    transform .4s ease,
    box-shadow .4s ease,
    background .4s ease;

}

/*=========================================
SMOOTH IMAGE EFFECT
=========================================*/

.hero-image,
.programme-sara-image{

    overflow:hidden;

}

.hero-image img,
.programme-sara-image img{

    transition:transform .7s ease;

}

.hero-image:hover img,
.programme-sara-image:hover img{

    transform:scale(1.05);

}

/*=========================================
FOCUS STATES
=========================================*/

button:focus,
input:focus,
textarea:focus,
select:focus,
a:focus{

    outline:none;

}

/*=========================================
SELECTION
=========================================*/

::selection{

    background:var(--primary);

    color:#fff;

}

/*=========================================
SMOOTH SCROLL
=========================================*/

html{

    scroll-behavior:smooth;

}

/*=========================================
REDUCED MOTION
=========================================*/

@media (prefers-reduced-motion: reduce){

*,
*::before,
*::after{

animation:none !important;

transition:none !important;

scroll-behavior:auto !important;

}

}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:991px){

.contact-final-cta .cta-box{

padding:70px 50px;

}

}

@media(max-width:767px){

.contact-final-cta{

padding:90px 0;

}

.contact-final-cta .cta-box{

padding:45px 25px;

border-radius:28px;

}

.contact-final-cta .cta-buttons{

flex-direction:column;

align-items:center;

}

.contact-final-cta .cta-buttons .btn{

width:100%;

max-width:320px;

}

.contact-final-cta h2{

font-size:2.3rem;

}

.contact-final-cta p{

font-size:1rem;

}

}


/*** ABout **/
/*==========================================
ABOUT HERO
==========================================*/

.about-hero{

    position:relative;

    overflow:hidden;

    padding:170px 0 120px;

    background:linear-gradient(
    135deg,
    #F8F5F0 0%,
    #F3EFE8 100%);

}

/*==========================================*/

.hero-glow{

    position:absolute;

    top:-250px;

    right:-180px;

    width:700px;

    height:700px;

    border-radius:50%;

    background:radial-gradient(
    rgba(107,143,141,.12),
    transparent 70%);

}

/*==========================================*/

.about-hero-grid{

    display:grid;

    grid-template-columns:1.05fr .95fr;

    gap:80px;

    align-items:center;

}

/*==========================================*/

.about-hero-content{

    position:relative;

    z-index:2;

}

.about-hero-content h1{

    margin:25px 0;

    max-width:700px;

}

.hero-subtitle{

    max-width:700px;

    font-size:1.15rem;

    line-height:1.9;

    color:#666;

    margin-bottom:45px;

}

/*==========================================*/

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

/*==========================================*/

.about-hero-image{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

}

.about-hero-image img{

    display:block;

}

/* Sara Image */

.about-hero-image>img{

    width:100%;

    max-width:520px;

    border-radius:36px;

    box-shadow:0 35px 80px rgba(0,0,0,.10);

    transition:.5s;

}

.about-hero-image>img:hover{

    transform:scale(1.02);

}

/*==========================================*/
/* Floating Animals */
/*==========================================*/

.floating{

    position:absolute;

    background:#fff;

    border-radius:24px;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

    padding:15px;

    animation:float 5s ease-in-out infinite;

}

.floating img{

    width:90px;

    height:90px;

    object-fit:contain;

}

/* Owl */

.owl{

    top:40px;

    left:-30px;

}

/* Elephant */

.elephant{

    bottom:50px;

    right:-20px;

}

/*==========================================*/

@keyframes float{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-12px);

}

100%{

transform:translateY(0);

}

}

/*==========================================*/

@media(max-width:1100px){

.about-hero-grid{

grid-template-columns:1fr;

text-align:center;

}

.hero-subtitle{

margin-left:auto;

margin-right:auto;

}

.hero-buttons{

justify-content:center;

}

.about-hero-image{

margin-top:60px;

}

}

/*==========================================*/

@media(max-width:768px){

.about-hero{

padding:60px 0 80px;

}

.about-hero-grid{

gap:50px;

}

.about-hero-image>img{

max-width:100%;

border-radius:24px;

}

.floating{

display:none;

}

.hero-buttons{

flex-direction:column;

}

.hero-buttons .btn{

width:100%;

}

}
/*==========================================
BRAIN STORY
==========================================*/

.brain-story{

    padding:60px 0;

    background:#F8F5F0;

}

.story-wrapper{

    display:grid;

    grid-template-columns:1.3fr .7fr;

    gap:80px;

    align-items:start;

    margin-top:70px;

}

/*================================*/

.story-content{

    font-size:1.08rem;

    line-height:2;

}

.story-content p{

    margin-bottom:28px;

    color:#555;

}

/*================================*/

.story-quote{

    margin:50px 0;

    padding:40px;

    border-left:5px solid var(--primary);

    background:#fff;

    border-radius:18px;

}

.story-quote span{

    display:block;

    text-transform:uppercase;

    letter-spacing:.12em;

    color:var(--primary);

    font-size:.8rem;

    margin-bottom:15px;

}

.story-quote h3{

    margin:0;

    font-size:2rem;

    font-style:italic;

}

/*================================*/

.story-sidebar{

    position:sticky;

    top:120px;

}

.story-sidebar img{

    width:100%;

    border-radius:28px;

    display:block;

    box-shadow:0 25px 60px rgba(0,0,0,.08);

}

.story-card{

    margin-top:30px;

    padding:35px;

    background:#fff;

    border-radius:24px;

    box-shadow:0 20px 45px rgba(0,0,0,.06);

}

.story-card span{

    display:inline-block;

    text-transform:uppercase;

    letter-spacing:.12em;

    font-size:.75rem;

    color:var(--primary);

    margin-bottom:15px;

}

.story-card h4{

    margin-bottom:15px;

    font-size:1.6rem;

}

.story-card p{

    margin:0;

    color:#666;

    line-height:1.8;

}

/*================================*/

@media(max-width:991px){

.story-wrapper{

grid-template-columns:1fr;

gap:60px;

}

.story-sidebar{

position:relative;

top:auto;

max-width:500px;

margin:auto;

}

}

@media(max-width:768px){

.brain-story{

padding:90px 0;

}

.story-quote{

padding:28px;

}

.story-quote h3{

font-size:1.6rem;

}

}/*==========================================
JOURNEY
==========================================*/

.journey-section{

    padding:60px 0;

    background:#F8F5F0;

}

.journey-section .section-heading{

    max-width:760px;

    margin:0 auto 80px;

}

.journey-grid{

    display:grid;

    gap:35px;

    max-width:950px;

    margin:auto;

}

/*================================*/

.journey-card{

    display:grid;

    grid-template-columns:120px 1fr;

    gap:40px;

    background:#fff;

    padding:45px;

    border-radius:28px;

    border:1px solid rgba(0,0,0,.05);

    transition:.35s;

}

.journey-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 60px rgba(0,0,0,.08);

}

/*================================*/

.journey-number{

    width:80px;

    height:80px;

    border-radius:50%;

    background:linear-gradient(
    135deg,
    var(--primary),
    var(--secondary));

    color:#fff;

    font-size:1.8rem;

    font-weight:700;

    display:flex;

    align-items:center;

    justify-content:center;

}

/*================================*/

.journey-content h3{

    margin-bottom:18px;

    font-size:2rem;

}

.journey-content p{

    color:#666;

    line-height:1.9;

    margin-bottom:18px;

}

.journey-content p:last-child{

    margin-bottom:0;

}

/*================================*/

@media(max-width:768px){

.journey-section{

padding:90px 0;

}

.journey-card{

grid-template-columns:1fr;

text-align:center;

padding:35px;

}

.journey-number{

margin:0 auto;

}

}/*==========================================
WHY BRAIN ZOO
==========================================*/

.brainzoo-philosophy{

    padding:60px 0;

    background:#F8F5F0;

}

/*==========================================*/

.philosophy-wrapper{

    display:grid;

    grid-template-columns:1fr 420px;

    gap:40px;

    margin:80px 0;

}

/*==========================================*/

.philosophy-card{

    background:#fff;

    padding:55px;

    border-radius:28px;

    border:1px solid rgba(0,0,0,.05);

    box-shadow:0 20px 45px rgba(0,0,0,.05);

}

.philosophy-card h3{

    margin-bottom:25px;

    font-size:2rem;

}

.philosophy-card p{

    margin-bottom:22px;

    color:#666;

    line-height:1.9;

}

.philosophy-card p:last-child{

    margin-bottom:0;

}

/*==========================================*/

.answer-card{

    display:flex;

    flex-direction:column;

    justify-content:center;

    background:linear-gradient(
    135deg,
    var(--primary),
    var(--secondary));

    color:#fff;

    border-radius:28px;

    padding:60px;

}

.answer-card span{

    text-transform:uppercase;

    letter-spacing:.15em;

    font-size:.75rem;

    opacity:.8;

}

.answer-card h2{

    color:#fff;

    margin:25px 0;

}

.answer-card p{

    line-height:1.9;

    color:rgba(255,255,255,.9);

}

/*==========================================*/

.philosophy-story{

    max-width:900px;

    margin:100px auto 0;

    text-align:center;

}

.philosophy-story h2{

    margin:25px 0;

}

.philosophy-story p{

    color:#666;

    line-height:2;

    margin-bottom:22px;

}

.philosophy-story blockquote{

    margin-top:50px;

    padding:40px;

    background:#fff;

    border-radius:24px;

    font-size:2rem;

    font-family:var(--heading-font);

    font-style:italic;

    color:#222;

    border-left:5px solid var(--primary);

    box-shadow:0 15px 35px rgba(0,0,0,.05);

}

/*==========================================*/

@media(max-width:991px){

.philosophy-wrapper{

grid-template-columns:1fr;

}

.answer-card{

text-align:center;

}

}

@media(max-width:768px){

.brainzoo-philosophy{

padding:90px 0;

}

.philosophy-card{

padding:35px;

}

.answer-card{

padding:40px;

}

.philosophy-story blockquote{

padding:28px;

font-size:1.6rem;

}

}
/*==========================================
CREDENTIALS
==========================================*/

.credentials-section{

    padding:60px 0;

    background:#ffffff;

}

.credentials-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:40px;

    margin-top:70px;

}

/*================================*/

.credential-card{

    background:#F8F5F0;

    padding:50px;

    border-radius:30px;

    border:1px solid rgba(0,0,0,.05);

    transition:.35s;

}

.credential-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 60px rgba(0,0,0,.08);

}

/*================================*/

.card-heading span{

    display:inline-block;

    text-transform:uppercase;

    letter-spacing:.15em;

    font-size:.75rem;

    color:var(--primary);

    margin-bottom:15px;

}

.card-heading h3{

    margin-bottom:35px;

}

/*================================*/

.credential-list{

    list-style:none;

    padding:0;

    margin:0;

}

.credential-list li{

    position:relative;

    padding-left:28px;

    margin-bottom:20px;

    line-height:1.8;

    color:#555;

}

.credential-list li::before{

    content:"";

    position:absolute;

    left:0;

    top:11px;

    width:8px;

    height:8px;

    border-radius:50%;

    background:var(--primary);

}

/*================================*/

.stats-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

}

.stat-box{

    background:#fff;

    border-radius:20px;

    padding:28px;

    text-align:center;

}

.stat-box h4{

    color:var(--primary);

    font-size:2.3rem;

    margin-bottom:10px;

}

.stat-box p{

    margin:0;

    color:#666;

    line-height:1.6;

}

.experience-footer{

    margin-top:35px;

    padding-top:30px;

    border-top:1px solid rgba(0,0,0,.08);

}

.experience-footer p{

    color:#666;

    line-height:1.9;

}

/*================================*/

@media(max-width:991px){

.credentials-grid{

grid-template-columns:1fr;

}

}

@media(max-width:768px){

.credentials-section{

padding:90px 0;

}

.credential-card{

padding:35px;

}

.stats-grid{

grid-template-columns:1fr;

}

}
/*==========================================
ABOUT FINAL CTA
==========================================*/

.about-final-cta{

    padding:60px 0;

    background:#F8F5F0;

}

.about-final-cta .cta-box{

    position:relative;

    overflow:hidden;

    max-width:1100px;

    margin:auto;

    padding:90px 80px;

    border-radius:40px;

    text-align:center;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary));

    box-shadow:0 35px 80px rgba(0,0,0,.12);

}

/* Decorative Background */

.about-final-cta .cta-box::before{

    content:"";

    position:absolute;

    width:520px;

    height:520px;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    top:-250px;

    right:-180px;

}

.about-final-cta .cta-box::after{

    content:"";

    position:absolute;

    width:320px;

    height:320px;

    border-radius:50%;

    background:rgba(255,255,255,.04);

    left:-120px;

    bottom:-120px;

}

.about-final-cta .cta-box>*{

    position:relative;

    z-index:2;

}

.about-final-cta h2{

    color:#fff;

    margin:22px 0 28px;

}

.about-final-cta p{

    max-width:720px;

    margin:0 auto;

    color:rgba(255,255,255,.92);

    line-height:1.9;

    font-size:1.08rem;

}

.about-final-cta .cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    margin-top:45px;

    flex-wrap:wrap;

}

/*==========================================
BUTTONS
==========================================*/

.about-final-cta .btn-light{

    background:#fff;

    color:#222;

}

.about-final-cta .btn-light:hover{

    background:#f7f7f7;

    transform:translateY(-3px);

}

.about-final-cta .btn-outline-light{

    background:transparent;

    border:2px solid rgba(255,255,255,.35);

    color:#fff;

}

.about-final-cta .btn-outline-light:hover{

    background:#fff;

    color:var(--primary);

    transform:translateY(-3px);

}

/*==========================================
RESPONSIVE
==========================================*/

@media(max-width:768px){

.about-final-cta{

padding:90px 0;

}

.about-final-cta .cta-box{

padding:55px 30px;

border-radius:28px;

}

.about-final-cta .cta-buttons{

flex-direction:column;

align-items:center;

}

.about-final-cta .cta-buttons .btn{

width:100%;

max-width:320px;

}

}