/* ==========================================================
   CatBoardingNearMe.in — Public Site Stylesheet
   Brand: Elly Pet Paradise · "Your Cat's Second Home"
========================================================== */
:root{
  --forest:      #1C3D2E;
  --forest-mid:  #2A5941;
  --forest-soft: #EDF4F0;
  --coral:       #E8622A;
  --coral-dk:    #C94F1B;
  --blush:       #FAE8DF;
  --ivory:       #FDFAF5;
  --ivory-dk:    #F5F0E8;
  --charcoal:    #1A1A1A;
  --stone:       #6B6B6B;
  --border:      #E4DDD3;
  --gold:        #F59E0B;
  --white:       #FFFFFF;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Nunito',sans-serif;
  background:var(--ivory);
  color:var(--charcoal);
  line-height:1.6;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6{font-family:'DM Serif Display',serif;color:var(--forest);margin:0;}
a{text-decoration:none;}
img{max-width:100%;display:block;}
.sec-ey{
  font-size:0.78rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--coral);margin-bottom:0.5rem;
}
.sec-title{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.25;}
.sec-sub{color:var(--stone);font-size:0.95rem;}

/* ---------- Topbar ---------- */
.topbar{
  background:var(--forest); color:rgba(255,255,255,0.85);
  font-size:0.8rem; padding:0.5rem 0;
}
.topbar a{color:#fff;font-weight:600;}
.topbar .sep{margin:0 0.75rem;color:rgba(255,255,255,0.3);}
.topbar-right span{color:rgba(255,255,255,0.75);}

/* ---------- Navbar ---------- */
.navbar-main{
  background:rgba(253,250,245,0.92);
  backdrop-filter:blur(10px);
  padding:0.85rem 0;
  position:sticky; top:0; z-index:500;
  border-bottom:1px solid transparent;
  transition:box-shadow 0.25s, border-color 0.25s;
}
.navbar-main.scrolled{
  box-shadow:0 4px 20px rgba(0,0,0,0.06);
  border-bottom-color:var(--border);
}
.navbar-main .brand{
  font-family:'DM Serif Display',serif; font-size:1.35rem; color:var(--forest);
  display:flex; align-items:center; gap:8px;
}
.brand-paw{font-size:1.2rem;}
.nav-links a{
  color:var(--charcoal); font-weight:700; font-size:0.9rem;
  transition:color 0.2s;
}
.nav-links a:hover{color:var(--coral);}
.btn-nav-cta{
  background:var(--coral); color:#fff !important; border-radius:50px;
  padding:0.6rem 1.4rem; font-weight:800; font-size:0.88rem;
  transition:background 0.2s, transform 0.15s;
}
.btn-nav-cta:hover{background:var(--coral-dk); transform:translateY(-1px);}

/* ---------- Breadcrumb ---------- */
.breadcrumb-bar{background:var(--forest-soft); padding:0.75rem 0; font-size:0.82rem;}
.breadcrumb-bar a{color:var(--forest); font-weight:700;}
.breadcrumb-bar span.sep{color:var(--stone); margin:0 0.5rem;}
.breadcrumb-bar .current{color:var(--stone);}

/* ---------- Hero ---------- */
.hero{padding:3rem 0 3.5rem;}
.live-pill{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--blush); color:var(--coral-dk); font-weight:800; font-size:0.78rem;
  padding:0.4rem 0.9rem; border-radius:50px; margin-bottom:0.9rem;
}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--coral);animation:pulse 1.6s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(232,98,42,0.5);}70%{box-shadow:0 0 0 8px rgba(232,98,42,0);}100%{box-shadow:0 0 0 0 rgba(232,98,42,0);}}
.cage-free-badge{
  display:inline-flex; align-items:center; gap:6px;
  background:var(--forest); color:#fff; font-weight:800; font-size:0.78rem;
  padding:0.4rem 0.9rem; border-radius:50px; margin:0 0 1rem 0.6rem;
}
.hero-eyebrow{color:var(--coral); font-weight:800; font-size:0.85rem; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:0.5rem;}
.hero-h1{font-size:clamp(2rem,4.2vw,3.1rem); line-height:1.15; margin-bottom:1rem;}
.underline-green{position:relative; color:var(--forest);}
.underline-green::after{
  content:''; position:absolute; left:0; right:0; bottom:2px; height:10px;
  background:var(--forest-soft); z-index:-1;
}
.hero-desc{font-size:1.02rem; color:var(--stone); max-width:520px; margin-bottom:1.4rem;}
.hero-trust{display:flex; flex-wrap:wrap; gap:0.6rem; margin-bottom:1.6rem;}
.h-pill{
  background:#fff; border:1px solid var(--border); border-radius:50px;
  padding:0.4rem 0.9rem; font-size:0.8rem; font-weight:700; color:var(--charcoal);
  display:inline-flex; align-items:center; gap:6px;
}
.dot-green{width:7px;height:7px;border-radius:50%;background:#16A34A;}
.dot-coral{width:7px;height:7px;border-radius:50%;background:var(--coral);}
.btn-hero-primary{
  background:var(--coral); color:#fff; border:none; border-radius:50px;
  padding:0.9rem 1.9rem; font-weight:800; font-size:0.95rem;
  display:inline-flex; align-items:center; gap:8px;
  box-shadow:0 8px 24px rgba(232,98,42,0.3);
  transition:background 0.2s, transform 0.15s;
}
.btn-hero-primary:hover{background:var(--coral-dk); transform:translateY(-2px); color:#fff;}
.btn-hero-wa{
  background:#25D366; color:#fff; border:none; border-radius:50px;
  padding:0.9rem 1.7rem; font-weight:800; font-size:0.95rem;
  display:inline-flex; align-items:center; gap:8px;
  transition:background 0.2s;
}
.btn-hero-wa:hover{background:#1DA851; color:#fff;}

/* ---------- Lead Card (hero form) ---------- */
.lead-card{
  background:#fff; border-radius:22px; overflow:hidden;
  box-shadow:0 30px 70px rgba(28,61,46,0.14); border:1px solid var(--border);
}
.lead-card-top{background:var(--forest); padding:1.5rem 1.75rem 1.3rem;}
.lct-label{color:rgba(255,255,255,0.6); font-size:0.72rem; font-weight:800; text-transform:uppercase; letter-spacing:0.1em; margin-bottom:0.3rem;}
.lct-title{font-family:'DM Serif Display',serif; color:#fff; font-size:1.4rem; margin-bottom:0.25rem;}
.lct-sub{color:rgba(255,255,255,0.72); font-size:0.82rem; margin:0;}
.lead-card-body{padding:1.6rem 1.75rem;}
.form-label-custom{font-size:0.8rem; font-weight:700; color:var(--charcoal); margin-bottom:0.35rem; display:block;}
.input-field{
  width:100%; border:2px solid var(--border); border-radius:10px;
  padding:0.62rem 0.9rem; font-size:0.88rem; font-family:'Nunito',sans-serif;
  color:var(--charcoal); background:var(--ivory); outline:none;
  transition:border-color 0.2s, box-shadow 0.2s;
}
.input-field:focus{border-color:var(--forest); box-shadow:0 0 0 3px rgba(28,61,46,0.1); background:#fff;}
.btn-form-submit{
  width:100%; background:var(--coral); color:#fff; border:none; border-radius:50px;
  padding:0.95rem; font-size:1rem; font-weight:800; font-family:'Nunito',sans-serif;
  box-shadow:0 6px 20px rgba(232,98,42,0.35); cursor:pointer;
  transition:background 0.2s, transform 0.15s;
}
.btn-form-submit:hover{background:var(--coral-dk); transform:translateY(-2px);}
.btn-form-submit:disabled{opacity:0.6; cursor:not-allowed; transform:none;}
.urgency-note{font-size:0.74rem; color:#DC2626; font-weight:700; text-align:center; margin-top:0.55rem;}
.secure-note{font-size:0.71rem; color:var(--stone); text-align:center; margin-top:0.35rem;}
.tc-note{font-size:0.67rem; color:var(--stone); text-align:center; margin-top:0.25rem;}
.form-error{
  background:#FEE2E2; color:#B91C1C; font-size:0.8rem; font-weight:700;
  padding:0.6rem 0.9rem; border-radius:8px; margin-bottom:0.9rem; display:none;
}
.form-error.show{display:block;}

/* ---------- Stats Bar ---------- */
.stats-bar{background:var(--forest); padding:2.2rem 0;}
.stat-item{color:#fff;}
.stat-num{font-family:'DM Serif Display',serif; font-size:2.1rem; line-height:1;}
.stat-num sup{font-size:1.1rem; color:var(--coral); top:-0.6em;}
.stat-label{font-size:0.8rem; color:rgba(255,255,255,0.7); font-weight:600; margin-top:0.3rem;}
.stat-div{border-right:1px solid rgba(255,255,255,0.12);}
@media(max-width:767px){.stat-div{border-right:none;}}

/* ---------- Features Grid ---------- */
.features-sec{padding:4.5rem 0;}
.feat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem;}
@media(max-width:991px){.feat-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:575px){.feat-grid{grid-template-columns:1fr;}}
.feat-card{
  background:#fff; border:1px solid var(--border); border-radius:18px;
  padding:1.75rem; position:relative; transition:transform 0.2s, box-shadow 0.2s;
}
.feat-card:hover{transform:translateY(-4px); box-shadow:0 16px 40px rgba(28,61,46,0.08);}
.feat-card:first-child{border:2px solid var(--forest); background:var(--forest-soft);}
.cage-free-guarantee{
  position:absolute; top:-11px; left:20px; background:var(--forest); color:#fff;
  font-size:0.68rem; font-weight:800; padding:0.25rem 0.75rem; border-radius:50px;
}
.feat-emoji{font-size:1.9rem; display:block; margin-bottom:0.75rem;}
.feat-card h5{font-family:'Nunito',sans-serif; font-weight:800; font-size:1rem; color:var(--charcoal); margin-bottom:0.5rem;}
.feat-card p{font-size:0.86rem; color:var(--stone); margin:0;}

/* ---------- Why Choose Us ---------- */
.why-sec{padding:4.5rem 0; background:var(--ivory-dk);}
.why-comparison{background:#fff; border-radius:18px; overflow:hidden; border:1px solid var(--border);}
.why-comp-head{
  display:grid; grid-template-columns:2fr 1fr 1fr; background:var(--forest); color:#fff;
  font-weight:800; font-size:0.82rem; padding:0.9rem 1.2rem;
}
.why-comp-head .col-us{color:#86EFAC; text-align:center;}
.why-comp-head .col-them{color:rgba(255,255,255,0.55); text-align:center;}
.why-row{
  display:grid; grid-template-columns:2fr 1fr 1fr; align-items:center;
  padding:0.85rem 1.2rem; border-bottom:1px solid var(--border); transition:background 0.15s;
}
.why-row:last-child{border-bottom:none;}
.why-row:hover{background:var(--ivory-dk);}
.why-feat{font-size:0.85rem; font-weight:700; color:var(--charcoal);}
.why-feat small{display:block; color:var(--stone); font-weight:500; font-size:0.75rem; margin-top:2px;}
.col-us-val{text-align:center; color:#16A34A; font-weight:900; font-size:1.1rem;}
.col-them-val{text-align:center; color:#DC2626; font-weight:900; font-size:1.1rem;}
.why-cards{display:flex; flex-direction:column; gap:1rem;}
.why-card{background:#fff; border:1px solid var(--border); border-radius:16px; padding:1.25rem 1.4rem; display:flex; gap:1rem; align-items:flex-start;}
.why-card .w-icon{font-size:1.6rem; flex-shrink:0;}
.why-card h6{font-family:'Nunito',sans-serif; font-weight:800; font-size:0.92rem; color:var(--charcoal); margin-bottom:0.3rem;}
.why-card p{font-size:0.83rem; color:var(--stone); margin:0;}

/* ---------- Quote Strip ---------- */
.quote-strip{background:var(--forest); padding:3.5rem 1.5rem; text-align:center;}
.qs-inner{max-width:720px; margin:0 auto;}
.qs-open-quote{font-family:'DM Serif Display',serif; font-size:3rem; color:var(--coral); line-height:0.5; display:block; margin-bottom:0.5rem;}
.qs-text{font-family:'DM Serif Display',serif; font-style:italic; color:#fff; font-size:clamp(1.1rem,2vw,1.5rem); line-height:1.5;}
.qs-attr{color:rgba(255,255,255,0.65); font-size:0.85rem; margin-top:1.2rem;}
.qs-attr span{color:#fff; font-weight:800;}
.qs-line{width:50px; height:2px; background:var(--coral); margin:1.5rem auto 0;}

/* ---------- Founder ---------- */
.founder-sec{padding:4.5rem 0;}
.founder-wrap{background:#fff; border:1px solid var(--border); border-radius:22px; overflow:hidden;}
.founder-visual{background:var(--forest-soft); padding:2.5rem 2rem; height:100%; text-align:center;}
.founder-avatar{
  width:96px; height:96px; border-radius:50%; background:var(--forest); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:2.4rem;
  margin:0 auto 1rem;
}
.fv-name{font-family:'DM Serif Display',serif; font-size:1.3rem; color:var(--forest); margin-bottom:0.2rem;}
.fv-role{font-size:0.82rem; color:var(--stone); margin-bottom:1.3rem;}
.fv-stat{text-align:center; flex:1;}
.fv-stat-num{font-family:'DM Serif Display',serif; font-size:1.6rem; color:var(--forest);}
.fv-stat-label{font-size:0.7rem; color:var(--stone); font-weight:600; margin-top:2px;}
.kbc-badge{background:#fff; border:1px solid var(--border); border-radius:14px; padding:1rem 1.1rem; text-align:left;}
.kb-title{font-size:0.72rem; font-weight:800; color:var(--coral); text-align:center; margin-bottom:0.5rem;}
.kb-text{font-size:0.78rem; color:var(--stone); line-height:1.6;}
.kb-text em{color:var(--forest); font-style:normal; font-weight:700;}
.founder-content{padding:2.5rem 2.25rem;}
.fc-tag{color:var(--coral); font-weight:800; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.1em; margin-bottom:0.4rem;}
.founder-content h2{font-size:1.7rem; margin-bottom:1rem;}
.founder-content p{color:var(--stone); font-size:0.92rem; margin-bottom:0.9rem;}
.founder-content strong{color:var(--charcoal);}
.promise-list{list-style:none; padding:0; margin:1.3rem 0;}
.promise-list li{display:flex; gap:0.9rem; margin-bottom:1rem; align-items:flex-start;}
.pl-icon{font-size:1.3rem; flex-shrink:0;}
.pl-text{font-size:0.88rem; font-weight:700; color:var(--charcoal);}
.pl-text small{display:block; font-weight:500; color:var(--stone); font-size:0.78rem; margin-top:2px;}

/* ---------- KBC Strip ---------- */
.kbc-strip{background:var(--forest-mid); padding:3.5rem 0;}
.kbc-inner{text-align:center; max-width:760px; margin:0 auto;}
.kbc-eyebrow{color:#FCA97A; font-weight:800; font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:0.6rem;}
.kbc-headline{font-family:'DM Serif Display',serif; color:#fff; font-size:clamp(1.25rem,2.4vw,1.7rem); margin-bottom:1rem;}
.kbc-sub{color:rgba(255,255,255,0.75); font-size:0.88rem; margin-bottom:2rem;}
.kbc-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem;}
@media(max-width:700px){.kbc-stats{grid-template-columns:repeat(2,1fr);}}
.kbc-stat .kn{font-family:'DM Serif Display',serif; color:#fff; font-size:1.5rem;}
.kbc-stat .kl{color:rgba(255,255,255,0.6); font-size:0.72rem; margin-top:2px;}

/* ---------- Pickup & Drop ---------- */
.pickup-sec{background:var(--blush); padding:4.5rem 0;}
.pickup-badge-tag{
  display:inline-flex; align-items:center; gap:6px; background:#fff; color:var(--coral-dk);
  font-weight:800; font-size:0.78rem; padding:0.4rem 0.9rem; border-radius:50px; margin-bottom:1rem;
}
.tc-text{font-size:0.76rem; color:var(--stone); font-style:italic;}
.area-tag{
  display:inline-flex; align-items:center; gap:6px; background:#fff; border:1.5px solid var(--border);
  border-radius:50px; padding:0.4rem 0.9rem; font-size:0.8rem; font-weight:700; color:var(--charcoal);
  margin:0 0.4rem 0.6rem 0;
}

/* ---------- Gallery ---------- */
.gallery-sec{padding:4.5rem 0;}
.g-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1rem;}
@media(max-width:900px){.g-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.g-grid{grid-template-columns:repeat(2,1fr);}}
.g-item{border-radius:14px; overflow:hidden; aspect-ratio:1/1; border:1px solid var(--border);}
.g-item img{width:100%;height:100%;object-fit:cover;}
.g-ph{
  width:100%; height:100%; background:var(--ivory-dk); display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:6px; color:var(--stone); font-size:0.78rem; font-weight:700;
}
.g-ph i{font-size:1.4rem;}

/* ---------- Reviews ---------- */
.reviews-sec{padding:4.5rem 0; background:var(--ivory-dk);}
.rev-card{
  background:#fff; border:1px solid var(--border); border-radius:16px; padding:1.4rem;
  height:100%; position:relative;
}
.rev-card.featured{border:2px solid var(--forest);}
.g-badge{display:flex; align-items:center; gap:6px; font-size:0.75rem; font-weight:800; color:var(--stone); margin-bottom:0.6rem;}
.cage-tag{
  display:inline-block; background:var(--forest-soft); color:var(--forest); font-size:0.68rem; font-weight:800;
  padding:0.2rem 0.6rem; border-radius:50px; margin-bottom:0.6rem;
}
.rev-stars{color:var(--gold); font-size:0.85rem; margin-bottom:0.5rem;}
.rev-text{font-size:0.85rem; color:var(--charcoal); margin-bottom:0.9rem; line-height:1.6;}
.rev-author{font-weight:800; font-size:0.85rem; color:var(--charcoal);}
.rev-loc{font-size:0.75rem; color:var(--stone); margin-top:2px; display:flex; align-items:center; gap:4px;}

/* ---------- Locations ---------- */
.locs-sec{padding:4.5rem 0;}
.loc-card{
  display:block; background:#fff; border:1px solid var(--border); border-radius:18px; padding:1.75rem;
  transition:transform 0.2s, box-shadow 0.2s; height:100%;
}
.loc-card:hover{transform:translateY(-4px); box-shadow:0 16px 40px rgba(28,61,46,0.1);}
.loc-city-icon{font-size:2rem; margin-bottom:0.75rem;}
.loc-card h5{font-family:'Nunito',sans-serif; font-weight:800; font-size:1.05rem; color:var(--charcoal); margin-bottom:0.5rem;}
.loc-card p{font-size:0.85rem; color:var(--stone); margin-bottom:1rem;}
.loc-pills{margin-bottom:1.1rem;}
.loc-p{
  display:inline-block; background:var(--forest-soft); color:var(--forest); font-size:0.72rem; font-weight:700;
  padding:0.25rem 0.65rem; border-radius:50px; margin:0 0.3rem 0.3rem 0;
}
.loc-link{color:var(--coral); font-weight:800; font-size:0.85rem; display:flex; align-items:center; gap:6px;}

/* ---------- FAQ ---------- */
.faq-sec{padding:4.5rem 0;}
.faq-item{border:1px solid var(--border); border-radius:14px; margin-bottom:0.9rem; overflow:hidden;}
.faq-btn{
  width:100%; text-align:left; background:#fff; border:none; padding:1.1rem 1.3rem;
  font-weight:800; font-size:0.92rem; color:var(--charcoal); display:flex;
  justify-content:space-between; align-items:center; cursor:pointer;
}
.faq-icon{color:var(--coral); transition:transform 0.2s;}
.faq-btn[aria-expanded="true"] .faq-icon{transform:rotate(45deg);}
.faq-body{padding:0 1.3rem 1.2rem; font-size:0.86rem; color:var(--stone); line-height:1.7;}

/* ---------- CTA Section ---------- */
.cta-sec{
  background:linear-gradient(135deg,var(--coral) 0%,var(--coral-dk) 100%);
  padding:4rem 1.5rem; position:relative; overflow:hidden;
}
.cta-sec h2{color:#fff; font-size:clamp(1.5rem,3vw,2.1rem);}
.cta-sec p{color:rgba(255,255,255,0.9); font-size:0.98rem;}
.btn-cta-white{background:#fff; color:var(--coral-dk) !important; border-radius:50px; padding:0.85rem 1.9rem; font-weight:800;}
.btn-cta-outline{background:transparent; color:#fff !important; border:2px solid rgba(255,255,255,0.6); border-radius:50px; padding:0.83rem 1.7rem; font-weight:800;}

/* ---------- Footer ---------- */
.footer{background:#12271C; padding:3.5rem 0 1.5rem; color:rgba(255,255,255,0.7);}
.foot-brand{font-family:'DM Serif Display',serif; color:#fff; font-size:1.3rem; margin-bottom:0.9rem;}
.foot-brand em{font-style:normal; color:var(--coral);}
.foot-desc{font-size:0.85rem; line-height:1.7;}
.social-icon{
  display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px;
  border-radius:50%; background:rgba(255,255,255,0.08); color:#fff; margin-right:0.5rem;
  transition:background 0.2s;
}
.social-icon:hover{background:var(--coral); color:#fff;}
.foot-h{color:#fff; font-weight:800; font-size:0.85rem; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:1rem;}
.foot-links{list-style:none; padding:0; margin:0;}
.foot-links li{margin-bottom:0.6rem;}
.foot-links a{color:rgba(255,255,255,0.65); font-size:0.85rem; transition:color 0.2s;}
.foot-links a:hover{color:var(--coral);}
.foot-div{border-color:rgba(255,255,255,0.1); margin:2rem 0 1.2rem;}
.foot-bottom{font-size:0.78rem; color:rgba(255,255,255,0.45);}

/* ---------- WhatsApp Float ---------- */
.wa-btn{
  position:fixed; bottom:1.5rem; right:1.5rem; z-index:800;
  background:#25D366; color:#fff; border-radius:50px; padding:0.85rem 1.1rem;
  display:flex; align-items:center; gap:8px; font-weight:800; font-size:0.85rem;
  box-shadow:0 8px 24px rgba(37,211,102,0.4); transition:transform 0.2s;
}
.wa-btn:hover{transform:scale(1.05); color:#fff;}
.wa-btn i{font-size:1.3rem;}
.wa-label{display:none;}
@media(min-width:768px){.wa-label{display:inline;}}

/* ---------- 404 ---------- */
.notfound-sec{padding:6rem 1.5rem; text-align:center;}
.notfound-sec .nf-emoji{font-size:4rem;}
.notfound-sec h1{font-size:clamp(1.8rem,4vw,2.6rem); margin:1rem 0;}
.notfound-sec p{color:var(--stone); max-width:480px; margin:0 auto 1.5rem;}

/* ==========================================================
   POPUP MODAL
========================================================== */
.booking-popup-overlay {
  position: fixed; inset: 0; z-index: 10000;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none;
  transition: opacity 0.3s ease;
  padding: 1rem;
}
.booking-popup-overlay.active { opacity: 1; pointer-events: all; }
.popup-box {
  background: #fff; border-radius: 20px;
  width: 100%; max-width: 520px;
  box-shadow: 0 24px 80px rgba(0,0,0,0.25);
  overflow: hidden;
  transform: translateY(30px) scale(0.97);
  transition: transform 0.35s cubic-bezier(0.34,1.56,0.64,1);
  max-height: 90vh; overflow-y: auto;
}
.booking-popup-overlay.active .popup-box { transform: translateY(0) scale(1); }
.popup-head { background: var(--forest); padding: 1.4rem 1.75rem 1.2rem; position: relative; }
.popup-head .p-label { font-size: 0.7rem; color: rgba(255,255,255,0.6); font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 0.3rem; }
.popup-head .p-title { font-family: 'DM Serif Display', serif; font-size: 1.35rem; color: #fff; margin: 0; line-height: 1.25; }
.popup-head .p-sub { font-size: 0.78rem; color: rgba(255,255,255,0.7); margin-top: 0.25rem; }
.popup-close {
  position: absolute; top: 1rem; right: 1.1rem;
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(255,255,255,0.15); border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 1rem; transition: background 0.2s;
}
.popup-close:hover { background: rgba(255,255,255,0.28); }
.popup-body { padding: 1.5rem 1.75rem; }
.popup-urgency { margin-top: 0.55rem; }
.popup-secure { margin-top: 0.35rem; }
.popup-tc { margin-top: 0.25rem; }

/* ==========================================================
   STICKY BOTTOM CTA BAR
========================================================== */
.sticky-cta-bar {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 9000;
  background: var(--forest);
  padding: 0.85rem 1rem;
  display: flex; align-items: center; justify-content: center; gap: 0.75rem;
  box-shadow: 0 -4px 24px rgba(0,0,0,0.2);
  transform: translateY(100%);
  transition: transform 0.4s cubic-bezier(0.34,1.2,0.64,1);
}
.sticky-cta-bar.visible { transform: translateY(0); }
.sticky-cta-bar .scb-text { color: rgba(255,255,255,0.82); font-size: 0.82rem; font-weight: 600; display: none; }
.sticky-cta-bar .scb-urgent {
  background: rgba(232,98,42,0.2); border: 1px solid rgba(232,98,42,0.5);
  border-radius: 50px; padding: 0.25rem 0.75rem;
  font-size: 0.72rem; font-weight: 700; color: #FCA97A; white-space: nowrap;
}
.btn-scb-book {
  background: var(--coral); color: #fff; border: none; border-radius: 50px;
  padding: 0.7rem 1.6rem; font-size: 0.9rem; font-weight: 800;
  font-family: 'Nunito', sans-serif; cursor: pointer;
  box-shadow: 0 4px 14px rgba(232,98,42,0.4);
  transition: background 0.2s, transform 0.15s; white-space: nowrap;
}
.btn-scb-book:hover { background: var(--coral-dk); transform: translateY(-1px); }
.btn-scb-wa {
  background: #25D366; color: #fff; border: none; border-radius: 50px;
  padding: 0.7rem 1.4rem; font-size: 0.9rem; font-weight: 800;
  font-family: 'Nunito', sans-serif; cursor: pointer;
  display: flex; align-items: center; gap: 6px;
  transition: background 0.2s; text-decoration: none; white-space: nowrap;
}
.btn-scb-wa:hover { background: #1DA851; color: #fff; }
@media(min-width: 768px) {
  .sticky-cta-bar { padding: 1rem 2rem; gap: 1.25rem; }
  .sticky-cta-bar .scb-text { display: block; }
  .btn-scb-book { padding: 0.78rem 2rem; font-size: 0.95rem; }
  .btn-scb-wa { padding: 0.76rem 1.8rem; font-size: 0.95rem; }
}
.wa-btn { bottom: 5.5rem; }
@media(min-width: 768px) { .wa-btn { bottom: 5.5rem; } }

/* ---------- Responsive tweaks ---------- */
@media(max-width:991px){
  .founder-visual{border-radius:0;}
}
@media(max-width:767px){
  .hero{padding:2rem 0 2.5rem;}
  .why-comp-head, .why-row{grid-template-columns:1.6fr 1fr 1fr; font-size:0.78rem; padding:0.7rem 0.8rem;}
  .why-feat small{display:none;}
}
