/* =========================================================
   ROOT
========================================================= */
html{
    scroll-behavior:smooth;
}
:root{

    --green:#173f37;
    --green-light:#244f45;

    --gold:#c78a2e;
    --gold-light:#dfc9a3;

    --bg:#f8f4f1;
    --white:#ffffff;

    --text:#444;
    --text-light:#666;

    --border:#ece3d8;

    --radius-sm:18px;
    --radius-md:26px;
    --radius-lg:34px;

    --shadow-sm:0 8px 20px rgba(0,0,0,.04);
    --shadow-md:0 16px 40px rgba(0,0,0,.06);
    --shadow-lg:0 24px 70px rgba(0,0,0,.08);

    --space-xs:12px;
    --space-sm:18px;
    --space-md:28px;
    --space-lg:42px;
    --space-xl:70px;
    --space-2xl:110px;

    --container:1320px;

}

/* =========================================================
   RESET
========================================================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Inter',sans-serif;
    background:var(--white);
    color:var(--text);
    overflow-x:hidden;

    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

img{
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
}

a{
    text-decoration:none;
    transition:
    background-color .25s ease,
    border-color .25s ease,
    color .25s ease,
    transform .25s ease;
}

section{
    position:relative;
}

.container{
    width:min(var(--container),92%);
    margin:auto;
    position:relative;
}

/* =========================================================
   TYPOGRAPHY
========================================================= */

.eyebrow{
    display:inline-block;
    margin-bottom:24px;

    font-size:13px;
    font-weight:500;
    letter-spacing:.28em;

    color:var(--gold);
}

.section-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    height:42px;
    padding:0 20px;

    border-radius:999px;

    background:#f7efe6;

    color:var(--gold);

    font-size:12px;
    font-weight:600;
    letter-spacing:.18em;

    margin-bottom:28px;
}

.section-title{
    font-family:'Cormorant Garamond',serif;
    font-weight:500;
    line-height:1;
    letter-spacing:-.03em;

    color:var(--green);
}

.section-title span{
    color:var(--gold);
}

/* =========================================================
   TOPBAR
========================================================= */

.topbar{
    position:sticky;
    top:0;
    z-index:50;

    background:rgba(255,255,255,.9);

    backdrop-filter:blur(12px);

    border-bottom:1px solid #ece7e2;
}

.nav-wrap{
    height:100px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:40px;
}

.logo img{
    height:76px;
    width:auto;
}

.nav{
    display:flex;
    align-items:center;
    gap:38px;
}

.nav a{
    position:relative;

    font-size:15px;
    color:#222;
}

.nav a::after{
    content:'';

    position:absolute;
    left:0;
    bottom:-8px;

    width:0;
    height:1px;

    background:var(--green);

    transition:.25s ease;
}

.nav a:hover::after{
    width:100%;
}
/* =========================================================
   PHONE
========================================================= */

.nav-right{
    display:flex;
    align-items:center;
    gap:18px;
}

.top-phone{
    display:flex;
    align-items:center;
    gap:14px;

    padding:8px 10px 8px 8px;

    border-radius:999px;

    background:rgba(248,244,239,.75);

    border:1px solid rgba(23,63,55,.08);

    backdrop-filter:blur(10px);

    transition:
        transform .25s ease,
        background .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.top-phone:hover{
    transform:translateY(-2px);

    background:#fff;

    border-color:rgba(23,63,55,.14);

    box-shadow:
        0 10px 30px rgba(23,63,55,.08);
}

.phone-icon{
    width:44px;
    height:44px;

    border-radius:50%;

    background:
        linear-gradient(
            135deg,
            #1d4c38,
            #295949
        );

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;

    flex-shrink:0;

    box-shadow:
        0 6px 16px rgba(23,63,55,.18);
}

.phone-icon svg{
    width:18px;
    height:18px;
}

.phone-content{
    display:flex;
    flex-direction:column;

    padding-right:6px;
}

.phone-content small{
    font-size:10px;

    letter-spacing:.14em;
    text-transform:uppercase;

    color:#9a9084;

    margin-bottom:2px;
}

.phone-content strong{
    font-size:15px;
    font-weight:600;

    color:var(--green);

    letter-spacing:.01em;
}

/* MOBILE */

@media(max-width:992px){

    .phone-content{
        display:none;
    }

    .top-phone{
        width:48px;
        height:48px;

        padding:0;

        justify-content:center;
    }

}
/* =========================================================
   BUTTONS
========================================================= */

.btn-primary,
.btn-secondary{
    height:66px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    border-radius:18px;

    font-size:18px;
    font-weight:500;
}

.btn-primary{
    padding:0 34px;

    gap:16px;

    background:linear-gradient(
    180deg,
    #24563f 0%,
    #1d4c38 100%
    );

    color:#fff;

    box-shadow:
    0 10px 30px rgba(21,52,39,.18),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.btn-primary:hover{
    transform:translateY(-2px);
}

.btn-primary svg{
    width:24px;
    height:24px;
}

.btn-secondary{
    padding:0 28px;

    gap:14px;

    background:#fffaf5;

    border:1px solid var(--gold-light);

    color:#b48b43;
}

.btn-secondary:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-sm);
}

.play-icon{
    width:40px;
    height:40px;

    border-radius:50%;

    border:1px solid var(--gold-light);

    display:flex;
    align-items:center;
    justify-content:center;
}

.play-icon svg{
    width:16px;
    height:16px;
}

/* =========================================================
   HERO
========================================================= */

.hero{
    background:
    linear-gradient(
    to bottom,
    #fff,
    #fbf7f2
    );

    overflow:hidden;
}

.hero-grid{
    min-height:780px;

    display:grid;
    grid-template-columns:1.05fr .95fr;

    gap:60px;
    align-items:center;
}

.hero h1{
    font-family:'Cormorant Garamond',serif;

    font-size:72px;
    line-height:.92;
    font-weight:500;

    color:var(--green);

    letter-spacing:-.03em;

    margin-bottom:32px;
}

.hero h1 span{
    color:var(--gold);
}

.hero p{
    max-width:680px;

    font-size:17px;
    line-height:2;

    color:#555;

    text-align:justify;
}

.hero-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:18px;

    margin-top:42px;
}

.hero-image{
    position:relative;

    display:flex;
    justify-content:flex-end;
}

.hero-image img{
    max-width:600px;
    object-fit:contain;
}

.floating-badge{
    position:absolute;
    top:35px;
    right:10px;

    width:145px;
    height:145px;

    border-radius:50%;

    background:
    linear-gradient(
    135deg,
    #173f37,
    #244f45
    );

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;

    padding:24px;

    font-size:12px;
    line-height:1.6;

    box-shadow:
    0 15px 35px rgba(23,63,55,.2);
}

/* =========================================================
   FEATURES
========================================================= */

.features{
    padding:28px 0;

    background:#f8f4f1;

    border-top:1px solid #eee7e3;
    border-bottom:1px solid #eee7e3;
}

.features-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
}

.feature-item{
    min-height:92px;

    display:flex;
    align-items:center;

    gap:20px;

    padding:0 34px;

    border-right:1px solid #e5ddd8;
}

.feature-item:last-child{
    border-right:none;
}

.icon-circle{
    width:64px;
    height:64px;

    min-width:64px;

    border-radius:50%;

    background:#f3e8e2;

    display:flex;
    align-items:center;
    justify-content:center;
}

.icon-circle svg{
    width:34px;
    height:34px;
}

.feature-text{
    font-size:14px;
    line-height:1.6;

    color:#374036;
}

/* =========================================================
   PROGRAMS
========================================================= */

.programs{
    padding:100px 0 50px;
    background:#fff;
}

.programs-layout{
    display:grid;
    grid-template-columns:340px 1fr;

    gap:42px;
    align-items:start;
}

.programs-left{
    padding-top:34px;
}

.programs h2{
    max-width:320px;

    margin:16px 0 40px;

    font-family:'Cormorant Garamond',serif;

    font-size:46px;
    line-height:1.04;
    font-weight:500;

    color:var(--green);

    letter-spacing:-.03em;
}

.programs h2 span{
    color:var(--gold);
}

.programs-link{
    display:inline-flex;
    align-items:center;

    gap:14px;

    color:var(--green);
}

.programs-link svg{
    width:22px;
    height:22px;
}

.programs-right{
    display:grid;
    grid-template-columns:repeat(5,1fr);

    gap:16px;
}

/* =========================================================
   PROGRAM CARD
========================================================= */

.program-card{
    position:relative;

    height:370px;

    border-radius:26px;

    overflow:hidden;

    cursor:pointer;
}

.program-card img{
    width:100%;
    height:100%;

    object-fit:cover;

    transition:transform .5s ease;
}

.program-card:hover img{
    transform:scale(1.06);
}

.card-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
    to top,
    rgba(23,63,55,.58) 0%,
    rgba(23,63,55,.18) 45%,
    rgba(23,63,55,.04) 100%
    );
}

.card-icon{
    position:absolute;
    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    width:86px;
    height:86px;

    border-radius:50%;

    background:rgba(255,255,255,.92);

    display:flex;
    align-items:center;
    justify-content:center;

    z-index:3;

    backdrop-filter:blur(6px);

    box-shadow:var(--shadow-md);
}

.card-icon svg{
    width:38px;
    height:38px;
}

.program-card span{
    position:absolute;
    left:20px;
    bottom:24px;

    color:#fff;

    font-size:15px;
    font-weight:500;

    z-index:3;
}

/* =========================================================
   TESTIMONIAL
========================================================= */

.testimonial-box{
    height:370px;

    border-radius:26px;

    padding:34px;

    background:
    linear-gradient(
    135deg,
    #173f37,
    #244f45
    );

    color:#fff;

    display:flex;
    flex-direction:column;
    justify-content:center;

    position:relative;

    overflow:hidden;
}

.quote-mark{
    font-size:52px;
    color:#d9a84f;

    margin-bottom:14px;
}

.testimonial-box p{
    max-width:280px;

    font-size:11px;
    line-height:1.9;

    margin-bottom:22px;
}

.testimonial-box strong{
    color:#d9a84f;

    font-size:14px;
    font-weight:500;
}

.dots{
    display:flex;
    gap:8px;

    margin-top:28px;
}

.dots span{
    width:8px;
    height:8px;

    border-radius:50%;

    background:rgba(255,255,255,.35);
}

.dots .active{
    background:#d9a84f;
}

/* =========================================================
   ABOUT
========================================================= */

.about-oliwia{
    padding:40px 0 110px;

    background:
    linear-gradient(
    to bottom,
    #fbf8f5 0%,
    #fff 100%
    );
}

.about-card{
    position:relative;

    padding:70px;

    background:#fff;

    border:1px solid #efe7df;
    border-radius:34px;

    box-shadow:var(--shadow-md);

    overflow:hidden;
}

.about-grid{
    display:grid;
    grid-template-columns:420px 1fr;

    gap:70px;
    align-items:center;
}

.about-photo-wrap{
    position:relative;
}

.about-photo{
    height:620px;

    object-fit:cover;

    border-radius:28px;

    box-shadow:var(--shadow-md);
}

.about-circle{
    position:absolute;
    left:-35px;
    bottom:40px;

    width:140px;
    height:140px;

    border-radius:50%;

    background:
    linear-gradient(
    135deg,
    #173f37,
    #244f45
    );

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;

    font-size:18px;
    line-height:1.45;

    box-shadow:
    0 20px 40px rgba(23,63,55,.22);
}

.about-right h2{
    margin-bottom:22px;

    font-family:'Cormorant Garamond',serif;

    font-size:41px;
    line-height:1;
    font-weight:500;

    color:var(--green);

    letter-spacing:-.03em;
}

.about-right h2 span{
    color:var(--gold);
}

.about-text{
    display:flex;
    flex-direction:column;
    gap:24px;
}

.about-text p{
    font-size:15px;
    line-height:2;

    color:#4f4f4f;

    text-align:justify;
}

/* =========================================================
   MISSION
========================================================= */

.mission-section{
    padding:0 0 110px;

    background:
    linear-gradient(
    to bottom,
    #fff 0%,
    #f9f6f2 100%
    );
}

.mission-card{
    background:#fff;

    border:1px solid #efe7df;
    border-radius:34px;

    padding:70px;

    box-shadow:var(--shadow-md);
}

.mission-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 420px;

    gap:70px;
    align-items:start;
}

.mission-top{
    margin-bottom:50px;
}

.mission-top h2{
    font-family:'Cormorant Garamond',serif;

    font-size:42px;
    line-height:1;
    font-weight:500;

    color:var(--green);

    letter-spacing:-.03em;
}

.mission-top h2 span{
    color:var(--gold);
}

.mission-column{
    margin-bottom:34px;
}

.mission-column p{
    font-size:15px;
    line-height:2;

    color:#4e4e4e;

    text-align:justify;
}

.mission-tags{
    display:flex;
    flex-wrap:wrap;

    gap:14px;

    margin-top:48px;
}

.mission-tags span{
    height:46px;

    padding:0 22px;

    border-radius:999px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    background:#f7f3ee;

    border:1px solid #ece3d8;

    font-size:14px;

    color:#355048;
}

/* =========================================================
   MISSION SIDE
========================================================= */

.mission-photo-wrap{
    position:sticky;
    top:120px;
}

.mission-photo{
    height:720px;

    object-fit:cover;

    border-radius:32px;

    box-shadow:
    0 20px 60px rgba(0,0,0,.10);
}

.mission-side-card{
    position:absolute;
    left:-30px;
    bottom:40px;

    padding:20px 24px;

    border-radius:22px;

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(10px);

    box-shadow:var(--shadow-md);
}

.mission-side-card span{
    display:block;

    margin-bottom:10px;

    font-size:12px;
    letter-spacing:.12em;
    text-transform:uppercase;

    color:#7b857b;
}

.mission-side-card strong{
    font-size:16px;
    line-height:1.6;

    color:var(--green);
}

/* =========================================================
   FOOTER
========================================================= */

.footer{
    padding:34px 0 60px;

    text-align:center;

    font-size:14px;

    color:#777;

    border-top:1px solid #ececec;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1200px){

    .programs-layout,
    .about-grid,
    .mission-layout{
        grid-template-columns:1fr;
    }

    .programs-right{
        grid-template-columns:repeat(2,1fr);
    }

    .mission-photo-wrap{
        position:relative;
        top:auto;
    }

}

@media(max-width:992px){

    .nav{
        display:none;
    }

    .phone-content{
        display:none;
    }

    .top-phone{
        width:46px;
        height:46px;

        padding:0;

        justify-content:center;

        border-radius:50%;
    }

    .hero-grid{
        grid-template-columns:1fr;

        min-height:auto;

        padding:60px 0;
    }

    .hero-content{
        text-align:center;
    }

    .hero p{
        margin:auto;
        text-align:center;
    }

    .hero-actions{
        justify-content:center;
    }

    .hero-image{
        justify-content:center;
        margin-top:20px;
    }

    .floating-badge{
        display:none;
    }

    .features-grid{
        grid-template-columns:1fr 1fr;
    }

    .feature-item{
        padding:24px;

        border-right:none;
        border-bottom:1px solid #e5ddd8;
    }

}

@media(max-width:768px){

    .hero h1{
        font-size:58px;
    }

    .programs-right,
    .features-grid{
        grid-template-columns:1fr;
    }

    .program-card,
    .testimonial-box{
        height:340px;
    }

    .about-card,
    .mission-card{
        padding:34px 24px;

        border-radius:26px;
    }

    .about-photo,
    .mission-photo{
        height:420px;
    }

    .about-right h2,
    .mission-top h2{
        font-size:42px;
        line-height:1.05;
    }

    .mission-side-card{
        left:15px;
        bottom:15px;
    }

    .mission-tags span{
        width:100%;
        justify-content:center;
    }

}

@media(max-width:640px){

    .nav-wrap{
        height:84px;
    }

    .logo img{
        height:40px;
    }

    .hero{
        padding-top:20px;
    }

    .hero h1{
        font-size:52px;
    }

    .hero p{
        font-size:16px;
        line-height:1.9;
    }

    .hero-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .btn-primary,
    .btn-secondary{
        width:100%;
    }

}
/* ========================= */
/* PROCESS SECTION */
/* DODAJ DO style.css */
/* ========================= */

.process-section{
    position: relative;
    padding: 50px 0;
    background:
        linear-gradient(
            180deg,
            #f7f4ef 0%,
            #f3eee7 100%
        );
    overflow: hidden;
}

.process-section::before{
    content:"";
    position:absolute;
    top:-120px;
    right:-120px;
    width:420px;
    height:420px;
    background:rgba(183, 154, 120, .08);
    border-radius:50%;
    filter:blur(10px);
}

.process-header{
    max-width: 920px;
    margin: 0 auto 80px;
    text-align:center;
    position:relative;
    z-index:2;
}

.process-eyebrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 18px;
    border-radius:999px;
    background:#efe6db;
    color:#6d8b84;
    font-size:.78rem;
    font-weight:600;
    letter-spacing:.14em;
    margin-bottom:24px;
}

.process-header h2{
    font-family:'Cormorant Garamond', serif;
    font-size: clamp(2.6rem, 5vw, 3.3rem);
    line-height:1.05;
    font-weight:500;
    color:#173f37;
    margin-bottom:26px;
    letter-spacing:-0.03em;
}

.process-header h2 span{
    color:#9d7f63;
}

.process-header p{
    max-width:720px;
    margin:0 auto;
    color:#5f6f69;
    font-size:1.05rem;
    line-height:1.9;
}

.process-grid{
    position:relative;
    z-index:2;

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
}

.process-item{
    position:relative;
    background:rgba(255,255,255,.72);
    backdrop-filter:blur(12px);

    border:1px solid rgba(255,255,255,.7);

    border-radius:32px;
    padding:42px 32px;

    transition:.35s ease;

    box-shadow:
        0 10px 30px rgba(19,63,55,.05);
}

.process-item:hover{
    transform:translateY(-8px);

    box-shadow:
        0 20px 40px rgba(19,63,55,.10);
}

.process-number{
    position:absolute;
    top:22px;
    right:24px;

    font-size:.9rem;
    font-weight:600;
    color:#c5b09a;
    letter-spacing:.08em;
}

.process-icon{
    width:88px;
    height:88px;

    border-radius:50%;

    background:
        linear-gradient(
            135deg,
            #d5bea7 0%,
            #c8aa8d 100%
        );

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;

    margin-bottom:28px;

    box-shadow:
        0 14px 28px rgba(181,147,113,.22);
}

.process-icon svg{
    width:42px;
    height:42px;
}

.process-item h3{
    font-size:1.3rem;
    font-weight:600;
    color:#173f37;
    margin-bottom:16px;
}

.process-item p{
    color:#66756f;
    line-height:1.8;
    font-size:.97rem;
}

/* ========================= */
/* RESPONSIVE */
/* ========================= */

@media (max-width: 1100px){

    .process-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media (max-width: 700px){

    .process-section{
        padding:90px 0;
    }

    .process-grid{
        grid-template-columns:1fr;
        gap:22px;
    }

    .process-header{
        margin-bottom:50px;
    }

    .process-item{
        padding:36px 26px;
        border-radius:26px;
    }

    .process-icon{
        width:76px;
        height:76px;
    }

}

```css
/* =========================================================
   MISSION EXTRA
========================================================= */

.mission-extra{
    width:100%;

    margin-top:50px;
    padding-top:40px;

    border-top:1px solid #ece3d8;
}

.mission-extra p{
    margin:0 0 24px;

    font-size:16px;
    line-height:1.9;

    color:#536158;

    text-align:left;
}

.mission-extra p:last-child{
    margin-bottom:0;
}

/* =========================================================
   MISSION FIXES
========================================================= */

.mission-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 420px;

    gap:70px;
    align-items:start;
}

.mission-top{
    margin-bottom:50px;
}

.mission-top h2{
    font-family:'Cormorant Garamond',serif;

    font-size:42px;
    line-height:1.05;
    font-weight:500;

    color:var(--green);

    letter-spacing:-.03em;
}

.mission-top h2 span{
    color:var(--gold);
}

.mission-column{
    margin-bottom:34px;
}

.mission-column p{
    font-size:15px;
    line-height:2;

    color:#4e4e4e;

    text-align:left;

    margin-bottom:18px;
}

.mission-column p:last-child{
    margin-bottom:0;
}

.mission-tags{
    display:flex;
    flex-wrap:wrap;

    gap:14px;

    margin-top:48px;
}

.mission-tags span{
    min-height:46px;

    padding:12px 22px;

    border-radius:999px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    background:#f7f3ee;

    border:1px solid #ece3d8;

    font-size:14px;
    line-height:1.4;

    color:#355048;
}

/* =========================================================
   MISSION SIDE
========================================================= */

.mission-photo-wrap{
    position:sticky;
    top:120px;
}

.mission-photo{
    height:720px;

    object-fit:cover;

    border-radius:32px;

    box-shadow:
        0 20px 60px rgba(0,0,0,.10);
}

.mission-side-card{
    position:absolute;

    left:-30px;
    bottom:40px;

    padding:20px 24px;

    border-radius:22px;

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(10px);

    box-shadow:var(--shadow-md);
}

.mission-side-card span{
    display:block;

    margin-bottom:10px;

    font-size:12px;
    letter-spacing:.12em;
    text-transform:uppercase;

    color:#7b857b;
}

.mission-side-card strong{
    font-size:16px;
    line-height:1.6;

    color:var(--green);
}

/* =========================================================
   RESPONSIVE FIXES
========================================================= */

@media(max-width:1200px){

    .mission-layout{
        grid-template-columns:1fr;
    }

    .mission-photo-wrap{
        position:relative;
        top:auto;
    }

}

@media(max-width:768px){

    .mission-card{
        padding:34px 24px;
        border-radius:26px;
    }

    .mission-top h2{
        font-size:36px;
        line-height:1.1;
    }

    .mission-photo{
        height:420px;
    }

    .mission-side-card{
        left:15px;
        bottom:15px;
    }

    .mission-tags span{
        width:100%;
        justify-content:center;
    }

    .mission-extra{
        margin-top:34px;
        padding-top:28px;
    }

    .mission-extra p{
        font-size:15px;
        line-height:1.8;
    }

}


/* =========================
MISSION NEW LAYOUT
========================= */

.mission-intro-grid{
display:grid;
grid-template-columns:1.2fr .8fr;
gap:40px;
align-items:center;
margin-top:40px;
}

.mission-intro-text{
display:flex;
flex-direction:column;
gap:20px;
}

.mission-intro-text p,
.mission-text-box p{
font-size:16px;
line-height:1.9;
color:#4e5b50;
margin:0;
text-align:justify;
text-justify:inter-word;
}
.mission-intro-photo img{
width:100%;
height:100%;
max-height:520px;
object-fit:cover;
border-radius:28px;
box-shadow:0 20px 60px rgba(0,0,0,.08);
}

.mission-text-box{
margin-top:50px;
padding-top:40px;
border-top:1px solid rgba(0,0,0,.08);

display:flex;
flex-direction:column;
gap:22px;
}

.mission-tags{
margin-top:40px;
}

/* MOBILE */

@media (max-width: 900px){

.mission-intro-grid{
grid-template-columns:1fr;
}

.mission-intro-photo{
order:-1;
}

.mission-intro-photo img{
max-height:420px;
}

}
/* =========================
MISSION NEW LAYOUT
========================= */

.mission-content{
width:100%;
max-width:100%;
}

.mission-intro-grid{
display:grid;
grid-template-columns:1.2fr .8fr;
gap:40px;
align-items:center;
margin-top:40px;
}

.mission-intro-text{
display:flex;
flex-direction:column;
gap:20px;
}

.mission-intro-text p,
.mission-text-box p{
font-size:16px;
line-height:1.9;
color:#4e5b50;
margin:0;
}

.mission-intro-photo img{
width:100%;
height:100%;
max-height:520px;
object-fit:cover;
border-radius:28px;
box-shadow:0 20px 60px rgba(0,0,0,.08);
display:block;
}

.mission-text-box{
margin-top:50px;
padding-top:40px;
border-top:1px solid rgba(0,0,0,.08);

display:flex;
flex-direction:column;
gap:22px;
}

.mission-tags{
margin-top:40px;
display:flex;
flex-wrap:wrap;
gap:12px;
}

/* MOBILE */

@media (max-width: 900px){

    .mission-intro-grid{
        display:flex;
        flex-direction:column;
        gap:28px;
    }

    .mission-intro-photo{
        order:-1;
        width:100%;
    }

    .mission-intro-photo img{
        width:100%;
        max-height:320px;
        object-fit:cover;

        border-radius:24px;
    }

    .mission-intro-text{
        width:100%;
    }

    .mission-intro-text p,
    .mission-text-box p{
        text-align:left;
        line-height:1.8;
        font-size:15px;
    }

}


/* =========================================================
   MISSION
========================================================= */

.mission-content{
width:100%;
}

.mission-intro-grid{
display:grid;
grid-template-columns:1.2fr .8fr;
gap:40px;
align-items:center;
margin-top:40px;
}

.mission-intro-text{
display:flex;
flex-direction:column;
gap:22px;
}

.mission-intro-text p,
.mission-text-box p{
font-size:16px;
line-height:1.9;
color:#4e5b50;
margin:0;
text-align:justify;
}

.mission-intro-photo img{
width:100%;
display:block;

max-height:520px;
object-fit:cover;

border-radius:28px;

box-shadow:
0 20px 60px rgba(0,0,0,.08);
}

.mission-text-box{
margin-top:50px;
padding-top:40px;

border-top:1px solid rgba(0,0,0,.08);

display:flex;
flex-direction:column;
gap:22px;
}

.mission-extra{
margin-top:40px;
padding-top:32px;

border-top:1px solid #ece3d8;
}

.mission-extra p{
font-size:16px;
line-height:1.9;
color:#536158;

margin-bottom:20px;
}

.mission-extra p:last-child{
margin-bottom:0;
}

/* TAGS */

.mission-tags{
display:flex;
flex-wrap:wrap;
gap:12px;

margin-top:40px;
}

.mission-tags span{
display:inline-flex;
align-items:center;
justify-content:center;

min-height:46px;

padding:12px 22px;

border-radius:999px;

background:#f7f3ee;
border:1px solid #ece3d8;

font-size:14px;
line-height:1.4;

color:#355048;
}

/* =========================================================
   CONTACT MODAL
========================================================= */

body.modal-open{
    overflow:hidden;
}

/* MODAL */

.contact-modal{
    position:fixed;
    inset:0;

    z-index:9999;

    display:none;

    padding:20px;

    overflow-y:auto;

    background:rgba(0,0,0,.55);

    backdrop-filter:blur(6px);

    -webkit-overflow-scrolling:touch;
}

.contact-modal.active{
    display:flex;
    align-items:flex-start;
    justify-content:center;
}

/* BOX */

.contact-modal-box{
    position:relative;

    width:100%;
    max-width:720px;

    margin:40px 0;

    background:#fff;

    border-radius:32px;

    padding:50px;

    box-shadow:
        0 30px 80px rgba(0,0,0,.18);
}

/* CLOSE */

.contact-close{
    position:absolute;

    top:18px;
    right:18px;

    width:44px;
    height:44px;

    border:none;
    border-radius:50%;

    background:#f3f3f3;

    cursor:pointer;

    font-size:28px;
    line-height:1;

    transition:
        transform .25s ease,
        background .25s ease;
}

.contact-close:hover{
    background:#e7e7e7;
    transform:rotate(90deg);
}

/* HEADER */

.contact-modal-header{
    margin-bottom:34px;
}

.contact-modal-header span{
    display:inline-block;

    margin-bottom:10px;

    font-size:12px;
    font-weight:600;

    letter-spacing:.16em;
    text-transform:uppercase;

    color:#8b948a;
}

.contact-modal-header h3{
    font-family:'Cormorant Garamond',serif;

    font-size:46px;
    line-height:1;

    font-weight:500;

    color:var(--green);

    margin-bottom:14px;
}

.contact-modal-header p{
    font-size:15px;
    line-height:1.8;

    color:#5e685f;
}

/* FORM */

.contact-form{
    display:flex;
    flex-direction:column;

    gap:22px;
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;

    gap:20px;
}

.form-group{
    display:flex;
    flex-direction:column;

    gap:10px;
}

.form-group label{
    font-size:14px;
    font-weight:600;

    color:var(--green);
}

.form-group input,
.form-group textarea{
    width:100%;

    padding:16px 18px;

    border:1px solid #d8ddd8;
    border-radius:16px;

    background:#fff;

    font-family:inherit;
    font-size:15px;

    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}

.form-group textarea{
    resize:vertical;
    min-height:150px;
}

.form-group input:focus,
.form-group textarea:focus{
    outline:none;

    border-color:var(--green);

    box-shadow:
        0 0 0 4px rgba(23,63,55,.08);
}

/* CONSENT */

.form-consent{
    font-size:13px;
    line-height:1.7;

    color:#5d675e;
}

.checkbox-wrap{
    display:flex;
    align-items:flex-start;

    gap:12px;

    cursor:pointer;
}

.checkbox-wrap input{
    margin-top:4px;
}

/* SUBMIT */

.form-submit{
    height:58px;

    border:none;
    border-radius:18px;

    background:
        linear-gradient(
            180deg,
            #24563f 0%,
            #1d4c38 100%
        );

    color:#fff;

    font-size:15px;
    font-weight:600;

    cursor:pointer;

    transition:
        transform .25s ease,
        background .25s ease;
}

.form-submit:hover{
    transform:translateY(-2px);
}

/* =========================================================
   SUCCESS ALERT
========================================================= */

.form-alert{
    position:fixed;

    top:30px;
    right:30px;

    width:min(420px, calc(100% - 40px));

    background:#fff;

    border-radius:24px;

    padding:22px;

    display:flex;
    align-items:flex-start;

    gap:18px;

    z-index:100000;

    box-shadow:
        0 20px 60px rgba(0,0,0,.12);

    animation:alertIn .45s ease;
}

.success-alert{
    border-left:5px solid #2f7a4b;
}

.success-icon{
    width:52px;
    height:52px;

    flex-shrink:0;

    border-radius:50%;

    background:#e7f6ed;
    color:#2f7a4b;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:24px;
    font-weight:700;
}

.success-content strong{
    display:block;

    margin-bottom:6px;

    font-size:16px;

    color:var(--green);
}

.success-content p{
    font-size:14px;
    line-height:1.7;

    color:#5e685f;
}

.success-close{
    margin-left:auto;

    border:none;
    background:none;

    font-size:28px;

    cursor:pointer;

    color:#888;
}

/* =========================================================
   ANIMATION
========================================================= */

@keyframes alertIn{

    from{
        opacity:0;
        transform:translateY(-20px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width:768px){

    .contact-modal{
        padding:14px;
    }

    .contact-modal.active{
        align-items:flex-start;
    }

    .contact-modal-box{
        margin:20px 0;

        padding:26px 18px;

        border-radius:24px;
    }

    .contact-modal-header h3{
        font-size:34px;
        line-height:1.05;
    }

    .form-grid{
        grid-template-columns:1fr;
    }

    .form-alert{
        top:20px;
        right:20px;
        left:20px;

        width:auto;
    }

}
/* =========================================================
   MOBILE FIX — MISSION SECTION
========================================================= */

@media (max-width: 900px){

    .mission-intro-grid{
        display:flex !important;
        flex-direction:column !important;
        gap:24px !important;
    }

    .mission-intro-photo{
        width:100%;
        order:1;
    }

    .mission-intro-photo img{
        width:100%;
        max-height:320px;
        object-fit:cover;
        border-radius:24px;
        display:block;
    }

    .mission-intro-text{
        width:100%;
        order:2;
    }

.mission-intro-text p,
.mission-text-box p{
    text-align:justify;
    text-justify:inter-word;

    font-size:15px;
    line-height:1.8;

    hyphens:auto;
    -webkit-hyphens:auto;
    -ms-hyphens:auto;

    word-break:normal;
    overflow-wrap:break-word;
}

}
/* =========================================================
   MOBILE MENU
========================================================= */

.mobile-menu-toggle{
    display:none;

    width:48px;
    height:48px;

    border:none;
    border-radius:14px;

    background:#173f37;

    cursor:pointer;

    padding:12px;

    flex-direction:column;
    justify-content:center;
    gap:5px;

    box-shadow:
        0 10px 24px rgba(23,63,55,.18);
}

.mobile-menu-toggle span{
    display:block;

    width:100%;
    height:2px;

    background:#fff;

    border-radius:999px;

    transition:.25s ease;
}

/* MOBILE PANEL */

.mobile-menu{
    position:absolute;

    top:100%;
    left:0;
    right:0;

    background:#fff;

    padding:20px;

    display:none;
    flex-direction:column;

    gap:14px;

    border-bottom:1px solid #ece7e2;

    box-shadow:
        0 20px 40px rgba(0,0,0,.06);
}

.mobile-menu.active{
    display:flex;
}

.mobile-menu a{
    padding:14px 18px;

    border-radius:14px;

    background:#f7f4ef;

    color:#173f37;

    font-weight:500;
}

/* MOBILE */

@media(max-width:992px){

    .mobile-menu-toggle{
        display:flex;
    }

    .nav{
        display:none;
    }

}

/* =========================
THERAPY METHOD SECTION
========================= */

.therapy-method-section{

position: relative;
padding: 120px 20px;
overflow: hidden;
background:
linear-gradient(
180deg,
#f8f6f1 0%,
#f3efe7 100%
);

}

.therapy-method-bg{

position: absolute;
inset: 0;

background:
linear-gradient(
rgba(13,59,42,.82),
rgba(13,59,42,.82)
),
url('../img/therapy-bg.jpg');

background-size: cover;
background-position: center;

opacity: .10;

transform: scale(1.05);

}

.therapy-method-card{

position: relative;
z-index: 2;

max-width: 1050px;
margin: 0 auto;

background: rgba(255,255,255,.72);

backdrop-filter: blur(10px);

border: 1px solid rgba(255,255,255,.6);

border-radius: 34px;

padding: 70px;

box-shadow:
0 20px 60px rgba(0,0,0,.08);

}

.therapy-method-header{

text-align: center;
margin-bottom: 55px;

}

.therapy-badge{

display: inline-flex;
align-items: center;
justify-content: center;

padding: 10px 18px;

border-radius: 999px;

background: rgba(13,59,42,.08);

color: #0d3b2a;

font-size: .78rem;
font-weight: 700;
letter-spacing: .14em;

margin-bottom: 22px;

}

.therapy-method-header h2{

font-family: 'Cormorant Garamond', serif;

font-size: clamp(2.5rem, 5vw, 4.5rem);

line-height: 1.05;

color: #173f37;

margin-bottom: 18px;

font-weight: 600;

}

.therapy-method-header h2 span{

color: #7a8f77;

}

.therapy-method-header p{

max-width: 720px;
margin: 0 auto;

font-size: 1.05rem;
line-height: 1.8;

color: #4d5b57;

}

.therapy-method-content{

display: grid;
grid-template-columns: 4px 1fr;
gap: 38px;

align-items: start;

}

.therapy-method-line{

width: 4px;
height: 100%;

border-radius: 999px;

background:
linear-gradient(
180deg,
#0d3b2a 0%,
#91a68c 100%
);

}

.therapy-method-text{

display: flex;
flex-direction: column;
gap: 28px;

}

.therapy-method-text p{

font-size: 1.08rem;
line-height: 2;

color: #33413d;

margin: 0;

}

.therapy-method-text p:first-child{

font-size: 1.16rem;
font-weight: 500;

color: #173f37;

}

/* =========================
RESPONSIVE
========================= */

@media(max-width:768px){

.therapy-method-section{

padding: 80px 20px;

}

.therapy-method-card{

padding: 35px 26px;
border-radius: 26px;

}

.therapy-method-header{

margin-bottom: 35px;

}

.therapy-method-content{

grid-template-columns: 1fr;
gap: 24px;

}

.therapy-method-line{

width: 100%;
height: 4px;

}

.therapy-method-text p{

font-size: 1rem;
line-height: 1.9;

}

}