:root{
  --brown:#7A5240;
  --pink:#E7B5BB;
  --white:#ffffff;
}

/* ---------- Reset & base ---------- */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Poppins',sans-serif;background:#fff;color:#3f2f2a; -webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}

/* ---------- Header / nav (kept from your code) ---------- */
header {
    width: 100%;
    height: 80px;
    padding: 0 6%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 300;
    position: fixed;
    top: 0;
    left: 0;
    background: #ffffff;
}
.logo{font-size:26px;font-weight:700;display: flex;}
.logo span:first-child{color:var(--brown)}
.logo span:last-child{color:var(--pink)}

.nav{display:flex;align-items:center;gap:28px}
.nav-item{position:relative;cursor:pointer;font-weight:500;padding:10px 0}
.sub {
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    padding: 12px 16px;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.12);
    display: none;
    font-size: 14px;
    z-index: 500;
    width: auto;
    white-space: nowrap;
}
.nav-item:hover .sub,.sub:hover{display:block}
.mega{position:absolute;top:100%;left:0;background:#fff;width:520px;padding:20px;border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,0.15);display:none;z-index:500}
.nav-item:hover .mega,.mega:hover{display:block}
.mega h3{margin-bottom:6px;color:var(--brown)}
.mega p{font-size:14px;line-height:1.5}

.book-btn{background:var(--pink);padding:10px 22px;border-radius:12px;color:#fff;font-weight:600}

/* mobile */
.hamburger{width:30px;display:none;flex-direction:column;gap:5px;cursor:pointer}
.hamburger span{height:3px;background:var(--brown);width:100%;border-radius:3px}
.mobile-panel{position:fixed;top:0;right:-100%;width:70%;height:100%;background:#fff;padding:80px 30px;transition:.3s;z-index:999;box-shadow:-10px 0 30px rgba(0,0,0,0.2)}
.close-btn{position:absolute;top:20px;right:20px;font-size:30px;font-weight:700;color:var(--brown);cursor:pointer}
.mobile-link{display:flex;justify-content:space-between;align-items:center;padding:14px 0;font-size:18px;border-bottom:1px solid #eee;cursor:pointer}
.chevron{font-size:18px;color:#666}
.mobile-sub{display:none;padding:10px 0 15px 12px;font-size:14px;color:#6a5450;border-bottom:1px solid #eee}
.mobile-book{margin-top:20px;display:inline-block;background:var(--pink);padding:12px 20px;border-radius:12px;color:#fff;font-weight:600}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.3);display:none;z-index:900}
@media(max-width:940px){.nav{display:none}.book-btn{display:none}.hamburger{display:flex}}

/* ========== HERO SLIDER (layout unchanged) ========== */
.hero-slider {
    width: 100%;
}

.hero-slide{
  position:relative;
  height:660px;
  background-size:cover;
  background-position:center;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  transition: transform 900ms ease;
}
.hero-left {
    background: #ffffffe6;
    padding: 30px;
    border-radius: 15px;
}
/* dim overlay */
.hero-overlay {
    position: absolute;
    inset: 0;
    background: rgb(255 255 255 / 15%);
    display: flex; 
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

/* core layout */
.hero-inner{
  width:100%;padding:0 6%;display:flex;gap:36px;align-items:center;justify-content:space-between;pointer-events:auto;
}
.hero-left{flex:1;max-width:490px}
.badge{display:inline-block;background:#fff;padding:8px 16px;border-radius:999px;border:1px solid #f3d9db;color:var(--pink);font-weight:600;margin-bottom:18px}
.hero-left h1 {
    margin: 0;
    font-size: 32px;
    line-height: 56px;
    color: var(--brown);
}
.hero-left h1 .highlight{color:var(--pink)}
.hero-left p{margin-top:14px;color:#6a5450;max-width:560px;font-size:16px}
.hero-btns{margin-top:22px;display:flex;gap:12px}
.primary-btn{background:var(--pink);color:#fff;padding:12px 22px;border-radius:12px;font-weight:600}
.outline-btn{border:2px solid var(--pink);color:var(--pink);padding:10px 20px;border-radius:12px}

/* right circular image */
.hero-right{flex:1;display:flex;justify-content:center;align-items:center}
.circle{width:380px;height:380px;border-radius:50%;overflow:hidden;border:8px solid #fff;box-shadow:0 16px 40px rgba(0,0,0,0.12)}
.circle img{width:100%;height:100%;object-fit:cover;display:block}

/* arrows style */
.hero-arrow{width:56px!important;height:56px!important;background:#fff;border-radius:50%;box-shadow:0 10px 28px rgba(0,0,0,0.14);color:var(--brown)!important}
.hero-arrow:hover{background:var(--pink);color:#fff!important}
.hero-arrow::after{font-size:20px!important}
.swiper-pagination-bullet-active{background:var(--pink)!important}

/* responsive */
@media(max-width:980px){
  .hero-inner{flex-direction:column-reverse;text-align:center;gap:20px;padding-top:36px}
  .circle{width:260px;height:260px}
      .hero-left h1 {
        font-size: 16px;
        line-height: 32px;
    }
}

/* ===== NEW ANIMATIONS (unique & subtle) ===== */

/* outgoing slide states */
.slide-out .hero-left,
.slide-out .hero-right {
  animation: outgoingShrink 520ms cubic-bezier(.2,.9,.2,1) forwards;
  transform-origin: center;
}
@keyframes outgoingShrink {
  0% { opacity:1; transform: translateY(0) scale(1) rotate(0deg); filter:blur(0px); }
  100% { opacity:0; transform: translateY(18px) scale(0.92) rotate(-3deg); filter:blur(2px); }
}

/* incoming slide states */
.slide-in .hero-left,
.slide-in .hero-right {
  animation: incomingRise 560ms cubic-bezier(.2,.9,.2,1) forwards;
  transform-origin: center;
}
@keyframes incomingRise {
  0% { opacity:0; transform: translateY(26px) scale(0.96) rotate(2deg); filter:blur(3px); }
  100% { opacity:1; transform: translateY(0) scale(1) rotate(0deg); filter:blur(0); }
}

/* background parallax subtle transform applied during change */
.parallax-out { transform: scale(0.995) translateY(6px); transition: transform 700ms cubic-bezier(.2,.9,.2,1); }
.parallax-in  { transform: scale(1) translateY(0); transition: transform 700ms cubic-bezier(.2,.9,.2,1); }

/* circle flourish */
.circle-flourish { animation: flourish 700ms ease both; }
@keyframes flourish {
  0% { transform: scale(0.96) rotate(-3deg); filter:brightness(0.98); opacity:0.92; }
  60% { transform: scale(1.06) rotate(2deg); }
  100% { transform: scale(1) rotate(0deg); opacity:1; filter:brightness(1); }
}

/* Slight accessibility focus state for nav items */
.nav-item:focus-within > .sub, .nav-item:focus-within > .mega { display:block; }

.logo img
 {
    width: 260px;
    margin-top: 15px;
}
.nav-item a {
    color: #404040;
}
.nav-item a:hover {
    color: #7a5240;
}
.sub div {
    padding: 9px 0px;
    border-bottom: 1px solid #cfcdcd;
}
.nav-item .active {
    color: #7a5240;
}
.slider1 {
    background-position: top;
}
.slider3 {
    background-position: top;
}


/* =========================================
   3D 4-SIDED BOX (NO GAPS) - PURE CSS
   - Spins left↔right (Y)
   - Optional full bottom↕top turn (X)
   ========================================= */

:root{
  --jawSize: 420px;                  /* hero size */
  --jawDepth: calc(var(--jawSize) / 2);  /* cube depth */
  --jawShadow: rgba(0,0,0,0.18);
}

/* Right side wrapper */
.hero-right{
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Scene */
.jaw-3d-scene{
  width: calc(var(--jawSize) + 100px);
  height: calc(var(--jawSize) + 100px);
  perspective: 1600px;
  perspective-origin: 50% 50%;
  display:flex;
  align-items:center;
  justify-content:center;

  transform-style: preserve-3d;
  will-change: transform;

  /* ✅ If you want FULL bottom-to-top turn, UNCOMMENT next line */
  /* animation: jawFlipX 12s linear infinite; */
}

/* The rotating box */
.jaw-3d-box{
  width: var(--jawSize);
  height: var(--jawSize);
  position: relative;

  transform-style: preserve-3d;
  will-change: transform;

  /* ✅ Left↔right spin */
  animation: jawSpinY 18s linear infinite;
}

/* Face base */
.jaw-face{
  position:absolute;
  inset:0;
  width: var(--jawSize);
  height: var(--jawSize);
  display:flex;
  align-items:center;
  justify-content:center;

  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Image styling */
.jaw-face img{
  display:block;
  width:100%;
  height:100%;
  object-fit: contain;  /* use cover if you want fill */
  filter: drop-shadow(0 30px 40px var(--jawShadow));
}

/* 4 faces positioned with NO gaps */
.jaw-face.front{ transform: rotateY(0deg) translateZ(var(--jawDepth)); }
.jaw-face.right{ transform: rotateY(90deg) translateZ(var(--jawDepth)); }
.jaw-face.back { transform: rotateY(180deg) translateZ(var(--jawDepth)); }
.jaw-face.left { transform: rotateY(-90deg) translateZ(var(--jawDepth)); }

/* Animations */
@keyframes jawSpinY{
  0%   { transform: rotateY(0deg); }
  100% { transform: rotateY(360deg); }
}

/* Optional FULL bottom↕top turn (enable in .jaw-3d-scene) */
@keyframes jawFlipX{
  0%   { transform: rotateX(0deg); }
  100% { transform: rotateX(360deg); }
}



/* Responsive */
@media (max-width: 960px){
  :root{
    --jawSize: 260px;
    --jawDepth: calc(var(--jawSize) / 2);
  }

  .jaw-3d-scene{
    width: calc(var(--jawSize) + 60px);
    height: calc(var(--jawSize) + 60px);
    perspective: 1100px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .jaw-3d-scene,
  .jaw-3d-box{
    animation: none !important;
  }
}


/* ===== TYPEWRITER HEADING (LIKE VIDEO) ===== */

.hero-title{
  margin: 0;
  line-height: 1.05;
}

/* the green/gradient highlight area (edit color as you want) */
.hero-title .highlight{
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  font-weight: 800;
  color: #14a56a; /* green */
  white-space: nowrap;
}

/* the typed text box */
.hero-title .tw{
  display: inline-block;
  min-width: 2ch;           /* keeps small space even when empty */
  white-space: nowrap;
}

/* blinking cursor like the video */
.hero-title .tw-cursor{
  display: inline-block;
  width: 3px;
  height: 0.95em;
  background: #7a5240;
  transform: translateY(2px);
  animation: twBlink 0.9s steps(1) infinite;
  opacity: 1;
}

@keyframes twBlink{
  0%, 49% { opacity: 1; }
  50%,100% { opacity: 0; }
}
.slider4 .hero-left h1 {
    font-size: 38px;
}

a.book-btn:hover, a.primary-btn:hover, .btn-primary:hover {
    background: #7b5435;
}

/* ============ TESTIMONIAL SLIDER (MATCH SCREENSHOT) ============ */

.pv-testimonials{
  padding: 46px 0;
  background: #f6ece8;
}

.pv-testimonial-swiper{
  max-width: 1024px;
  margin: 0 auto;
  padding: 20px 18px 58px;
}

/* Card */
.pv-tcard{
  background: #ffffff;
  border-radius: 26px;
  border: 1px solid #ead6cf;
  box-shadow: 0 10px 30px rgba(0,0,0,0.03);

  padding: 58px 38px 46px;
  text-align: center;

  min-height: 340px;
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;

  box-sizing: border-box;
}

/* Quote icon (soft pink, centered) */
.pv-quote{
  width: 52px;
  height: 52px;
  margin: 0 auto 14px;
  opacity: 0.55;
}
.pv-quote svg{
  width: 100%;
  height: 100%;
  display:block;
  fill: #d9a7a2; /* quote color */
}

/* Stars (SVG) */
.pv-stars{
  display:flex;
  gap: 8px;
  justify-content:center;
  margin-bottom: 20px;
}
.pv-stars svg{
  width: 26px;
  height: 26px;
  display:block;
  fill: #d79d97; /* star color */
  opacity: 0.95;
}

/* Text */
.pv-text{
  max-width: 780px;
  margin: 0 auto 30px;
  font-size: 20px;
  line-height: 1.55;
  color: #2a2321;
}

/* Avatar */
.pv-avatar{
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #e7b8b5;
  color: #ffffff;
  display:grid;
  place-items:center;
  font-weight: 800;
  letter-spacing: 1px;
  margin: 2px 0 10px;
}

/* Name */
.pv-name{
  font-size: 18px;
  font-weight: 700;
  color: #2a2321;
}

/* Pagination dots (active pill) */
.pv-testimonial-swiper .swiper-pagination{
  bottom: 12px !important;
}

.pv-testimonial-swiper .swiper-pagination-bullet{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #e4c9c4;
  opacity: 1;
  margin: 0 7px !important;
  transition: width .25s ease, background .25s ease, transform .25s ease;
}

.pv-testimonial-swiper .swiper-pagination-bullet-active{
  width: 38px;
  background: #d79d97;
  transform: translateY(-1px);
}

/* Responsive */
@media (max-width: 768px){
  .pv-tcard{
    padding: 44px 20px 36px;
    border-radius: 20px;
    min-height: 300px;
  }
  .pv-text{ font-size: 17px; }
  .pv-quote{ width: 46px; height: 46px; }
  .pv-stars svg{ width: 16px; height: 16px; }
}


/* ===== CTA SECTION (MATCH SCREENSHOT) ===== */

.pv-cta-wrap{
  padding: 80px 16px;
  background: #ffffff;
  display: flex;
  justify-content: center;
}

.pv-cta-card{
  max-width: 1100px;
  width: 100%;
  background: #fff7f5;
  border-radius: 28px;
  padding: 64px 40px 56px;
  text-align: center;
  box-sizing: border-box;
}

/* Icons */
.pv-cta-icons{
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-bottom: 20px;
}

.pv-cta-icons svg{
  width: 50px;
  height: 50px;
  stroke: #e2a3a0;
  stroke-width: 1.8;
  fill: none;
}

/* Title */
.pv-cta-title{
  font-size: 44px;
  line-height: 1.15;
  font-weight: 800;
  color: #4a3a2f;
  margin-bottom: 16px;
}

/* Text */
.pv-cta-text{
  max-width: 760px;
  margin: 0 auto 32px;
  font-size: 18px;
  line-height: 1.6;
  color: #6b5a50;
}

/* Checklist */
.pv-cta-list{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px 32px;
  max-width: 760px;
  margin: 0 auto 40px;
  text-align: left;
}

.pv-cta-item{
  position: relative;
  padding-left: 32px;
  font-size: 16px;
  color: #4a3a2f;
}

/* Check icon */
.pv-cta-item::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid #e2a3a0;
  color: #e2a3a0;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Button */
.pv-cta-btn{
  display: inline-block;
  padding: 18px 42px;
  background: linear-gradient(180deg,#e9a5ab,#df8f96);
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  border-radius: 14px;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

.pv-cta-btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(223,143,150,.35);
}

/* Footer */
.pv-cta-footer{
  margin-top: 18px;
  font-size: 14px;
  color: #7a6a60;
}

/* Responsive */
@media (max-width: 768px){
  .pv-cta-title{ font-size: 34px; }
  .pv-cta-list{
    grid-template-columns: 1fr;
  }
  .pv-cta-card{
    padding: 48px 22px 42px;
  }
}

/* ===== FOOTER (MATCH SCREENSHOT) ===== */

.pv-footer{
  background: #4b3c33; /* dark brown */
  color: #efe7e2;
  padding: 54px 18px 28px;
  font-family: inherit;
}

.pv-footer-inner{
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr 1.1fr;
  gap: 48px;
  align-items: start;
}

/* Brand */
.pv-footer-logo{
  display:flex;
  align-items:center;
  gap: 12px;
  margin-bottom: 14px;
}

.pv-tooth{
  font-size: 24px;
  line-height: 1;
  filter: brightness(1.2);
}

.pv-brand{
  font-size: 28px;
  font-weight: 800;
  color: #ffffff;
}

.pv-footer-text{
  margin: 0;
  max-width: 320px;
  color: #dacfc7;
  line-height: 1.6;
  font-size: 16px;
}

/* Titles */
.pv-footer-title{
  margin: 6px 0 16px;
  font-size: 22px;
  font-weight: 800;
  color: #ffffff;
}

/* Links */
.pv-footer-links{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.pv-footer-links a{
  color: #dacfc7;
  text-decoration: none;
  font-size: 16px;
  transition: color .2s ease, transform .2s ease;
  display: inline-block;
}

.pv-footer-links a:hover{
  color: #ffffff;
  transform: translateX(2px);
}

/* Contact */
.pv-contact{
  display: grid;
  gap: 12px;
}

.pv-contact-row{
  display:flex;
  align-items:center;
  gap: 12px;
  color: #dacfc7;
  text-decoration: none;
  font-size: 16px;
}

.pv-contact-static{ cursor: default; }

.pv-ico{
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255,255,255,0.10);
  display: grid;
  place-items: center;
  flex: 0 0 38px;
}

.pv-ico svg{
  width: 18px;
  height: 18px;
  fill: #efe7e2;
  opacity: 0.95;
}

.pv-contact-row:hover{ color: #ffffff; }

/* Social buttons */
.pv-social{
  display:flex;
  gap: 12px;
  margin-top: 10px;
}

.pv-social-btn{
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,0.10);
  display:grid;
  place-items:center;
  transition: transform .2s ease, background .2s ease;
  text-decoration: none;
}

.pv-social-btn svg{
  width: 18px;
  height: 18px;
  fill: #efe7e2;
}

.pv-social-btn:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,0.16);
}

/* Divider line */
.pv-footer-divider{
  max-width: 1200px;
  margin: 34px auto 18px;
  height: 1px;
  background: rgba(255,255,255,0.18);
}

/* Bottom text */
.pv-footer-bottom{
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  color: #dacfc7;
  font-size: 15px;
  line-height: 1.8;
}

/* Responsive */
@media (max-width: 980px){
  .pv-footer-inner{
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .pv-footer-text{
    max-width: 100%;
  }
  .pv-footer{
    padding: 44px 16px 24px;
  }
}

@media (max-width: 520px){
  .pv-brand{ font-size: 24px; }
  .pv-footer-title{ font-size: 20px; }
  .pv-footer-bottom{ font-size: 14px; }
}
.pv-social-btn svg{
  width: 18px;
  height: 18px;
  fill: none;                 /* important */
  stroke: #efe7e2;            /* icon color */
  stroke-width: 1.8;
  display: block;
}
img.footer-logo {
    width: 210px;
    background: #ffffff;
    padding: 10px;
    border-radius: 10px;
}
.pv-footer-bottom a {
    color: #e7b5bb;
    font-weight: 700;
}
.pv-footer-bottom a:hover {
    color: #ffffff;
}
/* ===== Gallery Image Title Overlay ===== */

.gallery .gallery-item{
  position: relative;
}

.gallery .gallery-title-overlay {
    position: absolute;
    top: 0;
    left: 0px;
    right: 12px;
    padding: 10px 14px;
    background: rgb(37 37 37);
    color: #ffffff;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.3px;
    border-bottom-right-radius: 8px;
    z-index: 3;
    pointer-events: none;
    backdrop-filter: blur(4px);
    width: 200px;
}
.elementor-slideshow__title {
    font-size: 30px !important;
    color: #000000;
    background: #ffffff;
}
.elementor-slideshow__header>svg {
    fill: hsl(0deg 1.18% 1.4% / 90%) !important;
}
.elementor-lightbox .dialog-lightbox-close-button svg, .elementor-lightbox .elementor-swiper-button svg {
    fill: hsl(0deg 0% 0% / 90%) !important;
}
svg.e-font-icon-svg.e-eicon-chevron-left, svg.e-font-icon-svg.e-eicon-chevron-right {
    fill: #ffffff !important;
}
div#elementor-lightbox-slideshow-ba1e577 {
    top: 0;
}
#lifeinframe .gallery-title-overlay {
    display: none;
}

.icon-box {
    background: #fff;
    padding: 32px 26px;
    border-radius: 18px;
    transition: 0.3s;
    border: 1px solid #f7eaea;
}

.icon-box:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 45px rgba(0,0,0,0.12);
}
.icon-box .icon {
    width: 60px;
    height: 60px;
    background: #fef1f37d;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}
.icon-box .icon svg{
    width:40px;
    height:40px;
    stroke:#E7B5BB;
}
.icon-box h4{
    font-size:20px;
    font-weight:700;
    color:#7A5240;
    margin-bottom:12px;
}
.icon-box p{
    color:#6a5450;
    font-size:15px;
    line-height:1.6;
}

.icon-box {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.elementor-column > .elementor-widget-wrap {
    height: 100%;
}

.elementor-widget-html {
    height: 100%;
}
:root{
    --pink:#E7B5BB;
    --brown:#7A5240;
}

/* Primary Button (filled pink) */
.btn-primary{
    background: var(--pink);
    color: #fff;
    padding: 12px 28px;
    border-radius: 12px;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    transition: .3s;
    box-shadow: 0 8px 18px rgba(0,0,0,0.08);
}


/* Outline Button */
.btn-outline{
    border: 2px solid var(--pink);
    color: var(--pink);
    padding: 12px 28px;
    border-radius: 12px;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    transition: .3s;
}
.btn-outline:hover{
    background: var(--pink);
    color: #fff;
    transform: translateY(-2px);
}

/* White Button with Border */
.btn-soft{
    background: #fff;
    border: 1px solid #f2d8dc;
    color: var(--brown);
    padding: 12px 28px;
    border-radius: 14px;
    font-weight: 600;
    display: inline-block;
    transition: .3s;
}
.btn-soft:hover{
    background: var(--pink);
    color: #fff;
    border-color: var(--pink);
    transform: translateY(-2px);
}

:root{
  --pink:#E7B5BB;
  --brown:#7A5240;
  --card-bg:#FAF5F3;
}
:root{
  --pink:#E7B5BB;
  --brown:#7A5240;
  --card-bg:#FAF5F3;
}

/* WRAPPER */
.pv-blog-wrapper{
    text-align:center;
    padding:20px 0;
}

/* TITLES */
.pv-blog-title{
    font-size:40px;
    color:var(--brown);
    margin-bottom:6px;
    font-weight:700;
}
.pv-blog-sub{
    color:#7b6a61;
    margin-bottom:40px;
}

/* GRID — FIXED FOR ELEMENTOR */
.pv-blog-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:30px;
}

/* RESPONSIVE GRID */
@media(max-width:1024px){
    .pv-blog-grid{
        grid-template-columns:repeat(2, 1fr);
    }
}
@media(max-width:600px){
    .pv-blog-grid{
        grid-template-columns:1fr;
    }
}

/* CARD */
.pv-blog-card{
    background:var(--card-bg);
    border-radius:18px;
    padding:28px;
    text-align:left;
    box-shadow:0 8px 25px rgba(0,0,0,0.08);
    transition:.3s;
}
.pv-blog-card:hover{
    transform:translateY(-4px);
}

/* IMAGE BOX */
.pv-blog-img{
    background:#f3e7e6;
    padding:45px 0;
    border-radius:18px;
    text-align:center;
}
.pv-blog-img img {
    min-height: 200px;
}

/* META */
.pv-blog-meta{
    display:flex;
    gap:18px;
    margin:16px 0 10px;
    font-size:14px;
    color:#6d5a52;
}

/* HEADING */
.pv-blog-heading{
    font-size:20px;
    color:var(--brown);
    margin-bottom:10px;
    font-weight:600;
}

/* TEXT */
.pv-blog-text{
    color:#6a5850;
    font-size:15px;
    line-height:1.6;
    min-height:65px;
}

/* READ MORE */
.pv-blog-more{
    margin-top:14px;
    display:inline-block;
    color:var(--pink);
    font-weight:600;
    text-decoration:none;
}
.pv-blog-more:hover{ color:var(--brown); }


#icon-about .timeline {
  position: relative;
  max-width: 900px;
  margin: auto;
  padding: 40px 0;
}

#icon-about .timeline::after {
    content: '';
    position: absolute;
    width: 4px;
    background: #7c543b;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

/* ITEM */
#icon-about .milestone {
  position: relative;
  width: 50%;
  padding: 20px 0px;
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.6s ease;
}

#icon-about .milestone.show {
  opacity: 1;
  transform: translateY(0);
}

#icon-about .left {
  left: 0;
  text-align: right;
}

#icon-about .right {
  left: 50%;
}

/* ICON BOX */
#icon-about .icon-box {
    position: absolute;
    width: 30px;
    height: 30px;
    background: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
    padding: 10px;
}
#icon-about .left .icon-box {
    right: -73px;
    top: 44px;
    background: #f3b4ab;
}
#icon-about .right .icon-box {
    left: -71px;
    top: 42px;
    background: #7a5038;
}

/* ICON SVG (FIXED) */


/* CONTENT */
#icon-about .content
 {
    background: #ffffff;
    padding: 16px 17PX 0px 17px;
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    margin-right: 45px;
    margin-left: 45px;
    border: solid 3px #7b5438;
}

#icon-about .content h3 {
    margin: 0 0 10px;
    color: #7c543b;
}

/* MOBILE */
@media (max-width: 768px) {
  #icon-about .timeline::after {
    left: 53px;
  }

  #icon-about .milestone {
    width: 100%;
    padding-left: 70px;
    padding-right: 20px;
    text-align: left;
  }

  #icon-about .icon-box {
    left: 13px !important;
  }

  #icon-about .right {
    left: 0;
  }
}
/* FIX FOR ELEMENTOR box-sizing ISSUE */
#icon-about .icon-box,
#icon-about .icon-box svg {
  box-sizing: content-box !important;
}
#icon-about .icon-box svg {
    width: 40px;
    height: 40px;
    stroke: #ffffff;
    fill: none;
    stroke-width: 2;
}
/* ===== SINGLE HERO ===== */
.pv-single-hero{
    height:420px;
    background-size:cover;
    background-position:center;
    position:relative;
    display:flex;
    align-items:flex-end;
}

.pv-single-hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,0.65),
        rgba(0,0,0,0.1)
    );
}

.pv-single-hero-inner{
    position:relative;
    z-index:2;
    padding:60px 8%;
    color:#fff;
    max-width:900px;
}

.pv-single-hero h1{
    font-size:42px;
    line-height:1.2;
    margin-bottom:14px;
}

.pv-single-meta{
    display:flex;
    gap:22px;
    font-size:14px;
    opacity:0.95;
}

/* ===== CONTENT AREA ===== */
.pv-single-wrap{
    padding:70px 0;
}

.pv-single-container{
    max-width:1200px;
    margin:auto;
    padding:0 6%;
    display:grid;
    grid-template-columns:2.4fr 1fr;
    gap:40px;
}

.pv-single-content{
    font-size:17px;
    line-height:1.8;
    color:#4b3c38;
}

.pv-single-content h2,
.pv-single-content h3{
    margin:30px 0 14px;
    color:#7A5240;
}

.pv-single-content img{
    max-width:100%;
    border-radius:14px;
    margin:24px 0;
}

/* ===== SIDEBAR ===== */
.pv-single-sidebar .pv-widget{
    background:#fff;
    padding:24px;
    border-radius:18px;
    box-shadow:0 12px 32px rgba(0,0,0,0.08);
    margin-bottom:30px;
}

.pv-single-sidebar h4{
    margin-bottom:14px;
    color:#7A5240;
}

/* ===== MOBILE ===== */
@media(max-width:900px){
    .pv-single-container{
        grid-template-columns:1fr;
    }

    .pv-single-hero{
        height:300px;
        margin-top: 80px;
    }

    .pv-single-hero h1{
        font-size:30px;
    }
}
/* ===== RECENT POSTS SIDEBAR ===== */
.pv-recent-posts .pv-recent-item{
    display:flex;
    gap:14px;
    text-decoration:none;
    margin-bottom:16px;
    align-items:center;
}

.pv-recent-thumb img{
    width:200px;
    height:64px;
    object-fit:cover;
    border-radius:12px;
}

.pv-recent-content h5{
    font-size:14px;
    font-weight:600;
    color:#7A5240;
    line-height:1.4;
    margin-bottom:4px;
}

.pv-recent-content span{
    font-size:12px;
    color:#8b7b75;
}

.pv-recent-item:hover h5{
    color:#E7B5BB;
}
#form7-id input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required, #form7-id input, #form7-id textarea {
    width: 100%;
    border-radius: 20px;
    padding: 6px;
    margin-top: 11px;
}

#form7-id label {
    color: #525151;
    font-weight: 600;
    font-size: 18px;
}
#form7-id input.wpcf7-form-control.wpcf7-submit.has-spinner {
    background: #7c543a;
    font-size: 18px;
    font-weight: 600;
    padding: 14px;
    border-radius: 45px;
    cursor: pointer;
    color:#ffffff;
}
#form7-id input.wpcf7-form-control.wpcf7-submit.has-spinner:hover {
    background: #7c543a;
    color: #333333;
}
.mobile-link, .mobile-link a {
    color: #55392d;
}
.mobile-sub a {
    color: #6a5450;
}
.mobile-sub div {
    padding-bottom: 10px;
}
.mobile-sub {
    padding: 10px 0;
}


/* final testing - mobile */

@media (max-width: 768px){
    .slider4 .hero-left h1
 {
    font-size: 19px;
}
.hero-right {
    margin-top: 50px;
}
.hero-left {
    padding: 10px;
}
.pv-footer-col {
    text-align: center;
}
img.footer-logo{margin: 0 auto;}
}


.hero-slide .tw2{
  display:inline-flex;        /* IMPORTANT: cursor stays attached */
  align-items: baseline;
  white-space: nowrap;
  vertical-align: baseline;
}

.hero-slide .tw2-text{
  display:inline-block;
}

.hero-slide .tw2-cursor{
  display:inline-block;
  width: 2px;
  height: 1em;
  margin-left: 6px;
  background: currentColor;
  transform: translateY(2px);
  animation: tw2Blink .9s steps(1,end) infinite;
}

@keyframes tw2Blink{ 50%{ opacity:0; } }

@media (prefers-reduced-motion: reduce){
  .hero-slide .tw2-cursor{ animation:none; }
}




/* gallery Images Css */ 
.icmp {
  --pos: 50%;
  max-width: 900px;
  margin: 0 auto;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}

/* Use ratio box (prevents reflow glitches in sliders) */
.icmp-stage{
  position: relative !important;
  width: 100% !important;
  height: 0 !important;
  padding-top: 56.25% !important; /* 16:9 | change 75% for 4:3 */
  overflow: hidden !important;
  background: #eee;
  line-height: 0 !important;
  font-size: 0 !important;
  user-select: none;
  touch-action: pan-y;
}

/* Force both images to be true layers */
.icmp-stage img{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  max-width: none !important;
}

/* The AFTER image is CLIPPED (proper compare, not sliding panel) */
.icmp-after{
  clip-path: inset(0 calc(100% - var(--pos)) 0 0); /* show left part of after */
  will-change: clip-path;
}

/* Divider line */
.icmp-divider{
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: var(--pos) !important;
  width: 2px !important;
  background: rgba(255,255,255,.9);
  box-shadow: 0 0 0 1px rgba(0,0,0,.15);
  transform: translateX(-50%);
  pointer-events: none;
}

/* Handle */
.icmp-handle{
  position: absolute !important;
  top: 50% !important;
  left: var(--pos) !important;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 10px 25px rgba(0,0,0,.18);
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  pointer-events: none;
}

.icmp-arrows{
  width: 18px;
  height: 18px;
  border-top: 2px solid rgba(0,0,0,.7);
  border-right: 2px solid rgba(0,0,0,.7);
  transform: rotate(45deg);
  position: relative;
  margin-left: 5px;
}
.icmp-arrows::before{
  content:"";
  position:absolute;
  width:18px;
  height:18px;
  border-top: 2px solid rgba(0,0,0,.7);
  border-right: 2px solid rgba(0,0,0,.7);
  transform: rotate(180deg);
  left:-3px;
  top:2px;
}
.bottom-title {
    text-align: center;
    padding: 16px 0px;
}
.bottom-title h4 {
    font-weight: normal;
    padding-top: 12px;
}

/* Labels */
.icmp-label{
  position: absolute !important;
  top: 14px !important;
  padding: 8px 12px;
  font-size: 13px;
  border-radius: 999px;
  background: rgba(0,0,0,.55);
  color: #fff;
  backdrop-filter: blur(6px);
  line-height: 1 !important;
}
.icmp-label.before{ left:14px !important; }
.icmp-label.after{ right:14px !important; }

/* Drag layer */
.icmp-drag{
  position: absolute !important;
  inset: 0 !important;
  cursor: ew-resize;
  background: transparent;
}