@charset "UTF-8"; 

@import url("core.min.css"); 
@import url("header.css"); 
@import url("plugins.min.css"); 
@import url("responsive.css");
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");

:root {
  /* Primary */
  --color-cream: #f3ecdc;
  --color-terracotta: #c65a2e;
  --color-forest-green: #4f6f52;
  --color-sand: #c9af93;
  --color-deep-brown: #441903;

  /* Accents */
  --color-sky-blue: #44acef;
  --color-teal: #04999e;

  /* Neutrals */
  --color-white: #ffffff;
  --color-black: #17130f;
  --color-dgray: #8A817B;
  --color-gray:#747d8c /* rgb(116, 125, 140) */;
  --font-primary: "Poppins", sans-serif;
  --font-secondary: "Playfair Display", sans-serif;
  --font-numbers: "Google Sans Flex", sans-serif;
  --font-size-nav : 14px;
}

*,*::before,*::after{box-sizing: border-box}html{scroll-behavior: smooth;scroll-padding-top: 85px}
html { width: 100% !important; height: 100% !important;  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; scroll-behavior: smooth; }
body{width:100% !important;height:100% !important;font:400 clamp(12px, 1.5vw, 14px)/1.7 var(--font-primary) !important;letter-spacing:.03em;color: var(--color-black); -moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;}
body { overflow-x: hidden; word-wrap: break-word; }
*:focus { outline: none; }
b, strong { font-weight: bold;}
ul{padding:0;margin:0;list-style:none}
section, footer { overflow: hidden; }
.wrapper {position: relative; }
.clearfix::after {  display: block; clear: both; content: ""; }

a { cursor: pointer;  color: inherit;  text-decoration: none } 
a:hover,a:active {  color: var(--color-terracotta);  text-decoration: none }

.preloader{position: fixed;top: 0;left: 0;right: 0;bottom: 0;z-index: 1000;display: flex;align-items: center;justify-content: center}.loading-container,.loading{height: 100px;position: relative;width: 100px;border-radius: 100%}.loading-container{margin: 40px auto}.loading{border: 1px solid transparent;border-color: transparent var(--color-black) transparent var(--color-black);animation: rotate-loading 1.5s linear 0s infinite normal;transform-origin: 50% 50%}.loading-container:hover .loading,.loading-container .loading{transition: all 0.5s ease-in-out}
#loading-icon{position: absolute;top: 50%;left: 50%;width: 66px;transform: translate(-50%, -50%)}@keyframes rotate-loading{0%{transform: rotate(0deg)}100%{transform: rotate(360deg)}}

h1, h2, h3, h4, h5, h6{font-family: var(--font-secondary);font-weight: 600;margin: 0 0 .8125rem;line-height: 1.3;letter-spacing: -.015em; -webkit-transition: all 0.3s ease-out 0s;-moz-transition: all 0.3s ease-out 0s;-ms-transition: all 0.3s ease-out 0s;-o-transition: all 0.3s ease-out 0s;transition: all 0.3s ease-out 0s}
h1{font-size: clamp(36px, 4vw, 64px);line-height: 1.1}h2{font-size: clamp(30px, 3vw, 48px);line-height: 1.15}h3{font-size: clamp(24px, 2.5vw, 36px);line-height: 1.2}h4{font-size: clamp(22px, 2vw, 30px);line-height: 1.25}h5{font-size: clamp(20px, 1.5vw, 24px);line-height: 1.3}h6{font-size: 18px;line-height: 1.4}

section { padding: clamp(2.5rem, 8vw, 6.25rem) 0;  }
p { margin-top: 0;  margin-bottom: 1rem; display: block !important; }

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: 1px solid #E8E8E8;
  opacity: 1;
}

.butn {
    background-color: var(--color-terracotta);
    border: none;
    color: var(--color-white);
    text-align: center;
    border-radius: 50rem;
    padding: 12px 20px; font-size: 14px;
    line-height: normal; 
    font-weight: 600; 
    position: relative;  
    letter-spacing: 1px;
    white-space: nowrap;
    transition: all 0.4s ease-in-out 0s;
    cursor: pointer;
}

.butn span { 
    position: relative
}

.butn:hover,.butn:focus,.butn:active {
    background: var(--color-black);
    color: var(--color-white)
}

.butn.yoga {
    background-color: var(--color-terracotta);
}

.butn.yoga:hover,.butn.yoga:focus,.butn.yoga:active {
    background: var(--color-black);
    color: var(--color-white);
}

.butn.outline {
  background: transparent;
  color: var(--color-white);
  font-weight: 600;
  display: inline-block;
  padding: 12px 20px;
  line-height: normal;
  font-size: 14px; 
  border-radius: 50px;
  border: 1px solid var(--color-white);
  letter-spacing: 2px;
}

.butn.outline:hover,.butn.outline:focus,.butn.outline:active {
    background: var(--color-terracotta);
  color: var(--color-white);
  border-color: var(--color-terracotta);
}

.butn.small {
    padding: 12px 20px !important;
    font-size: 14px;
    letter-spacing: 0.5px
}

.butn.medium {
    padding: 12px 24px !important;
}

@media screen and (max-width: 991px) {
    .butn {
        padding:14px 28px
    }

    .butn.medium {
        padding: 10px 22px
    }

    .butn.small {
        padding: 8px 18px
    }
}

/****/ 
.hero{position: relative;min-height: clamp(550px, 86vh, 775px); display: flex;align-items: center;overflow: hidden;background: linear-gradient(180deg,rgba(23, 19, 15, 0.65) 0%,rgba(23, 19, 15, 0.35) 40%,rgba(23, 19, 15, 0.92) 100%),url("../images/hero.webp") center center / cover no-repeat}.hero-overlay{position: absolute;inset: 0;z-index: 1;background: radial-gradient(circle at 50% 40%,transparent 0%,rgba(23, 19, 15, 0.12) 50%,rgba(23, 19, 15, 0.32) 100%);pointer-events: none}.hero-content{position: relative;z-index: 2;min-height: clamp(550px, 86vh, 775px);;padding-top: 8rem;padding-bottom: 6rem}
.eyebrow{display: inline-flex;align-items: center;gap: 12px;color: var(--color-terracotta);font-family: var(--font-primary);font-size: 11px;font-weight: 600;letter-spacing: 0.2em;text-transform: uppercase}.eyebrow::before{content: "";width: 38px;height: 1px;background: var(--color-terracotta)}
.hero h1{max-width: 56rem;color: var(--color-white)}.italic-gold{color: var(--color-terracotta);font-family: var(--font-secondary);font-style: italic;display: block;font-weight: 500}.hero-description{max-width: 760px;color: rgba(255, 255, 255, 0.78);font-family: var(--font-primary);font-size: 16px;font-weight: 300;line-height: 1.8}
.section-lead { color: var(--color-dgray); max-width: 720px; }

.hero-scroll {
            position: absolute;
            bottom: 30px;
            left: 50%;

            transform: translateX(-50%);

            color: rgba(255,255,255,.7);

            font-family: var(--font-numbers);
            font-size: 9px;
            font-weight: 600;

            letter-spacing: 2px;
            text-transform: uppercase;
        }

        .hero-scroll i {
            display: block;
            margin-top: 4px;
            text-align: center;
        }
        
/*****/
.marquee-section{width: 100%;overflow: hidden;background: var(--color-forest-green);padding: 15px 0}.marquee{width: 100%;overflow: hidden}.marquee-track{display: flex;width: max-content;animation: marquee 20s linear infinite}.marquee-group{display: flex;align-items: center;flex-shrink: 0}.marquee-text{display: inline-flex;align-items: center;white-space: nowrap;color: #fff;font-family: var(--font-secondary);font-size: 18px;font-weight: 500;padding: 0 20px}
.marquee-text::after{content: "✦";margin-left: 40px;color: #d4af37}
@keyframes marquee{from{transform: translateX(0)}to{transform: translateX(-50%)}}@media (max-width: 767px){.marquee-section{padding: 11px 0}.marquee-track{animation-duration: 15s}.marquee-text{font-size: 14px;padding: 0 20px}.marquee-text::after{margin-left: 40px}}


/****/ 
 

  .feature-card {
height: 100%;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 2rem;
  box-shadow: 0 12px 35px rgba(23,52,47,.06);
  transition: .25s ease;
}
.feature-card { border-radius:24px; }
.icon-box {
  width: 54px; height: 54px; border-radius: 16px;
  display: grid; place-items: center;
  background: var(--color-cream); color: var(--ink);
  font-size: 1.35rem;
  margin-bottom: 1.2rem;
}

/******/
.programs { background:  #f5f5f5;}

.program-1 {
background-image: url("../images/private-sessions.jpg");
}
.program-2 {
background-image: url("../images/meditation.jpg");
}
.program-3 {
background-image: url("../images/tt.jpg");
}
.program-4 {
background-image: url("../images/online.jpg");
}

.program-grid {
display: grid; margin: 0;
grid-template-columns: repeat(4, 1fr);
gap: 18px;
}
.program-card {
position: relative; margin: 0;
min-height: 420px;
overflow: hidden;
border-radius: 18px;
background: var(--color-dark);
}
.bg,
.program-card-image {
position: absolute;
background-position: center;
background-size: cover;
}
.program-card-image {
inset: 0;
transition: transform 0.7s;
}
.program-card:hover .program-card-image {
transform: scale(1.06);
}
.program-card::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(
to top,
rgba(4, 4, 20, 0.95),
rgba(4, 4, 20, 0.15) 70%
);
}
.program-content {
position: absolute;
left: 25px;
right: 25px;
bottom: 25px;
z-index: 3;
}
.program-number {
color: var(--color-cream);
font-size: 10px;
letter-spacing: 2px;
margin-bottom: 8px;
}
.program-content h3 {
color: var(--color-cream);
font-family: var(--font-secondary);
font-size: calc(1.275rem + .3vw);
margin-bottom: 8px;
}
.program-content p {
color: rgba(255, 255, 255, 0.68);
font-size: 12px;
line-height: 1.6;
margin-bottom: 17px;
}
.program-link {
color: var(--color-cream);
font-size: 11px;
letter-spacing: 1px;
}
.program-link i {
color: var(--color-peach);
margin-left: 5px;
}
.bg {
left: 0;
top: 0;
height: 100%;
width: 100%;
background-repeat: no-repeat;
}

/*****/
.counter-block-four { margin: 0; padding: 0;}
.counter-block-four .inner-box {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative; padding: 2rem ;
}

.count-box {
  font-size: 80px;
  font-weight: 400;
  font-family: var(--font-numbers);
  color: rgba(198, 90, 46, 0.75);
  display: block; 
  line-height: 1;
  position: relative;
  margin-bottom: 0;
}

/*
.count-box::after {
	background: var(--color-forest-green);
	width: 50px;
	height: 3px;
	display: block;
	content: "";
	margin: 20px auto;
}

*/

.counter-text { font-size: 1rem;  color:#787880;
    opacity: 0.75;
    display: block;}

/*****/
.testimonial-card {  padding: clamp(20px, 4vw, 45px); background: var(--color-white);  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08); overflow: hidden; }
.content-wrap {
  padding-bottom: clamp(15px, 3vw, 30px);
  gap: clamp(12px, 3vw, 32px) !important;
}
.star-wrap .star {
  color: #ff9e01;
  font-size: 14px;
}

.description { font-size:  clamp(12px, 1.3vw, 14px);}


/*****/
footer{ padding: 5rem 0 2rem; background: #232323; color: #828282;}
.footer-logo {position: relative; 
  display: block;}
.footer-logo img{ height: 50px;}

.social-share {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

.social-share a {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;  
    text-decoration: none;
    transition: all 0.3s ease;
}

.social-share a svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.social-share a:hover {
    color: var(--color-terracotta); 
}

/* Mobile */
@media (max-width: 991.98px) {
    .social-share {
        gap: 10px;
    }

    .social-share a {
        width: 36px;
        height: 36px;
    }

    .social-share a svg {
        width: 16px;
        height: 16px;
    }
}

/****/ 
.footer-title {
  font-family: var(--font-primary);
  font-size: 1rem;
  font-weight: 500;
  margin-bottom: 1.5rem;
  color: #ffffff;
  position: relative;
}
.footer-title::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 0;
  width: 40px;
  height: 2px;
  background: var(--color-cream);
}

.copyright {border-top: 1px solid #333333;  
	justify-content: space-between;
	align-items: center; padding: 10px 0;}
.copyright p { margin: 0 !important; padding: 0 !important;}
.line-divide-footer {
	height: 100%;
	width: 1px;
	background-color: #333333;
	margin: 0 auto;
}

.flower {
   
    position: absolute;
    top: 4px;
    right: 4px; background: url(../images/flower-vector.png) no-repeat top right;
}

#logo-footer {
	margin-bottom: 30px; display: block;
}
#logo-footer img {
 width: auto;
    max-width: 100%;
    height: 50px;
    transition: height 0.3s ease;
}

.footer-social {
	margin: 30px 0px 30px 0px; vertical-align:baseline;
}
.footer-social li {
	display: inline-block;
	margin-right: 20px;
}

.footer-social li img { height: 14px;width: auto; filter: brightness(0) invert(1);}

ul.footer-menu  {display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 20px;
    list-style: none;
    padding: 0;
    margin: 0; }

ul.footer-menu li {
    padding-bottom: 18px;
    margin-bottom: 13px; 
    position: relative;
    padding: 10px 10px 10px 25px;
    margin-bottom: 0;
    line-height: 20px;
}
ul.footer-menu li:before {
    content: "\f280";
    position: absolute;
    left: 0;
    top: 10px;
    display: block;
    font-family: bootstrap-icons!important;
}

.footer-contact {
    margin: 0;
    padding: 0;
}
  .footer-contact li, .footer-contact li > a {
    display: table;
    line-height: 1.5;
    margin-bottom: 15px;
    position: relative;
    padding-left: 40px;
    }

  .footer-contact li i{
    position: absolute;
    left: 0;
    top: 50%;
    width: 31px;
    text-align: left;
    transform: translateY(-50%);}
  

/****/
.site-breadcrumb {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: cover !important;
  position: relative;
  padding-top: 70px;
  padding-bottom: 50px;
  z-index: 1;
}

.site-breadcrumb::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background: var(--color-forest-green);
  opacity: 0.85;
  z-index: -1;
}

.site-breadcrumb .breadcrumb-title {
  font-size: 2rem;
  color: var(--color-white);
  font-weight: 700;
  margin-bottom: 10px;
  text-transform: capitalize;
}

.site-breadcrumb .breadcrumb-menu {
  position: relative;
  z-index: 1;
}

.site-breadcrumb .breadcrumb-menu li {
  position: relative;
  display: inline-block;
  margin-left: 25px;
  color: var(--color-white);
  font-weight: 500;
  text-transform: capitalize;
}

.site-breadcrumb .breadcrumb-menu li a {
  color: var(--color-white);
  transition: all 0.5s ease-in-out;
}

.site-breadcrumb .breadcrumb-menu li::before {
  position: absolute;
  content: '\f285';
  font-family: bootstrap-icons!important;
  right: -21px;
  top: 1px;
  text-align: center;
  font-size: 12px;
  color: var(--color-white);
}

.site-breadcrumb .breadcrumb-menu li:first-child {
  margin-left: 0;
}

.site-breadcrumb .breadcrumb-menu li:last-child:before {
  display: none;
}

.site-breadcrumb .breadcrumb-menu li a:hover {
  color: var(--color-terracotta);
}

.site-breadcrumb .breadcrumb-menu li.active {
  color: var(--color-sand);
}

@media (max-width: 991px) {
  .site-breadcrumb {
    padding-top: 230px;
  }
}

/****/
.two-column-text {
        column-count: 2;
        column-gap: 50px;
        text-align: justify;
    }

    @media (max-width: 767.98px) {
        .two-column-text {
            column-count: 1;
        }
    }

    .quote-card {
            position: relative;
            overflow: hidden; 
            border: 1px solid rgba(198, 90, 46, .2);
            border-radius: 28px;
            background: rgba(255, 255, 255, .78);
            backdrop-filter: blur(18px); 
        }

        .quote-card::before {
            content: "";
            position: absolute;
            width: 280px;
            height: 280px;
            border-radius: 50%;
            background: #C65A2E;
            opacity: .08;
            top: -150px;
            right: -100px;
        }

        .quote-content {
            position: relative;
            z-index: 2;
        }

        .quote-icon {
            width: 62px;
            height: 62px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 18px;
            color: white;
            background: linear-gradient(135deg, #6366f1, #8b5cf6); 
        }

        .quote-text {
            font-size: clamp(1.5rem, 3vw, 2.4rem); 
            line-height: 1.35;
            font-weight: 700;
            letter-spacing: -.03em;
            color: #1e293b;
        }

      
        .quote-art {
            min-height: 320px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .quote-art svg {
            width: 90%;
            max-width: 330px;
            filter: drop-shadow(0 20px 25px rgba(79, 70, 229, .12));
        }

        .floating {
            animation: floating 4s ease-in-out infinite;
        }

        @keyframes floating {
            0%, 100% {
                transform: translateY(0);
            }

            50% {
                transform: translateY(-10px);
            }
        }

        .btn-modern {
            border: 0;
            border-radius: 14px;
            padding: 12px 20px;
            font-weight: 600;
            color: white;
            background: linear-gradient(135deg, #6366f1, #8b5cf6);
            box-shadow: 0 8px 20px rgba(99, 102, 241, .25);
            transition: .25s ease;
        }

        .btn-modern:hover {
            color: white;
            transform: translateY(-2px);
            box-shadow: 0 12px 25px rgba(99, 102, 241, .35);
        }

        .quote-number {
            font-size: .8rem;
            color: #94a3b8;
            letter-spacing: .15em;
            text-transform: uppercase;
        }

        @media (max-width: 767px) {
            .quote-card {
                border-radius: 22px;
            }

            .quote-art {
                min-height: 220px;
                order: -1;
            }

            .quote-text {
                font-size: 1.55rem;
            }
        }

.approach-item{padding: clamp(20px, 4vw, 40px) clamp(12px, 2.5vw, 25px);border-top: 1px solid color-mix(in srgb, var(--color-dgray) 20%, transparent);height: 100%}.approach-item h3{margin-top: clamp(14px, 2vw, 20px);font-size: clamp(22px, 3vw, 32px)}.approach-item p{font-size: clamp(13px, 1.3vw, 14px)}.approach-number{font-size: 12px;color: var(--color-terracotta);letter-spacing: 2px;font-weight: 700}
.bg-gray{ background:  #f5f5f5;}
.object-fit-cover{object-fit: cover}.img_block{overflow: hidden;position: relative}.about_img{position: relative}.about_img img{border-radius: 10px;width: 100%;height: 100%;object-fit: cover;display: block}
.training-list{list-style: none;padding: 0;margin: clamp(15px, 3vw, 30px) 0}.training-list li{ display: flex;  padding: clamp(9px, 1.5vw, 13px) 0;font-size: clamp(12px, 1.5vw, 14px);border-bottom: 1px solid rgba(0,0,0,.1);line-height: 1.6}.training-list i{color: #d5b57d;margin-right: 10px}
.border-light { border: 1px solid rgba(248,249,250, 0.25) !important;}

/*****/
.program-section { position: relative; }
.program-section:nth-of-type(even) { background: #fcfaf5; }
.program-number { margin-bottom: 14px; color: var(--color-terracotta); font-family: var(--font-numbers); font-size: 12px; font-weight: 600; letter-spacing: 2px; }
.program-list { padding: 0; margin: 30px 0; list-style: none; }
.program-list li { position: relative;  padding: 9px 0 9px 28px;  border-bottom: 1px solid color-mix(in srgb, var(--color-dgray) 20%, transparent);  }
.program-list li::before { content: "✓"; position: absolute;  left: 0; color: var(--color-terracotta); font-weight: 600; }

.program-image{position: relative;overflow: hidden}.program-image img{width: 100%;border-radius: 20px;height: 100%;object-fit: cover;transition: transform .7s ease}.program-image:hover img{border-radius: 20px}.program-image::after{content: "";position: absolute;inset: 0;background: linear-gradient(to top,rgba(27,42,34,.22),transparent 55%)}.program-image-label{position: absolute;left: 25px;bottom: 25px;padding: 9px 15px;background: rgba(243,236,220,.94);color: var(--color-deep-brown);font-size: 10px;font-weight: 600;letter-spacing: 1.5px;text-transform: uppercase}

.online-schedule {
            display: flex;
            gap: 50px;
            margin-top: 50px;
            flex-wrap: wrap;
        }
.online-time span {
            display: block;
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: var(--clay);
            margin-bottom: 8px;
        }

.info-card {
  border:1px solid rgba(25,53,47,.09);
  box-shadow:0 12px 40px rgba(25,53,47,.055);
  height: 100%;
 background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition: all 0.3s ease; 
  border-radius: 22px;
  padding: 2rem;  
}
.info-card:hover { 
  border-color:rgba(184,111,84,.2);
}
        .online-time strong {
            font-family: var(--font-secondary);
            font-size: 26px;
            font-weight: 500;
        }

        .online-section {
            padding: 90px 0;
            background: #4e6455;
            color: white;
        } 

.schedule-day {
    display: flex;
    gap: 10px;
    align-items: stretch;
}
.schedule-day i {
    font-size: 1.25rem;
    color: var(--secondary-color);}

.day-card {
    height: 100%;
    padding: 25px;
    background: #fffdf8;
    border: 1px solid #e1e5dc;
    border-radius: 20px; min-height: 225px;
}

.day-card h3 {
    font-size: 1.65rem;
    margin-bottom: 16px;
}

.day-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.day-card ul li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-top: 1px dashed #edf0eb;
    font-size: 0.88rem;
    line-height: 1.5;
}

.day-card ul li:first-child {
    border-top: 0;
}

.time { font-weight: 600;  color: var(--color-forest-green); font-size:.78rem;  }

.class-type {
    color: #666;
}

.badge-donation,
.badge-price {
    background: #e8f5e9;
    color: #2e7d32;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
}

.badge-price {
    background: #fff3e0;
    color: #e65100;
}

 
/* Gallery */
.gallery-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.gallery-item {
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 10px;
  cursor: pointer;
}
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.gallery-item::after {
  content: "\f14d"; font-family: bootstrap-icons!important; font-weight: 900;
  position: absolute; inset: 0;
  background: rgba(45,42,38,.5);
  color: #fff; font-size: 1.5rem;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity .35s;
}
.gallery-item:hover::after { opacity: 1; }
.gallery-item:hover img { transform: scale(1.08); }
.gallery-item.tall { grid-row: span 2; aspect-ratio: 1/2; }


/*****/
.review {
position: relative;
min-height: 720px;
padding: clamp(60px, 8vw, 100px) 20px;
display: flex;
align-items: center;
overflow: hidden;
} /* Content wrapper */
.review-inner {
position: relative;
z-index: 2;
width: min(100%, var(--container-width));
margin-inline: auto;
display: grid;
grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
gap: clamp(30px, 5vw, 70px);
align-items: start;
} /* Large review number */
.review-number {
font-family: var(--font-numbers);
font-size: clamp(100px, 14vw, 220px);
font-weight: 500;
line-height: 0.65;
letter-spacing: -0.08em;
color: rgba(68, 25, 3, 0.13);
} /* Small uppercase index */
.review-index {
margin-bottom: 20px;
font-size: 9px;
font-weight: 600;
line-height: 1.4;
letter-spacing: 0.28em;
text-transform: uppercase;
opacity: 0.65;
} /* Reviewer name */
.review-name {
margin: 0 0 25px;
font-family: var(--font-secondary); 
font-weight: 400;
line-height: 1;
} /* Reviewer role */
.review-role {
margin-bottom: 20px;
font-size: 9px;
font-weight: 500;
line-height: 1.4;
letter-spacing: 0.2em;
text-transform: uppercase;
opacity: 0.65;
} /* Decorative quotation mark */
.quote-symbol {
margin-bottom: 10px;
font-family: var(--font-secondary);
font-size: clamp(80px, 8vw, 115px);
line-height: 0.45;
opacity: 0.18;
} /* Main quote */
.review-lead {
max-width: 900px;
margin: 0 0 30px;
font-family: var(--font-secondary);
font-size: clamp(22px, 2vw, 30px);
font-weight: 400;
line-height: 1.12;
letter-spacing: -0.015em;
} /* Supporting review text */
.review-body {
max-width: 700px;
margin: 0;
color: inherit;
font-size: 13px;
line-height: 2;
opacity: 0.75;
} /* Signature */
.review-signature {
margin-top: 45px;
font-size: 9px;
font-weight: 600;
line-height: 1.4;
letter-spacing: 0.28em;
text-transform: uppercase;
}


.review-light {
            background: var(--color-cream);
            color: var(--color-black);
        }

        .review-white {
            background: var(--color-white);
            color: var(--color-black);
        }

.review-content {
    width: 100%;
    padding: 30px; 
}
 
 .journey-step {

            position: relative;

            text-align: center;
        }


        .journey-step::after {

            content: "";

            position: absolute;

            width: 100%;

            height: 1px;

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

            top: 25px;

            left: 50%;
        }


        .journey-step:last-child::after {

            display: none;
        }


        .journey-number {

            position: relative;

            z-index: 2;

            width: 50px;

            height: 50px;

            margin: auto;

            display: grid;

            place-items: center;

            border: 1px solid rgba(0,0,0,.35);

            border-radius: 50%;

            background: #fff;

            font-family: var(--font-numbers);

            font-size: 16px; margin-bottom: 22px;
        }

        .journey-step p {

   

            margin: auto;

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

            font-size: 12px;

            line-height: 1.7;
        }

        .voice-tag {
            position: relative;

         

            color:
                var(--color-terracotta);

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

            letter-spacing: .25em;
            text-transform: uppercase;
        }

/******/
.contact-detail {
  display: flex; gap: 1rem; align-items: flex-start;
  padding: 1rem 0; border-bottom: 1px solid rgba(23, 52, 47, .12);
}
.contact-detail:last-child { border-bottom: 0; }
.contact-icon { color: var(--color-terracotta); font-size: 1.3rem; margin-top: .15rem; }
.form-control, .form-select {
  border-radius: 14px;
  border: 1px solid rgba(23,52,47,.16);
  padding: .85rem 1rem;
}
.form-control:focus, .form-select:focus { border-color: var(--sage); box-shadow: 0 0 0 .2rem rgba(141,169,154,.18); }
.form-label { font-weight: 700; }


.form-label {
    color: #441903;
    font-weight: 600;
    margin-bottom: 8px;
}

.required-star {
    color: #c65a2e;
}


/* =====================================
   Form Controls
===================================== */

.form-control,
.form-select {
    min-height: 52px;
    border: 1px solid #c9af93;
    border-radius: 8px;
    padding: 12px 15px;
    color: #441903;
    background-color: #fff;
    transition: all 0.2s ease;
}

textarea.form-control {
    min-height: 140px;
    resize: vertical;
}


.form-control:focus,
.form-select:focus {
    border-color: #4f6f52;
    box-shadow: 0 0 0 0.2rem rgba(79, 111, 82, 0.15);
}


/* =====================================
   Valid State
===================================== */

.was-validated .form-control:valid,
.was-validated .form-select:valid {
    border-color: #4f6f52;
}


/* =====================================
   Invalid State
===================================== */

.was-validated .form-control:invalid,
.was-validated .form-select:invalid {
    border-color: #dc3545;
}


/* =====================================
   Submit Button
===================================== */

.submit-btn {
    min-width: 190px;
    min-height: 52px;

    background: #c65a2e;
    border: 2px solid #c65a2e;

    color: #ffffff;

    padding: 12px 25px;

    border-radius: 8px;

    font-weight: 600;

    transition: all 0.25s ease;
}


.submit-btn:hover {
    background: #441903;
    border-color: #441903;
    color: #ffffff;
}


.submit-btn:focus {
    box-shadow: 0 0 0 0.2rem rgba(198, 90, 46, 0.25);
}


.submit-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}


/* =====================================
   Alerts
===================================== */

#formMessage {
    border-radius: 8px;
    padding: 15px 18px;
}


.sellfy-programs {
    position: relative;
  }
  .sellfy-product-card {
    position: relative;
    display: flex;
    gap: 24px;
    padding: 38px;
    border: 1px solid rgba(0,0,0,.08);
    background: #fff;
    box-shadow: 0 14px 40px rgba(0,0,0,.05);
    transition: transform .3s ease, box-shadow .3s ease;
  }
  .sellfy-product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(0,0,0,.09);
  }
  .sellfy-product-number {
    flex: 0 0 48px;
    font-family: "Playfair Display", serif;
    font-size: 1.7rem;
    line-height: 1;
    opacity: .55;
  }
  .sellfy-product-content { flex: 1; }
  .sellfy-product-label {
    display: inline-block;
    margin-bottom: 12px;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .14em;
  }
  .sellfy-product-content h3 {
    margin-bottom: 14px;
    font-family: "Playfair Display", serif;
    font-size: 2rem;
  }
  .sellfy-product-content p {
    color: #666;
    line-height: 1.75;
    margin-bottom: 20px;
  }
  .sellfy-product-features {
    list-style: none;
    padding: 0;
    margin: 0 0 26px;
  }
  .sellfy-product-features li {
    margin-bottom: 9px;
    color: #555;
  }
  .sellfy-product-features i { margin-right: 8px; }
  .sellfy-product-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 22px;
    border-top: 1px solid rgba(0,0,0,.08);
  }
  .sellfy-price {
    font-size: 1.45rem;
    font-weight: 600;
  }
  .sellfy-benefits {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px 34px;
    padding: 22px 0;
    border-top: 1px solid rgba(0,0,0,.08);
    border-bottom: 1px solid rgba(0,0,0,.08);
  }
  .sellfy-benefits span { color: #555; font-size: .95rem; }
  .sellfy-benefits i { margin-right: 7px; }
  .sellfy-disclaimer {
    margin-top: 18px;
    text-align: center;
    color: #888;
    font-size: .78rem;
    line-height: 1.6;
  }
  @media (max-width: 767.98px) {
    .sellfy-product-card { padding: 26px 22px; }
    .sellfy-product-number { flex-basis: 34px; font-size: 1.3rem; }
    .sellfy-product-content h3 { font-size: 1.65rem; }
    .sellfy-product-footer { align-items: flex-start; flex-direction: column; }
    .sellfy-benefits { align-items: flex-start; flex-direction: column; gap: 12px; }
  }
  