/* =========================================================
   CABLINKER — Pan India Tourist Transport Services
   Design tokens
   ========================================================= */
:root{
  --ink:        #0c0c0e;
  --ink-soft:   #17171b;
  --ink-line:   rgba(255,255,255,.09);
  --cream:      #faf7f1;
  --cream-2:    #f1ece2;
  --paper:      #ffffff;
  --gold:       #f2a93b;
  --gold-2:     #c97f1d;
  --gold-soft:  #ffd98a;
  --text-dark:  #1b1a17;
  --text-mute:  #6b6660;
  --text-on-ink:#efece6;
  --text-on-ink-mute: #a8a49c;

  --font-head: "Oswald", sans-serif;
  --font-body: "Manrope", sans-serif;

  --radius-arc: 28px;
  --shadow-1: 0 18px 50px -20px rgba(12,12,14,.45);
  --shadow-2: 0 10px 30px -14px rgba(12,12,14,.35);
  --ease: cubic-bezier(.22,.9,.32,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--text-dark);
  background:var(--cream);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.font-head{
  font-family:var(--font-head);
  text-transform:uppercase;
  letter-spacing:.01em;
  font-weight:600;
  line-height:1.05;
  color:var(--ink);
}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.container-xl{max-width:1320px;}

::selection{background:var(--gold);color:var(--ink);}

/* Focus visibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{
  outline:3px solid var(--gold-2);
  outline-offset:2px;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

/* =========================================================
   Utility: brand arc-corner device (reused motif from
   Cablinker's own creative: rounded gold arc cut at corners)
   ========================================================= */
.arc-panel{
  position:relative;
  border-radius:var(--radius-arc);
  overflow:hidden;
}
.arc-corner{
  position:absolute;
  width:64px;height:64px;
  border:6px solid var(--gold);
  z-index:2;
  pointer-events:none;
}
.arc-corner.tl{top:-6px;left:-6px;border-right:none;border-bottom:none;border-top-left-radius:36px;}
.arc-corner.br{bottom:-6px;right:-6px;border-left:none;border-top:none;border-bottom-right-radius:36px;}

.eyebrow-pin{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--ink);
  color:var(--gold-soft);
  border:1px solid var(--gold-2);
  padding:.4rem 1rem .4rem .7rem;
  border-radius:100px;
  font-family:var(--font-head);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.eyebrow-pin i{color:var(--gold);}

.section-tag{
  color:var(--gold-2);
  font-family:var(--font-head);
  letter-spacing:.14em;
  font-size:.8rem;
  text-transform:uppercase;
  margin-bottom:.35rem;
  display:block;
}
.section-head h2{font-size:clamp(1.9rem,3.4vw,2.85rem);margin-bottom:.6rem;}
.section-head p{color:var(--text-mute);max-width:640px;font-size:1.02rem;}
.section-head.light h2{color:var(--text-on-ink);}
.section-head.light .section-tag{color:var(--gold);}
.section-head.light p{color:var(--text-on-ink-mute);}

.btn-gold{
  background:linear-gradient(180deg,var(--gold-soft),var(--gold) 60%,var(--gold-2));
  color:var(--ink);
  font-family:var(--font-head);
  letter-spacing:.05em;
  text-transform:uppercase;
  font-size:.88rem;
  padding:.85rem 1.7rem;
  border:none;
  border-radius:10px;
  box-shadow:0 10px 24px -10px rgba(201,127,29,.6);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
  display:inline-flex;align-items:center;gap:.55rem;
}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 28px -8px rgba(201,127,29,.7);color:var(--ink);}
.btn-outline-ink{
  background:transparent;
  border:1.5px solid var(--ink);
  color:var(--ink);
  font-family:var(--font-head);
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:.88rem;
  padding:.8rem 1.6rem;
  border-radius:10px;
  transition:all .25s var(--ease);
  display:inline-flex;align-items:center;gap:.55rem;
}
.btn-outline-ink:hover{background:var(--ink);color:var(--gold-soft);}
.btn-outline-light{
  background:transparent;
  border:1.5px solid rgba(255,255,255,.55);
  color:var(--text-on-ink);
  font-family:var(--font-head);
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:.88rem;
  padding:.8rem 1.6rem;
  border-radius:10px;
  transition:all .25s var(--ease);
  display:inline-flex;align-items:center;gap:.55rem;
}
.btn-outline-light:hover{background:rgba(255,255,255,.12);border-color:var(--gold);color:var(--text-on-ink);}

/* =========================================================
   Top utility bar
   ========================================================= */
.topbar{
  background:var(--ink);
  color:var(--text-on-ink-mute);
  font-size:.82rem;
  border-bottom:1px solid var(--ink-line);
}
.topbar a{color:var(--text-on-ink-mute);transition:color .2s;}
.topbar a:hover{color:var(--gold);}
.topbar .sep{opacity:.3;margin:0 .6rem;}
.topbar .social a{
  width:26px;height:26px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--ink-line);
  margin-left:.4rem;font-size:.72rem;
}
.topbar .social a:hover{border-color:var(--gold);}

/* =========================================================
   Navbar
   ========================================================= */
.site-nav{
  position:sticky;top:0;z-index:1050;
  background:rgb(9 9 10);
  transition:background .35s var(--ease),box-shadow .35s var(--ease),padding .3s var(--ease);
  padding:.9rem 0;
}
.site-nav.is-scrolled{
  background:rgba(12,12,14,.92);
  backdrop-filter:blur(10px);
  box-shadow:0 10px 30px -18px rgba(0,0,0,.6);
  padding:0;
}
.site-nav .navbar-brand{display:flex;align-items:center;gap:.6rem;}
.site-nav .navbar-brand img{height:70px;width:auto;border-radius:8px;}
.site-nav .navbar-brand .brand-word{
  font-family:var(--font-head);
  font-size:1.35rem;
  letter-spacing:.02em;
  color:var(--text-on-ink);
}
.site-nav .navbar-brand .brand-word b{color:var(--gold);font-weight:600;}
.site-nav .navbar-brand small{
  display:block;color:var(--text-on-ink-mute);
  font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;
}
.site-nav .nav-link{
  color:#fff !important;
  font-size:.86rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:.5rem 1rem !important;
  position:relative;
}
.site-nav .nav-link::after{
  content:"";position:absolute;left:1rem;right:1rem;bottom:.25rem;height:2px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease);
}
.site-nav .nav-link:hover::after,.site-nav .nav-link.active::after{transform:scaleX(1);}
.site-nav .navbar-toggler{border-color:var(--ink-line);}
.nav-call{
  display:flex;align-items:center;gap:.6rem;
  color:var(--text-on-ink);
}
.nav-call .icon-badge{
  width:40px;height:40px;border-radius:50%;
  background:var(--gold);color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.nav-call span{display:block;font-size:.68rem;color:#fff;text-transform:uppercase;letter-spacing:.08em;}
.nav-call strong{font-family:var(--font-head);font-size:1rem;letter-spacing:.02em;}

/* =========================================================
   Hero
   ========================================================= */
.hero {
    position: relative;
    display: flex;
    align-items: center;
    background: var(--ink);
    overflow: hidden;
    padding-top: 0;
}
.hero-media{
  position:absolute;inset:0;z-index:0;
}
.hero-media video,.hero-media img{
  width:100%;height:100%;object-fit:cover;
}
.hero-media::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(100deg, rgba(9,9,10,.96) 0%, rgba(9,9,10,.88) 32%, rgba(9,9,10,.45) 58%, rgba(9,9,10,.72) 100%),
    linear-gradient(0deg, rgba(9,9,10,.9), rgba(9,9,10,.15) 40%);
}
.hero-content{position:relative;z-index:2;padding:3rem 0 3rem;}
.hero-content .eyebrow-pin{margin-bottom:1.4rem;}
.hero-title{
  font-size:clamp(2.4rem,5.4vw,4.1rem);
  color:var(--text-on-ink);
  margin-bottom:1rem;
}
.hero-title em{
  font-style:normal;
  color:var(--gold);
}
.hero-sub{
  color:var(--text-on-ink-mute);
  font-size:1.08rem;
  max-width:520px;
  margin-bottom:2rem;
}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.6rem;}
.hero-trust{display:flex;gap:1.6rem;flex-wrap:wrap;}
.hero-trust .item{display:flex;align-items:center;gap:.6rem;color:var(--text-on-ink-mute);font-size:.86rem;}
.hero-trust .item i{color:var(--gold);font-size:1.1rem;}

/* Glass booking widget */
.booking-widget{
  position:relative;z-index:3;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border-radius:22px;
  padding:1.6rem 1.6rem 1.4rem;
  box-shadow:var(--shadow-1);
  margin-top:-1rem;
}
.booking-tabs{
  display:flex;gap:.4rem;margin-bottom:1.2rem;flex-wrap:wrap;
}
.booking-tabs button{
  background:transparent;border:1px solid rgba(255,255,255,.25);
  color:var(--text-on-ink-mute);
  font-family:var(--font-head);
  font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;
  padding:.55rem 1rem;border-radius:9px;
  display:flex;align-items:center;gap:.45rem;
  transition:all .2s var(--ease);
}
.booking-tabs button i{font-size:.85rem;}
.booking-tabs button.active{
  background:var(--gold);border-color:var(--gold);color:var(--ink);
}
.booking-widget label{
  color:var(--text-on-ink-mute);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;
  margin-bottom:.35rem;display:block;font-family:var(--font-head);
}
.booking-widget .form-control,.booking-widget .form-select{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.22);
  color:var(--text-on-ink);
  padding:.7rem .9rem;border-radius:10px;font-size:.92rem;
}
.booking-widget .form-control::placeholder{color:rgba(239,236,230,.45);}
.booking-widget .form-control:focus,.booking-widget .form-select:focus{
  background:rgba(255,255,255,.1);border-color:var(--gold);box-shadow:none;color:var(--text-on-ink);
}
.booking-widget .form-select option{color:#1b1a17;}
.swap-btn{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);
  color:var(--gold);display:flex;align-items:center;justify-content:center;
  transition:transform .3s var(--ease);
}
.swap-btn:hover{transform:rotate(180deg);background:var(--gold);color:var(--ink);}
.booking-widget .btn-gold{width:100%;justify-content:center;padding:.85rem;margin-top:.3rem;}

/* =========================================================
   Marquee / counters strip
   ========================================================= */
.stats-strip{
  background:var(--ink);
  border-top:1px solid var(--ink-line);
  padding:2.4rem 0;
}
.stat-item{text-align:center;padding:0 1rem;position:relative;}
.stat-item h3{
  font-family:var(--font-head);color:var(--gold);
  font-size:clamp(2rem,3.4vw,2.7rem);margin-bottom:.15rem;
}
.stat-item span{color:var(--text-on-ink-mute);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;}
.stat-item h3 span{font-size: 2rem !important;}

/* =========================================================
   Services
   ========================================================= */
.section{padding:5.5rem 0;}
.section.dark{background:var(--ink);}
.section.cream-2{background:var(--cream-2);}

.service-card{
  background:var(--paper);
  border-radius:20px;
  padding:2rem 1.6rem;
  height:100%;
  border:1px solid rgba(27,26,23,.07);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;
  position:relative;
}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-2);border-color:var(--gold);}
.service-card .icon{
  width:58px;height:58px;border-radius:16px;
  background:linear-gradient(150deg,var(--gold-soft),var(--gold));
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;color:var(--ink);margin-bottom:1.2rem;
}
.service-card h3{font-size:1.08rem;margin-bottom:.55rem;}
.service-card p{color:var(--text-mute);font-size:.92rem;margin-bottom:0;}
.service-card .num{
  position:absolute;top:1.4rem;right:1.6rem;
  font-family:var(--font-head);color:rgba(27,26,23,.12);font-size:1.6rem;
}

/* =========================================================
   Fleet
   ========================================================= */
/* 3 Cards in One Row - No Scroll */

.fleet-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.fleet-card{
    background:#111;
    border:1px solid #F7B500;
    border-radius:18px;
    padding:25px 20px;
    text-align:center;
    color:#fff;
    transition:.3s ease;
}
.fleet-card h3 {
    color: #fff;
    margin: 18px 0;
}
.fleet-card p {
    margin: 0;
}
.fleet-card:hover{
    transform:translateY(-6px);
    box-shadow:0 12px 25px rgba(247,181,0,.35);
}

.icon-wrap{
    width:70px;
    height:70px;
    margin:auto 0 15px;
    border-radius:50%;
    background:#F7B500;
    color:#000;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    margin:auto;
}

.seats{
    display:inline-block;
    margin-top:15px;
    color:#F7B500;
    font-weight:600;
}

/* Tablet */
@media (max-width:991px){
    .fleet-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

/* Mobile */
@media (max-width:576px){
    .fleet-grid{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   Fare calculator
   ========================================================= */
.fare-calc{
  background:var(--paper);
  border-radius:var(--radius-arc);
  box-shadow:var(--shadow-1);
  padding:2.4rem;
  position:relative;
}
.fare-calc .form-label{
  font-family:var(--font-head);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;
  color:var(--text-mute);margin-bottom:.4rem;
}
.fare-calc .form-control,.fare-calc .form-select{
  border:1.5px solid #e7e1d5;border-radius:10px;padding:.7rem .9rem;font-size:.94rem;
}
.fare-calc .form-control:focus,.fare-calc .form-select:focus{border-color:var(--gold);box-shadow:0 0 0 .2rem rgba(242,169,59,.18);}
.fare-type-toggle{display:flex;gap:.5rem;margin-bottom:1.6rem;flex-wrap:wrap;}
.fare-type-toggle button{
  border:1.5px solid #e7e1d5;background:var(--cream);color:var(--text-mute);
  font-family:var(--font-head);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;
  padding:.55rem 1.1rem;border-radius:9px;
}
.fare-type-toggle button.active{background:var(--ink);border-color:var(--ink);color:var(--gold);}
.fare-result{
  background:var(--ink);
  border-radius:18px;
  padding:1.8rem;
  color:var(--text-on-ink);
  height:100%;
  display:flex;flex-direction:column;justify-content:center;
}
.fare-result .amount{
  font-family:var(--font-head);color:var(--gold);font-size:2.6rem;line-height:1;margin:.4rem 0 .2rem;
}
.fare-result .row-line{
  display:flex;justify-content:space-between;padding:.5rem 0;
  border-bottom:1px dashed rgba(255,255,255,.14);font-size:.86rem;color:var(--text-on-ink-mute);
}
.fare-result .row-line span:last-child{color:var(--text-on-ink);}
.fare-note{font-size:.76rem;color:var(--text-mute);margin-top:1rem;}


/* ===========================
   Popular Routes - CabLinker Premium
=========================== */

.dest-card{
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    height: 340px;
    display: flex;
    align-items: flex-end;
    color: #fff;
    border: 1px solid rgba(255,191,47,.25);
    transition: all .35s ease;
    cursor: pointer;
    background: #111;
}

/* Real Image */
.dest-card img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

/* Hover Zoom */
.dest-card:hover img{
    transform: scale(1.08);
}

/* Black Overlay */
.dest-card::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0,0,0,.88) 0%,
        rgba(0,0,0,.45) 45%,
        rgba(0,0,0,.10) 100%
    );
    z-index: 1;
}

/* Hover Effect */
.dest-card:hover{
    transform: translateY(-8px);
    border-color: #FFBF2F;
    box-shadow: 0 18px 35px rgba(255,191,47,.35);
}

/* Icon */
.dest-card .fly-icon{
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 3;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgba(255,191,47,.20);
    backdrop-filter: blur(8px);
    color: #FFBF2F;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    border: 1px solid rgba(255,191,47,.45);
}

/* Text Content */
.dest-card .dest-content{
    position: relative;
    z-index: 3;
    padding: 22px;
    width: 100%;
}

.dest-card .dest-content .routes{
    display: inline-block;
    background: rgba(255,191,47,.18);
    color: #FFD86A;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 5px 12px;
    border-radius: 20px;
    margin-bottom: 10px;
}

.dest-card .dest-content h3{
    color: #fff;
    font-size: 1.45rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.3;
    text-shadow: 0 2px 10px rgba(0,0,0,.5);
}

/* Responsive */
@media (max-width:991px){
    .dest-card{
        height: 280px;
    }
}

@media (max-width:576px){
    .dest-card{
        height: 240px;
    }

    .dest-card .dest-content h3{
        font-size: 1.2rem;
    }
}


/* =========================================================
   Why choose us / process
   ========================================================= */
.process-step{text-align:center;padding:0 1rem;position:relative;}
.process-step .step-num{
  width:64px;height:64px;border-radius:50%;
  border:2px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-head);font-size:1.3rem;color:var(--gold);
  margin:0 auto 1.1rem;background:var(--paper);position:relative;z-index:2;
}
.process-step h3{font-size:1.02rem;margin-bottom:.5rem;}
.process-step p{color:var(--text-mute);font-size:.88rem;}
.process-line{
  position:absolute;top:32px;left:calc(50% + 40px);right:calc(-50% + 40px);
  height:2px;background:repeating-linear-gradient(90deg,var(--gold) 0 8px,transparent 8px 16px);
  z-index:1;
}
@media (max-width:991px){.process-line{display:none;}}

.why-item{display:flex;gap:1rem;padding:1.2rem 0;border-bottom:1px solid rgba(27,26,23,.08);}
.why-item:last-child{border-bottom:none;}
.why-item .ic{
  width:46px;height:46px;border-radius:12px;flex-shrink:0;
  background:var(--ink);color:var(--gold);
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;
}
.why-item h4{font-size:1rem;margin-bottom:.25rem;font-family:var(--font-head);text-transform:none;letter-spacing:0;}
.why-item p{font-size:.88rem;color:var(--text-mute);margin-bottom:0;}

/* =========================================================
   Reviews
   ========================================================= */
.review-card{
  background:var(--paper);
  border-radius:18px;
  padding:1.9rem;
  border:1px solid rgba(27,26,23,.08);
  height:100%;
}
.review-card .stars{color:var(--gold);font-size:.85rem;margin-bottom:.9rem;}
.review-card p.quote{font-size:.96rem;color:var(--text-dark);margin-bottom:1.4rem;min-height:96px;}
.review-card .reviewer{display:flex;align-items:center;gap:.8rem;}
.review-card .avatar{
  width:46px;height:46px;border-radius:50%;
  background:linear-gradient(150deg,var(--gold-soft),var(--gold-2));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-head);color:var(--ink);font-size:1rem;flex-shrink:0;
}
.review-card .reviewer strong{display:block;font-size:.92rem;}
.review-card .reviewer span{font-size:.78rem;color:var(--text-mute);}

/* =========================================================
   CTA band
   ========================================================= */
.cta-band{
  background:linear-gradient(120deg,var(--gold-2),var(--gold) 60%,var(--gold-soft));
  border-radius:var(--radius-arc);
  padding:3rem;
  position:relative;overflow:hidden;
  margin-top: 3rem;
}
.cta-band h2{color:var(--ink);margin-bottom:.4rem;}
.cta-band p{color:rgba(12,12,14,.72);margin-bottom:0;}
.cta-band::before{
  content:"\f5b0";font-family:"Font Awesome 6 Free";font-weight:900;
  position:absolute;right:-30px;bottom:-40px;font-size:11rem;color:rgba(12,12,14,.08);
  transform:rotate(-12deg);
}

/* =========================================================
   Contact
   ========================================================= */
.contact-card{
  background:var(--ink);color:var(--text-on-ink);
  border-radius:var(--radius-arc);padding:2.4rem;height:100%;
}
.contact-card .form-control,.contact-card .form-select{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);
  color:var(--text-on-ink);border-radius:10px;padding:.75rem .95rem;
}
.contact-card .form-control::placeholder{color:rgba(239,236,230,.4);}
.contact-card .form-control:focus,.contact-card .form-select:focus{
  background:rgba(255,255,255,.09);border-color:var(--gold);box-shadow:none;color:var(--text-on-ink);
}
.contact-info-item{display:flex;gap:1rem;margin-bottom:1.6rem;}
.contact-info-item .ic{
  width:48px;height:48px;border-radius:12px;background:var(--gold);color:var(--ink);
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;
}
.contact-info-item h4{font-family:var(--font-head);font-size:.95rem;text-transform:none;letter-spacing:0;margin-bottom:.2rem;}
.contact-info-item p,.contact-info-item a{color:var(--text-mute);font-size:.9rem;margin-bottom:0;}
.map-frame{border-radius:20px;overflow:hidden;border:1px solid rgba(27,26,23,.08);height:230px;}
.map-frame iframe{width:100%;height:100%;border:0;filter:grayscale(.25) contrast(1.05);}

/* =========================================================
   Footer
   ========================================================= */
.site-footer{
  background:#08080a;
  color:#b9b3a5;
  padding-top:4.5rem;
  border-top:1px solid rgba(242,169,59,.25);
}
.site-footer h4{
  color:var(--gold);font-family:var(--font-head);font-size:1rem;
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.2rem;
}
.site-footer ul{list-style:none;padding:0;margin:0;}
.site-footer ul li{margin-bottom:.7rem;font-size:.88rem;}
.site-footer ul li a{color:#b9b3a5;transition:color .2s,padding-left .2s;}
.site-footer ul li a:hover{color:var(--gold);padding-left:4px;}
.footer-brand img{height:46px;border-radius:8px;margin-bottom:1rem;}
.footer-brand p{font-size:.88rem;color:#8f897c;max-width:280px;}
.footer-social a{
  width:36px;height:36px;border-radius:50%;border:1px solid rgba(242,169,59,.3);
  display:inline-flex;align-items:center;justify-content:center;margin-right:.5rem;color:var(--gold);
  transition:all .2s;
}
.footer-social a:hover{background:var(--gold);color:var(--ink);}
.footer-sub{
  display:flex;border:1px solid rgba(242,169,59,.3);border-radius:10px;overflow:hidden;margin-bottom:1.2rem;
}
.footer-sub input{
  background:transparent;border:0;color:#fff;padding:.7rem 1rem;flex:1;font-size:.88rem;
}
.footer-sub input:focus{outline:none;}
.footer-sub button{
  background:var(--gold);border:0;color:var(--ink);padding:0 1.3rem;
  font-family:var(--font-head);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:3rem;padding:1.4rem 0;
  font-size:.82rem;color:#847f73;
}
.footer-bottom a{color:#847f73;}
.footer-bottom a:hover{color:var(--gold);}

/* =========================================================
   Floating action buttons
   ========================================================= */
.fab-stack{
  position:fixed;right:1.4rem;bottom:1.4rem;z-index:1200;
  display:flex;flex-direction:column;gap:.8rem;align-items:flex-end;
}
.fab{
  width:58px;height:58px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;color:#fff;box-shadow:0 10px 26px -8px rgba(0,0,0,.5);
  position:relative;
}
.fab.whatsapp{background:#25D366;}
.fab.call{background:var(--ink);border:2px solid var(--gold);}
.fab.top{width:44px;height:44px;font-size:1.05rem;background:var(--gold);color:var(--ink);opacity:0;pointer-events:none;transform:translateY(10px);transition:all .3s var(--ease);}
.fab.top.show{opacity:1;pointer-events:auto;transform:translateY(0);}
.fab.whatsapp::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  border:2px solid #25D366;animation:pulse-ring 2.2s ease-out infinite;
}
@keyframes pulse-ring{
  0%{transform:scale(1);opacity:.7;}
  100%{transform:scale(1.9);opacity:0;}
}

/* =========================================================
   Offer popup modal
   ========================================================= */
.offer-modal .modal-content{
  border-radius:24px;overflow:hidden;border:none;
  background:var(--ink);color:var(--text-on-ink);
}
.offer-modal .modal-body{padding:0;}
.offer-visual{
  background:radial-gradient(circle at 20% 20%,var(--gold-soft),var(--gold-2) 70%);
  padding:2.4rem 2rem;text-align:center;position:relative;
}
.offer-visual h5{color:var(--ink);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.3rem;}
.offer-visual .big{font-family:var(--font-head);color:var(--ink);font-size:3.4rem;line-height:1;}
.offer-visual .big small{font-size:1.2rem;display:block;}
.offer-body{padding:1.8rem 2rem 2.2rem;text-align:center;}
.offer-body p{color:var(--text-on-ink-mute);font-size:.92rem;}
.offer-modal .btn-close{filter:invert(1);position:absolute;top:1rem;right:1rem;z-index:5;}

/* =========================================================
   Misc
   ========================================================= */
.badge-soft{
  background:rgba(242,169,59,.12);color:var(--gold-2);
  font-family:var(--font-head);font-size:.7rem;letter-spacing:.08em;
  padding:.35rem .7rem;border-radius:100px;text-transform:uppercase;
}
.divider-arc{
  width:70px;height:3px;background:var(--gold);border-radius:2px;margin-bottom:1.2rem;
}
hr.gold{border:0;height:1px;background:linear-gradient(90deg,transparent,rgba(242,169,59,.4),transparent);}

@media (max-width:767px){
  .section{padding:3.6rem 0;}
  .hero{min-height:auto;padding-top:1rem;padding-bottom:2rem;}
  .hero-content{padding:5.4rem 0 1.5rem;}
  .cta-band{padding:2rem;text-align:center;}
  .cta-band::before{display:none;}
}



.review-swiper{
    padding-bottom:50px;
}

.review-swiper .swiper-slide{
    height:auto;
}

.review-swiper .swiper-pagination-bullet{
    background:#888;
    opacity:1;
}

.review-swiper .swiper-pagination-bullet-active{
    background:#F7B500;
}