@font-face{
  font-family:'Span';
  src:url('../fonts/fonnts.com-Span-Thin.otf') format('opentype');
  font-weight:100;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Span';
  src:url('../fonts/fonnts.com-Span-Light.otf') format('opentype');
  font-weight:300;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Span';
  src:url('../fonts/fonnts.com-Span-.otf') format('opentype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Span';
  src:url('../fonts/fonnts.com-Span-Semibold-.otf') format('opentype');
  font-weight:600;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Span';
  src:url('../fonts/fonnts.com-Span-Comp-Bold.otf') format('opentype');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
:root{
    --blush-1:#f7e2df;
    --blush-2:#f3d9d6;
    --cream:#fbf7f2;
    --paper:#fcfaee;
    --ink:#2c2620;
    --ink-soft:#393e47;
    --rust:#c79211;
    --rust-dark:#bf5f01;
    --near-black:#1c1815;
    --line:#e4d9d0;
     --gold:#e07b39;
    --leaf:#3f6b3f;
    --sound:#2f6faa;
    --chakra:#7a5aa8;
    --ink:#2c2c2c;
    --muted:#6b6b6b;
    --bg:#fdf7f1;
    --blue:#1c59ff;
  }
  /* === COLORS === */
.orange {
  color: #e87539;
}
.green {
  color: #5f8b58;
}
.blue {
  color: #3977bc;
}
.pink {
  color: #e64c83;
}
.purple {
  color: #7d4ba8;
}
.violet {
  color: #7550a1;
}
.teal {
  color: #329b9a;
}

  body{
    
    font-family: "Poppins", sans-serif;
    font-weight:300;
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Span', 'Playfair Display', serif;
    font-weight:500;
    color:var(--ink);
  }
  .section-heading{
    margin: 0;
    color: #272320;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 48px;
    line-height: 1.1;
    font-weight: 400;
  }
  @media (max-width:768px){
    .section-heading{ font-size: 34px; }
  }
  @media (max-width:480px){
    .section-heading{ font-size: 26px; }
  }
  .sub-heading{
  font-size: 13px;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-family: 'Span', 'Playfair Display', serif;
  color: var(--gold);
  font-weight: 600;
  display: inline-block;
  margin-bottom: 8px;
}
  .sub-heading1{
    font-size: 16px;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-family: 'Span', 'Playfair Display', serif;
    color: #ffffff;
    font-weight: 500;
  }
  .bottom-fot{
    font-size: 16px;
    color: #fefefd;
    font-family: "Poppins", sans-serif;
  }
  .about-heading{
    font-size: 48px;
    display:flex;
    text-align:left;
    font-weight: 600;
  }
  .eyebrow{
    font-size: 14px;
    text-transform:uppercase;
    font-family:'Span', 'Playfair Display', serif;
    color:var(--rust);
    font-weight: 600;
    letter-spacing: 2px;
  }
  .about-eyebrow{
    display:flex;
    text-align:left;
    font-size: 14px;
    text-transform:uppercase;
    font-family:'Span', 'Playfair Display', serif;
    color:var(--rust);
    font-weight:500;
  }
  .btn-under{
    font-family: 'Span', 'Playfair Display', serif;
    background: #c79211;
    color:#fff;
    text-decoration: none;
    border:none;    
    padding: 15px 30px;
    font-size: 16px;
    letter-spacing:.1em;
    text-transform:uppercase;
    font-weight:600;
    border-radius:0;
  }
  .btn-rust{
  font-family: 'Playfair Display', serif;
  background: #c79211;
  color: #fff;
  text-decoration: none;
  border: none;
  padding: 15px 30px;
  font-size: 16px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 600;
  border-radius: 0;
  transition: transform .3s ease, box-shadow .3s ease;
}
  .btn-dark-outline{
    border:1px solid var(--near-black);
    color:var(--near-black);
    border-radius:0;
    padding:.9rem 2.2rem;
    font-size:.75rem;
    letter-spacing:.2em;
    text-transform:uppercase;
  }
  .btn-dark-outline:hover{background:var(--near-black);color:#fff;}
  .text-ink-soft{
    font-family: "Poppins", sans-serif;
    color:var(--ink-soft);
    font-size: 20px;
    font-weight: 400;
  }
  ._blank{
    background:rgb(221, 220, 220);
    padding: 30px;
  }
  .section-pad{
    padding: 80px 20px;
    background-color: var(--paper);
    text-align: center;
    position: relative;
    overflow: hidden;
  }

  /* Navbar */
  /* ================= STICKY NAVBAR ================= */
/* =========================================
   NAVBAR 1 - STICKY ON SCROLL
========================================= */

.inner-sticky-navbar {
    position: sticky !important;
    top: 0 !important;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999 !important;

    background: #ffffff !important;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.08);

    transition: box-shadow 0.3s ease;
}
  .navbar-brand-custom{
    font-family:'Span', 'Playfair Display', serif;
    font-size:1rem;
    line-height:1.1;
  }
  .navbar-brand-custom small{
    display:block;
    font-family:'Playfair Display',sans-serif;
    font-size:.6rem;
    letter-spacing:.25em;
    text-transform:uppercase;
    color:var(--ink-soft);
  }
  .nav-icon{width:18px;height:18px;stroke:var(--ink);}

  /* Hero */
  /* Hero */
.hero{
  position:relative;
  padding:11rem 0 3rem;
  overflow:hidden;
  perspective:1000px;
  background-image:url('../img/aesthetic-sky-background-with-moon-clouds-pink-scaled.jpg');
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
}
/* Glowing moon animation — positioned to sit over the moon in the background image */
.hero::before{
  content:"";
  position:absolute;
  left:50%; top:28%;
  width:420px; height:420px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,252,244,.9), rgba(255,240,220,.5) 55%, rgba(255,240,220,0) 75%);
  animation:moon-glow 6s ease-in-out infinite;
  z-index:0;
  pointer-events:none;
}
@keyframes moon-glow{
  0%, 100%{ transform:translate(-50%,-50%) translateZ(0) scale(1) translateY(0); opacity:.9; }
  50%{ transform:translate(-50%,-50%) translateZ(60px) scale(1.1) translateY(-14px); opacity:1; }
}
/* Put your color overlay here, between the background/glow (z-index 0) and the content (z-index 2) */
.hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  /* example: background:rgba(193,99,63,.25); */
}
.hero::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:35%;
  background:linear-gradient(180deg, rgba(255,255,255,0), #fdfaf7 85%);
  pointer-events:none;
  z-index:1;
}
.hero .container{position:relative; z-index:2;}
.hero h1{
  font-size: 90px;
  font-weight: 600;
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.1;
  animation-delay: .15s;
}
.hero h2{
  font-size: 60px;
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.1;
  padding-top: 25px;
  padding-bottom: 200px;
  animation-delay: .65s;
}
.scroll-arrow {
    width: 26px;
    height: 26px;
    border-right: 2px solid #222;
    border-bottom: 2px solid #222;
    transform: rotate(45deg) !important;
    margin: 0 auto;
    position: relative;
    margin-top: 40px;
    margin-bottom: 25px;

}

.scroll-arrow::before {
    content: "";
    position: absolute;
    width: 2px;
    height: 45px;
    background: #222;
    right: 15px;
    top: -14px;
    transform: rotate(-45deg);
}
.scroll-line{width:1px;height:46px;background:var(--ink-soft);opacity:.5;margin:0 auto;}
.scroll-tiny{font-size:.65rem;letter-spacing:.3em;color:var(--ink-soft);text-transform:uppercase;}
.scroll-label{font-family:'Span', 'Playfair Display', serif;font-size:1.6rem;letter-spacing:.15em; color:var(--rust);}

.side-scroll-tab{
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:64px;
  background:#4a4440;
  border-radius:0 8px 8px 0;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:10;
}
.side-scroll-tab svg{width:12px;height:12px;stroke:#fff;fill:#fff;}

.brand-tagline{
  font-size:.55rem;
  letter-spacing:.08em;
  color:var(--rust);
  text-transform:uppercase;
  margin-top:2px;
  white-space:nowrap;
}
#benefits h2{
  font-size: 60px !important; 
  max-width:420px; 
  font-weight: 600;
  line-height:1.1;
}
.heading2{
  color: #1f1f1f;
  font-size: 26px;
  letter-spacing: 8px;
  font-family: 'Playfair Display',serif;
  font-weight: 700;
  margin: 0 0 18px;
}
.down-arrow-icon{
  width:20px;height:34px;stroke:var(--ink);stroke-width:1.2;
  animation:arrow-bounce 1.8s ease-in-out infinite;
}
@keyframes arrow-bounce{
  0%, 100%{ transform:translateY(0); }
  50%{ transform:translateY(8px); }
}
/* ===== TAROT SECTION ===== */
.tarot-row{
  align-items:flex-start; /* key fix — lets right column run taller than left */
}
.tarot-media-primary img{
  width:100%;
  height:510px;
  object-fit:cover;
  border-radius:4px;
}
.tarot-heading{
  font-family:Georgia, 'Playfair Display', serif;
  font-size:48px;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:22px;
  color:#1f1f1f;
}
.tarot-text{
  font-size:15px;
  line-height:1.85;
  color:#5c5652;
  margin-bottom:0;
}
.tarot-media-secondary{
  margin-top:40px;
}
.tarot-media-secondary img{
  width:100%;
  height:340px;
  object-fit:cover;
  border-radius:4px;
}

@media (max-width:991px){
  .tarot-media-primary img{ height:400px; }
  .tarot-heading{ font-size:34px; }
  .tarot-media-secondary{ margin-top:28px; }
  .tarot-media-secondary img{ height:280px; }
}
@media (max-width:576px){
  .tarot-heading{ font-size:26px; }
  .tarot-media-primary img,
  .tarot-media-secondary img{ height:260px; }
}
  
  .arch{
    border-radius: 200px 200px 200px 200px;
    overflow:hidden;
    box-shadow:0 30px 50px -20px rgba(60,40,20,.35);
  }

  .col-custom {
      width: 47%;
  }
  .arch img{
  height: 600px;
  width: 350px;
  object-fit: cover;
  
}
  .check-list{list-style:none;padding-left:0;}
  .check-list li{
    font-family: "Poppins", sans-serif;
    position:relative;
    color: #000000;
    font-weight: 400;
    padding-left:1.6rem;
    margin-bottom:.8rem;
    font-size: 16px;
  }
  /* ===== NUMEROLOGY SECTION ===== */
.numerology-row{
  align-items:flex-start;
}
.numerology-title{
  font-family:'Playfair Display', serif;
  font-size:32px;
  font-weight:600;
  color:#1f1f1f;
  margin-bottom:20px;
}
.numerology-media-primary img{
  width:100%;
  height:520px;
  object-fit:cover;
  border-radius:4px;
}
.numerology-heading{
  font-family:Georgia, 'Playfair Display', serif;
  font-size:48px;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:22px;
  color:#1f1f1f;
}
.numerology-text{
  font-size:15px;
  line-height:1.85;
  color:#5c5652;
  margin-bottom:24px;
}
.numerology-media-secondary img{
  width:100%;
  height: 420px;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:4px;
}

@media (max-width:991px){
  .numerology-title{ font-size:26px; }
  .numerology-media-primary img{ height:400px; }
  .numerology-heading{ font-size:34px; }
}
@media (max-width:576px){
  .numerology-title{ font-size:22px; }
  .numerology-media-primary img{ height:300px; }
  .numerology-heading{ font-size:26px; }
}
  .check-list img{
    width: 20px !important;
    height: 20px;
    padding-right: 5px;
  }
  /* .check-list li::before{
    content:"";
    position:absolute;
    left:0;top:.5rem;
    width:8px;height:8px;
    background: url('img/star.png');
    transform:rotate(45deg);
  } */
  .section-pad1{
    padding:80px 0px 0px 0px;
  }
  .container{
    max-width:1200px;
    margin:0 auto;
    position:relative;
    z-index:2;
  }
  .divider{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-bottom:40px;
    color:var(--gold);
  }
  .divider .line{
    width:70px;
    height:1px;
    background:linear-gradient(to right, transparent, var(--gold));
  }
  .divider .line.right{
    background:linear-gradient(to left, transparent, var(--gold));
  }
  .our-approach-section{
    max-width:900px;
    margin:0 auto 50px;
  }
  .types-line{
    font-size:16px;
    line-height:1.7;
    color:#3a3a3a;
    margin:0 0 14px;
  }
  .types-line strong{
    color:#1f1f1f;
  }
  .types-line.accent-gold strong{color:var(--gold);}
  .types-line.accent-leaf strong{color:var(--leaf);}
  .types-line.accent-sound strong{color:var(--sound);}
 
  .cards-row{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
    margin-top:20px;
  }
.our-app-card {
  background: #fff;
  border-radius: 16px;
  border: 1px solid #e7c64a;
  padding: 15px;
  box-shadow: 0 8px 25px rgba(218, 165, 32, 0.18), 0 2px 8px rgba(255, 224, 110, 0.25);
  transition: transform .25s ease, 
  box-shadow .25s ease;
  display: flex;
  flex-direction: column;
}
.our-app-card:hover {
  transform: translateY(-5px);
  box-shadow:0 15px 35px rgba(218, 165, 32, 0.28), 0 4px 12px rgba(255, 224, 110, 0.35);
}  
.icon-wrap{
  width:120px;
  height:120px;
  margin:0 auto 22px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.icon-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  filter:blur(2px);
  opacity:.55;
}
.icon-circle{
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  border: 1px solid rgba(0,0,0,0.04);
}
.gold .icon-wrap::before{
  background:radial-gradient(circle, #f7c9a3, transparent 70%);
}
.leaf .icon-wrap::before{
  background:radial-gradient(circle, #c9d9b8, transparent 70%);
}
.sound .icon-wrap::before{
  background:radial-gradient(circle, #bcd7ea, transparent 70%);
}
.chakra .icon-wrap::before{
  background:radial-gradient(circle, #d8c8ec, transparent 70%);
}
.our-app-heading{
  font-family:'Playfair Display',serif;
  font-size: 18px;
  font-weight:700;
  margin:0 0 14px;
  line-height:1.3;
}
.gold .our-app-heading{
  color:var(--gold);
}
.leaf .our-app-heading{
  color:var(--leaf);
}
.sound .our-app-heading{
  color:var(--sound);
}
.chakra .our-app-heading{
  color:var(--chakra);
}
.mini-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-bottom:16px;
}
.mini-divider span.stem{
  width:36px;
  height:1px;
  background:currentColor;
  opacity:.5;
}
.divider img{
  width: 50px;
}
.card-footer img{
  width:50px;
  height:50px;
  object-fit:contain;
  display:block;
  flex-shrink:0;
}
.bottom-banner img{
  width: 50px;
}
.mini-divider span.dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
}
  /* --- Fix: icon PNGs ka size/centering missing tha, isliye align nahi ho rahe the --- */
  /* .icon-circle img{
    width: 40px;
    height: 40px;
    object-fit: contain;
    display: block;
  } */

  .divider img.w-1000{
    width: 40px;
    height: auto;
  }

  @media (max-width: 992px){
    .cards-row{
      grid-template-columns: repeat(2, 1fr);
      gap: 18px;
    }
  }

  @media (max-width: 576px){
    .cards-row{
      grid-template-columns: 1fr;
      gap: 16px;
    }
    .our-app-card{
      padding: 28px 18px 24px;
    }
    .icon-wrap{
      width: 96px;
      height: 96px;
      margin-bottom: 16px;
    }
    .icon-circle{
      width: 72px;
      height: 72px;
    }
    .icon-circle img{
      width: 32px;
      height: 32px;
    }
    .our-app-heading{
      font-size: 20px;
    }
    .our-app-desc{
      font-size: 14px;
    }
    .our-approach-section{
      padding: 0 6px;
    }
    .types-line{
      font-size: 14.5px;
    }
    .bottom-banner{
      padding: 14px 20px;
      font-size: 13.5px;
      text-align: left;
      border-radius: 24px;
    }
    .bottom-banner img{
      width: 26px;
    }
  }
  .gold .mini-divider{color:var(--gold);}
  .leaf .mini-divider{color:var(--leaf);}
  .sound .mini-divider{color:var(--sound);}
  .chakra .mini-divider{color:var(--chakra);}
 
  .our-app-desc{
    font-size:14.5px;
    color:var(--muted);
    line-height:1.6;
    margin:0 0 26px;
  }
  .card-footer{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    opacity:.6;
    margin-top:auto;
    min-height:50px;
  }
  .card-footer .line{
    flex:1;
    height:1px;
    background:#ddd;
    max-width:40px;
  }
  .card-footer svg{
    width:20px;
    height:20px;
  }
  .gold .card-footer svg{color:var(--gold);}
  .leaf .card-footer svg{color:var(--leaf);}
  .sound .card-footer svg{color:var(--sound);}
  .chakra .card-footer svg{color:var(--chakra);}
 
  .bottom-banner{
    margin-top:44px;
    display:inline-flex;
    align-items:center;
    gap:12px;
    background:#fbe6d8;
    padding:16px 32px;
    border-radius:40px;
    font-size:15px;
    color:#3a3a3a;
  }
  .bottom-banner svg{
    width:22px;
    height:22px;
    color:var(--gold);
    flex-shrink:0;
  }
 
  .leaf-decor{
    position:absolute;
    opacity:.15;
    z-index:0;
  }
  .leaf-decor.left{top:20px; left:-40px; width:220px;}
  .leaf-decor.right{top:0; right:-40px; width:260px;}
 
  @media(max-width:992px){
    .cards-row{grid-template-columns:repeat(2,1fr);}
    .heading2{font-size:34px;}
  }
  @media(max-width:576px){
    .cards-row{grid-template-columns:1fr;}
  }
 .section-pad-detail{ 
    padding: 4rem 0; 
    background-color: #fff;
  }
.about-h4{
  font-family:'Playfair Display',serif;
  font-size: 28px;
  font-weight: 600;
}
.about-p{
  font-size: 16px;
  line-height: 1.6;
  display:flex; 
  text-align: left;
}
.side-social{
  position:absolute;
  left:-1.2rem;
  bottom:1rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.6rem;
  color:var(--ink-soft);
}
.side-social span{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-size:.7rem;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.side-social svg{width:16px;height:16px;}

.display-heading{
  font-size:48px;
  font-weight: 600;
  font-family:'Span', 'Playfair Display', serif;
}

.side-quote{
  font-family: "Poppins", sans-serif;
  border-left:3px solid var(--rust);
  padding-left:1.2rem;
  font-size: 16px;
  line-height:1.6;
  color: #737374;
  max-width:500px;
}
.side-quote strong{ color:#737374; font-weight:600; }

.detail-media-wrap{
  position: relative;
  min-height: 640px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0 3rem;
  perspective: 1400px;
}
.glow-arc{
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.9), rgba(255,255,255,.3) 60%, rgba(255,255,255,0) 80%);
  z-index: 0;
  animation: arc-float-3d 7s ease-in-out infinite;
}
.detail-media-wrap .img-top{
  position:relative;
  z-index:1;
  border-radius: 50% 50% 0 0;
  width:100%;
  height: 610px;
  object-fit:cover;
  margin-right:-40px;
}
.detail-media-wrap .img-side{
  position:relative;
  z-index:1;
  width:44%;
  height:280px;
  object-fit:cover;
  align-self:flex-end;
}
.quote-card-overlap{
  position: absolute;
  left: 3rem;
  bottom: 0;
  width: 266px;
  background: var(--near-black);
  color: #f2ede6;
  padding: 2rem 2.2rem;
  font-family: 'Span', 'Playfair Display', serif;
  font-weight: 600;
  font-size: 28px;
  line-height: 1.3;
  z-index: 2;
  transition: transform .4s ease, box-shadow .4s ease;
}
@media (max-width:991px){
  .side-social{ 
    display:none; 
  }
  .detail-media-wrap{ 
    padding:0 1rem; 
    min-height:auto; 
  }
  .quote-card-overlap{ 
    position:static; 
    width:100%; 
    margin-top:1rem; 
    font-size:1.3rem; 
  }
  .display-heading{ 
    font-size:34px; 
  }
}
.services-section {
  position: relative;
  padding: 0px 0 50px;
  overflow: hidden;
  background: radial-gradient(circle at 0% 0%,rgba(239, 179, 159, .13),transparent 24%),
  radial-gradient(circle at 100% 100%,rgba(204, 181, 221, .13),transparent 26%),#fffdfb;
}
/* ==== HEADER ==== */
.services-header {
  max-width: 760px;
  margin: 0 auto 48px;
}

.services-kicker {
  display: block;
  margin-bottom: 10px;
  color: #c96d51;
  
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
}
.services-header h2 {
  margin: 0;
  color: #272320;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 48px;
  line-height: 1.1;
  font-weight: 400;
}
.services-header p {
  max-width: 650px;
  margin: 18px auto 20px;
  color: #66615e;
  
  font-size: 16px;
  line-height: 1.75;
}
.heading-decoration {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.heading-decoration span {
  width: 65px;
  height: 1px;
  background: #edc6b8;
}
.heading-decoration i {
  color: #df785c;
  font-size: 17px;
}
.bottom-decoration {
  margin-top: 5px;
}
/* ====GRID === */
.services-grid {
  --bs-gutter-x: 20px;
  --bs-gutter-y: 20px;
}
/* === CARD === */
.service-card {
  position: relative;
  height: 100%;
  min-height: 285px;
  padding: 26px 18px 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(220,205,197,.42);
  border-radius: 16px;
  box-shadow: 0 8px 25px rgba(64,48,38,.055);
  transition: transform .35s ease;
  overflow: hidden;
}
.service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 38px rgba(64,48,38,.11);
}
/* ==== ICON ==== */
.home-service-icon {
  width: 92px;
  height: 92px;
  margin-bottom: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: rgba(255,255,255,.8);
  position: relative;
  z-index: 2;
  box-shadow:0 4px 16px rgba(80,60,50,.045);
}
.home-service-icon::before {
  content: "";
  position: absolute;
  width: 105px;
  height: 105px;
  border-radius: 50%;
  background:var(--gold);
  opacity: .055;
  z-index: -1;
}
.home-service-icon i {
  font-size: 32px;
}
/* ==== TITLE ==== */
.service-card h3 {
  min-height: 28px;
  margin: 0;
  color: #302b28;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  line-height: 1.25;
  font-weight: 400;
}
/* ==== SMALL DECORATION ==== */
.mini-decoration {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 7px 0 8px;
  color: var(--gold);
}
.mini-decoration span {
  width: 22px;
  height: 1px;
  background: var(--gold);
  opacity: .45;
}
.mini-decoration i {
  font-size: 8px;
}
/* ==== DESCRIPTION ==== */
.service-card p {
  max-width: 220px;
  min-height: 45px;
  margin: 0 auto;
  color: #68625e;
  
  font-size: 13px;
  line-height: 1.55;
}
/* ===== ONLINE BUTTON ===== */
.online-link {
  width: 100%;
  min-height: 40px;
  margin-top: auto;
  padding: 4px 6px 4px 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-decoration: none;
  border: 1px solid currentColor;
  border-radius: 30px;
  color: currentColor;
  background: rgba(255,255,255,.72);
  transition: background .3s ease, color .3s ease;
}
.online-link:hover {
  color: #fff;
  background: #c67962;
}
.online-left {
  display: flex;
  align-items: center;
  gap: 4px;
  padding-left: 3px;  
  font-size: 12px;
  font-weight: 600;
  /* letter-spacing: .8px; */
  text-transform: uppercase;
}
.online-left > i {
  width: 27px;
  height: 27px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 12px;
}
.service-arrow {
  width: 27px;
  height: 27px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 17px;
}
.online-link:hover .online-left > i,
.online-link:hover .service-arrow {
    border-color: rgba(255,255,255,.7);
}

.service-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 65px;
    height: 65px;
    background: #c6796255;
    clip-path: polygon(100% 0, 100% 100%, 0 0);
    z-index: 0;
}

.service-card::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 65px;
    height: 65px;
    background: rgba(255, 255, 255, 0.25);
    clip-path: polygon(100% 0, 100% 100%, 0 0);
    transform: translate(12px, -12px);
    z-index: 0;
}

.service-card > * {
    position: relative;
    z-index: 1;
}
/* =========================================================
   SACRED WELLNESS PRODUCTS
========================================================= */

.sacred-products-section {
    position: relative;
    /* background: #fdf7f1; */
    overflow: hidden;
}

.sacred-products-section::before {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    left: -220px;
    top: 80px;
    border-radius: 50%;
    background: rgba(243, 217, 214, 0.35);
    filter: blur(5px);
}

.sacred-products-section::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    right: -180px;
    bottom: 60px;
    border-radius: 50%;
    background: rgba(247, 226, 223, 0.45);
}

.sacred-products-section .container {
    position: relative;
    z-index: 2;
}


/* Heading */

.sacred-products-heading {
    max-width: 760px;
    margin: 0 auto 48px;
}

.sacred-eyebrow {
    display: block;
    margin-bottom: 10px;
    font-family: "Poppins", sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #c67962;
}

.sacred-products-heading h2 {
    margin: 0;
    color: #272320;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 48px;
    line-height: 1.1;
    font-weight: 400;
}

.sacred-products-heading p {
    max-width: 620px;
    margin: 18px auto 0;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    line-height: 1.8;
    color: #6b6b6b;
}

.sacred-heading-line {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 18px auto 0;
}

.sacred-heading-line span {
    width: 55px;
    height: 1px;
    background: #e0a06c;
}

.sacred-heading-line i {
    font-size: 14px;
    color: #c67962;
}


/* Product Card */

.sacred-product-card {
    position: relative;
    height: 100%;
    overflow: hidden;
    background: #fffdfb;
    border: 1px solid #ead7c8;
    border-radius: 18px;
    box-shadow: 0 10px 35px rgba(70, 48, 37, 0.07);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.sacred-product-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 45px rgba(70, 48, 37, 0.12);
}


/* Product Image */

.sacred-product-image {
    width: 100%;
    height: 285px;
    overflow: hidden;
    background: #f4efe9;
}

.sacred-product-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.sacred-product-card:hover .sacred-product-image img {
    transform: scale(1.035);
}


/* Content */

.sacred-product-content {
    position: relative;
    min-height: 285px;
    padding: 28px 28px 30px;
    text-align: center;
}

.sacred-product-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    /* margin: -53px auto 16px; */
    position: relative;
    z-index: 3;
    border-radius: 50%;
    border: 4px solid #fffdfb;
    background: #c67962;
    color: #fff;
    font-size: 21px;
    box-shadow: 0 5px 15px rgba(70, 48, 37, 0.12);
}

.sacred-product-icon.vastu-icon {
    background: #c67962;
}

.sacred-product-content h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 26px;
    line-height: 1.05;
    font-weight: 400;
    color: #c67962;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.sacred-subtitle {
    display: block;
    margin-top: 7px;
    font-family: "Span", "Playfair Display", serif;
    font-size: 16px;
    color: #7550a1;
}

.sacred-small-line {
    width: 85px;
    height: 1px;
    margin: 15px auto 16px;
    background: #dda477;
}

.sacred-product-content p {
    max-width: 310px;
    margin: 0 auto;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    line-height: 1.75;
    color: #626262;
}


/* Enquire Button */

.sacred-enquire-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 22px;
    padding: 11px 23px;
    border: 1px solid #c67962;
    border-radius: 3px;
    background: #c67962;
    color: #fff;
    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.sacred-enquire-btn i {
    font-size: 12px;
    transition: transform 0.3s ease;
}

.sacred-enquire-btn:hover {
    background: transparent;
    color: #c67962;
}

.sacred-enquire-btn:hover i {
    transform: translateX(4px);
}

.sacred-enquire-btn.vastu-btn {
    border-color: #c67962;
    background: #c67962;
}

.sacred-enquire-btn.vastu-btn:hover {
    background: transparent;
    color: #c67962;
}


/* Features */

.sacred-features {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    margin: 45px auto 0;
    max-width: 1100px;
    padding: 22px 15px;
    border-top: 1px solid #e4d9d0;
    border-bottom: 1px solid #e4d9d0;
}

.sacred-feature {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 35px;
    padding: 0 15px;
    border-right: 1px solid #e4d9d0;
    text-align: center;
}

.sacred-feature:last-child {
    border-right: 0;
}

.sacred-feature i {
    flex-shrink: 0;
    font-size: 21px;
    color: #c67962;
}

.sacred-feature span {
    font-family: "Span", "Playfair Display", serif;
    font-size: 16px;
    font-weight: 600;
    color: #2c2620;
}


/* =========================================================
   ENQUIRY MODAL
========================================================= */

.sacred-enquiry-modal {
    border: 1px solid #ead7c8;
    border-radius: 15px;
    background: #fdf7f1;
    overflow: hidden;
}

.sacred-enquiry-modal .modal-header {
    padding: 25px 28px 18px;
    border-bottom: 1px solid #e4d9d0;
    background: #fffdfb;
}

.sacred-enquiry-modal .modal-title {
    margin-top: 3px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
    font-weight: 400;
    color: #2c2620;
}

.sacred-enquiry-modal .modal-body {
    padding: 25px 28px 30px;
}

.selected-product-text {
    margin-bottom: 22px;
    padding: 12px 15px;
    border-left: 2px solid #c67962;
    background: #f7e8e3;
    font-family: "Poppins", sans-serif;
    font-size: 12px;
    color: #666;
}

.selected-product-text strong {
    display: block;
    margin-top: 3px;
    color: #4a2867;
}

.sacred-enquiry-modal label {
    display: block;
    margin-bottom: 7px;
    font-family: "Poppins", sans-serif;
    font-size: 11px;
    color: #3e3935;
}

.sacred-input {
    min-height: 46px;
    border: 1px solid #e0d4ca;
    border-radius: 5px;
    background: #fff;
    box-shadow: none !important;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
}

.sacred-input:focus {
    border-color: #c67962;
}

textarea.sacred-input {
    min-height: 100px;
    resize: vertical;
}

.sacred-submit-btn {
    width: 100%;
    padding: 13px 20px;
    border: 1px solid #c67962;
    border-radius: 3px;
    background: #c67962;
    color: #fff;
    font-family: "Poppins", sans-serif;
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.sacred-submit-btn i {
    margin-left: 8px;
}

.sacred-submit-btn:hover {
    background: #ffffff;
    color: #c67962;
}


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

@media (max-width: 991px) {

    .sacred-products-section {
        padding: 70px 0 60px;
    }

    .sacred-product-image {
        height: 260px;
    }

    .sacred-product-content {
        min-height: 300px;
    }

    .sacred-features {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 20px;
    }

    .sacred-feature:nth-child(2) {
        border-right: 0;
    }
}


@media (max-width: 767px) {

    .sacred-products-section {
        padding: 60px 0 50px;
    }

    .sacred-products-heading {
        margin-bottom: 35px;
        padding: 0 10px;
    }

    .sacred-products-heading h2 {
        font-size: 26px;
    }

    .sacred-products-heading p {
        font-size: 12px;
        line-height: 1.7;
    }

    .sacred-product-image {
        height: 270px;
    }

    .sacred-product-content {
        min-height: auto;
        padding: 27px 22px 28px;
    }

    .sacred-product-content h3 {
        font-size: 25px;
    }

    .sacred-features {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 8px 0;
    }

    .sacred-feature {
        padding: 14px 10px;
        border-right: 0;
        border-bottom: 1px solid #e4d9d0;
    }

    .sacred-feature:last-child {
        border-bottom: 0;
    }

    .sacred-enquire-btn {
        width: 100%;
        max-width: 240px;
    }
}


@media (max-width: 480px) {

    .sacred-product-image {
        height: 240px;
    }

    .sacred-product-content h3 {
        font-size: 23px;
    }

    .sacred-product-content p {
        font-size: 12px;
    }

    .sacred-eyebrow {
        font-size: 8px;
        letter-spacing: 0.22em;
    }

}
/* ==== ONLINE NOTE ==== */
.online-note {
  max-width: 850px;
  margin: 30px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  color: #57514d;
  
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}
.online-note strong {
  color: #d96d50;
  font-weight: 600;
}
.note-icon {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #f0c7b9;
  border-radius: 50%;
  color: #df7054;
  background: #fff5f1;
  font-size: 15px;
}
/* === NEWSLETTER SECTION === */
.newsletter-section {
  position: relative;
  padding: 25px 0;
  background: #fff;
  overflow: hidden;
}
.newsletter-box {
  position: relative;
  min-height: 300px;
  padding: 55px 60px;
  display: flex;
  align-items: center;
  background: radial-gradient(circle at 95% 10%,rgba(222, 154, 130, .08),transparent 25%),
        radial-gradient(circle at 5% 90%,rgba(196, 173, 211, .07),transparent 28%),
        #fffdfb;
  border: 1px solid rgba(210, 185, 173, .30);
  border-radius: 12px;
  box-shadow:0 15px 40px rgba(55, 42, 35, .06);
  overflow: hidden;
}
.newsletter-decoration {
  position: absolute;
  left: -25px;
  bottom: -65px;
  width: 210px;
  height: 210px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(218, 126, 97, .08);
  border-radius: 50%;
  transform: rotate(-20deg);
  pointer-events: none;
}
.newsletter-decoration::before,
.newsletter-decoration::after {
  content: "";
  position: absolute;
  width: 100px;
  height: 145px;
  border: 1px solid rgba(218, 126, 97, .07);
  border-radius: 70% 30% 70% 30%;
}
.newsletter-decoration::before {
  transform: rotate(-35deg);
  left: 10px;
}
.newsletter-decoration::after {
  transform: rotate(35deg);
  right: 10px;
}
.newsletter-decoration i {
  position: relative;
  color: rgba(218, 126, 97, .12);
  font-size: 55px;
}
.newsletter-content {
  position: relative;
  z-index: 2;
}
.newsletter-label {
  display: block;
  margin-bottom: 12px;
  color: #ca765d;
  
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
}
.newsletter-content h2 {
  margin: 0 0 16px;
  color: #292522;  
  font-size: 43px;
  line-height: 1.12;
  font-weight: 400;
}
.newsletter-content p {
  max-width: 470px;
  margin: 0;
  color: #69635f;
  
  font-size: 15px;
  line-height: 1.8;
}
.newsletter-form {
  position: relative;
  z-index: 2;
}
.newsletter-input-row {
  display: flex;
  width: 100%;
  gap: 10px;
}
/* Email */
.email-field {
  position: relative;
  flex: 1;
  padding: 14px 0px;
  height: 62px;
  display: flex;
  align-items: center;
  background: #ffffff;
  border: 1px solid #ddd9d6;
  border-radius: 8px;
  transition: border-color .3s ease,
  box-shadow .3s ease;
}
.email-field:focus-within {
  border-color: #d58a71;
  box-shadow:0 0 0 3px rgba(213, 138, 113, .08);
}
.email-field > i {
  margin-left: 20px;
  color: #c98269;
  font-size: 16px;
}
.email-field input {
  width: 100%;
  height: 100%;
  padding: 0 18px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #38322f;
  
  font-size: 14px;
}
.email-field input::placeholder {
    color: #918b87;
}
.subscribe-btn {
  min-width: 165px;
  height: 62px;
  padding: 0 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  border: 0;
  border-radius: 8px;
  background: #d9866d;
  color: #ffffff;
  
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  cursor: pointer;
  transition:
  background .3s ease,
  transform .3s ease,
  box-shadow .3s ease;
}
.subscribe-btn:hover {
  background: #c9755b;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(190, 108, 82, .20);
}
.subscribe-btn i {
  font-size: 15px;
  transition: transform .3s ease;
}
.subscribe-btn:hover i {
  transform: translateX(4px);
}
.privacy-check {
  margin-top: 17px;
}
.privacy-check label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
  user-select: none;
}
/* Hide original checkbox */
.privacy-check input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
/* Custom checkbox */
.custom-checkbox {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ccc7c4;
  border-radius: 4px;
  background: #ffffff;
  transition:
  background .2s ease,
  border-color .2s ease;
}
.custom-checkbox i {
  display: none;
  color: #ffffff;
  font-size: 10px;
}
/* Checked */
.privacy-check input[type="checkbox"]:checked
+ .custom-checkbox {
  background: #d9866d;
  border-color: #d9866d;
}
.privacy-check input[type="checkbox"]:checked
+ .custom-checkbox i {
    display: block;
}
.privacy-text {
    color: #77716d;
    
    font-size: 12px;
}
.privacy-text a {
  color: #b96850;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.privacy-text a:hover {
  color: #d9866d;
}

/* ==== RESPONSIVE - TABLET ==== */
@media (max-width: 991px) {
  .newsletter-section {
    padding: 65px 0;
  }
  .newsletter-box {
    padding: 45px 40px;
  }
  .newsletter-content h2 {
    font-size: 38px;
  }
  .newsletter-input-row {
    flex-direction: column;
  }
  .email-field,
  .subscribe-btn {
    width: 100%;
  }
}
/* ==== RESPONSIVE - MOBILE ==== */
@media (max-width: 767px) {
  .newsletter-section {
    padding: 50px 15px;
  }
  .newsletter-box {
    padding: 40px 25px;
  }
  .newsletter-content {
    text-align: center;
  }
  .newsletter-content h2 {
    font-size: 34px;
  }
  .newsletter-content p {
    font-size: 14px;
  }
  .newsletter-label {
    font-size: 9px;
    letter-spacing: 2px;
  }
  .newsletter-input-row {
    gap: 12px;
  }
  .email-field,
  .subscribe-btn {
    height: 56px;
  }
  .subscribe-btn {
    min-width: 100%;
  }
  .privacy-check {
    display: flex;
    justify-content: center;
  }
}
/* ==== SMALL MOBILE ===== */
@media (max-width: 480px) {
  .newsletter-box {
    padding: 35px 20px;
  }
  .newsletter-content h2 {
    font-size: 30px;
  }
  .newsletter-decoration {
    opacity: .6;
  }
}

@media (min-width: 1200px) {

    .services-section .col-xl-3 {
        width: 20%;
    }

}


/* =========================
   TABLET
========================= */

@media (max-width: 1199px) {

    .services-header h2 {
        font-size: 34px;
    }

    .service-card {
        min-height: 285px;
    }

}


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

@media (max-width: 767px) {

    .services-section {
        padding: 70px 12px 75px;
    }

    .services-header {
        margin-bottom: 38px;
    }

    .services-header h2 {
        font-size: 26px;
    }

    .services-header p {
        font-size: 14px;
        line-height: 1.7;
    }

    .service-card {
        min-height: 275px;
        max-width: 360px;
        margin-left: auto;
        margin-right: auto;
    }

    .online-note {
        font-size: 12px;
        padding: 0 15px;
    }

}


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

@media (max-width: 575px) {

    .services-header h2 {
        font-size: 26px;
    }

    .services-kicker {
        font-size: 9px;
        letter-spacing: 2px;
    }

    .heading-decoration span {
        width: 42px;
    }

    .service-card {
        min-height: 270px;
    }

}

.newsletter-heading{
  font-weight: 600;
  font-family:'Span', 'Playfair Display', serif;
  font-size:2.6rem;
  color:var(--ink);
}

.agree-checkbox{
  appearance:none;
  -webkit-appearance:none;
  width:45px;
  height:45px;
  border:1px solid #ccc;
  border-radius:50%;
  flex-shrink:0;
  cursor:pointer;
  position:relative;
}
.agree-checkbox:checked{
  border-color:var(--rust);
}
.agree-checkbox:checked::after{
  content:"";
  position:absolute;
  left:8px; top:4px;
  width:6px; height:11px;
  border:solid var(--rust);
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

.agree-label{
  font-size:.9rem;
  font-family: "Poppins", sans-serif;
  color:var(--ink);
}
.privacy-link{
  color:var(--ink);
  text-decoration:underline;
}
.privacy-link:hover{ color:var(--rust); }

.arrow-btn{
  background:none;
  border:none;
  color:var(--rust);
  padding:0;
  margin:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
}
.arrow-btn svg{
  width:32px;
  height:32px;
  display:block;
  transition:transform .3s ease;
}
.arrow-btn:hover svg{ transform:translateX(6px); }

.newsletter-section .col-lg-2{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

/* ===== Responsive ===== */
@media (max-width:991px){
  .newsletter-section .row{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
  }

  /* heading takes its own full line */
  .newsletter-section .col-lg-7:first-child{
    flex:0 0 100%;
    max-width:100%;
    margin-bottom:1.2rem;
  }

  /* checkbox + label share a line with the arrow */
  .newsletter-section .col-lg-3{
    flex:1 1 auto;
    max-width:calc(100% - 70px);
  }

  .newsletter-section .col-lg-2{
    flex:0 0 60px;
    max-width:60px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    margin-top:0 !important;
  }

  .newsletter-heading{ font-size:2rem; }
}

@media (max-width:480px){
  .newsletter-heading{ font-size:1.6rem; }
  .agree-label{ font-size:.82rem; }
}

  /* CTA banner */
  .cta-banner {
  /* height: 575px;
  background-size: 110% !important; */
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  /* margin-bottom: 80px; */
  position: relative;
  overflow: hidden;
  /* box-shadow: 0 100px 0px 0px rgba(83, 83, 83, 0.134); */
  animation: cta-zoom 14s ease-in-out infinite alternate;
}

/* Black Overlay */
.cta-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    /* background: rgba(85, 85, 85, 0.413); */
    z-index: 1;
}

/* Content overlay ke upar rahega */
.cta-banner > div {
    position: relative;
    z-index: 2;
}

.cta-banner h2 {
  color: #fff;
  font-size: 44px;
  font-weight: 500;
  font-family: 'Span', 'Playfair Display', serif;
  line-height: 1.25;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.cta-banner .eyebrow {
  color: #e0a44f;
  font-size: 14px;
  letter-spacing: 3px;
}
  

  /* ===== Responsive ===== */
  @media (max-width:991px){
    .cta-banner{ height:460px; }
    .cta-banner h2{ font-size:32px; }
  }

  @media (max-width:767px){
    .cta-banner{ height:380px; padding:0 1.5rem; }
    .cta-banner h2{
  font-size: 26px;
}
  }

  @media (max-width:480px){
    .cta-banner{ height:320px; }
    .cta-banner h2{ font-size:22px; line-height:1.35; }
  }

/* ===== TESTIMONIALS SWIPER ===== */
.testi-swiper{
  padding:20px 20px 10px;
  overflow:visible !important;
}
.testi-swiper .swiper-slide{
  width:340px;
  display:flex;
  flex-direction:column;
  align-items:center;
  opacity:.55;
  transition:opacity .4s ease;
}
.testi-swiper .swiper-slide-active{
  opacity:1;
}

.testi-card{
  position: relative;
  width: 100%;
  min-height: 170px;
  padding: 2rem 1.5rem;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 8px;
  height: 100%;
}
.testi-card p{
  font-family: 'Span', 'Playfair Display', serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink);
  margin: 0;
  font-style: italic;
}
.testi-quote-icon{
  color:var(--rust);
  font-size:1.1rem;
  margin-bottom:.6rem;
  opacity:.8;
}

/* speech-bubble tail pointing down toward the avatar */
.testi-card::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-14px;
  transform:translateX(-50%);
  width:26px;
  height:26px;
  background:#fff;
  clip-path:polygon(0 0, 100% 0, 50% 100%);
}

/* highlighted center card */
.testi-swiper .swiper-slide-active .testi-card{
  background:var(--rust);
}
.testi-swiper .swiper-slide-active .testi-card p{
  color:#fff;
}
.testi-swiper .swiper-slide-active .testi-quote-icon{
  color:#fff;
}
.testi-swiper .swiper-slide-active .testi-card::after{
  background:var(--rust);
}

.testi-avatar-lg{
  width: 60px;
  height: 60px;
  border-radius: 50%;
  overflow: hidden;
  margin-top: 1rem;
  /* pulls avatar up to overlap the card's bottom edge/tail */
  position: relative;
  z-index: 2;
  border: 3px solid var(--cream);
  box-shadow: 0 4px 10px rgba(0,0,0,.12);
}
.testi-avatar-lg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.testi-swiper h6{
  font-family:'Span', 'Playfair Display', serif;
  font-weight:600;
  font-size:1.05rem;
  color:var(--ink);
  margin-top:.6rem;
}

@media (max-width:576px){
  .testi-swiper .swiper-slide{ width:280px; }
  .testi-card{ padding:1.8rem 1.4rem 2.2rem; min-height:150px; }
}
  .test-photo{
    width:100%;
    border-radius:50% 50% 0 0;
    overflow:hidden;
    filter:grayscale(100%);
  }
  .test-photo img{width:100%;height:100%;object-fit:cover;}
  .quote-mark img{
    width: 45px !important;
    margin-bottom: 20px;
  }
  blockquote.styled{
    font-family:'Span', 'Playfair Display', serif;
    font-weight: 600;
    font-size: 24px;
    line-height:1.5;
  }
  .test-avatar{
    width: 60px;
    height: 60px;
    border-radius:50%;
    object-fit:cover;
  }
/* ===== CTA BANNER — content sizing + side label ===== */
/* ===== CTA BANNER (base / desktop) ===== */
.cta-banner {
  height: 575px;
  background-size: 110% !important;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 80px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 100px 0px 0px rgba(83, 83, 83, 0.134);
  animation: cta-zoom 14s ease-in-out infinite alternate;
}

/* Black overlay */
.cta-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* Content stays above overlay */
.cta-banner > div {
  position: relative;
  z-index: 2;
}

.cta-banner h2 {
  color: #fff;
  font-size: 44px;
  font-weight: 500;
  font-family: 'Span', 'Playfair Display', serif;
  line-height: 1.25;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.cta-banner .eyebrow {
  color: #e0a44f;
  font-size: 14px;
  letter-spacing: 3px;
}

.cta-banner .btn-rust {
  background: #c79211;
  padding: 16px 34px;
  font-size: 13px;
  letter-spacing: .15em;
}

/* ===== CTA BANNER — this instance's background image + sizing ===== */
#cta2 {
  margin-bottom: 0px !important;
  height: 430px !important;
}

/* ===== Responsive ===== */
@media (max-width: 991px) {
  .cta-banner h2 { font-size: 32px; }
  #cta2 { height: 460px !important; }
}

@media (max-width: 767px) {
  .cta-banner { padding: 0 1.5rem; }
  .cta-banner h2 { font-size: 26px; }

  #cta2 {
    height: auto !important;
    min-height: 380px !important;
    padding: 60px 1.5rem !important;
    background-size: cover !important;
    background-position: center !important;
    animation: none !important;
  }
}

@media (max-width: 480px) {
  .cta-banner h2 { font-size: 22px; line-height: 1.35; }

  #cta2 {
    height: auto !important;
    min-height: 300px !important;
    padding: 45px 1.25rem !important;
    background-size: cover !important;
    background-position: center !important;
    animation: none !important;
  }

  .cta-banner .btn-rust {
    padding: 13px 24px;
    font-size: 12px;
  }

  .cta-banner .eyebrow {
    font-size: 12px;
    letter-spacing: 2px;
  }
}

@keyframes cta-zoom {
  from { background-size: 110%; background-position: center; }
  to   { background-size: 120%; background-position: center 55%; }
}
  /* Articles */
  .article{
    background:rgb(213, 213, 213);
    padding: 30px;
  }
  .article h2{
    font-size: 60px;
  }

  /* Footer */
  footer{
    background:var(--near-black);
    color:#cfc7bd;
  }
  footer .marks{
    font-size:1.7rem;
    letter-spacing:-6px;
    color:var(--rust);
  }
  footer .foot-eyebrow{
    font-size:.65rem;
    letter-spacing:.3em;
    text-transform:uppercase;
    color:#8a8078;
  }
  footer a{
    font-family:'Span', 'Playfair Display', serif;
    color:#cfc7bd;
    text-decoration:none;
    font-size: 14px;
  }
  footer a:hover{
    color:var(--rust);
  }
  .social-circle{
    width: 40px;
    height: 40px;
    border:1px solid #443f39;
    border-radius:50%;
  }
  .social-circle svg{
    width:14px;
    height:14px;
    stroke:#cfc7bd;
  }
/* mobile responsive  code */
@media screen and (max-width: 768px) {
  .hero h1 {
    font-size: 65px;
  }
  .hero h2 {
    padding-bottom: 20px;
    font-size: 42px;
  }
  .section-pad {
    padding: 32px 10px;
  }
  .tilt-card img{
    height: 350px !important;
  }
  .arch img{
    height: 350px;
    width: 100%;
  }
  .detail-media-wrap .img-top{
    position:relative;
    z-index:1;
    /* border-radius: 50% 50% 0 0; */
    width:80%;
    height: 275px;
    object-fit:cover;
    margin-right:-40px;
  }
  .newsletter-arrow{
    padding-top: 30px;
  }
  .detail-media-wrap{
    margin-top: 32px;
  }
  .article {
    padding: 32px;
  }
  .article h2{
    font-size: 30px;
  }

  /* headings & type that were fixed-px and could overflow small screens */
  #benefits h2{
    font-size: 40px !important;
    max-width: 100%;
  }
  .heading2{
    font-size: 34px;
    letter-spacing: 4px;
  }
  .about-heading{
    font-size: 34px;
  }
  .page-title-band h1{
    font-size: 34px;
  }
  body .service-heading{
    font-size: 34px;
  }
  .section-pad-detail{
    padding: 2.5rem 0;
  }

  /* two-column benefit images: keep side-by-side but let them size naturally */
  .col-custom{
    width: 47%;
  }

  /* service icons were 240px fixed, too big for two-per-row on phones */
  .service-icon{
    width: 140px;
    height: 140px;
  }

  .testimonial-row{
    column-gap: 0;
  }

  .choose-section{
    padding-left: 0;
  }
  .test-pad{
    margin-left: 0px;
  }
}

@media screen and (max-width: 480px) {
  .hero h1{
    font-size: 42px;
  }
  .hero h2{
    font-size: 30px;
  }
  .btn-rust{
    padding: 12px 22px;
    font-size: 10px;
  }
  #benefits h2{
    font-size: 30px !important;
  }
  .heading2{
    font-size: 26px;
    letter-spacing: 2px;
  }
  .about-heading{
    font-size: 26px;
  }
  .page-title-band h1{
    font-size: 26px;
  }
  .page-title-band{
    padding: 50px 0;
  }
  body .service-heading{
    font-size: 26px;
  }
  .service-icon{
    width: 110px;
    height: 110px;
  }
  .service-label{
    font-size: 13px;
  }
  .arch{
    border-radius: 90px 90px 90px 90px;
  }
  .arch img{
    height: 260px;
  }
  .col-custom{
    width: 100%;
  }
  .quote-card-overlap{
    font-size: 1.1rem;
    padding: 1.5rem;
  }
  blockquote.styled{
    font-size: 19px;
  }
  .article{
    padding: 24px 16px;
  }
  .article h2{
    font-size: 30px;
  }
  ._blank{
    padding: 24px;
  }
  .sign-banner-icon{
    max-width: 110px;
  }
  .test-pad{
    margin-left: 0px;
  }
}
/* ===== SITE-WIDE SCROLL ANIMATIONS ===== */
.reveal{
  opacity:0;
  transform:translateY(45px);
  transition:opacity .9s cubic-bezier(.25,.8,.25,1), transform .9s cubic-bezier(.25,.8,.25,1);
}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}
.about-banner img{
  width: 350px;
  background: linear-gradient(
    to bottom,
    #d9ffff 0%,
    #e3feff 40%,
    #ecfeff 70%,
    rgba(37, 211, 102, 0) 100%
);
}
.reveal-left{ transform:translateX(-55px); }
.reveal-left.is-visible{ transform:translateX(0); }
.reveal-right{ transform:translateX(55px); }
.reveal-right.is-visible{ transform:translateX(0); }
.reveal-zoom{ transform:scale(.9); }
.reveal-zoom.is-visible{ transform:scale(1); }

.reveal-delay-1{ transition-delay:.12s; }
.reveal-delay-2{ transition-delay:.24s; }
.reveal-delay-3{ transition-delay:.36s; }
.reveal-delay-4{ transition-delay:.48s; }

/* Hero entrance (plays on page load, not scroll) */
.hero .eyebrow, .hero h1, .hero .btn-rust, .hero .scroll-arrow, .hero .scroll-tiny, .hero h2{
  opacity:0;
  animation:hero-fade-up .9s ease forwards;
}
.hero .btn-rust{ animation-delay:.3s; }
.hero .scroll-arrow{ animation-delay:.45s; }
.hero .scroll-tiny{ animation-delay:.55s; }
@keyframes hero-fade-up{
  from{ opacity:0; transform:translateY(24px); }
  to{ opacity:1; transform:translateY(0); }
}
.btn-rust:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 24px -8px rgba(255, 138, 92, 0.55);
}

/* Check-list items tick in one by one when revealed */
.reveal .check-list li{
  opacity:0;
  transform:translateX(-15px);
  transition:opacity .5s ease, transform .5s ease;
}
.reveal.is-visible .check-list li{ opacity:1; transform:translateX(0); }
.reveal.is-visible .check-list li:nth-child(1){ transition-delay:.1s; }
.reveal.is-visible .check-list li:nth-child(2){ transition-delay:.2s; }
.reveal.is-visible .check-list li:nth-child(3){ transition-delay:.3s; }
.reveal.is-visible .check-list li:nth-child(4){ transition-delay:.4s; }
.reveal.is-visible .check-list li:nth-child(5){ transition-delay:.5s; }
.reveal.is-visible .check-list li:nth-child(6){ transition-delay:.6s; }
.reveal.is-visible .check-list li:nth-child(7){ transition-delay:.7s; }

/* Testimonial photo & quote mark */
.quote-mark{
  transition:transform .4s ease;
}
@keyframes cta-zoom{
  from{ background-size:110%; background-position:center; }
  to{ background-size:120%; background-position:center 55%; }
}

/* ===== 3D ANIMATIONS ===== */

/* Mouse-tilt 3D cards — JS sets --rx/--ry based on cursor position */
.tilt-card{
  --rx:0deg;
  --ry:0deg;
  perspective:1000px;
}
.arch2 img{
  height: 400px;
  object-fit:cover;
}
.choose-section{
  padding-left: 30px;
}

.tilt-card > *{
  transform:rotateX(var(--rx)) rotateY(var(--ry)) translateZ(0);
  transition:transform .15s ease-out, box-shadow .3s ease;
  transform-style:preserve-3d;
}
.tilt-card:hover > *{
  box-shadow:0 35px 60px -20px rgba(60,40,20,.45);
}

/* 3D flip-up reveal — used with .reveal for a dramatic entrance */
.reveal-3d{
  opacity:0;
  perspective:1200px;
  transform:perspective(1200px) rotateX(55deg) translateY(70px);
  transform-origin:bottom center;
}
.reveal-3d.is-visible{
  opacity:1;
  transform:perspective(1200px) rotateX(0deg) translateY(0);
}

/* 3D card flip on hover — front tilts back to reveal depth */
.flip-3d{
  perspective:1200px;
}
.flip-3d > *{
  transition:transform .6s cubic-bezier(.25,.8,.25,1);
  transform-style:preserve-3d;
}
.flip-3d:hover > *{
  transform:rotateY(8deg) rotateX(4deg) scale(1.03);
}
@keyframes arc-float-3d{
  0%, 100%{ transform:translateX(-50%) translateZ(0) rotateX(0deg); }
  50%{ transform:translateX(-50%) translateZ(30px) rotateX(6deg) translateY(-10px); }
}
.quote-card-overlap:hover{
  transform:translateZ(40px) rotateY(-4deg) scale(1.04);
  box-shadow:0 25px 45px -15px rgba(0,0,0,.5);
}
/* ===== SLIDE-IN SIDE MENU (opens from top-right corner) ===== */

/* prevents the off-screen rotated menu from creating horizontal scroll */
/* html {
    overflow-x: hidden;
} */

#menuToggle{ 
  cursor:pointer; 
  transition:transform .3s ease; 
  font-size: 20px;
}
#menuToggle:hover{ transform:scale(1.15); }

.menu-overlay{
  position:fixed;
  inset:0;
  background:rgba(20,15,12,.55);
  opacity:0;
  visibility:hidden;
  transition:opacity .4s ease, visibility .4s ease;
  z-index:1040;
}
.menu-overlay.is-open{
  opacity:1;
  visibility:visible;
}

.side-menu{
  position:fixed;
  top:0;
  right:0;
  height:100%;
  width:340px;
  max-width:85vw;
  background:var(--near-black, #211a15);
  color:#f2ede6;
  z-index:1050;
  padding:2.5rem 2rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  transform-origin:top right;
  transform:translateX(100%) translateY(-30%) rotate(6deg);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:transform .55s cubic-bezier(.22,.9,.28,1), opacity .45s ease, visibility 0s linear .55s;
  box-shadow:-20px 0 50px rgba(0,0,0,.35);
}
.side-menu.is-open{
  transform:translateX(0) translateY(0) rotate(0deg);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:transform .55s cubic-bezier(.22,.9,.28,1), opacity .45s ease, visibility 0s linear 0s;
}

.side-menu-close{
  align-self:flex-end;
  background:none;
  border:none;
  color:#f2ede6;
  font-size:1.4rem;
  margin-bottom:1.5rem;
  transition:transform .3s ease, color .3s ease;
}
.side-menu-close:hover{
  transform:rotate(90deg);
  color:var(--rust);
}

.side-menu-links{
  display:flex;
  flex-direction:column;
  gap:1.1rem;
  width:100%;
}
.side-menu-links a{
  font-family:'Span', 'Playfair Display', serif;
  color:#f2ede6;
  text-decoration:none;
  font-size:1.15rem;
  letter-spacing:.02em;
  opacity:0;
  transform:translateX(30px);
  transition:opacity .5s ease, transform .5s ease, color .3s ease;
}
.side-menu.is-open .side-menu-links a{
  opacity:1;
  transform:translateX(0);
}
.side-menu.is-open .side-menu-links a:nth-child(1){ transition-delay:.15s; }
.side-menu.is-open .side-menu-links a:nth-child(2){ transition-delay:.2s; }
.side-menu.is-open .side-menu-links a:nth-child(3){ transition-delay:.25s; }
.side-menu.is-open .side-menu-links a:nth-child(4){ transition-delay:.3s; }
.side-menu.is-open .side-menu-links a:nth-child(5){ transition-delay:.35s; }
.side-menu.is-open .side-menu-links a:nth-child(6){ transition-delay:.4s; }
.side-menu-links a:hover{ color:var(--rust); padding-left:6px; }

/* Mobile: simple straight slide-in instead of rotate — avoids off-screen overflow/positioning glitches */
@media (max-width:480px){
  .side-menu{
    width:75%;
    max-width:75%;
    padding:2rem 1.5rem;
    /* margin-right: 40px; */
    transform:translateX(100%);
  }
  .sign-banner-icon{
    max-width:50px;
    background: #fff;
    padding: 1rem;
  }
  .side-menu.is-open{
    transform:translateX(0);
  }
  .whatsapp-float{
    margin-right: 20px;
  }
}
/* ===== ABOUT US PAGE ===== */
.inner-nav-links{ 
  font-size: 16px; 
  font-weight: 600;
  font-family:'Span', 'Playfair Display', serif;
}
.inner-nav-links a{
  font-size: 18px;
  color:var(--ink);
  text-decoration:none;
  transition:color .3s ease;
}
.inner-nav-links a:hover,
.inner-nav-links a.active-link{
  color:var(--rust);
}
.inner-nav-links a.active-link{
  text-decoration:underline;
  text-underline-offset:6px;
}
.desktop-nav li a{
  font-size: 18px !important;
  font-weight: 600 !important;
}
.cart-badge{
  position:absolute;
  top:-8px; right:-10px;
  background:var(--rust);
  color:#fff;
  font-size:.6rem;
  width:16px; height:16px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
@media (max-width:991px){
  .inner-nav-links{
    display:none;
    position:absolute; top:100%; left:0; right:0;
    background:#fff;
    flex-direction:column !important;
    padding:1.5rem;
    box-shadow:0 10px 20px rgba(0,0,0,.08);
    z-index:20;
  }
  .inner-nav-links.mobile-open{ display:flex; }
  .sign-banner-icon{
    max-width:50px;
    background: #fff;
    padding: 1rem;
  }
}



.team-avatar{
  width:90px; height:90px;
  border-radius:50%;
  overflow:hidden;
  flex-shrink:0;
}
.team-avatar img{ width:100%; height:100%; object-fit:cover; }

/* Moon eclipse band — drawn with CSS gradients, no external photos needed */
/* .moon-band{
  background:#0c0a09;
  padding:5rem 2rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4rem;
  flex-wrap:wrap;
} */
.moon-band{
  background-color: #000000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.moon-band img{
  width: 700px;
  max-width: 100%;
  height: auto;
}
/* .moon{
  width:220px; height:220px;
  border-radius:50%;
}
.moon-red{
  background:
    radial-gradient(circle at 35% 30%, rgba(255,180,120,.5), transparent 45%),
    radial-gradient(circle at 60% 65%, rgba(0,0,0,.35), transparent 40%),
    radial-gradient(circle at 50% 50%, #b5432a, #7c1f14 70%, #4a0f0a 100%);
  box-shadow:0 0 60px 10px rgba(180,60,30,.25);
}
.moon-orange{
  background:
    radial-gradient(circle at 35% 30%, rgba(255,210,150,.6), transparent 45%),
    radial-gradient(circle at 60% 65%, rgba(0,0,0,.3), transparent 40%),
    radial-gradient(circle at 50% 50%, #d97b3f, #a85428 70%, #6b3115 100%);
  box-shadow:0 0 60px 10px rgba(210,120,50,.25);
}
.moon-grey{
  background:
    linear-gradient(90deg, #cfcac2 0%, #cfcac2 48%, #17140f 52%, #17140f 100%);
  box-shadow:0 0 40px 8px rgba(180,180,180,.12);
}
@media (max-width:768px){
  .moon-band{ gap:1.5rem; padding:3rem 1rem; }
  .moon{ width:120px; height:120px; }
} */
.testimonial img{
  width: 130px;
  margin-bottom: 50px;
}
.testimonial-slider p{
  font-family:'Span', 'Playfair Display', serif; 
  font-size:  18px; 
  line-height:1.6; 
  color:var(--ink);
}
.side-social-vert{
  position:absolute;
  left:0; top:0; bottom:0;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2.5rem;
  width:2.5rem;
}
.side-social-vert a{
  writing-mode:vertical-rl;
  color:var(--ink-soft);
  text-decoration:none;
  font-size:.75rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  transition:color .3s ease;
}
.side-social-vert a:hover{ color:var(--rust); }

.eye-icon{ display:inline-block; }

.testi-avatar{
  width: 70px;
  height: 70px;
  border-radius: 50%;
  overflow: hidden;
  cursor: pointer;
  opacity: 0.4;
  border: 2px solid transparent;
  transition: all 0.3s ease;
}
.testi-avatar img{ 
  width:100%; 
  height:100%; 
  object-fit:cover; 
  display: block;

}
.testi-avatar.active {
    opacity: 1;
}
.testi-avatar.active,
.testi-avatar:hover{
  opacity:1;
  transform:scale(1.12);
  box-shadow:0 0 0 2px var(--rust);
}

.whatsapp-float{
  position:fixed;
  bottom:24px; 
  right: 0px;
  background:#25d366;
  color:#fff;
  padding:.7rem 1.2rem;
  border-radius:30px;
  display:flex; align-items:center; gap:.5rem;
  text-decoration:none;
  font-size:.85rem;
  box-shadow:0 8px 20px rgba(0,0,0,.2);
  z-index:900;
  transition:transform .3s ease;
}
.whatsapp-float:hover{ transform:scale(1.05); color:#fff; }

.scroll-top-float{
  position:fixed;
  bottom:24px; left:24px;
  width:42px; height:42px;
  background:var(--near-black);
  color:#fff;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  text-decoration:none;
  z-index:900;
  transition:transform .3s ease;
}
.scroll-top-float:hover{ transform:translateY(-4px); color:#fff; }

/* ===== SERVICES PAGE ===== */

.service-heading{
  text-transform: uppercase;
  font-family: "Poppins", sans-serif;
  font-size: 48px;
  color: #695805;
  font-weight: 400;
  margin-bottom: 30px;
}
.services-hero{
  background:var(--cream);
  padding:6rem 0 3rem;
}
.mandala-spin{
  animation:mandala-rotate 25s linear infinite;
}
@keyframes mandala-rotate{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(360deg); }
}

.sign-banner{
  background:var(--paper);
  /* padding:3.5rem 0; */
}
.sign-banner-icon{
  max-width:200px;
  background: #fff;
  padding: 1rem;
}
.reveal h1{
  font-size: 46px;
  font-weight: 600;
}
.schedule-btn{
  margin-top: 50px !important;
}
.bg-cream{ background:var(--cream); }
.service-icon{
  width:240px; height:240px;
  margin:0 auto 1rem;
  display:flex; align-items:center; justify-content:center;
  background:var(--paper);
  border:1px solid var(--line);
  overflow:hidden;
  transition:box-shadow .35s ease, transform .35s ease;
}
.service-card:hover .service-icon{
  box-shadow:0 15px 30px -10px rgba(60,40,20,.3);
  transform:scale(1.06);
}

/* icon-style images (Numerology, Mahavastu, Meditation) — show full image, no cropping */
.service-icon img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}

/* photo-style images (Tarot Cards, Reiki) — fill the box, crop to fit */
.service-icon-photo{
  padding:0;
}
.service-icon-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
a{
  text-decoration: none;
}
.service-label{
  font-size: 16px;
  text-decoration: overline;
  font-weight: 600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color: #7d7974;
}
#session{
  background:var(--paper);
}
.session-input{
  border:none;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
  padding:.7rem .2rem;
}
.session-input:focus{
  box-shadow:none;
  border-bottom-color:var(--rust);
}
.testi-card-highlight{
  background:var(--rust);
  color:#fff;
}
.testi-card-highlight p{ color:#fff; }

.article-title{
  font-family:'Span', 'Playfair Display', serif;
  font-size:1.4rem;
  color:var(--rust);
  text-decoration:none;
}
.article-title:hover{ color:var(--rust-dark); }

/* ==== SRI AUROBINDO ASHRAM SECTION ==== */

.ashram-section {
    position: relative;
    padding: 80px 0 0px;
    overflow: hidden;
}

.ashram-section::before {
    content: "";
    position: absolute;
    width: 330px;
    height: 330px;
    left: -220px;
    top: 80px;
    border-radius: 50%;
    background: rgba(239, 211, 199, 0.18);
}

.ashram-section::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    right: -200px;
    bottom: 50px;
    border-radius: 50%;
    background: rgba(238, 218, 207, 0.18);
}

.ashram-section .container {
    position: relative;
    z-index: 2;
}


/* =========================================================
   HEADING
========================================================= */

.ashram-heading {
    margin-bottom: 55px;
}

.ashram-eyebrow {
    display: block;
    margin-bottom: 10px;

    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.25em;
    text-transform: uppercase;

    color: #c66f50;
}

.ashram-heading h2 {
    margin: 0;

    font-family: "Playfair Display", Georgia, serif;
    font-size: 48px;
    line-height: 1.1;
    font-weight: 400;

    color: #25211f;
}

.ashram-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;

    margin-top: 20px;
}

.ashram-divider span {
    display: block;
    width: 125px;
    height: 1px;
    background: #dca07f;
}

.ashram-divider i {
    font-size: 18px;
    color: #d36f4d;
}


/* =========================================================
   IMAGE
========================================================= */

.ashram-image-wrap {
    position: relative;
    overflow: hidden;

    border-radius: 24px;

    box-shadow:
        0 18px 45px rgba(52, 37, 30, 0.10);
}

.ashram-image {
    display: block;

    width: 100%;
    height: 590px;

    object-fit: cover;

    transition: transform 0.6s ease;
}

.ashram-image-wrap:hover .ashram-image {
    transform: scale(1.025);
}


/* =========================================================
   RIGHT CONTENT
========================================================= */

.ashram-info {
    position: relative;
}


/* Vertical timeline */

.ashram-info::before {
    content: "";

    position: absolute;
    left: 34px;
    top: 75px;
    bottom: 75px;

    border-left: 1px dotted #dfa07f;
}


.ashram-info-item {
    position: relative;

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

    gap: 25px;

    margin-bottom: 42px;
}

.ashram-info-item.last-item {
    margin-bottom: 0;
}


/* Icon */

.ashram-icon {
    position: relative;
    z-index: 2;

    flex: 0 0 68px;

    width: 68px;
    height: 68px;

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

    border: 1px solid #e5b99f;
    border-radius: 50%;

    background: #fdf9f5;

    color: #cf704e;

    font-size: 25px;
}


/* Text */

.ashram-info-text {
    flex: 1;
    padding-top: 3px;
}

.ashram-info-text p {
    margin: 0;
    font-family: "Poppins", sans-serif;

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

    color: #302b28;
}


/* Small diamond on timeline */

.ashram-info-item:not(.last-item)::after {
    content: "";

    position: absolute;

    left: 30px;
    bottom: -25px;

    width: 7px;
    height: 7px;

    background: #cf704e;

    transform: rotate(45deg);
}


/* =========================================================
   QUOTE
========================================================= */

.ashram-quote {
    position: relative;

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

    gap: 25px;

    margin-top: 55px;

    padding: 28px 45px;

    border: 1px solid #edc8b3;
    border-radius: 15px;

    background: #fff3eb;
}

.quote-icon {
    flex: 0 0 auto;

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

    width: 52px;
    height: 52px;

    color: #c96e4e;

    font-size: 28px;
}

.ashram-quote p {
    margin: 0;

    font-family: "Playfair Display", Georgia, serif;

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

    font-style: italic;

    color: #c15f3d;
}


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

@media (max-width: 1199px) {

    .ashram-image {
        height: 570px;
    }

    .ashram-info-text p {
        font-size: 15px;
        line-height: 1.7;
    }

    .ashram-info-item {
        gap: 20px;
        margin-bottom: 35px;
    }

}


@media (max-width: 991px) {

    .ashram-section {
        padding: 70px 0;
    }

    .ashram-heading {
        margin-bottom: 40px;
    }

    .ashram-image {
        height: 500px;
    }

    .ashram-info {
        margin-top: 10px;
    }

    .ashram-info::before {
        top: 75px;
        bottom: 60px;
    }

    .ashram-info-text p {
        font-size: 16px;
    }

    .ashram-quote {
        margin-top: 45px;
        padding: 25px 30px;
    }

    .ashram-quote p {
        font-size: 19px;
    }

}


@media (max-width: 767px) {

    .ashram-section {
        padding: 60px 0;
    }

    .ashram-heading {
        margin-bottom: 35px;
    }

    .ashram-heading h2 {
        font-size: 34px;
    }

    .ashram-divider span {
        width: 70px;
    }

    .ashram-image {
        height: 360px;
    }

    .ashram-info {
        margin-top: 35px;
    }

    .ashram-info::before {
        left: 28px;
        top: 65px;
        bottom: 55px;
    }

    .ashram-info-item {
        gap: 18px;
        margin-bottom: 35px;
    }

    .ashram-icon {
        flex: 0 0 56px;
        width: 56px;
        height: 56px;
        font-size: 21px;
    }

    .ashram-info-text p {
        font-size: 14px;
        line-height: 1.7;
    }

    .ashram-info-item:not(.last-item)::after {
        left: 25px;
        bottom: -20px;
    }

    .ashram-quote {
        flex-direction: column;
        gap: 8px;

        margin-top: 40px;
        padding: 25px 20px;

        text-align: center;
    }

    .ashram-quote p {
        font-size: 17px;
        line-height: 1.55;
    }

}


@media (max-width: 480px) {

    .ashram-section {
        padding: 50px 0;
    }

    .ashram-heading h2 {
        font-size: 26px;
    }

    .ashram-image {
        height: 300px;
        border-radius: 18px;
    }

    .ashram-info-item {
        gap: 14px;
    }

    .ashram-icon {
        flex: 0 0 48px;
        width: 48px;
        height: 48px;
        font-size: 18px;
    }

    .ashram-info::before {
        left: 24px;
    }

    .ashram-info-item:not(.last-item)::after {
        left: 21px;
    }

    .ashram-info-text p {
        font-size: 13px;
        line-height: 1.65;
    }

    .ashram-quote p {
        font-size: 16px;
    }

}
.btn-gold{
  background:var(--gold);
  color:#fff;
  font-family:'Playfair Display', serif;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:14px 30px;
  border-radius:2px;
  display:inline-block;
  transition:background .3s ease;
}
.btn-gold:hover{ background:var(--ink); color:#fff; }

/* ===== HERO ===== */
.tarot-hero{
  display:flex;
  align-items:center;
  justify-content:center;
  background: var(--paper);
}
.tarot-hero img{
  height:600px;
  object-fit:cover;
}
.hero-icons{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.hero-icon{
  position:absolute;
  color:var(--gold);
  font-size:34px;
  opacity:.85;
}
.hero-rule{
  position:absolute;
  background:var(--gold);
  opacity:.55;
}
.hero-content{
  position:relative;
  z-index:2;
  text-align:center;
}
.hero-rule-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  margin-bottom:6px;
}
.hero-rule-row .line{
  width:220px;
  height:1px;
  background:var(--gold);
  opacity:.5;
}
.hero-rule-row i{
  color:var(--green);
  font-size:16px;
}
.hero-title{
  font-size:88px;
  font-weight:700;
  color:var(--gold);
  line-height:1.05;
  letter-spacing:.01em;
}
.hero-kicker{
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-soft);
  margin-top:18px;
  line-height:1.6;
}
.hero-side-label{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%) rotate(180deg);
  writing-mode:vertical-rl;
  font-size:.65rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.hero-curve{
  position:relative;
  height:70px;
  background:var(--cream);
}
.hero-curve::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:70px;
  background:var(--paper);
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
}

/* ===== TAROT INTRO SECTION ===== */
.intro-section{
  background:var(--paper);
  padding:70px 0 60px;
}
.intro-heading{
  font-family:'Span', 'Playfair Display', serif;
  font-size:48px;
  font-weight:600;
  line-height:1.25;
  margin:18px 0 34px;
  max-width:460px;
}
.intro-left-media img{
  height:500px;
  display:flex;
  margin-left: 100px;
  object-fit:cover;
}
.intro-right-media img{
  height: 500px;
  object-fit:cover;
}
.intro-copy{
  margin-top:26px;
  font-size:15px;
  line-height:1.85;
  color:var(--ink-soft);
}
.intro-copy .drop-cap{
  float:left;
  font-family:'Playfair Display', serif;
  font-size:52px;
  line-height:.85;
  font-weight:700;
  padding:4px 8px 0 0;
}

@media (max-width:767px){
  .intro-heading{ font-size:34px; }
  .intro-left-media img,
  .intro-right-media img{ height:280px; }
}

/* ===== WHAT DOES IT MEAN ===== */
.meaning-section{
  background:var(--paper);
  padding:50px 0 70px;
  text-align:center;
}
.meaning-section h3{
  font-size:34px;
  font-weight:600;
  margin-bottom:26px;
}
.meaning-section p{
  max-width:920px;
  margin:0 auto 20px;
  font-size:14px;
  line-height:1.9;
  color:var(--ink-soft);
}

/* ===== SIDE SOCIAL RAIL ===== */
.side-rail{
  position: fixed;
  left: 14px;
  top: 60%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 26px;
  z-index: 40;
}
.side-rail a{
  writing-mode: vertical-rl;
  color: var(--ink-soft);
  font-size: .68rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 8px;
}
.side-rail a i{
  font-size: 12px;
  writing-mode: horizontal-tb;
}
.side-rail a:hover{
  color: var(--rust);
}

/* ===== SPREADS SECTION ===== */
.spreads-section{
  background:var(--paper);
  padding:70px 0 60px;
  text-align:center;
}
.spreads-section .eyebrow{ letter-spacing:.25em; }

.spreads-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.spread-card{
  background:#fff;
  padding:38px 26px 30px;
  border:1px solid var(--line);
}
.spread-num{
  font-family:'Playfair Display', serif;
  font-size:56px;
  font-weight:700;
  color:var(--ink);
  margin-bottom:16px;
}
.spread-card h4{
  font-size:18px;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  text-align: center;
  margin-bottom:14px;
}
.spread-card p{
  font-size:13px;
  line-height:1.75;
  color:var(--ink-soft);
  text-align:center;
  margin-bottom:20px;
}
.spread-link{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:13px;
  font-weight:600;
  color:var(--ink);
}
.spread-link i{ font-size:12px; transition:transform .3s ease; }
.spread-card:hover .spread-link i{ transform:translateX(5px); }

/* ===== STATS + FULL-WIDTH IMAGE ===== */
.stats-bar{
  background:var(--cream);
  padding:36px 0;
}
.stats-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  text-align:center;
  position:relative;
}
.stats-row > div{
  position:relative;
  border-right:1px solid var(--line);
}
.stats-row > div:last-child{ border-right:none; }
.stat-num{
  font-family:'Playfair Display', serif;
  font-size:60px;
  font-weight:700;
  color:#e5d8bd;
  line-height:1;
}
.stat-label{
  font-size:14px;
  color:var(--ink-soft);
  margin-top:4px;
}
.full-width-media img{
  width:100%;
  height:420px;
  object-fit:cover;
  display:block;
}

/* ===== BLOG SECTION ===== */
.blog-section{
  background: #fff;
  padding:80px 0 90px;
}


/* ===== RESPONSIVE ===== */
@media (max-width:1100px){
  .side-rail{ display:none; }
  .hero-title{ font-size:64px; }
  .spreads-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px){
  .main-nav{ display:none; }
  .intro-grid{ grid-template-columns:1fr; }
  .intro-left-media img{ margin-top:0; }
  .stats-row{ grid-template-columns:repeat(2,1fr); row-gap:24px; }
  .stats-row > div:nth-child(2){ border-right:none; }
  .footer-top,.footer-bottom{ flex-direction:column; align-items:flex-start; }
  .footer-subscribe{ text-align:left; }
}
@media (max-width:600px){
  .hero-title{ font-size:42px; }
  .hero-rule-row .line{ width:60px; }
  .spreads-grid{ grid-template-columns:1fr; }
  .intro-heading{ font-size:34px; }
}
/* ===== PAGE TITLE BAND ===== */
.page-title-band{ 
  background:var(--paper); 
  padding:70px 0; 
  text-align:center; 
}
.page-title-band h1{ 
  font-family:'Span', 'Playfair Display', serif;
  font-size: 48px; 
  font-weight: 600; 
}

/* ===== MAIN CONTENT LAYOUT ===== */
.detail-section{
  padding: 0 0 60px;
  background: var(--paper);
}
.detail-grid{
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  align-items: start;
}

.detail-hero-img{ width:100%; height:680px; object-fit:cover; border-radius:2px; }

.detail-copy{
  margin-top: 26px;
  font-size: 15px;
  line-height: 1.9;
  color: var(--ink-soft);
  margin-bottom: 30px;
}

/* In-body section heading on detail pages (e.g. "How Astrology Works?").
   Previously had no font-size, so it fell back to the browser default and
   looked inconsistent with the rest of the site. */
.detail-grid > div h3{
  font-family:'Span', 'Playfair Display', serif;
  font-size:28px;
  font-weight:600;
  margin:26px 0 14px;
  color:var(--ink);
}
@media (max-width:768px){
  .detail-grid > div h3{ font-size:24px; }
  .comment-check{
    font-size: 12px !important;
  }
  .sign-banner-icon{
    max-width:50px;
    background: #fff;
    padding: 1rem;
  }
  .eyebrow {
    font-size: 8px;
  }
  .heding-mob{
    font-size: 18px!important;
    font-weight: 600;
  }
  .schedule-btn{
    margin-top: 0px !important;
  }
}
@media (max-width:480px){
  .detail-grid > div h3{ font-size:22px; }
}

.detail-pair{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 26px;
  margin-bottom: 30px;
}
.detail-pair img{
  width: 100%;
  height: 400px;
  object-fit: cover;
}

/* ===== SIDEBAR CONTACT CARD ===== */
.contact-card{
  background: #fff;
  padding: 36px 32px;
  border-radius: 2px;
  box-shadow: 0 12px 30px rgba(40,30,20,.06);
}
.contact-card h3{
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 22px;
}
.contact-field{
  width: 100%;
  border: none;
  border-bottom: 1px solid var(--line);
  background: transparent;
  padding: 10px 2px;
  font-size: 14px;
  font-family: 'Poppins',sans-serif;
  color: var(--ink);
  margin-bottom: 20px;
  outline: none;
}
.contact-field:focus{
  border-bottom-color: var(--rust);
}
.contact-submit{
  width: 100%;
  background: var(--gold);
  color: #fff;
  border: none;
  padding: 15px 20px;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  transition: background .3s ease;
  margin-bottom: 30px;
}
.contact-submit:hover{
  background: var(--ink);
}
.contact-card h4{
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 18px;
}
.contact-info-row{
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 18px;
  font-size: 14px;
  color: var(--ink-soft);
  line-height: 1.6;
}
.contact-info-row i{
  color: var(--rust);
  font-size: 15px;
  margin-top: 3px;
  flex-shrink: 0;
  width: 16px;
}

/* ===== COMMENT FORM ===== */
.comment-section{ 
    padding:20px 0 90px; 
    background:var(--paper);
}
.comment-section h3{ 
  font-family: 'Span', 'Playfair Display', serif;
  font-size:32px; 
  font-weight:600; 
  margin-bottom:30px; 
}
.comment-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
.comment-field{
  width:100%; border:none; border-bottom:1px solid var(--line);
  background:transparent; padding:10px 2px; font-size:14px; font-family:'Poppins',sans-serif;
  color:var(--ink); margin-bottom:24px; outline:none;
}
.comment-field:focus{ border-bottom-color:var(--rust); }
.comment-full{ grid-column:1 / -1; }
.comment-check{
  grid-column:1 / -1; display:flex; align-items:flex-start; gap:10px;
  font-size:13px; color:var(--ink-soft); margin-bottom:10px;
}
.comment-check a{ color:var(--rust); text-decoration:underline; }
.comment-submit-row{ grid-column:1 / -1; margin-top:10px; }
.btn-gold-small{
  background:var(--gold); color:#fff; border:none; padding:15px 32px;
  font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:600;
  cursor:pointer; transition:background .3s ease;
}
.btn-gold-small:hover{ background:var(--ink); }
.akismet-note{ font-size:13px; color:var(--ink-soft); margin-top:16px; }
.akismet-note a{ color:var(--rust); text-decoration:underline; }

@media (max-width:991px){
  .side-rail{
  display: none;
}
  .detail-grid{
  grid-template-columns: 1fr;
}
  .main-nav{
  display: none;
}
}
@media (max-width:600px){
  .page-title-band h1{
  font-size: 34px;
}
  .detail-hero-img{ height:380px; }
  .detail-pair{
  grid-template-columns: 1fr;
}
  .comment-grid{ grid-template-columns:1fr; }
  .footer-nav{
  gap: 18px;
}
}

/* ===== EVENTS SECTION ===== */
.events-section{ 
    padding-bottom:70px;
    background: var(--cream);
}

/* Search bar row */
.events-toolbar{
  display:flex; align-items:center; gap:12px;
  background:#fff; border:1px solid var(--line); border-radius:6px;
  padding:10px 14px; margin-bottom:24px;
}
.events-search{
  flex:1; display:flex; align-items:center; gap:10px; color:var(--ink-soft);
}
.events-search i{ font-size:14px; }
.events-search input{
  border:none; outline:none; background:transparent; font-size:14px;
  font-family:'Poppins',sans-serif; width:100%; color:var(--ink);
}
.find-events-btn{
  background:var(--blue); color:#fff; border:none; border-radius:4px;
  padding:12px 24px; font-size:13px; font-weight:600; letter-spacing:.05em;
  text-transform:uppercase; cursor:pointer; flex-shrink:0;
}
.view-toggle{ display:flex; align-items:center; gap:22px; flex-shrink:0; }
.view-toggle a{
  font-size:14px; color:var(--ink-soft); padding-bottom:4px; position:relative;
}
.view-toggle a.active{ color:var(--ink); font-weight:600; }
.view-toggle a.active::after{
  content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px; background:var(--gold);
}

/* Date nav row */
.date-nav-row{
  display:flex; align-items:center; gap:14px; margin-bottom:18px;
}
.date-nav-arrow{
  width:34px; height:34px; border:1px solid var(--line); border-radius:4px;
  display:flex; align-items:center; justify-content:center; color:var(--ink-soft);
  background:#fff;
}
.today-btn{
  border:1px solid var(--line); background:#fff; padding:9px 18px;
  font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink); border-radius:4px;
}
.today-btn.active{ background:var(--rust); border-color:var(--rust); color:#fff; }

/* ===== EVENTS: MONTH CALENDAR GRID ===== */
.events-calendar{ border:1px solid var(--line); border-radius:6px; overflow:hidden; margin-bottom:30px; }
.events-calendar-head{
  display:grid; grid-template-columns:repeat(7, 1fr);
  background:var(--paper); border-bottom:1px solid var(--line);
}
.events-calendar-head span{
  padding:10px 6px; font-size:12px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; text-align:center; color:var(--ink-soft);
}
.events-calendar-grid{ display:grid; grid-template-columns:repeat(7, 1fr); }
.cal-cell{
  min-height:100px; border-right:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:8px; display:flex; flex-direction:column; gap:4px;
  text-decoration:none; color:var(--ink); font-size:12px; transition:background .2s ease;
}
.cal-cell:nth-child(7n){ border-right:none; }
.cal-cell:not(.empty):hover{ background:var(--paper); }
.cal-cell.empty{ background:#fafaf8; }
.cal-day-num{ font-weight:600; font-size:13px; }
.cal-cell.is-today .cal-day-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; border-radius:50%; background:var(--rust); color:#fff;
}
.cal-cell.has-events{ background:rgba(224,164,79,.08); }
.cal-event-dot{ display:none; }
.cal-event-name{
  display:block; background:var(--rust); color:#fff; border-radius:3px;
  padding:2px 6px; font-size:11px; line-height:1.4; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap;
}
.cal-event-more{ font-size:10px; color:var(--ink-soft); }

@media (max-width:767px){
  .cal-cell{ min-height:64px; font-size:11px; }
  .cal-event-name{ font-size:10px; }
}

.view-toggle a.disabled{ opacity:.4; cursor:not-allowed; pointer-events:none; }
.upcoming-dropdown{
  font-size:24px; font-weight:600; font-family:'Playfair Display', serif;
  display:flex; align-items:center; gap:10px; color:var(--ink);
}
.upcoming-dropdown i{ font-size:16px; color:var(--ink-soft); }

/* No events notice */
.no-events-notice{
  background:#fff; 
  border:1px solid var(--line); 
  border-radius:6px;
  padding:18px 20px; 
  display:flex; 
  align-items:center; 
  gap:12px;
  font-size:15px; 
  color:var(--ink-soft); 
  margin-bottom:44px;
}
.no-events-notice i{ color:var(--gold); }

/* Past events heading */
.past-events-heading{ 
  font-size: 48px; 
  font-family: 'Span', 'Playfair Display', serif;
  font-weight:600; 
  margin-bottom:30px; 
}
@media (max-width:768px){
  .past-events-heading{ font-size: 34px; }
}
@media (max-width:480px){
  .past-events-heading{ font-size: 26px; }
}

/* Event item */
.event-item{
  display:flex; gap:26px; padding:36px 0;
  border-left:3px solid transparent;
}
.event-item.featured{ border-left-color:var(--blue); }
.event-item-link{ display:block; text-decoration:none; color:inherit; }
.event-item-link:hover{ text-decoration:none; color:inherit; }
.event-item-link + .event-item-link .event-item{ border-top:1px solid var(--line); }
.event-item + .event-item{ border-top:1px solid var(--line); }
.event-date-block{
  flex:0 0 60px; text-align:center; padding-top:4px;
}
.event-date-block .month{
  font-size:16px; 
  font-weight:700; 
  letter-spacing:.1em; 
  text-transform:uppercase;
  font-family: 'Span', 'Playfair Display', serif;
  color:var(--ink-soft);
}
.event-date-block .day{
  font-family:'Playfair Display', serif; font-size:34px; font-weight:600; color:var(--ink); line-height:1.1;
}
.event-date-block .year{ font-size:12px; color:var(--ink-soft); }
.event-body{ flex:1; padding-left:14px; }
.event-featured-tag{
  display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; color:var(--blue); margin-bottom:8px;
}
.event-time{
  display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink-soft); margin-bottom:10px;
}
.event-time i{ color:var(--gold); font-size:12px; }
.event-title{
  font-size:28px; 
  font-weight:600; 
  margin-bottom:12px; 
  line-height:1.3;
  font-family: 'Span', 'Playfair Display', serif;
}
.event-excerpt{ 
  font-size:16px; 
  line-height:1.75; 
  color:var(--ink-soft); 
  margin-bottom:14px; 
  max-width:600px; 
}
.event-price{ 
  font-family:'Span','Playfair Display', serif; 
  font-size:16px; 
  font-weight:600; 
  color:var(--ink); 
}
.event-poster{ flex:0 0 300px; }
.event-poster img{ width:100%; border-radius:4px; box-shadow:0 10px 26px rgba(40,30,20,.14); }

.calendar-credit{ font-size:13px; color:var(--ink-soft); margin-top:20px; }
.calendar-credit a{ color:var(--rust); text-decoration:underline; }


@media (max-width:991px){
  .event-item{ flex-direction:column; }
  .event-poster{ flex:none; width:100%; max-width:320px; }
}
@media (max-width:600px){
  .events-toolbar{ flex-wrap:wrap; }
  .view-toggle{ width:100%; justify-content:flex-start; }
  .event-title{ font-size:19px; }
}

.detail-thumb{ width:220px; margin-bottom:26px; }
.detail-thumb2{ 
  width:620px; 
  margin-bottom:26px; 
}
.detail-copy strong{ color:var(--ink); }
.detail-pair .empty-slot{
  width:100%; height:400px; background:var(--paper); border:1px solid var(--line);
}

.detail-divider{ width:100%; height:36px; background:var(--near-black); }


@media (max-width:991px){
}
@media (max-width:600px){
  .detail-pair img,
  .detail-pair .empty-slot{ height:280px; }
}
/* =========================================
   UPCOMING EVENTS
========================================= */

.upcoming-events-section {
    padding: 70px 0 80px;
    background: #fdfaf5;
}

.upcoming-events-heading {
    margin-bottom: 45px;
}

.upcoming-eyebrow {
    display: block;
    margin-bottom: 8px;
    font-family: "Poppins", sans-serif;
    font-size: 10px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #c79211;
}

.upcoming-events-heading h2 {
    margin: 0;
    font-family: "Span", "Playfair Display", serif;
    font-size: 42px;
    font-weight: 500;
    color: #2c2620;
}

.upcoming-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 15px;
}

.upcoming-divider span {
    width: 55px;
    height: 1px;
    background: #dca477;
}

.upcoming-divider i {
    color: #c79211;
    font-size: 13px;
}


/* CARD */

.upcoming-event-card {
    height: 100%;
    overflow: hidden;
    background: #fff;
    border: 1px solid #eadfd5;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(50, 35, 25, .06);
    transition: transform .3s ease, box-shadow .3s ease;
}

.upcoming-event-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 35px rgba(50, 35, 25, .12);
}


/* IMAGE */

.upcoming-event-image {
    width: 100%;
    height: 210px;
    overflow: hidden;
}

.upcoming-event-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}

.upcoming-event-card:hover .upcoming-event-image img {
    transform: scale(1.04);
}


/* CONTENT */

.upcoming-event-content {
    position: relative;
    padding: 25px;
}

.event-date {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 14px;
}

.event-day {
    font-family: "Playfair Display", serif;
    font-size: 30px;
    font-weight: 600;
    color: #c79211;
    line-height: 1;
}

.event-month {
    font-size: 11px;
    color: #777;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.upcoming-event-content h3 {
    margin: 0 0 12px;
    font-family: "Span", "Playfair Display", serif;
    font-size: 23px;
    font-weight: 600;
    color: #2c2620;
    line-height: 1.3;
}

.upcoming-event-content p {
    margin: 0 0 18px;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    line-height: 1.7;
    color: #6b6b6b;
}

.upcoming-event-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 17px;
    border: 1px solid #c79211;
    background: #c79211;
    color: #fff;
    font-family: "Poppins", sans-serif;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-decoration: none;
    transition: all .3s ease;
}

.upcoming-event-btn:hover {
    background: transparent;
    color: #c79211;
}

.upcoming-event-btn i {
    transition: transform .3s ease;
}

.upcoming-event-btn:hover i {
    transform: translateX(4px);
}


/* NO EVENTS */

.no-upcoming-events {
    padding: 35px;
    text-align: center;
    background: #fff;
    border: 1px solid #eadfd5;
    border-radius: 10px;
}

.no-upcoming-events i {
    display: block;
    margin-bottom: 10px;
    color: #c79211;
    font-size: 25px;
}

.no-upcoming-events p {
    margin: 0;
    color: #777;
    font-size: 14px;
}


/* MOBILE */

@media (max-width: 767px) {

    .upcoming-events-section {
        padding: 50px 15px 60px;
    }

    .upcoming-events-heading h2 {
        font-size: 30px;
    }

    .upcoming-event-image {
        height: 220px;
    }

    .upcoming-event-content h3 {
        font-size: 21px;
    }

}
/* =========================================
   NAVBAR 1 - STICKY
========================================= */

.inner-sticky-navbar {
    position: sticky !important;
    top: 0 !important;
    width: 100%;
    z-index: 99999 !important;
    background: #fff !important;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.08);
}


/* =========================================
   DESKTOP NAV
========================================= */

.desktop-nav {
    margin-left: auto;
    margin-right: 35px;
}

.desktop-nav li a {
    color: #2c2620;
    text-decoration: none;
    font-size: 11px;
    font-weight: 500;
    transition: color 0.3s ease;
}

.desktop-nav li a:hover {
    color: #c79211;
}


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

.mobile-menu-toggle {
    display: none;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid #e5ddd5;
    border-radius: 4px;
    background: #fff;
    color: #2c2620;
    font-size: 20px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.mobile-menu-toggle:hover {
    color: #c79211;
}


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

.mobile-navbar-menu {
    display: none;
    width: 100%;
    background: #fff;
    border-top: 1px solid #eee5dd;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.mobile-navbar-menu a {
    display: block;
    padding: 14px 25px;
    border-bottom: 1px solid #f1ebe5;

    color: #2c2620;
    text-decoration: none;

    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 500;

    transition: all 0.25s ease;
}

.mobile-navbar-menu a:hover {
    padding-left: 32px;
    color: #c79211;
    background: #fdf9f4;
}


/* OPEN MOBILE MENU */

.mobile-navbar-menu.mobile-menu-open {
    display: block;
}


/* CONSULTATION */

.mobile-navbar-menu .mobile-consultation {
    margin: 15px 20px;
    padding: 12px 20px;

    text-align: center;

    background: #c79211;
    color: #fff;

    border: none;
}

.mobile-navbar-menu .mobile-consultation:hover {
    padding-left: 20px;
    background: #a97c0e;
    color: #fff;
}


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

@media (max-width: 991.98px) {

    .inner-sticky-navbar {
        padding: 8px 0 !important;
    }

    .inner-sticky-navbar .container {
        width: 100%;
    }

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

    .desktop-nav,
    .desktop-consultation {
        display: none !important;
    }

}


/* =========================================
   DESKTOP
========================================= */

@media (min-width: 992px) {

    .mobile-navbar-menu {
        display: none !important;
    }

}
/* ---- 1) Headings/numbers with no mobile rule before ---- */
@media (max-width: 768px) {
  .stat-num { font-size: 42px; }
  .spread-num { font-size: 40px; }
  .newsletter-decoration i { font-size: 40px; }
  .intro-copy .drop-cap { font-size: 38px; }
  .service-heading { font-size: 34px; }
  .reveal h1 { font-size: 32px; }
  .sacred-enquiry-modal .modal-title { font-size: 28px; }
  .hero-icon { font-size: 26px; }
  .meaning-section h3 { font-size: 26px; }
  .event-date-block .day { font-size: 26px; }
  .home-service-icon i { font-size: 26px; }
  .comment-section h3 { font-size: 24px; }
  .event-day { font-size: 24px; }
  .about-h4 { font-size: 22px; }
  .quote-icon { font-size: 22px; }
  .no-upcoming-events i { font-size: 22px; }
  .upcoming-dropdown { font-size: 20px; }
  .contact-card h3 { font-size: 19px; }
}

@media (max-width: 480px) {
  .stat-num { font-size: 32px; }
  .spread-num { font-size: 30px; }
  .newsletter-decoration i { font-size: 32px; }
  .intro-copy .drop-cap { font-size: 30px; }
  .service-heading { font-size: 26px; }
  .reveal h1 { font-size: 26px; }
  .sacred-enquiry-modal .modal-title { font-size: 22px; }
  .hero-icon { font-size: 22px; }
  .meaning-section h3 { font-size: 22px; }
  .event-date-block .day { font-size: 22px; }
  .home-service-icon i { font-size: 22px; }
  .comment-section h3 { font-size: 20px; }
  .event-day { font-size: 20px; }
  .about-h4 { font-size: 19px; }
  .quote-icon { font-size: 19px; }
  .no-upcoming-events i { font-size: 20px; }
  .upcoming-dropdown { font-size: 19px; }
  .contact-card h3 { font-size: 18px; }
}

/* ---- 2) Extra small-phone tier for headings that only had a tablet-size rule ---- */
@media (max-width: 420px) {
  .tarot-heading { font-size: 24px; }
  .numerology-title { font-size: 20px; }
  .numerology-heading { font-size: 24px; }
  .display-heading { font-size: 28px; }
  .services-header h2 { font-size: 24px; }
  .sacred-products-heading h2 { font-size: 24px; }
  .hero-title { font-size: 34px; }
  .intro-heading { font-size: 28px; }
  .event-title { font-size: 17px; }
  .upcoming-events-heading h2 { font-size: 24px; }
  .upcoming-event-content h3 { font-size: 19px; }
}

/* ---- 3) Cap fixed-width decorative elements so they can't cause overflow ---- */
@media (max-width: 768px) {
  .hero::before { width: 100%; max-width: 420px; }
  .glow-arc { width: 100%; max-width: 520px; }
  .moon-band img { width: 100%; max-width: 700px; }
  .detail-thumb2 { width: 100%; max-width: 620px; }
  .tarot-hero img{
    height: 100%;
    object-fit:cover;
  }
}

/* ---- 4) General mobile safety net ---- */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}

img, svg, video {
  max-width: 100%;
  height: auto;
}

iframe {
  max-width: 100%;
}

@media (max-width: 480px) {
  p, li { word-break: break-word; }
}
