    :root {
        --cream: #EFE4C9;
        --cream-dk: #e9dec3;
        --cream-xdk: #D8C59A;

        --gold: #0B5D57;
        --gold-lt: #147C74;
        --gold-dk: #063D39;
        --gold-pale: #DCEEEA;

        --forest: #F26A63;
        --forest-lt: #FF8A84;
        --forest-dk: #D94F49;
        --forest-xdk: #B83B36;

        --dark: #1D1B18;
        --mid: #4E4A44;
        --light: #8A847A;

        --ff-head: 'Playfair Display', serif;
        --ff-body: 'Lato', sans-serif;

        --ease: .3s ease;
    }

    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    body {
        background: var(--cream);
        color: var(--dark);
        font-family: var(--ff-body);
        line-height: 1.7;
          opacity: 0;
  transition: opacity 0.35s ease;
    }

    body.menu-open {
        overflow: hidden;
    }
body.loaded {
  opacity: 1;
}
    a {
        text-decoration: none;
        color: inherit;
    }

    .container {
        width: min(1180px, 92%);
        margin: auto;
    }

    /* NAVBAR */

    nav {
        position: sticky;
        top: 0;
        z-index: 999;

        background: rgba(239, 228, 201, .92);
        backdrop-filter: blur(10px);

        border-bottom: 1px solid rgba(0, 0, 0, .06);

        height: 68px;
        /* same height */
        width: 100%;

        display: flex;
        align-items: center;

        box-shadow: 0 2px 24px rgba(0, 0, 0, .08);
    }

    .nav-wrap {
        width: 100%;
        max-width: 1440px;

        margin: 0 auto;
        padding: 0 60px;

        display: flex;
        justify-content: space-between;
        align-items: center;

        position: relative;
    }

    /* LOGO */

    .logo {
        font-family: var(--ff-head);
        font-size: 28px;
        font-weight: 700;

        color: var(--gold);

        line-height: 1;
        letter-spacing: .3px;
    }

    /* NAV LINKS */

    .nav-links {
        display: flex;
        align-items: center;

        gap: 32px;
        list-style: none;

        height: 100%;
    }

    .nav-links li {
        display: flex;
        align-items: center;

        height: 100%;
    }

    .nav-links a {
        display: flex;
        align-items: center;

        height: 100%;

        font-size: 11px;
        font-weight: 700;

        letter-spacing: 1.5px;
        text-transform: uppercase;

        color: rgba(44, 44, 44, .82);

        transition: var(--ease);

        white-space: nowrap;
    }

    .nav-links a:hover {
        color: var(--forest);
    }

    /* HAMBURGER BUTTON */

    .menu-toggle {
        display: none;

        width: 44px;
        height: 44px;

        border-radius: 12px;

        align-items: center;
        justify-content: center;

        cursor: pointer;

        background: rgba(11, 93, 87, .08);

        transition: var(--ease);
    }

    .menu-toggle:hover {
        background: rgba(11, 93, 87, .14);
    }

    /* HAMBURGER LINES */

    .menu-toggle span {
        position: relative;

        width: 22px;
        height: 2px;

        background: var(--gold);

        display: block;

        transition: var(--ease);
    }

    .menu-toggle span::before,
    .menu-toggle span::after {
        content: "";
        position: absolute;
        left: 0;

        width: 22px;
        height: 2px;

        background: var(--gold);

        transition: var(--ease);
    }

    .menu-toggle span::before {
        top: -7px;
    }

    .menu-toggle span::after {
        top: 7px;
    }

    /* ANIMATED CROSS */

    .menu-toggle.active span {
        background: transparent;
    }

    .menu-toggle.active span::before {
        transform: rotate(45deg);
        top: 0;
    }

    .menu-toggle.active span::after {
        transform: rotate(-45deg);
        top: 0;
    }

    /* MOBILE NAV */

    @media(max-width:992px) {

        .menu-toggle {
            display: flex;
        }

        .nav-wrap {
            padding: 0 24px;
        }

        .nav-links {
            position: absolute;

            top: 82px;
            right: 24px;

            width: 260px;

            background: rgba(243, 232, 203, .96);

            backdrop-filter: blur(16px);

            border: 1px solid rgba(0, 0, 0, .05);

            border-radius: 22px;

            padding: 24px;

            flex-direction: column;
            align-items: flex-start;

            gap: 8px;

            box-shadow:
                0 20px 50px rgba(0, 0, 0, .08);

            opacity: 0;
            visibility: hidden;

            transform:
                translateY(-12px) scale(.98);

            transition: all .35s ease;
        }

        .nav-links.active {
            opacity: 1;
            visibility: visible;

            transform:
                translateY(0) scale(1);
        }

        .nav-links li {
            width: 100%;
        }

        .nav-links a {
            width: 100%;

            padding: 14px 16px;

            border-radius: 12px;

            font-size: 12px;
            letter-spacing: 1.2px;

            transition: var(--ease);
        }

        .nav-links a:hover {
            background: rgba(11, 93, 87, .08);
        }

        .nav-links {
            display: flex;

            height: auto;
        }

        nav {
            overflow: visible;
        }

    }
@media (max-width: 768px) {

  .hero {
    padding: 60px 0;
  }

  .hero-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    text-align: center;
  }

  .hero-card {
    order: 0;
    margin-top: 20px;
  }

}

    /* HERO */

    .hero {
        padding: 120px 0;
    }

    .hero-grid {
        display: grid;
        grid-template-columns: 1.1fr .9fr;
        gap: 70px;
        align-items: center;
    }

    .hero small {
        text-transform: uppercase;
        letter-spacing: 3px;
        color: var(--forest);
        font-size: 12px;
        font-weight: 700;
    }

    .hero h1 {
        font-size: 72px;
        line-height: 1.1;
        margin: 20px 0 28px;
        font-family: var(--ff-head);
        color: var(--forest);
    }

    .hero h1 span {
        color: var(--gold);
    }

    .hero p {
        font-size: 18px;
        color: var(--mid);
        max-width: 620px;
    }

    .hero-card {
        background: #EADDBF;
        padding: 42px;
        border-radius: 30px;
        box-shadow: 0 20px 50px rgba(0, 0, 0, .06);
    }

    .hero-card h3 {
        font-family: var(--ff-head);
        color: var(--gold);
        margin-bottom: 24px;
        font-size: 34px;
    }

    .hero-card ul {
        list-style: none;
        display: grid;
        gap: 16px;
    }

    .hero-card li {
        position: relative;
        padding-left: 28px;
        color: var(--mid);
    }

    .hero-card li::before {
        content: '✓';
        position: absolute;
        left: 0;
        color: var(--forest);
        font-weight: 700;
    }

    /* SECTION */

    section {
        padding: 90px 0;
    }

    .section-head {
        text-align: center;
        margin-bottom: 60px;
    }

    .section-head span {
        text-transform: uppercase;
        letter-spacing: 2px;
        color: var(--forest);
        font-size: 12px;
        font-weight: 700;
    }

    .section-head h2 {
        font-family: var(--ff-head);
        font-size: 54px;
        margin-top: 14px;
        color: var(--gold);
    }

    .section-head p {
        max-width: 700px;
        margin: 18px auto 0;
        color: var(--mid);
    }

    /* LIFE STAGES */

    .stage-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 24px;
    }

    .stage-card {
        background: #EADDBF;
        padding: 34px 28px;
        border-radius: 24px;
        transition: var(--ease);
    }

    .stage-card:hover {
        transform: translateY(-8px);
    }

    .stage-card h3 {
        font-family: var(--ff-head);
        color: var(--forest);
        margin-bottom: 14px;
        font-size: 28px;
    }

    .stage-card p {
        color: var(--mid);
        font-size: 15px;
    }

    /* PLANS */

    .plans {
        background: var(--cream-dk);
    }

    .plans-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }

    .plan-card {
        background: #F3E8CB;
        padding: 42px 34px;
        border-radius: 28px;
        position: relative;
    }

    .featured {
        border: 2px solid var(--forest);
        transform: scale(1.03);
    }

    .badge {
        position: absolute;
        top: 20px;
        right: 20px;
        background: var(--forest);
        color: #fff;
        padding: 8px 14px;
        border-radius: 40px;
        font-size: 11px;
        letter-spacing: 1px;
    }

    .plan-card h3 {
        font-family: var(--ff-head);
        color: var(--gold);
        font-size: 40px;
    }

    .plan-sub {
        margin: 10px 0 26px;
        color: var(--mid);
    }

    .plan-card ul {
        list-style: none;
        display: grid;
        gap: 14px;
        margin-bottom: 34px;
    }

    .plan-card li {
        position: relative;
        padding-left: 28px;
        color: var(--mid);
    }

    .plan-card li::before {
        content: '✓';
        position: absolute;
        left: 0;
        color: var(--forest);
    }

    .price-list {
        display: grid;
        gap: 12px;
        margin-bottom: 30px;
    }

    .price-list div {
        display: flex;
        justify-content: space-between;
        border-bottom: 1px dashed rgba(0, 0, 0, .1);
        padding-bottom: 10px;
        font-weight: 700;
    }

    .btn {
        display: inline-block;
        width: 100%;
        text-align: center;
        padding: 16px 22px;
        background: var(--forest);
        color: #fff;
        border-radius: 50px;
        font-weight: 700;
        transition: var(--ease);
    }

    .btn:hover {
        background: var(--gold);
    }

    /* CTA */

    .cta {
        background: linear-gradient(135deg, var(--gold), var(--gold-dk));
        color: #fff;
        text-align: center;
        padding: 90px 60px;
        border-radius: 34px;
    }

    .cta h2 {
        font-family: var(--ff-head);
        font-size: 56px;
        margin-bottom: 20px;
    }

    .cta p {
        max-width: 700px;
        margin: auto;
        opacity: .95;
    }

    .cta .btn {
        width: auto;
        margin-top: 34px;
        background: #fff;
        color: var(--gold);
        padding: 16px 36px;
    }

    footer {
        padding: 50px 0;
        text-align: center;
        color: var(--light);
        font-size: 14px;
    }
    /* =========================
   FOOTER
========================= */

.footer{

    background:var(--gold);

    color:#fff;

    padding:80px 0 30px;
}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1.5fr;

    gap:50px;
}

.footer-col h3{

    font-family:var(--ff-head);

    font-size:32px;

    margin-bottom:20px;
}

.footer-col h4{

    margin-bottom:20px;

    font-size:18px;
}

.footer-col p{

    opacity:.9;

    line-height:1.8;
}

.footer-col ul{

    list-style:none;
}

.footer-col ul li{

    margin-bottom:12px;
}

.footer-col a{

    color:#fff;

    opacity:.9;

    transition:.3s ease;
}

.footer-col a:hover{

    opacity:1;

    color:var(--cream);
}

.footer-bottom{

    border-top:1px solid rgba(255,255,255,.15);

    margin-top:50px;

    padding-top:25px;

    text-align:center;

    font-size:14px;

    opacity:.8;
}

@media(max-width:992px){

    .footer-grid{

        grid-template-columns:1fr;

        gap:35px;
    }

}

    /* RESPONSIVE */

    @media(max-width:992px) {

        .hero-grid,
        .stage-grid,
        .plans-grid {
            grid-template-columns: 1fr;
        }

        .hero h1 {
            font-size: 52px;
        }

        .section-head h2 {
            font-size: 40px;
        }

        .featured {
            transform: none;
        }

    }

    /* =========================
   SCROLL ANIMATION
========================= */

    .hero-card,
    .stage-card,
    .plan-card,
    .section-head,
    .cta {
        opacity: 0;
        transform: translateY(40px);
        transition:
            opacity 0.8s ease,
            transform 0.8s ease;
    }

    /* ACTIVE STATE */

    .show {
        opacity: 1;
        transform: translateY(0);
    }

    /* STAGGER EFFECT */

    .stage-card:nth-child(2),
    .plan-card:nth-child(2) {
        transition-delay: 0.15s;
    }

    .stage-card:nth-child(3),
    .plan-card:nth-child(3) {
        transition-delay: 0.3s;
    }

    .stage-card:nth-child(4) {
        transition-delay: 0.45s;
    }
.about-photo{
    width:100%;
    max-width:350px;
    height:auto;
    display:block;
    margin:0 auto 20px;
}
/* ===================================
   ABOUT PAGE ONLY
=================================== */

.about-page .hero{
    padding-top:40px;
    padding-bottom:80px;
    min-height:auto !important;
}

.about-page .hero-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:50px;
    align-items:center;
}

.about-page .hero h1{
    font-size:78px;
    line-height:1.05;
}

.about-page .hero p{
    max-width:720px;
}

.about-page .hero .btn{
    margin-top:25px;
}

.about-page .about-photo{
    width: 75%;      /* Reduce size */
    height: auto;    /* Maintain aspect ratio */
    display: block;
    margin: 0 auto;  /* Center image */
}

.about-page .hero-card{
    padding:35px;
}

.about-page .hero-card h3{
    font-size:48px;
    margin-bottom:20px;
}

.about-page .hero-card ul{
    display:grid;
    gap:18px;
}

.about-page .hero-card li{
    font-size:18px;
}

/* MOBILE */

@media (max-width: 768px) {

  .hero {
    padding: 60px 0;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 30px;
    text-align: center;
  }

  .hero h1 {
    font-size: 3rem;
    line-height: 1.15;
    margin-bottom: 20px;
  }

  .hero h1 span {
    display: block;
    margin-top: 10px;
  }

  .hero p {
    font-size: 1rem;
    line-height: 1.8;
  }

  .hero-card {
    margin-top: 10px;
  }
/* 425px and below */

@media (max-width: 426px) {

  .hero {
    padding: 50px 0;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 25px;
    text-align: center;
  }

  .hero h1 {
    font-size: 2.8rem;
    line-height: 1.15;
    margin-bottom: 20px;
  }

  .hero h1 span {
    display: block;
    margin-top: 8px;
  }

  .hero p {
    font-size: 1rem;
    line-height: 1.7;
  }

  .hero-card {
    padding: 24px;
  }

  .hero-card h3 {
    font-size: 1.3rem;
  }

  .hero-card ul li {
    font-size: 0.95rem;
  }

  .section-head h2 {
    font-size: 2rem;
    line-height: 1.2;
  }

  .section-head p {
    font-size: 1rem;
  }

  .stage-grid,
  .plans-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .stage-card,
  .plan-card {
    padding: 24px;
  }

  .cta h2 {
    font-size: 2rem;
  }

  .cta p {
    font-size: 1rem;
  }

}
}
.about-page .hero{
    min-height:auto !important;
    height:auto !important;

    padding-top:30px;
    padding-bottom:40px;
}

.about-page .hero-grid{
    align-items:flex-start !important;
}

.about-page .hero-card{
    margin-top:0;
}
/* =========================
   CONSULTATION FORM
========================= */

.enquiry-form{
    max-width:900px;
    margin:0 auto;
    background:#F3E8CB;
    padding:40px;
    border-radius:30px;
    box-shadow:0 20px 50px rgba(0,0,0,.06);
}

.form-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}

.form-group{
    margin-top:20px;
}

.enquiry-form input,
.enquiry-form select,
.enquiry-form textarea{

    width:100%;

    padding:16px 18px;

    border:1px solid rgba(0,0,0,.08);

    border-radius:14px;

    background:#fff;

    font-family:var(--ff-body);

    font-size:15px;

    color:var(--dark);

    outline:none;

    transition:all .3s ease;
}

.enquiry-form input:focus,
.enquiry-form select:focus,
.enquiry-form textarea:focus{

    border-color:var(--forest);

    box-shadow:0 0 0 4px rgba(242,106,99,.15);
}

.enquiry-form textarea{

    resize:vertical;

    min-height:140px;
}

.enquiry-form input::placeholder,
.enquiry-form textarea::placeholder{

    color:var(--light);
}

.form-actions{

    margin-top:28px;

    display:flex;

    justify-content:center;
}

.form-actions .btn{

    width:auto;

    min-width:220px;

    padding:16px 36px;
}

/* =========================
   FORM HOVER EFFECT
========================= */

.enquiry-form:hover{

    transform:translateY(-3px);

    transition:.3s ease;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:768px){

    .enquiry-form{

        padding:25px;
    }

    .form-grid{

        grid-template-columns:1fr;
    }

    .form-actions .btn{

        width:100%;
    }

}
#book-consultation .section-head{
    margin-bottom:50px;
}

#book-consultation{
    padding-top:100px;
}
/* SUCCESS POPUP */

.success-popup{

    position:fixed;
    inset:0;

    background:rgba(0,0,0,.55);

    display:flex;
    justify-content:center;
    align-items:center;

    opacity:0;
    visibility:hidden;

    transition:.3s ease;

    z-index:9999;
}

.success-popup.show{

    opacity:1;
    visibility:visible;
}

.success-box{

    background:#F3E8CB;

    width:min(500px,90%);

    padding:40px;

    border-radius:24px;

    text-align:center;

    box-shadow:0 20px 60px rgba(0,0,0,.15);
}

.success-box h3{

    color:var(--gold);

    font-family:var(--ff-head);

    font-size:32px;

    margin-bottom:15px;
}

.success-box p{

    color:var(--mid);

    margin-bottom:25px;
}
/* WORKSHOP GALLERY */

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:24px;
}

.gallery-item{

    overflow:hidden;

    border-radius:24px;

    background:#fff;

    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.gallery-item img{

    width:100%;

    height:280px;

    object-fit:cover;

    display:block;

    transition:.4s ease;
}

.gallery-item:hover img{

    transform:scale(1.05);
}

@media(max-width:992px){

    .gallery-grid{

        grid-template-columns:1fr;
    }

}
.consult-contact-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
    margin:40px 0 50px;
}

.consult-contact-card{
    background:#ffffff;
    border:1px solid rgba(0,0,0,.08);
    border-radius:20px;
    padding:30px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.consult-icon{
    font-size:40px;
    margin-bottom:15px;
}

.consult-contact-card h3{
    margin-bottom:12px;
    font-size:1.4rem;
}

.consult-contact-card p{
    color:#666;
    margin-bottom:20px;
    line-height:1.6;
}

.contact-action-btn{
    display:inline-block;
    padding:12px 24px;
    border-radius:999px;
    text-decoration:none;
    color:#fff;
    font-weight:600;
    transition:.3s ease;
}

.whatsapp-btn{
    background:#25D366;
}

.whatsapp-btn:hover{
    transform:translateY(-2px);
}

.call-btn{
    background:#2d5c3f;
}

.call-btn:hover{
    transform:translateY(-2px);
}

@media(max-width:768px){

    .consult-contact-grid{
        grid-template-columns:1fr;
    }

}
.stage-card-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

.stage-card {
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.stage-card:hover {
  transform: translateY(-6px);
}
.hero h1{
    text-align: center;
}

.hero h1 .hero-highlight{
    display: block;
    color: #0d6b6b;
    margin-top: 12px;
    font-size: 0.9em;
}
@media (max-width: 768px) {

    .about-page .hero-grid {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .about-page .hero-card {
        margin-top: 20px;
        padding: 20px;
        height: auto;
        min-height: unset;
    }
    .about-page .about-photo {
        display: block;
        width: 100%;
        max-width: 320px;
        margin: 0 auto;
    }
}

