
:root{
  --blue:#00467f;
  --blue2:#005b99;
  --orange:#f47b13;
  --light:#f7fbff;
  --cream:#fff7ef;
  --ink:#09213e;
  --muted:#5f6f85;
  --line:#dbe6f2;
  --shadow:0 22px 60px rgba(5,34,66,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff,var(--light));line-height:1.6}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:22px;padding:12px 5vw;background:rgba(255,255,255,.93);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,70,127,.1)}
.logo-link img{width:164px;height:auto;border-radius:8px}
.main-nav{display:flex;gap:24px;margin-left:auto;font-weight:800}
.main-nav a{padding:8px 0;border-bottom:2px solid transparent}
.main-nav a:hover{border-color:var(--orange)}
.header-actions{display:flex;gap:12px}
.menu-button{display:none;border:0;background:white;font-size:1.8rem;color:var(--blue)}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:12px 17px;font-weight:900;box-shadow:0 12px 28px rgba(0,0,0,.09)}
.btn.large{font-size:1rem;padding:15px 20px}
.blue{background:var(--blue);color:#fff}
.orange{background:var(--orange);color:#fff}
.hero{display:grid;grid-template-columns:1.05fr 420px;gap:40px;align-items:center;padding:72px 5vw 42px;background:radial-gradient(circle at 15% 8%,rgba(244,123,19,.09),transparent 25%),radial-gradient(circle at 85% 20%,rgba(0,91,153,.11),transparent 24%)}
.eyebrow{margin:0 0 8px;color:var(--orange);text-transform:uppercase;letter-spacing:.13em;font-weight:950;font-size:.78rem}
.hero h1{font-size:clamp(2.6rem,5.6vw,6rem);line-height:.95;letter-spacing:-.06em;margin:0 0 22px;color:var(--blue)}
.hero p{font-size:1.17rem;color:var(--muted);max-width:760px}
.hero-buttons{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0}
.trust-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:720px}
.trust-strip span{background:white;border:1px solid var(--line);border-radius:18px;padding:13px 14px;font-weight:850;box-shadow:0 10px 30px rgba(0,70,127,.06)}
.booking-card{background:white;border:1px solid var(--line);border-radius:32px;padding:28px;box-shadow:var(--shadow)}
.booking-card h2{font-size:2rem;margin:0;color:var(--blue)}
.booking-card p{font-size:.98rem;margin:4px 0 18px}
.booking-card form{display:grid;gap:12px}
.booking-card input,.booking-card select,.booking-card textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;font:inherit;color:var(--ink);background:#fff}
.booking-card textarea{min-height:95px}
.booking-card button{border:0;border-radius:14px;background:var(--blue);color:white;font-weight:950;padding:15px;cursor:pointer}
.booking-card small{display:block;margin-top:12px;color:var(--muted)}
.slider-section{padding:40px 5vw 70px}
.section-title{max-width:950px;margin:0 0 26px}
.section-title h2{font-size:clamp(2rem,4.2vw,4rem);line-height:1.02;letter-spacing:-.045em;color:var(--blue);margin:0 0 12px}
.slider-shell{background:white;border:1px solid var(--line);border-radius:36px;padding:22px;box-shadow:var(--shadow)}
.slide{display:none}
.slide.active{display:block}
.ba-slider{position:relative;height:620px;border-radius:28px;overflow:hidden;background:#ddd}
.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.after-wrap{position:absolute;inset:0;width:50%;overflow:hidden}
.after-wrap .after-img{width:100%;height:100%;max-width:none}
.ba-slider input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}
.ba-slider::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;background:white;box-shadow:0 0 20px rgba(0,0,0,.25);pointer-events:none}
.handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:white;color:var(--blue);width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:1.35rem;font-weight:950;box-shadow:0 12px 30px rgba(0,0,0,.25);pointer-events:none}
.label{position:absolute;top:18px;padding:8px 14px;border-radius:999px;color:#fff;font-weight:950;text-transform:uppercase;font-size:.8rem}
.before-label{left:18px;background:#111}
.after-label{right:18px;background:var(--blue)}
.slide-caption{text-align:center;font-weight:900;color:var(--blue);margin:18px 0 0}
.slide-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:18px}
.slide-controls button{border:0;background:var(--blue);color:white;border-radius:50%;width:42px;height:42px;font-size:1.4rem;cursor:pointer}
#dots{display:flex;gap:8px}
#dots button{width:10px;height:10px;border-radius:50%;padding:0;background:#c9d7e6}
#dots button.active{background:var(--orange)}
.section{padding:76px 5vw}
.service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.service-cards article,.price-list,.review-card,.mini-pair{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 15px 45px rgba(5,34,66,.08)}
.service-cards article{padding:26px}
.service-cards h3{color:var(--blue);margin:0 0 10px}
.service-cards p{color:var(--muted);margin:0}
.prices{background:var(--cream)}
.price-list{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.service-row{display:grid;grid-template-columns:34px 1fr auto auto;gap:12px;align-items:center;border-bottom:1px solid #edf2f7;padding:14px 0}
.service-icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#eaf5ff;color:var(--blue);font-weight:950}
.price{font-weight:950;color:var(--blue)}
.book-now{background:var(--blue);color:white;border-radius:10px;padding:8px 12px;font-weight:950;font-size:.86rem}
.note{color:var(--muted);max-width:900px}
.thumb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mini-pair{padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mini-pair div{position:relative;border-radius:18px;overflow:hidden}
.mini-pair img{height:230px;width:100%;object-fit:cover}
.mini-pair span{position:absolute;left:10px;top:10px;background:var(--orange);color:#fff;border-radius:999px;padding:5px 9px;font-weight:950;font-size:.75rem;text-transform:uppercase}
.mini-pair div:nth-child(2) span{background:var(--blue)}
.mini-pair strong{grid-column:1/-1;color:var(--blue);padding:4px 4px 2px}
.reviews{background:#fff}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.review-card{padding:24px}
.stars{color:var(--orange);letter-spacing:2px;font-size:1.3rem}
.review-card p{color:#34455c}
.review-card strong,.review-card span{display:block}
.review-card span{color:var(--muted);font-size:.9rem}
.review-link{margin-top:22px}
.contact{display:grid;grid-template-columns:1fr .9fr;gap:38px;align-items:center;background:linear-gradient(135deg,var(--blue),#082747);color:white;padding:76px 5vw}
.contact h2{font-size:clamp(2rem,4vw,4rem);line-height:1.02;margin:0 0 14px}
.contact p{color:#dcecff;font-size:1.1rem}
.contact-links{background:white;color:var(--blue);border-radius:28px;padding:28px;display:grid;gap:12px}
.contact-links a{font-weight:950;border-bottom:1px solid var(--line);padding-bottom:10px}
footer{padding:34px 5vw;background:#061d35;color:white;display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap}
footer img{width:125px;border-radius:14px}
.sticky-whatsapp{position:fixed;right:18px;bottom:18px;z-index:200;background:#25d366;color:#071d12;font-weight:950;padding:14px 19px;border-radius:999px;box-shadow:0 18px 40px rgba(0,0,0,.25)}
@media(max-width:1100px){
  .main-nav{display:none}.menu-button{display:block;margin-left:auto}.hero{grid-template-columns:1fr}.booking-card{max-width:680px}.service-cards,.reviews-grid,.thumb-grid{grid-template-columns:repeat(2,1fr)}.price-list{grid-template-columns:1fr}.ba-slider{height:520px}
}
@media(max-width:720px){
  .site-header{padding:10px 4vw}.logo-link img{width:118px}.header-actions{display:none}
  .hero{padding:42px 4vw 28px}.hero h1{font-size:3rem}.hero p{font-size:1rem}.trust-strip,.service-cards,.reviews-grid,.thumb-grid,.contact{grid-template-columns:1fr}
  .slider-section,.section{padding:46px 4vw}.ba-slider{height:420px}.slider-shell{padding:12px;border-radius:24px}.ba-slider{border-radius:18px}.service-row{grid-template-columns:30px 1fr auto;gap:8px}.book-now{grid-column:2/-1;text-align:center}.sticky-whatsapp{left:14px;right:14px;text-align:center}
}






/* === FINAL FIX: Before/After slider source swap support and working mobile navigation === */
.ba-slider{
  --pos:50%;
  position:relative;
}
.ba-slider .before-img{
  z-index:1;
}
.ba-slider .after-wrap{
  position:absolute;
  inset:0;
  width:var(--pos, 50%);
  overflow:hidden;
  z-index:2;
}
.ba-slider .after-wrap .after-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
}
.ba-slider::after{
  left:var(--pos, 50%) !important;
  z-index:3;
}
.ba-slider .handle{
  left:var(--pos, 50%) !important;
  z-index:5;
}
.ba-slider input[type="range"]{
  z-index:6;
}
.before-label{z-index:7;}
.after-label{z-index:7;}

@media(max-width:1100px){
  .menu-button{
    display:block !important;
    margin-left:auto;
    cursor:pointer;
    border:0;
    background:#fff;
    color:var(--blue);
    font-size:2rem;
    line-height:1;
    padding:8px 12px;
    border-radius:12px;
    box-shadow:0 8px 22px rgba(5,34,66,.08);
  }
  .site-header{
    position:sticky;
    top:0;
  }
  .site-header .main-nav{
    display:none !important;
  }
  .site-header.nav-open .main-nav{
    display:flex !important;
    position:fixed;
    top:72px;
    left:16px;
    right:16px;
    flex-direction:column;
    gap:0;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:10px;
    box-shadow:0 22px 60px rgba(5,34,66,.18);
    z-index:9999;
  }
  .site-header.nav-open .main-nav a{
    display:block;
    padding:16px;
    border-bottom:1px solid var(--line);
  }
  .site-header.nav-open .main-nav a:last-child{
    border-bottom:0;
  }
}
