/*==================================
    CSS RESET
==================================*/

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
    -webkit-text-size-adjust:100%;
}

body{
    min-height:100vh;
    overflow-x:hidden;
    background:var(--cream);
    color:var(--text);
}

img,
picture,
video,
canvas,
svg{
    display:block;
    max-width:100%;
}

input,
button,
textarea,
select{
    font:inherit;
}

button{
    border:none;
    background:none;
    cursor:pointer;
}

a{
    color:inherit;
    text-decoration:none;
}

ul,
ol{
    list-style:none;
}

table{
    border-collapse:collapse;
    border-spacing:0;
}

:focus-visible{
    outline:3px solid var(--green);
    outline-offset:4px;
}

::selection{
    background:var(--green);
    color:white;
}

:root {

    /* Fonts */
    --font-heading: "Palatino Linotype", "Book Antiqua", Palatino, serif;
    --font-body: "Raleway", sans-serif;

    /* Colors */
    --green: #7D8D48;
    --green-dark: #5F6D34;
    --cream: #F7F6F1;
    --white: #FFFFFF;
    --text: #333333;
    --heading: #1F1F1F;

    /* Layout */
    --container: 1200px;
    --radius: 20px;

    /* Spacing */
    --space-xs: .5rem;
    --space-sm: 1rem;
    --space-md: 1.5rem;
    --space-lg: 3rem;
    --space-xl: 5rem;
    --space-2xl: 7rem;

    /* Shadows */
    --shadow-sm: 0 8px 20px rgba(0,0,0,.08);
    --shadow-md: 0 15px 35px rgba(0,0,0,.12);
    --shadow-lg: 0 25px 60px rgba(0,0,0,.18);

    /* Animation */
    --transition: .35s ease;
}

/*==================================
    TYPOGRAPHY
==================================*/

body{
    font-family: var(--font-body);
    font-size: clamp(1rem, 0.98rem + 0.2vw, 1.125rem);
    font-weight: 400;
    line-height: 1.8;
    color: var(--text);
}

/*==================================
    HEADINGS
==================================*/

h1,
h2,
h3,
h4,
h5,
h6{
    font-family: var(--font-heading);
    color: var(--heading);
    line-height: 1.15;
    font-weight: 700;
    margin-bottom: var(--space-md);
}

h1{
    font-size: clamp(3rem, 6vw, 5.5rem);
}

h2{
    font-size: clamp(2.3rem, 4vw, 3.6rem);
}

h3{
    font-size: clamp(1.6rem, 3vw, 2.2rem);
}

h4{
    font-size: 1.35rem;
}

h5{
    font-size: 1.15rem;
}

h6{
    font-size: 1rem;
}

/*==================================
    PARAGRAPHS
==================================*/

p{
    margin-bottom: var(--space-md);
    
}

/*==================================
    LINKS
==================================*/

a{
    transition: var(--transition);
}

/*==================================
    LISTS
==================================*/

ul,
ol{
    margin-bottom: var(--space-md);
}

li{
    margin-bottom: .75rem;
}

/*==================================
    SMALL TEXT
==================================*/

small{
    font-size:.875rem;
}

/*==================================
    SECTION LABEL
==================================*/

.section-tag{

    display:inline-block;

    color:var(--green);

    font-family:var(--font-body);

    font-size:.9rem;



    letter-spacing:3px;

    font-weight:700;

    margin-bottom:var(--space-sm);

}

/*==================================
    LAYOUT
==================================*/

/* Main Content Container */
.container{
    width: min(var(--container), 92%);
    margin-inline: auto;
}

/* Standard Section Spacing */
.section{
    padding: var(--space-2xl) 0;
}

/* Narrow Container */
.container-sm{
    width: min(800px, 92%);
    margin-inline: auto;
}

html{
    scroll-behavior:smooth;
}

/*==================================
    GRID UTILITIES
==================================*/

.grid{
    display: grid;
    gap: var(--space-lg);
}

.grid-2{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-lg);
}

.grid-3{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-lg);
}

.grid-4{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-lg);
}

/*==================================
    SPLIT LAYOUT
==================================*/

.split-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
}

/*==================================
    FLEX UTILITIES
==================================*/

.flex{
    display:flex;
}

.flex-center{
    display:flex;
    justify-content:center;
    align-items:center;
}

.flex-between{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.flex-column{
    display:flex;
    flex-direction:column;
}

/*==================================
    STACK
==================================*/

.stack > * + *{
    margin-top: var(--space-md);
}

/*==================================
    CLUSTER
==================================*/

.cluster{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-md);
    align-items:center;
}

/*==================================
    FLOW
==================================*/

.flow > * + *{
    margin-top:var(--space-lg);
}

/*==================================
    SPACING HELPERS
==================================*/

.mt-lg{
    margin-top:var(--space-lg);
}

.mb-lg{
    margin-bottom:var(--space-lg);
}

.text-center{
    text-align:center;
}
.timeline{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:2rem;

    margin-top:5rem;

    position:relative;

}

.timeline::before{

    content:"";

    position:absolute;

    top:60px;
    left:10%;

    width:80%;
    height:2px;

    background:#cfd6b8;

}

/*==================================
    HERO
==================================*/

.hero{
    position:relative;
    height:100vh;
    min-height:700px;

    display:flex;
    align-items:center;
    justify-content:center;

    overflow:hidden;

    color:var(--white);
}

.hero-location{
    margin:1.5rem 0 2rem;
    font-size:1.1rem;
    font-weight:500;
    color:rgba(255,255,255,.85);
    letter-spacing:.08em;
    text-transform:uppercase;
}

/*==================================
    BACKGROUND VIDEO
==================================*/

.hero-video{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    z-index:-3;
}

/*==================================
    OVERLAY
==================================*/

.hero-overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            rgba(0,0,0,.45),
            rgba(0,0,0,.60)
        );

    z-index:-2;
}

/*==================================
    CONTENT
==================================*/

.hero-content{

    width:min(900px,90%);

    text-align:center;

    display:flex;
    flex-direction:column;
    align-items:center;

    gap:var(--space-lg);

}

/*==================================
    HERO TEXT
==================================*/

.hero h1{

    max-width:none;

    width:100%;
}

.hero p{

    color:rgba(255,255,255,.92);

    font-size:1.2rem;

    max-width:700px;

    margin:0;

}

/*==================================
    BUTTON GROUP
==================================*/

.hero-buttons{

    display:flex;

    gap:1rem;

    flex-wrap:wrap;

    justify-content:center;

}

/*==================================
    SCROLL INDICATOR
==================================*/

.scroll-down{

    position:absolute;

    bottom:40px;

    left:50%;

    transform:translateX(-50%);

    color:white;

    font-size:.9rem;

    letter-spacing:2px;

    text-transform:uppercase;

    opacity:.75;

    animation:float 2s ease-in-out infinite;

}
/*==================================
    HERO TAG
==================================*/

.hero-tag{
    display:inline-block;
    padding:.5rem 1rem;
    border:1px solid rgba(255,255,255,.25);
    border-radius:999px;

    background:rgba(255,255,255,.08);
    backdrop-filter:blur(10px);

    color:rgba(255,255,255,.9);

    text-transform:uppercase;
    letter-spacing:2px;
    font-size:.85rem;
    font-weight:600;
}

/*==================================
    HERO SUBTITLE
==================================*/

.hero-subtitle{
    font-family:var(--font-body);
    font-size:clamp(1.6rem,3vw,2.5rem);
    font-weight:300;
    color:rgba(255,255,255,.95);
    line-height:1.3;
    margin:0;
}

.hero p{
    max-width:650px;
    font-size:1.15rem;
    color:rgba(255,255,255,.88);
}

.hero-title{
    display:flex;
    flex-direction:column;
    align-items:center;

    width:100%;
    max-width:100%;

    margin:0 auto;

    text-align:center;
    line-height:.9;

    color:#f8f6ef;
}

.hero-title span{
    display:block;

    width:auto;

    color:inherit;

    font-size:clamp(3rem,10vw,6.5rem);

    font-weight:700;

    text-shadow:
        0 4px 12px rgba(0,0,0,.45);
}

.hero-location{

    display:inline-block;

    margin:2rem 0;

    padding:.55rem 1.5rem;

    border-radius:999px;

    background:rgba(255,255,255,.04);

    color:rgba(255,255,255,.82);

    font-size:.95rem;

    letter-spacing:.12em;

    text-transform:uppercase;
}

.hero-brand{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    position:relative;

    padding:1.15rem 3.8rem;

    margin-bottom:3rem;

    border-radius:999px;

    border:2px solid rgba(205,184,104,.75);

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.14),
            rgba(255,255,255,.05)
        );

    backdrop-filter:blur(14px);

    color:#fff;

    font-family:var(--font-heading);

    font-size: 2rem;

    font-weight:700;

    letter-spacing:.12em;

    text-transform:uppercase;

    overflow:hidden;

    box-shadow:
        0 0 25px rgba(205,184,104,.18),
        0 8px 30px rgba(0,0,0,.35),
        inset 0 1px 1px rgba(255,255,255,.25);

    transition:.35s ease;
	
	
}

.profile-btn{

    width:100%;

    margin-top:2rem;

    padding:1rem;

    border-radius:18px;

    background:var(--green);

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:.6rem;

    font-weight:600;

    transition:.35s ease;

}

.profile-btn:hover{

    background:var(--green-dark);

    transform:translateY(-3px);

}

.profile-modal{

    position:fixed;

    inset:0;


    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    visibility:hidden;

    transition:.35s ease;

    z-index:9999;

}

.profile-modal.show{

    opacity:1;

    visibility:visible;

}

.profile-modal-content{

    width:min(900px,92%);

    max-height:90vh;

    overflow:auto;

    background:white;

    border-radius:32px;

    padding:3rem;

    position:relative;

    box-shadow:
        0 25px 55px rgba(0,0,0,.20),
        0 0 22px rgba(132,150,73,.30),
        0 0 45px rgba(132,150,73,.18);

    transform:translateY(30px) scale(.96);

    transition:
        transform .35s ease,
        box-shadow .35s ease;

}

.profile-modal.show .profile-modal-content{

    transform:translateY(0) scale(1);

    box-shadow:
        0 35px 75px rgba(0,0,0,.25),
        0 0 30px rgba(132,150,73,.45),
        0 0 60px rgba(132,150,73,.25),
        0 0 100px rgba(132,150,73,.15);

}

.profile-modal-content::before{

    content:"";

    position:absolute;

    top:0;
    left:50%;

    transform:translateX(-50%);

    width:140px;
    height:4px;

    border-radius:999px;

    background:linear-gradient(
        90deg,
        transparent,
        #D7B95D,
        transparent
    );

}

.profile-close{

    position:absolute;

    top:20px;

    right:24px;

    font-size:2rem;

    color:var(--green);

}

.profile-header{

    display:grid;

    grid-template-columns:220px 1fr;

    gap:3rem;

    align-items:center;

    margin-bottom:3rem;

}

.profile-image img{

    width:220px;

    height:220px;

    object-fit:cover;

    border-radius:50%;

    border:8px solid var(--green);

}

.profile-role{

    display:inline-block;

    padding:.6rem 1.2rem;

    background:#EEF4E8;

    border-radius:999px;

    color:var(--green);

    font-weight:700;

    margin:1rem 0;

}

.profile-tags{

    display:flex;

    flex-wrap:wrap;

    gap:.75rem;

    margin-top:1.5rem;

}

.profile-tags span{

    background:#EEF4E8;

    color:var(--green);

    padding:.55rem 1rem;

    border-radius:999px;

    font-weight:600;

}

.profile-section{

    margin-top:3rem;

}

.profile-section h3{

    margin-bottom:1rem;

}

.profile-list{

    padding-left:1.2rem;

}

.profile-list li{

    list-style:disc;

}

.profile-cta{

    margin-top:3rem;

    width:100%;

}

.hero-brand:hover{

    transform:translateY(-2px);

    border-color:#d8c27d;

    box-shadow:
        0 0 45px rgba(205,184,104,.30),
        0 15px 45px rgba(0,0,0,.40),
        inset 0 1px 2px rgba(255,255,255,.35);
}

.hero-brand::before{

    content:"";

    position:absolute;

    top:0;
    bottom:0;

    width:80px;

    left:-120px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.35),
            transparent
        );

    transform:skewX(-20deg);

    animation:brandSweep 6s linear infinite;
}

@keyframes brandSweep{

    0%{
        left:-120px;
    }

    100%{
        left:calc(100% + 120px);
    }
}

@keyframes heroPulse{

    0%,100%{

        box-shadow:
            0 0 20px rgba(200,176,106,.25),
            inset 0 0 12px rgba(255,255,255,.10);
    }

    50%{

        box-shadow:
            0 0 40px rgba(200,176,106,.55),
            inset 0 0 16px rgba(255,255,255,.15);
    }
}

.about-grid{
    display:grid;
    grid-template-columns:46% 54%;
    gap:5rem;
    align-items:center;
}

.about-image{
    position:relative;
    max-width:500px;
    width:100%;
    margin:auto;
}

.about-image img{
    display:block;
    width:100%;
    height:auto;
    border-radius:var(--radius); /* optional if desired */
}

.about-content{
    max-width:560px;
}

.about-content h2{
    max-width:15ch;
}

.about-content p{
    max-width:500px;
    line-height:1.8;
}

.about-content .btn{
    width:fit-content;
    padding:1rem 2.5rem;
}

.feature-list{
    list-style:none;
    margin:2rem 0;
    padding:0;
}

.feature-list li{
    margin-bottom:1rem;
    font-size:1.1rem;
    position:relative;
    padding-left:2rem;
}

.feature-list li::before{
    content:"✓";
    position:absolute;
    left:0;
    color:var(--green);
    font-weight:bold;
}

.about-highlight{

    margin:2rem 0;

    padding:1.5rem;

    border-left:4px solid var(--green);

    background:#f7f6f1;

    font-size:1.2rem;

    font-style:italic;

    color:var(--green);

}

.about-image{
    position:relative;
}

.about-image::before{
    content:"";

    position:absolute;

    width:90%;
    height:90%;

    top:-25px;
    left:-25px;

    background:var(--green);

    border-radius:var(--radius);

    z-index:-1;
}

.about-image::after{
    content:"";

    position:absolute;

    width:90%;
    height:90%;

    bottom:-25px;
    right:-25px;

    background:#B8C18A; /* lighter olive */

    border-radius:var(--radius);

    z-index:-1;
}

.benefits{
    padding:8rem 0;
    background:var(--light-bg);
}

.benefit-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:2rem;
    margin-top:4rem;
}

.benefit-card{
    background:#fff;
    padding:2rem;
    border-radius:24px;
    border:1px solid rgba(0,0,0,.08);
    transition:.3s ease;
    display:flex;
    flex-direction:column;
}

.benefit-card:hover{
    transform:translateY(-6px);
    border-color:var(--primary);
    box-shadow:0 18px 40px rgba(0,0,0,.08);
}

.benefit-icon{
    width:64px;
    height:64px;
    border-radius:18px;
    background:rgba(98,140,84,.08);
    color:var(--primary);
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:1.5rem;
}

.benefit-icon svg{
    width:30px;
    height:30px;
    stroke-width:1.8;
}

.benefit-card h3{
    margin-bottom:1rem;
}

.benefit-card p{
    color:#5f6662;
    line-height:1.75;
    flex:1;
}

.benefits-note{
    margin-top:5rem;
    padding:3rem;
    background:#fff;
    border-radius:28px;
    text-align:center;
    border:1px solid rgba(0,0,0,.08);
}

.benefits-note h3{
    margin-bottom:1rem;
}

.brain-map{

    padding:9rem 0;

    background:linear-gradient(
        180deg,
        #f9faf7 0%,
        #edf3e8 100%
    );

}

.brain-map-grid{

    display:grid;

    grid-template-columns:1fr 1.2fr;

    gap:5rem;

    align-items:center;

}

.brain-circle{

    width:360px;

    height:360px;

    border-radius:50%;

    background:white;

    display:flex;

    justify-content:center;

    align-items:center;

    box-shadow:
    0 25px 60px rgba(0,0,0,.08);

    margin:auto;

    position:relative;

}

.brain-circle::before{

    content:"";

    position:absolute;

    inset:-25px;

    border-radius:50%;

    border:1px solid rgba(107,134,81,.18);

}

.brain-circle img{

    width:100%;

}

.brain-content h2{

    margin:1rem 0 2rem;

}

.lead{

    font-size:1.15rem;

    line-height:1.9;

    margin-bottom:3rem;

}

.brain-features{

    display:flex;

    flex-direction:column;

    gap:2rem;

}

.brain-feature{

    display:flex;

    gap:1.5rem;

    align-items:flex-start;

}

.brain-circle:hover{

    animation:brainHover 2s ease-in-out infinite;

}

@keyframes brainHover{

    0%,100%{
        transform:translateY(0) scale(1.03);
    }

    50%{
        transform:translateY(-8px) scale(1.05);
    }

}

.feature-icon{

    width:70px;

    height:70px;

    border-radius:18px;

    background:white;

    display:flex;

    justify-content:center;

    align-items:center;

    flex-shrink:0;

    box-shadow:0 10px 25px rgba(0,0,0,.06);

}

.feature-icon svg{

    width:30px;

    height:30px;

    color:var(--primary);

}

.brain-feature h3{

    margin-bottom:.5rem;

}

.brain-feature p{

    margin:0;

    line-height:1.8;

}

.brain-svg{

    width:82%;
    aspect-ratio:1;

}

.brain-svg svg{

    width:100%;
    height:100%;

}

.brain-outline{

    stroke:var(--primary);
    stroke-width:2;
    fill:none;

    animation:breathe 6s ease-in-out infinite;

}

.node{

    fill:var(--primary);

    animation:pulse 4s infinite;

}

.connection{

    stroke:#7E9A63;
    stroke-width:2;
    fill:none;
    stroke-linecap:round;

    stroke-dasharray:8 12;

    animation:flow 8s linear infinite;

}

@keyframes breathe{

    0%,100%{

        transform:scale(1);

    }

    50%{

        transform:scale(1.02);

    }

}

@keyframes pulse{

    0%,100%{

        opacity:.45;

        transform:scale(1);

    }

    50%{

        opacity:1;

        transform:scale(1.25);

    }

}

@keyframes flow{

    from{

        stroke-dashoffset:120;

    }

    to{

        stroke-dashoffset:0;

    }

}

/*========================================
    HOW IT WORKS
========================================*/

.how-it-works{
    background:#EEF2E2;
    padding:8rem 0;
}

/*========================================
    SECTION HEADING
========================================*/

.how-it-works .section-heading{
    max-width:700px;
    margin:0 auto 5rem;
    text-align:center;
}

.how-it-works .section-heading h2{
    max-width:14ch;
    margin:0 auto 2rem;
}

.how-it-works .section-heading p{
    max-width:650px;
    margin:0 auto;
}

/*========================================
    TIMELINE
========================================*/

.timeline{

    display:grid;

    grid-template-columns:repeat(4, 260px);

    gap:2rem;

    width:fit-content;

    margin:5rem auto 0;
}


.process-timeline{

    display:grid;

    grid-template-columns:repeat(4,260px);

    gap:2rem;

    justify-content:center;

    margin:5rem auto 0;

}

/* Remove this later if we decide not to use it */
/*
.timeline::before{
    content:"";
    position:absolute;
    top:65px;
    left:12%;
    width:76%;
    height:2px;
    background:#cfd6b8;
}
*/

/*========================================
    STEP CARD
========================================*/

.step{

    flex:0 0 260px;   /* Fixed width */
    width:260px;      /* Explicit width */
    height:520px;
 
    background:#fff;

    border-radius:var(--radius);

    box-shadow:var(--shadow-md);

    padding:2.5rem;

    display:flex;
    flex-direction:column;

    align-items:center;
    text-align:center;

}

.step:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-lg);
}

.step-icon{

    width:100px;
    height:100px;

    margin-bottom:2rem;

    flex:0 0 100px;

}

/*========================================
    STEP NUMBER
========================================*/

.step-number{
    display:flex;
    flex-direction:column;
    align-items:flex-end;

    line-height:1;
	color:#E9E5D8;
}

.step-number::before{
    content:"STEP";

    font-size:.7rem;
    letter-spacing:2px;

    color:var(--green);

    margin-bottom:.25rem;
}
/*========================================
    ICON
========================================*/

.step-icon{

    width:100px;
    height:100px;

    margin:0 auto 2rem;

    border-radius:50%;

    border:2px solid var(--green);

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:2.3rem;
    color:var(--green);

    background:#fff;
}

/*========================================
    TEXT
========================================*/

.step h3{

    height:140px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0;

}

.step p{

    flex:1;

    display:flex;
    align-items:flex-start;
    justify-content:center;

    text-align:center;

    margin-top:1rem;

}

/*======================================
  RESULTS
======================================*/

.results{

    background:var(--bg-light);

    padding:9rem 0 10rem;

}

.results .container{

    max-width:1200px;

    margin:0 auto;

    text-align:center;

}

.results h2{

    margin:1.25rem 0 1.5rem;

}

.results .section-intro{

    max-width:760px;

    margin:0 auto 5rem;

}

/*======================================
  GRID
======================================*/

.results-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:2rem;

    margin-bottom:4rem;

}

.result-card{

    background:#fff;

    padding:2rem;

    border-radius:20px;

    box-shadow:0 10px 35px rgba(0,0,0,.06);

    transition:
        transform .35s ease,
        box-shadow .35s ease;

}

.result-card:hover{

    transform:translateY(-8px) scale(1.02);

    box-shadow:
        0 20px 45px rgba(0,0,0,.12),
        0 0 25px rgba(132,150,73,.45),
        0 0 55px rgba(132,150,73,.30),
        0 0 90px rgba(132,150,73,.18);

}

.result-card svg{

    color:var(--green);
	filter:drop-shadow(0 0 12px var(--green));
    transition:all .35s ease;

}

.result-card:hover svg{

    transform:scale(1.15);

    filter:
        drop-shadow(0 0 8px rgba(132,150,73,.8))
        drop-shadow(0 0 18px rgba(132,150,73,.6))
        drop-shadow(0 0 28px rgba(132,150,73,.4));

}

.result-card h3{

    margin-bottom:.75rem;

}

.result-card p{

    margin:0;

    color:var(--text-light);

}

/*======================================
  TIMELINE
======================================*/

.results-timeline{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:2rem;

    margin:3rem auto;

    max-width:800px;

}

.timeline-card{

    flex:1;

    background:#fff;

    padding:2rem;

    border-radius:20px;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

}

.number{

    display:block;

    font-size:3rem;

    font-weight:700;

    color:var(--green);

    margin-bottom:.5rem;

}

.timeline-card h4{

    margin-bottom:.75rem;

}

.timeline-divider{

    width:80px;

    height:3px;

    background:linear-gradient(
        to right,
        var(--green),
        rgba(0,0,0,.08)
    );

    border-radius:999px;

}

/*======================================
  FOOTNOTE
======================================*/

.results-note{

    max-width:700px;

    margin:5rem auto 0;

    padding-top:2.5rem;

    border-top:1px solid rgba(132,150,73,.12);

    font-size:.95rem;

    color:var(--text-light);

    line-height:1.9;

}

/*======================================
  SESSION
======================================*/

.session{

    padding:var(--space-3xl) 0;

    background:linear-gradient(
        to bottom,
        #ffffff,
        #f9faf7
    );

    overflow:hidden;

}

.session .container{

    max-width:1200px;

    margin:0 auto;

    text-align:center;

}

.session h2{

    margin-bottom:1rem;

}

.session{

    padding:9rem 0 7rem;

}

/*======================================
  TIMELINE
======================================*/

.timeline{

    position:relative;

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin:0 auto 5rem;

    max-width:1000px;

}

.timeline::before{

    content:"";

    position:absolute;

    top:36px;

    left:65px;

    right:65px;

    height:4px;

    background:#d8d8d8;

    border-radius:100px;

}

.timeline-progress{

    position:absolute;
    top:36px;
    left:65px;

    width:0%;

    height:4px;

    background:var(--green);

    border-radius:100px;

    transition:width 10s linear;

    z-index:1;

}

.timeline-step .circle{

    width:72px;
    height:72px;
    margin:0 auto;

    border-radius:50%;

    background:#fff;
    border:3px solid var(--green);

    display:flex;
    align-items:center;
    justify-content:center;

    transition:all .4s ease;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.timeline-step .circle svg{
    color:var(--green);
    transition:.35s ease;
}

.timeline-step.active .circle{

    background:var(--green);

    box-shadow:
        0 0 18px rgba(132,150,73,.35),
        0 0 40px rgba(132,150,73,.20);

    animation:timelinePulse 2s ease-in-out infinite;

}

.timeline-step.active .circle svg{
    color:#fff;
}

@keyframes timelinePulse{

    0%,100%{
        transform:scale(1);
        box-shadow:
            0 0 18px rgba(132,150,73,.35),
            0 0 40px rgba(132,150,73,.20);
    }

    50%{
        transform:scale(1.08);
        box-shadow:
            0 0 28px rgba(132,150,73,.60),
            0 0 60px rgba(132,150,73,.35);
    }

}



.timeline-step{

    position:relative;

    z-index:2;

    width:200px;

}

.timeline-step h3{

    margin-top:1rem;

    font-size:1rem;

}

.circle{

    width:72px;

    height:72px;

    margin:0 auto;

    border-radius:50%;

    background:white;

    border:3px solid var(--green);

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.4s ease;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.circle svg{

    width:30px;

    height:30px;

    color:var(--green);

    transition:.35s ease;

}

.timeline.animate .circle{

    box-shadow:
        0 0 18px rgba(132,150,73,.35),
        0 0 40px rgba(132,150,73,.20);

}

.timeline-step:hover .circle{

    transform:scale(1.08);

    box-shadow:
        0 0 22px rgba(132,150,73,.55),
        0 0 55px rgba(132,150,73,.35);

}

.timeline-step:hover svg{

    transform:scale(1.15);

}

/*======================================
  SESSION CARDS
======================================*/

.session-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:2rem;

    margin-bottom:4rem;

}

.session-card{

    background:white;

    padding:2rem;

    border-radius:22px;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

    transition:.35s ease;

}

.session-card svg{

    width:44px;

    height:44px;

    color:var(--green);

    margin-bottom:1rem;

    transition:.35s ease;

}

.session-card:hover{

    transform:translateY(-8px);

    box-shadow:
        0 18px 35px rgba(0,0,0,.12),
        0 0 30px rgba(132,150,73,.35),
        0 0 60px rgba(132,150,73,.20);

}

.session-card:hover svg{

    transform:scale(1.15);

    filter:
        drop-shadow(0 0 10px rgba(132,150,73,.7))
        drop-shadow(0 0 20px rgba(132,150,73,.45));

}

/*======================================
  FEATURE PILLS
======================================*/

.session-pills{

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:1rem;

    margin-bottom:4rem;

}

.session-pills span{

    display:flex;

    align-items:center;

    gap:.6rem;

    background:white;

    padding:.85rem 1.4rem;

    border-radius:999px;

    font-weight:600;

    box-shadow:0 8px 20px rgba(0,0,0,.05);

    transition:.3s ease;

}

.session-pills span:hover{

    transform:translateY(-4px);

    box-shadow:
        0 10px 25px rgba(0,0,0,.10),
        0 0 20px rgba(132,150,73,.25);

}

.session-pills svg{

    width:18px;

    height:18px;

    color:var(--green);

}

/*======================================
  QUOTE
======================================*/

.session-quote{

    max-width:900px;

    margin:auto;

    background:white;

    border-radius:28px;

    padding:3rem;

    box-shadow:0 10px 35px rgba(0,0,0,.06);

}

.session-quote blockquote{

    font-size:1.5rem;

    font-style:bold;

    margin-bottom:1.5rem;

    color:var(--text-dark);

}

.session-quote p{

    color:var(--text-light);

    line-height:1.8;

}
/*======================================
  SESSION
======================================*/

@media (max-width:1000px){

    .timeline{

        display:none;

    }

    .session-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media (max-width:700px){

    .session-grid{

        grid-template-columns:1fr;

    }

    .session-pills{

        justify-content:flex-start;

    }

    .session-quote{

        padding:2rem;

    }

    .session-quote blockquote{

        font-size:1.2rem;

    }

}

/*======================================
    TEAM
======================================*/

#team{

    padding:8rem 0 4rem;

    background:linear-gradient(
        180deg,
        #f8faf5 0%,
        #eef3e5 35%,
        #edf3e7 70%,
        #f5f7f1 100%
    );

}

.team-grid{

    display:flex;
    justify-content:center;
    gap:2rem;
    flex-wrap:wrap;

}

.team-card{

    background:#fff;

    padding:3rem 2.5rem;

    text-align:center;

    border-radius:30px;

    box-shadow:
        0 20px 45px rgba(0,0,0,.08),
        0 0 35px rgba(132,150,73,.10);

    transition:.35s;

}

.team-card:hover{

    transform:translateY(-8px);

    box-shadow:
        0 25px 60px rgba(248,250,245,1),
        0 0 35px rgba(132,150,73,1);

}


.team-card p{

    line-height:1.8;

    color:var(--text-light);

}

.portrait-frame{

    width:210px;
    height:210px;

    margin:0 auto 1.75rem;

    padding:8px;

    border-radius:50%;

    background:linear-gradient(
        145deg,
        #d9e3b6,
        var(--green),
        #66753d
    );

    box-shadow:
        0 15px 35px rgba(132,150,73,.30),
        inset 0 0 10px rgba(255,255,255,.45);

}

.team-photo{

    width:100%;
    height:100%;

    object-fit:cover;

    border-radius:50%;

    border:6px solid white;

    display:block;

}

.team-role{

    display:inline-block;

    padding:.55rem 1.2rem;

    margin:.75rem 0;

    background:rgba(132,150,73,.12);

    color:var(--green);

    border-radius:999px;

    font-weight:700;

}

.team-experience{

    margin:1rem 0 1.5rem;

    font-size:.95rem;

    color:var(--text-light);

}

#team .special{

    text-align:center;

    max-width:850px;

    margin:0 auto 4rem;

}

#team .special p{

    max-width:700px;

    margin:0 auto;

    color:var(--text-light);

    line-height:1.8;

}

.office-gallery{

    margin-top:-2rem;

    padding:4rem 0 8rem;

    background:linear-gradient(
        180deg,
        #f5f7f1 0%,
        #f7f8f4 35%,
        #f9faf7 100%
    );

}

.gallery-slider{

    position:relative;

    overflow:hidden;

    margin-top:3rem;

    border-radius:24px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

}

.gallery-track{
    display:flex;
    flex-wrap:nowrap;
    will-change:transform;
    transition:transform .8s cubic-bezier(.22,.61,.36,1);
}

.gallery-track img{

    cursor:zoom-in;
	width:100%;
    flex:0 0 100%;
    display:block;
    object-fit:cover;

    transition:
        transform .35s ease,
        filter .35s ease;

}

.gallery-track img:hover{

    transform:scale(1.02);

    filter:brightness(1.05);

}

.image-modal{

    

   

    animation:fadeIn .25s ease;

}

.image-modal img{

    max-width:92vw;

    max-height:90vh;

    border-radius:24px;

    box-shadow:
        0 30px 70px rgba(0,0,0,.45),
        0 0 40px rgba(125,141,72,.30);

}

.gallery-track img{

    min-width:100%;

    height:700px;

    object-fit:cover;

    display:block;

}

.gallery-slider{

    position:relative;
    overflow:hidden;
    border-radius:24px;

}

.gallery-btn{

    position:absolute;
    top:50%;
    transform:translateY(-50%);

    width:52px;
    height:52px;

    border:none;
    border-radius:50%;

    background:rgba(255,255,255,.9);

    color:var(--green);

    font-size:28px;

    cursor:pointer;

    transition:.3s ease;

    z-index:20;

    box-shadow:0 10px 25px rgba(0,0,0,.15);

}

.gallery-btn:hover{

    background:var(--green);
    color:white;

    transform:translateY(-50%) scale(1.08);

}

.gallery-btn.prev{

    left:20px;

}

.gallery-btn.next{

    right:20px;

}

/*==================================
    TESTIMONIALS
==================================*/

.reviews{

    padding:7rem 0;

    background:#5B684D;
}

.reviews .section-header{

    max-width:760px;

    margin:0 auto 4rem;

    text-align:center;
}

.reviews .section-tag{

    display:inline-block;

    margin-bottom:1rem;

    color:#D7B95D;

    font-family:var(--font-body);

    font-size:.85rem;

    font-weight:700;

    letter-spacing:.22em;

    text-transform:uppercase;
}

.reviews h2{

    margin-bottom:1.5rem;

    font-family:var(--font-heading);

    font-size:clamp(2.8rem,5vw,4.25rem);

    line-height:1.1;

    color:#F7F3E9;
}

.reviews .section-header p{

    max-width:650px;

    margin:0 auto;

    font-family:var(--font-body);

    font-size:1.1rem;

    line-height:1.8;

    color:rgba(247,243,233,.92);
}


/*==================================
    GRID
==================================*/

.reviews-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));

    gap:2rem;
}


/*==================================
    REVIEW CARD
==================================*/

.review-card{

    position:relative;

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    padding:2.75rem;

    border-radius:28px;

    background:#F7F3E9;

    border:1px solid rgba(215,185,93,.35);

    box-shadow:
        0 14px 35px rgba(0,0,0,.16);

    overflow:hidden;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease,
        background .35s ease;
}

.review-card:hover{

    transform:translateY(-8px);

    background:#FCFAF5;

    border-color:#D7B95D;

    box-shadow:
        0 24px 55px rgba(0,0,0,.22);
}


/* Gold accent */

.review-card::after{

    content:"";

    position:absolute;

    top:0;

    left:42px;

    width:80px;

    height:4px;

    background:#D7B95D;

    border-radius:999px;
}


/* Quote */

.review-card::before{

    content:"“";

    position:absolute;

    top:12px;

    left:22px;

    font-family:Georgia,serif;

    font-size:5.5rem;

    line-height:1;

    color:rgba(215,185,93,.28);

    pointer-events:none;
}


/*==================================
    REVIEW TEXT
==================================*/

.review-text{

    margin-top:1.25rem;

    margin-bottom:2rem;

    font-family:var(--font-body);

    font-size:0.9rem;

    font-weight:400;

    font-style:normal;

    line-height:1.9;

    color:#48523F;
}

.brain-left{

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:3rem;

}

.brainwave-chart:hover img{

    transform:translateY(-6px) scale(1.02);

    box-shadow:
        0 25px 50px rgba(0,0,0,.15),
        0 0 18px rgba(132,150,73,.35),
        0 0 35px rgba(132,150,73,.25),
        0 0 70px rgba(132,150,73,.15);

}

.brainwave-chart:active img{

    transform:scale(.98);

}

.image-modal{

    display:none;

    position:fixed;

    inset:0;

    z-index:9999;

    justify-content:center;

    align-items:center;

    cursor:zoom-out;

}

.image-modal.show{

    display:flex;

}

.image-modal img{

    max-width:90%;

    max-height:90%;

    border-radius:20px;

    box-shadow:
        0 0 40px rgba(132,150,73,.6);

    animation:zoomIn .3s ease;

}

.close-modal{

    position:absolute;

    top:30px;

    right:40px;

    color:white;

    font-size:42px;

    cursor:pointer;

}

@keyframes zoomIn{

    from{
        transform:scale(.7);
        opacity:0;
    }

    to{
        transform:scale(1);
        opacity:1;
    }

}

.brainwave-chart{

    width:100%;
    max-width:520px;

    margin:0 auto;

    border-radius:22px;

    cursor:pointer;

    transition:all .35s ease;

}

.brainwave-chart img{

    width:100%;

    display:block;

    border-radius:22px;

    border:1px solid rgba(132,150,73,.18);

    box-shadow:
        0 15px 40px rgba(0,0,0,.08);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        filter .35s ease;

}



.brainwave-chart img{

    width:100%;

    display:block;

    border-radius:20px;

    box-shadow:
        0 18px 45px rgba(0,0,0,.08);

    border:1px solid rgba(132,150,73,.15);

}

.review-notice {

    margin-top:1.25rem;

    margin-bottom:2rem;

    font-family:var(--font-body);

    font-size:0.8rem;

    font-weight:400;

    font-style:italic;

    line-height:1.9;

    color:#D7B95D;
	
	text-align:center;
}


/*==================================
    AUTHOR
==================================*/

.review-author{

    margin-top:auto;

    padding-top:1.5rem;

    border-top:1px solid rgba(215,185,93,.30);
}

.review-author strong{

    display:block;

    margin-bottom:.35rem;

    font-family:var(--font-body);

    font-size:1.05rem;

    font-weight:700;

    color:#3F4838;
}

.review-author span{

    display:block;

    font-family:var(--font-body);

    font-size:.92rem;

    color:#6C7561;
}


/*==================================
    MOBILE
==================================*/

@media (max-width:768px){

    .reviews{

        padding:5rem 0;
    }

    .reviews-grid{

        grid-template-columns:1fr;

        gap:1.5rem;
    }

    .review-card{

        padding:2rem;

        border-radius:22px;
    }

    .reviews h2{

        font-size:2.4rem;
    }

    .review-text{

        font-size:1rem;

        line-height:1.8;
    }

}

/*======================================
  FAQ
======================================*/

.faq{

    position:relative;

    padding:9rem 0;

    background:linear-gradient(
        to bottom,
        #fafbf8,
        #f3f6ed,
        #fafbf8
    );

    overflow:hidden;

}

.faq::before{

    content:"";

    position:absolute;

    inset:0;

    background:
        radial-gradient(
            circle at top,
            rgba(132,150,73,.08),
            transparent 60%
        );

    pointer-events:none;

}

.faq-grid{

    display:grid;

    grid-template-columns:1fr 1.15fr;

    gap:5rem;

    align-items:start;

}

/*======================================
  LEFT SIDE
======================================*/

.faq-info{

    position:sticky;

    top:120px;

    display:flex;

    flex-direction:column;

    align-items:center;

}

.faq-info h2{

    margin:1rem 0 2rem;

}

.faq-info .lead{

    margin-bottom:3rem;

    line-height:1.9;

}

.faq-graphic{

    width:260px;

    height:260px;

    margin-top:2rem;

    border-radius:50%;

    background:white;

    display:flex;

    justify-content:center;

    align-items:center;

    box-shadow:
        0 20px 45px rgba(0,0,0,.08);

    position:relative;

}

.faq-graphic::before{

    content:"";

    position:absolute;

    inset:-20px;

    border-radius:50%;

    border:1px solid rgba(132,150,73,.18);

}

.faq-graphic svg{

    width:120px;

    height:120px;

    color:var(--green);

    filter:drop-shadow(0 0 14px rgba(132,150,73,.35));

    animation:brainFloat 6s ease-in-out infinite;

}

/*======================================
  ACCORDION
======================================*/

.faq-list{

    display:flex;

    flex-direction:column;

    gap:1.25rem;

}

.faq-item{

    background:white;

    border-radius:22px;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

    overflow:hidden;

    transition:.35s ease;

}

.faq-item:hover{

    transform:translateY(-4px);

    box-shadow:
        0 15px 35px rgba(0,0,0,.10),
        0 0 24px rgba(132,150,73,.18);

}

.faq-question{

    width:100%;

    padding:1.5rem 2rem;

    border:none;

    background:none;

    cursor:pointer;

    display:flex;

    justify-content:space-between;

    align-items:center;

    text-align:left;

    font-size:1.1rem;

    font-weight:600;

}

.faq-question span{

    color:var(--heading);

}

.faq-question svg{

    width:22px;

    height:22px;

    color:var(--green);

    transition:.35s ease;

    flex-shrink:0;

}

.faq-answer{

    max-height:0;

    opacity:0;

    overflow:hidden;

    transition:
        max-height .45s ease,
        padding .45s ease,
        opacity .3s ease;

    padding:0 2rem;

}

.faq-answer p{

    color:var(--text-light);

    line-height:1.8;

    margin:0;

}

/*======================================
  ACTIVE ITEM
======================================*/

.faq-item.active{

    box-shadow:
        0 18px 40px rgba(0,0,0,.08),
        0 0 30px rgba(132,150,73,.22);

}

.faq-item.active .faq-answer{

    max-height:220px;

    opacity:1;

    padding:0 2rem 2rem;

}

.faq-item.active .faq-question svg{

    transform:rotate(45deg);

}

/*======================================
  CTA
======================================*/

.faq-cta{

    margin-top:6rem;

    text-align:center;

    background:white;

    padding:4rem;

    border-radius:30px;

    box-shadow:
        0 15px 40px rgba(0,0,0,.08);

}

.faq-cta h3{

    margin-bottom:1rem;

}

.faq-cta p{

    max-width:650px;

    margin:0 auto 2rem;

    color:var(--text-light);

}

.faq-cta .button{

    padding:1rem 2.75rem;

}

/*======================================
  ANIMATION
======================================*/

@keyframes brainFloat{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-10px);

    }

    100%{

        transform:translateY(0);

    }

}

/*======================================
  RESPONSIVE
======================================*/

@media (max-width:1000px){

    .faq-grid{

        grid-template-columns:1fr;

        gap:4rem;

    }

    .faq-info{

        position:static;

        text-align:center;

    }

    .faq-graphic{

        margin:2rem auto 0;

    }

}

@media (max-width:640px){

    .faq-question{

        padding:1.25rem 1.5rem;

        font-size:1rem;

    }

    .faq-answer{

        padding:0 1.5rem;

    }

    .faq-item.active .faq-answer{

        padding:0 1.5rem 1.5rem;

    }

    .faq-cta{

        padding:2.5rem 2rem;

    }

}

/*======================================
  CONTACT
======================================*/

#formSuccess{
    display:none;
}

.contact{

    padding:9rem 0;

    background:linear-gradient(
        180deg,
        #ffffff 0%,
        #f6f8f3 100%
    );

}

.contact-header{

    text-align:center;

    max-width:760px;

    margin:0 auto 5rem;

}

.contact-header h2{

    margin:1rem 0 2rem;

}

.contact-header .lead{

    line-height:1.9;

    color:var(--text-light);

}

.contact-quote p:first-child{

    position:relative;

    z-index:2;

}

.footer-brand{

    width:100%;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

    margin:4rem auto 2rem;

}

.footer-brand img{

    display:block;

    width:72px;

    height:72px;

}

.footer-brand::before{

    content:"";

    position:absolute;

    left:50%;

    top:18px;

    width:140px;

    height:140px;

    transform:translateX(-50%);

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(125,141,72,.35),
        transparent 70%
    );

    filter:blur(28px);

    animation:footerPulse 5s ease-in-out infinite;

}

.contact-quote p:first-child::after{

    content:"";

    position:absolute;

    left:50%;
    top:50%;

    width:120%;

    height:120%;

    transform:translate(-50%,-50%);

    background:radial-gradient(
        ellipse,
        rgba(125,141,72,.16),
        transparent 70%
    );

    filter:blur(18px);

    z-index:-1;

}

/*======================================
  GRID
======================================*/

.contact-grid{

    display:grid;

    grid-template-columns:1fr 1.1fr;

    gap:5rem;

    align-items:center;

}

/*======================================
  LEFT SIDE
======================================*/

.contact-info h3{
	
    margin-bottom:1rem;

}

.contact-info>p{

    margin-bottom:2.5rem;

    color:var(--text-light);

    line-height:1.8;

}

.contact-benefits{

    list-style:none;

    padding:0;

    margin:0 0 3rem;

}

.contact-benefits li{

    display:flex;

    align-items:center;

    gap:.9rem;

    margin-bottom:1rem;

    font-weight:600;

}

.contact-benefits svg{

    width:20px;

    height:20px;

    color:var(--green);

}

/*======================================
  CONTACT DETAILS
======================================*/

.contact-details{

    display:flex;

    flex-direction:column;

    gap:1.25rem;

}

.contact-detail{

    display:flex;

    align-items:center;

    gap:1.25rem;

    padding:1.5rem;

    background:white;

    border-radius:22px;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

    transition:.35s ease;

}

.contact-detail:hover{

    transform:translateY(-4px);

    box-shadow:
        0 18px 35px rgba(0,0,0,.10),
        0 0 22px rgba(132,150,73,.18);

}

.detail-icon{

    width:64px;

    height:64px;

    border-radius:18px;

    background:rgba(132,150,73,.10);

    display:flex;

    justify-content:center;

    align-items:center;

    flex-shrink:0;

}

.detail-icon svg{

    width:28px;

    height:28px;

    color:var(--green);

}

.contact-detail strong{

    display:block;

    margin-bottom:.35rem;

}

.contact-detail p{

    margin:0;

    color:var(--text-light);

}

/*======================================
  FORM CARD
======================================*/

.contact-form-card{

    background:white;

    padding:3rem;

    border-radius:30px;

    box-shadow:
        0 20px 45px rgba(0,0,0,.08);

}

.contact-form-card h3{

    margin-bottom:1rem;

}

.contact-form-card>p{

    color:var(--text-light);

    margin-bottom:2rem;

}

/*======================================
  FORM
======================================*/

.contact-form{

    display:flex;

    flex-direction:column;

    gap:1.25rem;

}

.contact-form input,

.contact-form textarea{

    width:100%;

    padding:1rem 1.25rem;

    border:1px solid rgba(0,0,0,.08);

    border-radius:16px;

    font:inherit;

    background:#fafafa;

    transition:.3s ease;

}

.contact-form textarea{

    resize:vertical;

    min-height:170px;

}

.contact-form input:focus,

.contact-form textarea:focus{

    outline:none;

    border-color:var(--green);

    background:white;

    box-shadow:
        0 0 0 4px rgba(132,150,73,.15);

}

.contact-form button{

    margin-top:1rem;

    align-self:center;

}

/*======================================
  QUOTE
======================================*/

.contact-quote{

    position:relative;

    margin-top:5rem;

    text-align:center;

    padding:3rem;

    border-radius:28px;

    background:#fff;

    box-shadow:
        0 20px 45px rgba(0,0,0,.08),
        0 0 25px rgba(125,141,72,.20),
        0 0 60px rgba(125,141,72,.10);

    overflow:hidden;

}

.contact-quote::before{

    content:"";

    position:absolute;

    inset:-35px;

    border-radius:40px;

    background:radial-gradient(
        ellipse at center,
        rgba(125,141,72,.35) 0%,
        rgba(125,141,72,.18) 40%,
        rgba(125,141,72,.08) 65%,
        transparent 80%
    );

    filter:blur(35px);

    z-index:-1;
	animation:quoteGlow 6s ease-in-out infinite;

}

.contact-quote p{

    margin:0;

}

.contact-quote p:first-child{

    font-family:var(--font-heading);

    font-size:1.5rem;

    font-weight:700;

    line-height:1.3;

    color:var(--green);

    text-shadow:
        0 1px 0 rgba(255,255,255,.8),
        0 0 12px rgba(125,141,72,.15);

}

.contact-quote p:last-child{

    margin-top:1rem;

    font-size:1.25rem;

    line-height:1.7;

    color:var(--green);

}

.quote-icon{

    display:block;

    width:48px;
    height:48px;

    margin:2rem auto 0;

    filter:
        drop-shadow(0 0 10px rgba(125,141,72,.45))
        drop-shadow(0 0 20px rgba(125,141,72,.25));

}

/*======================================
  RESPONSIVE
======================================*/

@media (max-width:1000px){

    .contact-grid{

        grid-template-columns:1fr;

        gap:4rem;

    }

}

@media (max-width:640px){

    .contact-form-card{

        padding:2rem;

    }

    .contact-detail{

        padding:1.25rem;

    }

    .detail-icon{

        width:54px;

        height:54px;

    }

    .contact-quote{

        padding:2rem;

    }

}

#submitBtn{

    position:relative;

    min-width:220px;

}

.spinner{

    display:none;

    width:18px;
    height:18px;

    border:3px solid rgba(255,255,255,.35);
    border-top:3px solid #fff;

    border-radius:50%;

    animation:spin .7s linear infinite;

    margin-left:12px;

}

#submitBtn.loading{

    pointer-events:none;
    opacity:.85;

}

#submitBtn.loading .spinner{

    display:inline-block;

}

#submitBtn.loading .btn-text{

    content:"Sending...";

}

@keyframes spin{

    to{

        transform:rotate(360deg);

    }

}

.success-card {
    display: none;

    flex-direction: column;
    justify-content: center;
    align-items: center;

    text-align: center;

    width: 100%;
    height: 100%;

    padding: 45px;

    background: #fff;

    border-radius: 20px;

    border-top: 6px solid var(--green);

    box-shadow: 0 20px 45px rgba(0,0,0,.08);

    opacity: 0;
    transform: translateY(25px);
    transition: opacity .45s ease, transform .45s ease;
}

.success-card.show {
    display: flex;
    opacity: 1;
    transform: translateY(0);
}

.success-card h3 {
    margin: 1.5rem 0 1rem;
    text-align: center;
}

.success-card p {
    max-width: 420px;
    margin: 0 auto;
    text-align: center;
    line-height: 1.8;
    color: var(--text-light);
}

.checkmark{

    width:70px;
    height:70px;

    margin:auto;

    border-radius:50%;

    background:var(--green);

    color:white;

    font-size:34px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:20px;

}

.footer-bottom{

    margin-top:4rem;
    padding-top:2rem;

    border-top:1px solid rgba(0,0,0,.08);

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;

    font-family:inherit;
    font-size:.95rem;
    font-weight:400;
    line-height:1.6;
    letter-spacing:.02em;

    color:var(--text);
}

.footer-bottom p{

    margin:0;
    color:inherit;

}

.footer-credit{

    color:var(--text-light);

}

.footer-credit:hover{

    color:var(--green);

}

@keyframes bounce{

}

.fade-up{

}

.fade{

}

/*==================================
    BUTTONS
==================================*/

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.5rem;

    padding:1rem 2rem;

    border-radius:var(--radius);

    font-family:var(--font-body);
    font-weight:600;
    font-size:1rem;

    cursor:pointer;

    transition:
        background var(--transition),
        color var(--transition),
        border-color var(--transition),
        transform var(--transition),
        box-shadow var(--transition);

    text-decoration:none;
}

/*==================================
    PRIMARY
==================================*/

.btn-primary{
    background:var(--green);
    color:var(--white);
    box-shadow:var(--shadow-sm);
}

.btn-primary:hover{
    background:var(--green-dark);
    transform:translateY(-3px);
    box-shadow:var(--shadow-md);
}

/*==================================
    OUTLINE
==================================*/

.btn-outline{
    border:2px solid var(--green);
    color:var(--green);
    background:transparent;
}

.btn-outline:hover{
    background:var(--green);
    color:var(--white);
    transform:translateY(-3px);
}

/*==================================
    LIGHT
==================================*/

.btn-light{
    background:var(--white);
    color:var(--green);
    box-shadow:var(--shadow-sm);
}

.btn-light:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow-md);
}

/*==================================
    FULL WIDTH
==================================*/

.btn-block{
    width:100%;
}

/*==================================
    FOCUS
==================================*/

.btn:focus-visible{
    outline:3px solid var(--green);
    outline-offset:4px;
}

/*==================================
    DISABLED
==================================*/

.btn:disabled{
    opacity:.6;
    cursor:not-allowed;
    transform:none;
}

.card{

}

.feature{

}

.process-card{

}

.info-card{

}

.stat-card{

}
.step{

    background:white;

    padding:2.5rem;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

    position:relative;

    transition:.35s;

    text-align:center;

}

.step:hover{

    transform:translateY(-10px);

}
.step-number{

    position:absolute;

    top:15px;
    right:20px;

    font-size:3rem;

    font-weight:700;

    

}
.step-icon{

    width:90px;
    height:90px;

    margin:auto;

    border-radius:50%;

    background:white;

    border:2px solid var(--green);

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:2rem;

    color:var(--green);

    margin-bottom:2rem;

}
.step h3{

    margin-bottom:1rem;

}

.step p{

    font-size:.95rem;

}

/*=============================
    Floating Navigation
=============================*/

.floating-nav{

    position:fixed;
    bottom:30px;
    right:30px;

    z-index:9999;

}

/* Brain Button */

.brain-button{

    width:70px;
    height:70px;

    border:none;
    border-radius:50%;

    background:#fff;

    cursor:pointer;

    display:flex;
    align-items:center;
    justify-content:center;

    box-shadow:
        0 0 20px rgba(125,141,72,.60),
        0 0 40px rgba(125,141,72,.45),
        0 0 70px rgba(125,141,72,.28);

    transition:.35s;
	animation:oliveGlow 4s ease-in-out infinite;
	position:relative;
    z-index:2;
}

@keyframes oliveGlow{

    0%,100%{

        box-shadow:
            0 0 18px rgba(125,141,72,.50),
            0 0 40px rgba(125,141,72,.35),
            0 0 65px rgba(125,141,72,.20);

    }

    50%{

        box-shadow:
            0 0 30px rgba(125,141,72,.75),
            0 0 60px rgba(125,141,72,.55),
            0 0 95px rgba(125,141,72,.35);

    }

}

/*======================================
    PROFILE MODAL - MOBILE
======================================*/

@media (max-width:768px){

    .profile-modal{

        padding:.75rem;

        align-items:flex-start;

        overflow-y:auto;

        -webkit-overflow-scrolling:touch;

    }

    .profile-modal-content{

        width:100%;

        max-width:100%;

        max-height:none;

        margin:1rem auto;

        padding:1.75rem 1.25rem;

        border-radius:22px;

        box-shadow:
            0 20px 45px rgba(0,0,0,.22),
            0 0 20px rgba(125,141,72,.22),
            0 0 40px rgba(125,141,72,.12);

    }

    /* Close Button */

    .profile-close{

        position:absolute;

        top:14px;

        right:14px;

        width:40px;

        height:40px;

        display:flex;

        justify-content:center;

        align-items:center;

        border-radius:50%;

        background:#EEF4E8;

        color:var(--green);

        font-size:1.4rem;

        transition:.3s ease;

    }

    .profile-close:hover{

        background:var(--green);

        color:#fff;

    }

    /* Header */

    .profile-header{

        display:flex;

        flex-direction:column;

        align-items:center;

        text-align:center;

        gap:.75rem;

        margin-bottom:1rem;

    }

    .profile-image{

        display:flex;

        justify-content:center;

    }

    .profile-image img{

        width:135px;

        height:135px;

        border-width:5px;

    }

    .profile-header h2{

        margin-bottom:.25rem;

        line-height:1.15;

    }

    .profile-role{

        margin:.15rem auto .5rem;

        padding:.45rem 1rem;

        font-size:.9rem;

    }

    .profile-tags{

        display:flex;

        justify-content:center;

        flex-wrap:wrap;

        gap:.45rem;

        margin-top:.35rem;

        margin-bottom:.25rem;

    }

    .profile-tags span{

        font-size:.82rem;

        padding:.4rem .8rem;

    }

    /* Content Sections */

    .profile-section{

        margin-top:1rem;

    }

    .profile-section h3{

        margin-bottom:.4rem;

        text-align:left;

        font-size:1.2rem;

    }

    .profile-section p{

        margin-bottom:.6rem;

        line-height:1.65;

    }

    .profile-list{

        margin:.4rem 0;

        padding-left:1.2rem;

    }

    .profile-list li{

        margin-bottom:.35rem;

        line-height:1.6;

    }

    /* CTA */

    .profile-cta{

        margin-top:1rem;

        width:100%;

    }

    .profile-cta .btn,

    .profile-cta button{

        width:100%;

    }

}

/*======================================
    SMALL PHONES
======================================*/

@media (max-width:480px){

    .profile-modal{

        padding:.5rem;

    }

    .profile-modal-content{

        margin:.5rem auto;

        padding:1.5rem 1rem;

        border-radius:20px;

    }

    .profile-image img{

        width:115px;

        height:115px;

    }

    .profile-header h2{

        font-size:1.6rem;

    }

    .profile-role{

        font-size:.82rem;

    }

    .profile-tags span{

        font-size:.75rem;

        padding:.35rem .65rem;

    }

    .profile-section{

        margin-top:.85rem;

    }

    .profile-section h3{

        font-size:1.1rem;

        margin-bottom:.35rem;

    }

    .profile-section p,

    .profile-list li{

        font-size:.92rem;

        line-height:1.6;

    }

    .profile-close{

        width:36px;

        height:36px;

        font-size:1.2rem;

    }

}

@keyframes haloPulse{

    0%,100%{
        transform:scale(.9);
        opacity:.6;
    }

    50%{
        transform:scale(1.15);
        opacity:1;
    }

}

.brain-button img{

     width:75px;
    height:75px;

}

.brain-button::before{

    content:"";

    position:absolute;

    inset:-18px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(125,141,72,.85) 0%,
        rgba(125,141,72,.45) 40%,
        rgba(125,141,72,.18) 65%,
        transparent 80%
    );

    z-index:-1;

    filter:blur(12px);

    animation:haloPulse 3.5s ease-in-out infinite;

}

/* Popup */

.floating-menu{

    position:absolute;

    bottom:90px;
    right:0;

    width:260px;

    padding:1.5rem;

    border-radius:20px;

    background:rgba(255,255,255,.95);

    backdrop-filter:blur(16px);

    box-shadow:
        0 20px 50px rgba(0,0,0,.18);

    display:flex;
    flex-direction:column;
    gap:.4rem;

    opacity:0;
    visibility:hidden;

    transform:
        translateY(20px)
        scale(.95);

    transition:.3s;

}

.floating-menu.open{

    opacity:1;
    visibility:visible;
    transform:
        translateY(0)
        scale(1);

}

.floating-menu h3{

    margin-bottom:1rem;
    color:var(--green);

}

.floating-menu a{
    display:flex;
    align-items:center;
    gap:14px;

    padding:.85rem 1rem;

    text-decoration:none;

    color:var(--text);

    border-radius:12px;

    transition:all .25s ease;
}

.floating-menu a i{

    width:22px;

    font-size:1.1rem;

    color:var(--green);

    text-align:center;

    transition:.25s;

}

.floating-menu a:hover{

    background:#eef4e8;

    color:var(--green);

    transform:translateX(6px);

}

.floating-menu a:hover i{

    transform:scale(1.15);

}

.floating-menu a.active{

    background:#eef4e8;

    color:var(--green);

    font-weight:600;

    border-left:4px solid var(--green);

}

.floating-menu a.active i{

    transform:scale(1.15);

}

.section-bubble{

    position:absolute;

    left:78px;
    top:50%;

    transform:translateY(-50%) translateX(-15px);

    opacity:0;

    transition:
        transform .45s cubic-bezier(.22,1,.36,1),
        opacity .35s;

}

.section-bubble::before{

    content:"";

    position:absolute;

    left:-10px;
    top:50%;

    width:20px;
    height:20px;

    transform:translateY(-50%) rotate(45deg);

    background:inherit;

    border-radius:4px;

}

.section-bubble{

    position:absolute;

    left:78px;
    top:50%;

    transform:translateY(-50%) translateX(-15px);

    opacity:0;

    transform:translateY(-50%) translateX(0);

    background:#fff;

    color:var(--green);

    padding:12px 22px;

    border-radius:999px;

    white-space:nowrap;

    box-shadow:0 15px 35px rgba(0,0,0,.18);

    z-index:10001;
	
	pointer-events: none;


}

.brain-button.pulse{

    animation:brainPulse .5s ease;

}

@keyframes brainPulse{

    0%{

        transform:scale(1);

        box-shadow:0 0 0 rgba(125,145,70,0);

    }

    40%{

        transform:scale(1.12);

        box-shadow:0 0 30px rgba(125,145,70,.45);

    }

    100%{

        transform:scale(1);

        box-shadow:0 0 0 rgba(125,145,70,0);

    }

}

@media (max-width:1200px){

    .container{

        padding-inline:2rem;

    }

    section{

        overflow:hidden;

    }

}

@media (max-width:992px){

    /* About */



    /* Process */

    .process-timeline{

        grid-template-columns:repeat(2,260px);

        justify-content:center;

    }

    /* Results */

    .results-grid{

        grid-template-columns:repeat(2,1fr);

    }

    /* FAQ */

    .faq-grid{

        grid-template-columns:1fr;

        gap:4rem;

    }

    .faq-info{

        position:static;

        text-align:center;

    }

    /* Contact */

    .contact-grid{

        grid-template-columns:1fr;

        gap:4rem;

    }
	
	/*======================================
    Brain Map
======================================*/

.brain-map-grid{

    grid-template-columns:1fr;

    gap:4rem;

}

.brain-circle{

    width:380px;
    height:380px;

    margin:0 auto;

}

.brain-content{

    text-align:center;

}

.brain-features{

    max-width:700px;

    margin:0 auto;

}
/*======================================
    About
======================================*/

.about-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:3rem;
    justify-items:center;
}

.about-content{
    order:2;
    width:100%;
    max-width:700px;
    margin:0 auto;
    justify-self:center;
    text-align:center;
}

.about-content > *{
    margin-left:auto;
    margin-right:auto;
}

.about-image{
    order:1;
    width:100%;
    max-width:260px;
    justify-self:center;
    margin:0 auto;
}

.about-image img{
    display:block;
    width:100%;
    height:auto;
}

.about-highlight{
    max-width:450px;
    margin:2rem auto;
}

.feature-list{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:1rem;
    padding:0;
    margin:2rem auto;
}

.feature-list li{
    width:fit-content;
    text-align:left;
}

.about-content .btn{
    display:flex;
    justify-content:center;
    width:100%;
    max-width:300px;
    margin:2rem auto 0;
}

}

@media (max-width:768px){
	
/*======================================
    Brain Map
======================================*/
.split-grid{

    grid-template-columns:1fr;

    gap:3rem;

}

.benefit-grid{
        grid-template-columns:1fr;
        gap:1.25rem;
    }

    .benefit-card{
        padding:1.5rem;
    }

	
}

@media (max-width:576px){

	.about-content h2{

    font-size:2rem;

    max-width:none;

    width:100%;

    margin:1rem auto 2rem;

    text-align:center;

}
	
    section{

        padding:5rem 0;

    }

    h1{

        font-size:2.2rem;

    }

    h2{

        font-size:2rem;

    }
	
	.number{

        white-space:nowrap;

    }
	
.session-pills{

    display:grid;

    grid-template-columns:repeat(2, max-content);

    justify-content:center;

    justify-items:center;

    gap:1rem;

}

.session-pills span{

    display:flex;

    align-items:center;

    justify-content:center;

    min-width:150px;

}
    .step{

    width:280px;

    height:380px;

    max-width:220px;

    min-height:400px;

    

    padding:2rem 1.5rem;

}
.step-icon{

    width:80px;
    height:80px;

    margin-bottom:1.5rem;

    font-size:2rem;

}
.step-icon{

    width:80px;
    height:80px;

    margin-bottom:1.5rem;

    font-size:2rem;

}
.step p{

    font-size:.95rem;

    line-height:1.7;

}
.process-timeline{

    gap:1.25rem;
grid-template-columns:1fr;

    justify-items:center;
}

    .result-card{

        padding:1.75rem;

    }

    .contact-form-card{

        padding:2rem;

    }

    .faq-cta{

        padding:2rem;

    }
	
	/*======================================
    Brain Map
======================================*/

.brain-circle{

    width:240px;
    height:240px;

}

.brain-content h2{

    font-size:2rem;

}

.brain-features{

    gap:2.5rem;

}

}

@media (max-width: 768px){

    .results-grid{
        grid-template-columns:1fr;
        gap:1.5rem;
    }

    .results-timeline{
        flex-direction:column;
        gap:1.5rem;
    }

    .timeline-divider{
        width:3px;
        height:60px;
    }

    .timeline-card{
        width:100%;
    }

}

/* ==================================
   HERO - MOBILE
================================== */

@media (max-width:768px){
	
	
	.hero{
        overflow:visible;
    }

    .hero{
        min-height:100svh;
        height:auto;

        padding:2rem 1.25rem 3rem;

        justify-content:flex-start;

    padding-top:2rem;
    }

    .hero-content{
        width:100%;
        max-width:100%;
        gap:.85rem;
    }

    .hero-brand{
        display:inline-flex;

        font-size:.85rem;
        letter-spacing:.18em;

        padding:.7rem 1.6rem;

        margin-bottom:.25rem;
    }

    .hero-title span{
        font-size:clamp(2.6rem,11vw,3.6rem);
        line-height:.88;
    }

    .hero-location{

    font-size:.75rem;

    letter-spacing:.06em;

    padding:.45rem .85rem;

    max-width:280px;

    margin:.4rem auto .8rem;
}

    .hero-subtitle{
        font-size:1.1rem;
        line-height:1.35;
    }

    .hero p{
        font-size:.95rem;
        line-height:1.55;

        max-width:320px;
    }

    .hero-buttons{
        flex-direction:column;

        width:100%;

        max-width:280px;

        gap:.75rem;
    }

    .hero-buttons .btn{
        width:100%;
    }

}

.about-content{

}

.about-image{

}

.process-grid{

}

.section-header{

}
.how-it-works{

    background:#eef2e2;

    padding:8rem 0;

}

.timeline-step .circle{

    background:#fff;
    border:3px solid var(--green);

    transition:
        background .5s ease,
        border-color .5s ease,
        transform .4s ease,
        box-shadow .4s ease;

}

.timeline-step .circle svg{

    color:var(--green);
    transition:color .4s ease;
}

.timeline-step.active .circle{

    background:var(--green);

    box-shadow:
        0 0 20px rgba(132,150,73,.55),
        0 0 45px rgba(132,150,73,.35);

    transform:scale(1.08);

}

.timeline-step.active .circle svg{

    color:#fff;

}

/*======================================
    Floating Navigation - Mobile
======================================*/

@media (max-width:768px){

    .floating-nav{
        bottom:20px;
        right:20px;
    }

    .brain-button{
        width:60px;
        height:60px;
    }

    .brain-button img{
        width:64px;
        height:64px;
    }

    .floating-menu{

        width:210px;

        padding:1rem;

        border-radius:16px;

        bottom:75px;
    }

    .floating-menu a{

        padding:.65rem .8rem;

        gap:10px;
    }

    .floating-menu a i{

        width:20px;
        height:20px;

        font-size:1rem;

        flex-shrink:0;
    }

    .floating-menu a span{

        font-size:.95rem;
    }

    .section-bubble{
        display:none;
    }

}

.profile-featured{

    margin:2rem 0;

}

.profile-featured-label{

    display:block;

    margin-bottom:.75rem;

    font-size:.8rem;

    letter-spacing:.18em;

    text-transform:uppercase;

    color:var(--green);

    font-weight:700;

}

.profile-featured-card{

    display:flex;

    align-items:center;

    gap:1rem;

    padding:1rem 1.25rem;

    background:#fff;

    border:1px solid rgba(125,141,72,.20);

    border-radius:18px;

    text-decoration:none;

    color:inherit;

    transition:.3s ease;

}

.profile-featured-card:hover{

    transform:translateY(-2px);

    border-color:var(--green);

    box-shadow:
        0 10px 30px rgba(125,141,72,.18);

}

.profile-featured-card img{

    width:48px;

    height:48px;

    object-fit:contain;

}

.profile-featured-card strong{

    display:block;

    font-family:var(--font-heading);

    font-size:1.1rem;

}

.profile-featured-card p{

    margin:.25rem 0 0;

    color:#666;

    font-size:.95rem;

}

.profile-featured-arrow{

    margin-left:auto;

    font-size:1.4rem;

    color:var(--green);

}

/* ======================================
   PROFILE MODAL MOBILE FIX
====================================== */

@media (max-width:768px){

    .profile-header{
        margin-bottom:1rem !important;
        padding-bottom:0 !important;
        gap:.75rem !important;
    }

    .profile-info{
        margin:0 !important;
        padding:0 !important;
    }

    .profile-role{
        margin:.25rem auto !important;
    }

    .profile-tags{
        margin:.5rem 0 !important;
    }

    .profile-section{
        margin:1rem 0 0 0 !important;
        padding:0 !important;
    }

    .profile-section h3{
        margin:0 0 .5rem 0 !important;
    }

    .profile-section p{
        margin:.5rem 0 !important;
    }

    .profile-list{
        margin:.5rem 0 !important;
        padding-left:1.25rem !important;
    }

    .profile-list li{
        margin:.35rem 0 !important;
    }

    .profile-cta{
        margin-top:1rem !important;
    }
	.profile-featured-card{

        padding:1rem;

        gap:.75rem;

    }

    .profile-featured-card img{

        width:40px;
        height:40px;

    }

}