:root{--ink:#12231f;--dark:#0a1713;--lime:#c4f75a;--muted:#58635d}body{background:#f8faf7}.header{top:24px;width:calc(100% - 80px);max-width:1320px;border-radius:4px;background:#12231fa6;padding:16px 23px}.brand small{font-size:12px}.nav-contact,.button{border-radius:3px}.hero{min-height:760px;height:100svh;max-height:1200px}.hero-image{object-position:center;filter:brightness(.85)}.hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s;filter:saturate(.65)}.hero-film.ready{opacity:1}.hero-shade{background:linear-gradient(90deg,#081810df 0%,#08181077 48%,#08181010),linear-gradient(0deg,#081810e8,transparent 70%)}.hero-content{bottom:155px}.hero h1{font-size:clamp(64px,8.4vw,134px);font-weight:500;letter-spacing:-.065em;line-height:.98}.hero h1 em{color:#c4f75a}.hero-bottom{margin-top:35px;gap:50px}.hero .eyebrow{font-size:13px}.hero-controls{font-size:12px}.hero-controls>p{font-size:12px}.slide-controls{display:none}.motion-control{background:transparent;color:white;border:1px solid #ffffff50;padding:8px 15px;border-radius:3px;font-size:13px;display:flex;gap:20px;align-items:center}.service-strip{overflow:hidden;white-space:nowrap;font-size:13px;gap:4%;background:var(--lime);padding:25px 3%}.journey-intro{padding:130px 6% 60px;text-align:center;max-width:1400px;margin:auto}.journey-intro .eyebrow{margin-bottom:38px;color:var(--muted)}.journey-intro h2{font-size:clamp(40px,5.8vw,90px);line-height:1.08}.journey-intro h2 span{color:#6c8770}.journey-intro>p:last-child{font-size:18px;color:var(--muted);margin-top:32px}.section{padding-top:95px;padding-bottom:95px}.services .section-heading{text-align:left;max-width:none;margin:0 0 55px;display:flex}.services .section-heading>p{margin:0;max-width:330px}.fleet-section{margin:0;border-radius:0;overflow:hidden}.fleet-section .section{max-width:none}.gallery-note{font-size:14px}.film-layout{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:8%}.film-frame{background:#0a1713;border-radius:4px;overflow:hidden;height:540px}.film-frame video{width:100%;height:100%;object-fit:contain;display:block}.film-copy h3{font-size:clamp(32px,3.4vw,49px);margin:25px 0}.film-copy>p{color:var(--muted);margin-bottom:28px;max-width:370px}.film-source{display:block;text-decoration:underline;text-underline-offset:5px;margin-top:28px;font-size:14px}.about{border-top:1px solid var(--line)}.contact{margin:0;border-radius:0;padding:110px 6%;position:relative;overflow:hidden}.contact h2{font-size:clamp(60px,7vw,110px)}.contact .button{border-radius:3px}footer{background:var(--dark);color:white}footer>p,footer>a:last-child{color:#bbc8bd}.detail-label,.eyebrow{font-size:13px}.scroll-cue span{animation:cue 2s ease-in-out infinite}.hero-content{animation:enter 1s ease-out both}.reveal{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.js-motion .reveal:not(.visible){transform:translateY(40px)}@keyframes cue{50%{transform:translateY(7px)}}@keyframes enter{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@media(max-width:1000px){.header{width:calc(100% - 40px)}nav{gap:18px}.film-frame{height:470px}.hero h1{font-size:clamp(65px,9vw,105px)}}@media(max-width:720px){.header{top:14px;width:calc(100% - 28px);padding:12px 15px}.brand{font-size:15px}.brand small{font-size:10px}.hero{min-height:760px}.hero h1{font-size:clamp(55px,12vw,84px);line-height:1.04}.hero-content{bottom:140px}.hero .eyebrow{font-size:12px;display:block}.hero .eyebrow span{margin-left:14px}.hero-shade{background:linear-gradient(0deg,#081810f5,#08181088 60%,#08181030)}.hero-image{object-position:center}.hero-film{object-position:center}.hero-controls{font-size:11px}.motion-control{font-size:12px;padding:8px 10px;gap:12px}.journey-intro{padding:80px 6% 30px}.journey-intro h2{font-size:42px}.journey-intro>p:last-child{font-size:16px}.journey-intro br{display:none}.services .section-heading{display:block}.services .section-heading>p{margin-top:24px;max-width:none}.section{padding:65px 6%}.film-layout{grid-template-columns:1fr;gap:35px}.film-frame{height:480px}.film-copy h3{font-size:36px}.film-copy{padding-bottom:10px}.contact{padding:65px 7%}.contact h2{font-size:57px}.service-strip{font-size:11px}.gallery-note{font-size:13px}.hero-controls>p{display:none}}@media(prefers-reduced-motion:reduce){.hero-content{animation:none}.hero-film{display:none}.scroll-cue span{animation:none}}

/* Minimised brand logo (header + footer) — transparent PNG. Navbar shape left to the original theme (no pill radius). */
.brand{display:inline-flex;align-items:center;gap:0;text-decoration:none;transition:transform .25s ease,opacity .25s ease}
.brand:hover{transform:translateY(-1px);opacity:.95}
.brand-logo{height:52px;width:auto;object-fit:contain;background:none;padding:0;border-radius:0;box-shadow:none;display:block;filter:drop-shadow(0 2px 5px rgba(0,0,0,.35));transition:height .3s cubic-bezier(.16,1,.3,1)}
.header.scrolled .brand-logo{height:46px}
footer .brand-logo{height:32px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
@media(max-width:900px){.brand-logo{height:36px}.header.scrolled .brand-logo{height:32px}}
@media(max-width:720px){.brand-logo{height:34px}.header.scrolled .brand-logo{height:30px}}


/* Floating social ribbon (right edge) */
.social-rail{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:9;display:flex;flex-direction:column;box-shadow:0 12px 34px rgba(0,0,0,.24);overflow:hidden;border-top-left-radius:10px;border-bottom-left-radius:10px}
.social-btn{width:42px;height:42px;display:flex;align-items:center;justify-content:center;color:#fff;transition:filter .2s ease}
.social-btn:first-child{border-top-left-radius:10px}
.social-btn:last-child{border-bottom-left-radius:10px}
.social-btn svg,.social-btn img{width:22px;height:22px;display:block;transition:transform .2s ease;object-fit:contain}
.social-btn:hover,.social-btn:focus-visible{filter:brightness(1.12)}
.social-btn:hover svg,.social-btn:focus-visible svg,.social-btn:hover img,.social-btn:focus-visible img{transform:scale(1.15)}
.social-btn.call{background:#2563eb}
.social-btn.whatsapp{background:#25d366}
.social-btn.instagram{background:radial-gradient(circle at 30% 107%,#fdd35c 0%,#fd5949 45%,#d6249f 70%,#3d4fe4 100%)}
.social-btn.justdial{background:#ffffff}
@media(max-width:720px){.social-rail{right:0;top:auto;bottom:90px;transform:none}.social-btn{width:38px;height:38px}.social-btn svg,.social-btn img{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.social-btn svg,.social-btn img{transition:none}}

/* ==========================================================================
   SERVICES & TOUR PACKAGES CATALOG
   ========================================================================== */
.services-filter{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 48px;flex-wrap:wrap}
.filter-tab{background:rgba(18,35,31,.06);border:1px solid #c9d5d0;color:var(--ink);padding:10px 20px;border-radius:3px;font-family:'DM Sans',Arial,sans-serif;font-size:13px;font-weight:600;letter-spacing:.3px;transition:all .25s ease}
.filter-tab:hover{background:rgba(18,35,31,.12);transform:translateY(-1px)}
.filter-tab.active{background:var(--ink);color:var(--lime);border-color:var(--ink);box-shadow:0 6px 18px rgba(8,39,40,.22)}

.service-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:20px}
.service-card{background:#ffffff;border:1px solid #e1e7e3;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 20px rgba(0,20,20,.04)}
.service-card:hover{transform:translateY(-8px);box-shadow:0 22px 40px -12px rgba(8,39,40,.18);border-color:#c8d5cf}
.card-media{position:relative;height:230px;overflow:hidden;background:#061c1d}
.card-media img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s cubic-bezier(.16,1,.3,1)}
.service-card:hover .card-media img{transform:scale(1.07)}
.card-badge{position:absolute;top:14px;left:14px;background:rgba(6,28,29,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--lime);font-family:monospace;font-size:11px;letter-spacing:1px;font-weight:700;padding:6px 11px;border-radius:3px;border:1px solid rgba(196,247,90,.3);box-shadow:0 4px 12px rgba(0,0,0,.35)}

.card-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex-grow:1}
.card-pills{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:14px}
.card-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#f0f5f2;border:1px solid #d9e5df;border-radius:3px;font-family:'DM Sans',-apple-system,sans-serif;font-size:11.5px;font-weight:600;color:#183630;letter-spacing:.1px;white-space:nowrap;line-height:1}
.card-pill .pill-icon{width:12px;height:12px;color:#286350;stroke-width:2.2;flex-shrink:0;display:block}
.card-pill.highlight{background:#eaf8d6;border-color:#cae8a0;color:#1d420f}
.card-pill.highlight .pill-icon{color:#3f7819}
.service-card:hover .card-pill{border-color:#c8dbd2;background:#e9f1ed}
.service-card:hover .card-pill.highlight{background:#e3f5cb;border-color:#bde28e}
.card-body h3{font-size:22px;font-weight:600;line-height:1.25;color:var(--ink);letter-spacing:-.4px;margin-bottom:12px}
.card-body p{font-size:14px;line-height:1.6;color:var(--muted);margin-bottom:18px}

.card-specs{list-style:none;padding:14px 0 0;margin:0 0 22px;border-top:1px dashed #dbe3df;font-size:13px;line-height:1.55;color:#2f4640}
.card-specs li{position:relative;padding-left:22px;margin-bottom:7px}
.card-specs li::before{content:"✓";position:absolute;left:0;color:#357a16;font-weight:bold;font-size:13px}

.card-actions{margin-top:auto;display:flex;gap:10px;align-items:center}
.btn-whatsapp{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#25d366;color:#ffffff;font-weight:700;font-size:13px;padding:12px 14px;border-radius:3px;text-decoration:none;transition:background .2s,transform .2s;box-shadow:0 4px 14px rgba(37,211,102,.25)}
.btn-whatsapp:hover{background:#20ba59;color:#ffffff;transform:translateY(-2px);box-shadow:0 8px 18px rgba(37,211,102,.35)}
.btn-whatsapp span{font-size:14px}
.btn-call{display:inline-flex;align-items:center;justify-content:center;background:#e9f0ec;color:var(--ink);font-weight:600;font-size:12.5px;padding:12px 14px;border-radius:3px;text-decoration:none;transition:all .2s;white-space:nowrap}
.btn-call:hover{background:var(--lime);color:var(--dark);transform:translateY(-2px)}

/* Contact section extensions */
.contact-cta-group{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.direct-phones{font-size:13px;color:#234b49;font-weight:500;line-height:1.7}
.direct-phones span{font-family:monospace;text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:700;display:block;margin-bottom:4px}
.direct-phones a{text-decoration:underline;text-underline-offset:3px;font-weight:600;color:var(--dark)}

/* ==========================================================================
   SECTION 04: ROOTED IN HYDERABAD & REVIEWS (WARM LOVEABLE DESIGN)
   ========================================================================== */
.about{border-top:1px solid #e2ebe5;background:#fcfdfa;background-image:radial-gradient(circle at 85% 12%,rgba(188,255,49,.10) 0%,transparent 45%),radial-gradient(circle at 10% 75%,rgba(37,211,102,.06) 0%,transparent 40%);display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(36px,5vw,70px);align-items:start;padding-bottom:110px}
.about-top{display:contents}
.about-story h2{font-size:clamp(36px,4vw,54px);line-height:1.1;letter-spacing:-.04em;margin-bottom:20px;font-weight:500;color:var(--ink)}
.about-story h2 em{color:#1e5a52;font-style:normal}
.about-story-p{font-size:16px;line-height:1.75;color:#35534c;margin-bottom:18px}
.about-story-actions{display:flex;align-items:center;gap:22px;margin-top:32px;margin-bottom:20px;flex-wrap:wrap}
.about-cta-btn{display:inline-flex;align-items:center;gap:12px;background:#082728;color:#ffffff;padding:14px 24px;border-radius:6px;font-size:13px;font-weight:700;letter-spacing:.5px;text-decoration:none;transition:all .25s ease;box-shadow:0 4px 14px rgba(8,39,40,.18)}
.about-cta-btn:hover{background:var(--lime);color:var(--dark);transform:translateY(-2px);box-shadow:0 8px 20px rgba(188,255,49,.35)}
.about-call-link{font-size:14px;font-weight:600;color:#1e5a52;text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;transition:color .2s ease}
.about-call-link:hover{color:#082728}
@media(max-width:960px){
  .about{grid-template-columns:1fr;gap:48px}
  .about-story-actions{gap:16px;margin-bottom:8px}
}
@media(max-width:600px){
  .about-story-actions{flex-direction:column;align-items:flex-start;gap:16px;margin-top:28px;margin-bottom:12px}
  .about-call-link{padding:4px 0 8px;font-size:14px}
  .about-trust-card{margin-top:16px}
}

/* Trust & Experience Showcase Card */
.about-trust-card{background:#ffffff;border:1px solid #dbe6df;border-radius:20px;padding:34px 32px 30px;box-shadow:0 12px 35px -10px rgba(8,39,40,.07);position:relative;overflow:hidden}
.about-trust-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--lime),#25d366)}
.trust-card-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid #edf3ef;flex-wrap:wrap}
.trust-rating-block{display:flex;align-items:center;gap:16px}
.trust-score{font-size:52px;font-weight:700;color:#082728;line-height:1;letter-spacing:-2px}
.trust-score-meta .stars{color:#f59e0b;font-size:19px;letter-spacing:2px;display:block;margin-bottom:4px;text-shadow:0 1px 2px rgba(245,158,11,.25)}
.trust-score-meta p{font-size:12.5px;color:var(--muted);margin:0;font-weight:500}
.trust-card-badge{display:inline-flex;align-items:center;gap:8px;background:#f3f7f4;border:1px solid #d6e2da;padding:8px 14px;border-radius:20px;font-size:12px;font-weight:600;color:#1e5a52;text-decoration:none;transition:all .2s ease}
.trust-card-badge:hover{background:#e7f3ea;border-color:#1e5a52;transform:translateY(-1px)}
.trust-metrics{display:flex;flex-direction:column;gap:14px}
.trust-metric-item{display:flex;align-items:flex-start;gap:14px}
.trust-metric-icon{width:32px;height:32px;border-radius:8px;background:#edf7ee;color:#1e5a52;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.trust-metric-info strong{display:block;font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:2px}
.trust-metric-info span{display:block;font-size:12px;color:var(--muted);line-height:1.45}

/* Reviews Marquee Section */
.about-reviews{border-top:1px solid #e2ebe5;padding-top:60px}
.about-reviews-header{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:34px;flex-wrap:wrap}
.about-reviews-header .eyebrow{color:#1e5a52;font-size:12px;letter-spacing:2px;margin-bottom:10px;font-family:monospace;font-weight:600}
.about-reviews-header h3{font-size:clamp(26px,3.2vw,38px);line-height:1.15;font-weight:600;letter-spacing:-.03em;margin:0;color:var(--ink)}
.about-reviews-header h3 em{color:#1e5a52;font-style:normal}
.reviews-badge{display:inline-flex;align-items:center;gap:18px;padding:14px 24px;background:#f5f9f6;border:1px solid #d4e3dc;border-radius:30px;text-decoration:none;transition:all .25s ease;box-shadow:0 8px 22px -10px rgba(18,35,31,.16)}
.reviews-badge:hover{background:#ecf5f0;border-color:#b8d6c8;transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(18,35,31,.22)}
.badge-score{font-size:27px;font-weight:800;color:#12231f;line-height:1;display:flex;align-items:center;gap:2px;letter-spacing:-.5px}
.badge-star{font-size:.74em;font-weight:700;color:#12231f}
.badge-meta small{display:block;font-size:10px;color:#8a968e;letter-spacing:1.2px;text-transform:uppercase;font-family:monospace;font-weight:700;margin-bottom:4px}
.badge-meta .badge-src{display:flex;align-items:center;gap:7px;font-size:13px;color:#34483f;font-weight:500}
.badge-src .src{display:inline-flex;align-items:center;gap:4px}
.badge-src .dot{font-style:normal;color:#c2ccc4}
.badge-src .src-logo{width:14px;height:14px;flex:none;display:block;object-fit:contain}

.marquee-wrapper{position:relative;width:100%;overflow:hidden;mask-image:linear-gradient(to right,transparent 0%,black 4%,black 96%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 4%,black 96%,transparent 100%);user-select:none}
.marquee-track{display:flex !important;gap:24px !important;width:max-content !important;min-width:200% !important;animation:reviewsMarquee 35s linear infinite !important;-webkit-animation:reviewsMarquee 35s linear infinite !important;padding:12px 0 !important;will-change:transform}
.marquee-track.reverse{animation:reviewsMarqueeReverse 35s linear infinite !important;-webkit-animation:reviewsMarqueeReverse 35s linear infinite !important}

/* Review Card Aesthetics */
.review-card{flex:0 0 380px;background:#ffffff;border:1px solid #e2ebe5;border-radius:18px;padding:26px 26px 22px;display:flex;flex-direction:column;justify-content:space-between;position:relative;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s ease,box-shadow .3s ease;box-shadow:0 6px 20px rgba(8,39,40,.04)}
.review-card::before{content:'“';position:absolute;top:8px;right:22px;font-size:68px;line-height:1;font-family:Georgia,serif;color:rgba(8,39,40,.06);pointer-events:none}
.review-card:hover{transform:translateY(-6px);border-color:#9dc7ad;box-shadow:0 20px 35px -10px rgba(8,39,40,.12)}
.review-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;position:relative;z-index:1}
.review-stars{color:#f59e0b;font-size:16px;letter-spacing:2.5px;font-weight:700;text-shadow:0 1px 2px rgba(245,158,11,.2);display:inline-flex;align-items:center;gap:7px}
.review-stars::before{content:"";flex:none;width:15px;height:15px;background:url(../assets/images/brand/google-g.svg) center/contain no-repeat}
.review-tag{font-size:10.5px;font-family:monospace;letter-spacing:.6px;padding:4px 10px;background:#edf7ee;border:1px solid #c9e4cf;color:#134e23;border-radius:20px;font-weight:700;white-space:nowrap}
.review-text{font-size:14.5px;line-height:1.65;color:#223f38;margin:0 0 18px;font-style:normal;position:relative;z-index:1}
.review-author{display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid #edf4f0;position:relative;z-index:1}
.author-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#0d3832,#1b5b50);color:#ffffff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;box-shadow:0 3px 8px rgba(13,56,50,.25);flex-shrink:0}
.author-info{flex:1;min-width:0}
.author-name{font-size:13.5px;font-weight:700;color:var(--ink);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px}
.author-route{font-size:11.5px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.verified-icon{color:#25d366;font-size:13px;font-weight:700;display:inline-block}

@keyframes reviewsMarquee{
  0%{transform:translate3d(0,0,0)}
  100%{transform:translate3d(-50%,0,0)}
}
@-webkit-keyframes reviewsMarquee{
  0%{-webkit-transform:translate3d(0,0,0)}
  100%{-webkit-transform:translate3d(-50%,0,0)}
}
@keyframes reviewsMarqueeReverse{
  0%{transform:translate3d(-50%,0,0)}
  100%{transform:translate3d(0,0,0)}
}
@-webkit-keyframes reviewsMarqueeReverse{
  0%{-webkit-transform:translate3d(-50%,0,0)}
  100%{-webkit-transform:translate3d(0,0,0)}
}

/* Responsive breakpoints */
@media(max-width:1150px){
  .service-cards-grid{grid-template-columns:repeat(2,1fr);gap:22px}
  .about-top{grid-template-columns:1fr;gap:45px}
}
@media(max-width:720px){
  .service-cards-grid{grid-template-columns:1fr;gap:20px}
  .services-filter{gap:8px;margin-bottom:35px}
  .filter-tab{font-size:12px;padding:8px 16px}
  .card-media{height:200px}
  .card-body h3{font-size:20px}
  .about{padding-bottom:70px}
  .about-top{grid-template-columns:1fr;gap:35px;margin-bottom:45px}
  .about-story h2{font-size:32px}
  .about-trust-card{padding:24px 20px}
  .trust-score{font-size:44px}
  .about-reviews{padding-top:40px}
  .about-reviews-header{gap:18px;margin-bottom:24px}
  .review-card{flex:0 0 310px;padding:22px 20px}
  .review-text{font-size:13.5px}
  .marquee-track{gap:16px !important;animation-duration:25s !important}
}




/* ===== Premium gallery mosaic + cinematic lightbox (scoped to #gallery) ===== */
.gallery-mosaic{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,296px));gap:16px}
.g-tile{position:relative;overflow:hidden;border-radius:14px;border:1px solid rgba(255,255,255,.09);margin:0;padding:0;background:#12231f;color:#fff;font:inherit;cursor:pointer;transition:box-shadow .35s ease}
.g-feature{grid-row:span 2}
.g-tile:nth-child(n+6){display:none}
.g-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.g-tile:not(.g-feature):hover img,.g-tile:not(.g-feature):focus-visible img{transform:scale(1.06)}
.g-tile:hover{box-shadow:0 22px 44px -16px rgba(0,0,0,.6)}
.g-feature img{animation:g-kenburns 20s ease-in-out infinite alternate}
.g-cap{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:3px;padding:36px 16px 15px;background:linear-gradient(transparent,rgba(4,14,11,.9));pointer-events:none;text-align:left}
.g-cap small{font-family:monospace;font-size:10.5px;letter-spacing:1px;color:var(--lime)}
.g-cap b{font-size:15px;font-weight:600;letter-spacing:-.2px}
.g-feature .g-cap b{font-size:21px}
.g-more::after{content:"";position:absolute;inset:0;background:rgba(5,16,13,.6)}
.g-more-badge{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:29px;font-weight:700;color:#fff}
.g-more-badge em{font-style:normal;font-size:12px;font-weight:600;letter-spacing:.5px;color:var(--lime)}
.g-viewall{margin-top:22px;display:inline-flex;align-items:center;gap:12px;background:transparent;border:1px solid rgba(255,255,255,.28);color:#fff;font-family:monospace;font-size:12px;letter-spacing:1px;padding:13px 20px;border-radius:8px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.g-viewall:hover{background:var(--lime);color:var(--dark);border-color:var(--lime)}
.js-motion #galleryMosaic .g-tile{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}
.js-motion #galleryMosaic .g-tile.g-in{opacity:1;transform:none}
@keyframes g-kenburns{from{transform:scale(1)}to{transform:scale(1.08)}}
.lightbox{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:rgba(4,12,10,.93);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .3s ease}
.lightbox.open{opacity:1}
.lightbox[hidden]{display:none}
.lb-figure{margin:0;max-width:min(1100px,92vw);display:flex;flex-direction:column;align-items:center;gap:14px}
.lb-figure img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:10px;box-shadow:0 30px 80px -20px rgba(0,0,0,.85);transform:scale(.96);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.lightbox.open .lb-figure img{transform:scale(1)}
.lb-cap{display:flex;flex-direction:column;gap:3px;text-align:center;color:#fff}
.lb-cap small{font-family:monospace;font-size:11px;letter-spacing:1.5px;color:var(--lime)}
.lb-cap b{font-size:18px;font-weight:600}
.lb-cap em{font-style:normal;font-family:monospace;font-size:11px;color:#9fb0ab}
.lb-close{position:absolute;top:20px;right:22px;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:17px;cursor:pointer;transition:background .2s}
.lb-close:hover{background:rgba(255,255,255,.22)}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:26px;line-height:1;cursor:pointer;transition:background .2s,color .2s}
.lb-nav:hover{background:var(--lime);color:var(--dark);border-color:var(--lime)}
.lb-prev{left:22px}.lb-next{right:22px}
@media(max-width:900px){.gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto}.g-feature{grid-column:1 / -1;grid-row:auto;height:300px}.g-tile{height:190px}.lb-nav{width:44px;height:44px;font-size:22px}.lb-prev{left:10px}.lb-next{right:10px}.lb-close{top:12px;right:14px}}
@media(max-width:560px){.gallery-mosaic{grid-template-columns:1fr}.g-tile,.g-feature{height:230px}}
@media(prefers-reduced-motion:reduce){.g-feature img{animation:none}.lb-figure img{transition:none}}

/* ============================================================
   RESPONSIVE HARDENING (mobile · tablet · desktop)
   ============================================================ */
/* Never allow accidental sideways scroll */
html,body{overflow-x:hidden}
img,svg,video{max-width:100%}

/* Use the hamburger menu on tablets too, so the nav never crowds the logo (721–900px) */
@media(max-width:900px){
  .menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;justify-content:center;gap:6px;background:transparent;border:1px solid #ffffff55;border-radius:6px;padding:10px}
  .menu-toggle span{height:1.5px;width:100%;background:#fff;display:block}
  header nav{display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;padding:14px;background:var(--dark);border:1px solid #ffffff2e;border-radius:10px;flex-direction:column;align-items:stretch;gap:0}
  header nav.open{display:flex}
  header nav>a{padding:14px 12px}
  header .nav-contact{margin-top:10px;display:flex;justify-content:space-between}
  .filter-tab{min-height:40px}
}

/* Small phones */
@media(max-width:560px){
  .review-card{flex:0 0 86vw;max-width:340px}
  .about-story-actions{gap:14px}
  .contact-cta-group{gap:12px}
  .service-strip{gap:10px}
}
@media(max-width:400px){
  .section{padding-left:5%;padding-right:5%}
  .hero h1{font-size:clamp(38px,13vw,52px)}
  .about-story h2{font-size:26px}
  .lb-cap b{font-size:16px}
  .g-more-badge{font-size:24px}
}

/* ===== Interactive location map (Contact / FIND US) ===== */
.map-embed{position:relative;width:100%;aspect-ratio:16/10;min-height:280px;margin:18px 0;border-radius:14px;overflow:hidden;border:1px solid rgba(8,39,40,.18);box-shadow:0 10px 28px -10px rgba(8,39,40,.25);background:#dfe7df}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;filter:saturate(1.04)}
@media(max-width:720px){.map-embed{aspect-ratio:auto;min-height:350px;height:360px;border-radius:12px;margin:16px 0}}
@media(prefers-reduced-motion:reduce){.map-embed iframe{filter:none}}

/* ============================================================
   SITE FOOTER — editorial dark, brand-styled (Call / Visit / Follow)
   ============================================================ */
.site-footer{display:block;background:var(--dark);background-image:radial-gradient(circle at 88% 14%,rgba(196,247,90,.07),transparent 42%);color:#dfe8e2;padding:clamp(58px,7vw,92px) 6% 34px}
.footer-grid{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:clamp(30px,4vw,56px);align-items:start}
.footer-brand{max-width:440px}
.footer-statement{font-family:'Manrope','DM Sans',Arial,sans-serif;font-size:clamp(32px,3.7vw,54px);font-weight:800;line-height:1;letter-spacing:-.045em;color:#fff;margin:0}
.footer-statement sup{font-size:.32em;color:var(--lime);vertical-align:super;font-weight:600}
.footer-wordmark{margin:24px 0 5px;font-family:monospace;font-size:12px;letter-spacing:2px;color:#9db2a8}
.footer-sub{margin:0;font-size:12px;letter-spacing:.4px;color:#7c918a}
.footer-label{font-family:monospace;font-size:11px;letter-spacing:1.7px;color:#7c918a;margin:0 0 18px}
.footer-col a{display:block;width:fit-content;color:#dfe8e2;text-decoration:none;font-size:15px;line-height:1.45;margin-bottom:9px;transition:color .2s ease}
.footer-phone{font-weight:500;letter-spacing:.2px}
.footer-col a:hover,.footer-col a:focus-visible{color:var(--lime)}
.footer-link{margin-top:15px;font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(196,247,90,.45)}
.footer-link:hover{text-decoration-color:var(--lime)}
.footer-address{font-style:normal;font-size:15px;line-height:1.7;color:#c4d0c9;margin:0 0 4px}
.footer-social{display:flex;align-items:center;gap:12px;margin-top:2px}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:#fff;transition:transform .22s ease,filter .2s ease}
.footer-social a:hover,.footer-social a:focus-visible{transform:translateY(-3px);filter:brightness(1.1)}
.footer-social svg{width:19px;height:19px;display:block}
.footer-social img{width:20px;height:20px;display:block;border-radius:4px}
.footer-social .call{background:#2563eb}
.footer-social .whatsapp{background:#25d366}
.footer-social .instagram{background:radial-gradient(circle at 30% 107%,#fdd35c 0%,#fd5949 45%,#d6249f 70%,#3d4fe4 100%)}
.footer-social .justdial{background:#ffffff}
.footer-bottom{max-width:1440px;margin:clamp(42px,5vw,64px) auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.footer-bottom p{margin:0;font-size:12.5px;color:#8ba093;letter-spacing:.3px}
.footer-bottom a{color:#dfe8e2;font-family:monospace;font-size:12px;letter-spacing:1px;text-decoration:none;transition:color .2s ease}
.footer-bottom a:hover{color:var(--lime)}
@media(max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.footer-brand{grid-column:1 / -1;max-width:none}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr;gap:30px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}}

/* ==========================================================================
   PRODUCTION TOP NAVBAR (SECTIONS ALIGNED TO THE LEFT)
   ========================================================================== */
.header{
  position:fixed;
  z-index:100;
  top:20px;
  left:50%;
  transform:translateX(-50%);
  width:calc(100% - 60px);
  max-width:1380px;
  padding:12px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:#12231fe6;
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  border:1px solid rgba(255,255,255,.16);
  border-radius:10px;
  color:#fff;
  transition:all .3s cubic-bezier(.16,1,.3,1);
  box-shadow:0 10px 30px rgba(0,0,0,.22);
}
.header.scrolled{
  background:#0a1713fa;
  box-shadow:0 14px 38px rgba(0,0,0,.35);
  padding:10px 24px;
}
.header-left{
  display:flex;
  align-items:center;
  gap:36px;
  flex:1;
  min-width:0;
}
.header-right{
  display:flex;
  align-items:center;
  gap:16px;
  flex-shrink:0;
}
nav{
  display:flex;
  align-items:center;
  gap:24px;
}
.nav-link{
  color:#d4dfdc;
  font-size:14px;
  font-weight:500;
  letter-spacing:.2px;
  text-decoration:none;
  padding:6px 2px;
  position:relative;
  transition:color .2s ease;
  white-space:nowrap;
}
.nav-link:hover{
  color:var(--lime);
}
.nav-link.active{
  color:#ffffff;
  font-weight:700;
}
.nav-link.active::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:-4px;
  height:2.5px;
  background:var(--lime);
  border-radius:2px;
}
.nav-contact{
  background:var(--lime);
  color:var(--dark);
  border-radius:6px;
  font-size:12px;
  letter-spacing:1px;
  font-weight:700;
  padding:12px 18px;
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:background .2s,transform .2s;
  text-decoration:none;
}
.nav-contact:hover{
  background:#d5ff7a;
  transform:translateY(-1px);
}
.nav-contact span{
  margin-left:2px;
  transition:transform .2s ease;
}
.nav-contact:hover span{
  transform:translate(2px,-2px);
}

@media(max-width:1120px){
  .header-left{gap:20px}
  nav{gap:16px}
  .nav-link{font-size:13px}
  .nav-contact{padding:10px 14px;font-size:11px}
}
@media(max-width:960px){
  .header{top:14px;width:calc(100% - 28px);padding:10px 16px}
  .menu-toggle{
    display:flex;
    width:40px;
    height:40px;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.2);
    border-radius:6px;
    padding:9px;
    cursor:pointer;
  }
  .menu-toggle span{
    height:2px;
    background:#ffffff;
    width:100%;
    border-radius:2px;
  }
  nav{
    display:none;
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    right:0;
    padding:18px 20px;
    background:#0d1f1c;
    border:1px solid rgba(255,255,255,.18);
    border-radius:10px;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    box-shadow:0 18px 40px rgba(0,0,0,.45);
  }
  nav.open{display:flex}
  .nav-link{
    padding:12px 14px;
    font-size:15px;
    border-radius:6px;
  }
  .nav-link:hover,.nav-link.active{
    background:rgba(196,247,90,.12);
    color:var(--lime);
  }
  .nav-link.active::after{display:none}
}

/* ==========================================================================
   PRODUCTION SUBPAGE HERO & BREADCRUMBS
   ========================================================================== */
.page-hero{
  position:relative;
  background:linear-gradient(135deg,#061c1d 0%,#0e2d2a 60%,#091b19 100%);
  color:#fff;
  padding:150px 6% 75px;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.page-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 80% 20%,rgba(196,247,90,.08) 0%,transparent 55%);
  pointer-events:none;
}
.page-hero-inner{
  max-width:1380px;
  margin:0 auto;
  position:relative;
  z-index:1;
}
.breadcrumb{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:monospace;
  font-size:11.5px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:#a3bcb7;
  margin-bottom:20px;
}
.breadcrumb a{
  color:#d4e4df;
  transition:color .2s;
  text-decoration:none;
}
.breadcrumb a:hover{
  color:var(--lime);
}
.breadcrumb span{
  color:var(--lime);
}
.page-hero h1{
  font-size:clamp(38px,5vw,72px);
  font-weight:600;
  letter-spacing:-.04em;
  line-height:1.06;
  margin:0 0 18px;
  max-width:980px;
}
.page-hero h1 em{
  color:var(--lime);
  font-style:normal;
}
.page-hero-desc{
  font-size:clamp(16px,1.6vw,19px);
  color:#c7d6d2;
  max-width:760px;
  line-height:1.65;
  margin:0;
}
.page-hero-stats{
  display:flex;
  gap:32px;
  margin-top:36px;
  flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:24px;
}
.stat-pill{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  color:#e0ece8;
  font-weight:500;
}
.stat-pill svg{
  color:var(--lime);
  flex-shrink:0;
}

/* Home Section Teaser Cards */
.home-section-teaser{
  background:#fff;
  border:1px solid #e1e7e3;
  border-radius:24px;
  padding:44px 44px;
  margin-top:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  box-shadow:0 6px 24px rgba(0,0,0,.04);
  flex-wrap:wrap;
}
.teaser-content h3{
  font-size:26px;
  margin:8px 0 10px;
  color:var(--ink);
}
.teaser-content p{
  font-size:15px;
  color:var(--muted);
  max-width:560px;
  line-height:1.6;
}
.btn-explore{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:var(--ink);
  color:#fff;
  padding:16px 26px;
  border-radius:6px;
  font-weight:700;
  font-size:13px;
  letter-spacing:1px;
  text-decoration:none;
  transition:all .25s ease;
  white-space:nowrap;
  max-width:100%;
  box-sizing:border-box;
  text-align:center;
}
.btn-explore:hover{
  background:#1e5a52;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(18,35,31,.25);
  color:var(--lime);
}
.btn-explore span{
  color:var(--lime);
  font-size:15px;
}
@media(max-width:520px){
  .btn-explore{
    white-space:normal;
    line-height:1.35;
    padding:14px 18px;
    font-size:12px;
    letter-spacing:.5px;
    width:100%;
  }
}

/* Interactive WhatsApp Booking Form on Contact Page */
.contact-form-card{
  background:#ffffff;
  border:1px solid #dbe5e0;
  border-radius:20px;
  padding:36px;
  box-shadow:0 12px 32px rgba(8,39,40,.06);
}
.contact-form-card h3{
  font-size:24px;
  margin-bottom:8px;
  color:var(--ink);
  font-weight:700;
}
.contact-form-card p{
  font-size:14px;
  color:var(--muted);
  margin-bottom:24px;
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.form-group{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.form-group.full{
  grid-column:1 / -1;
}
.form-group label{
  font-size:12px;
  font-weight:700;
  letter-spacing:.8px;
  text-transform:uppercase;
  font-family:monospace;
  color:#27433c;
}
.form-group input, .form-group select, .form-group textarea{
  padding:12px 14px;
  border:1px solid #c9d8d1;
  border-radius:6px;
  font-family:inherit;
  font-size:14.5px;
  color:var(--ink);
  background:#f9fbf9;
  transition:border-color .2s;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{
  outline:none;
  border-color:#1e5a52;
  background:#fff;
  box-shadow:0 0 0 3px rgba(30,90,82,.12);
}
.form-submit-btn{
  grid-column:1 / -1;
  background:#25d366;
  color:#fff;
  border:none;
  padding:16px 24px;
  border-radius:6px;
  font-weight:700;
  font-size:14px;
  letter-spacing:.8px;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  transition:background .2s,transform .2s;
  margin-top:10px;
}
.form-submit-btn:hover{
  background:#1eb857;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(37,211,102,.3);
}

/* ==========================================================================
   HORIZONTAL MARQUEE FOR SERVICE STRIP
   ========================================================================== */
.service-strip{
  overflow:hidden !important;
  white-space:nowrap !important;
  background:var(--lime) !important;
  color:var(--dark) !important;
  padding:18px 0 !important;
  display:flex !important;
  position:relative !important;
  width:100% !important;
  user-select:none;
}
.service-strip-track{
  display:flex !important;
  width:max-content !important;
  min-width:200% !important;
  align-items:center !important;
  animation:serviceMarquee 14s linear infinite !important;
  -webkit-animation:serviceMarquee 14s linear infinite !important;
  will-change:transform;
}
.service-strip-content{
  display:inline-flex !important;
  align-items:center !important;
  gap:44px;
  padding-right:44px;
  font-size:13.5px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  flex-shrink:0 !important;
}
.service-strip-content span{
  display:inline-block;
  white-space:nowrap;
  color:var(--dark);
}
.service-strip-content i{
  font-style:normal;
  font-size:15px;
  display:inline-block !important;
  color:rgba(10,23,19,.45);
}
@keyframes serviceMarquee{
  0%{transform:translate3d(0,0,0)}
  100%{transform:translate3d(-50%,0,0)}
}
@-webkit-keyframes serviceMarquee{
  0%{-webkit-transform:translate3d(0,0,0)}
  100%{-webkit-transform:translate3d(-50%,0,0)}
}
@media(max-width:720px){
  .service-strip{
    display:flex !important;
    grid-template-columns:none !important;
    padding:14px 0 !important;
  }
  .service-strip-content{
    gap:26px;
    padding-right:26px;
    font-size:11.5px;
    letter-spacing:1.4px;
  }
}

/* ==========================================================================
   ADVANCED RESPONSIVE SYSTEM FOUNDATIONS & CROSS-DEVICE HARMONIZATION
   ========================================================================== */

/* Universal Fluid Container & Box Safeguards */
*, *::before, *::after {
  box-sizing: border-box;
}

html, body {
  max-width: 100vw;
  overflow-x: hidden;
  position: relative;
}

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

/* Semantic Layouts for Subpages */
.contact-page-layout {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: clamp(28px, 4vw, 48px);
  align-items: start;
}

@media (max-width: 960px) {
  .contact-page-layout {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

.pillar-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: clamp(16px, 3vw, 24px);
  margin-top: 36px;
}

.pillar-card {
  background: #ffffff;
  border: 1px solid #e1e7e3;
  border-radius: 16px;
  padding: clamp(22px, 4vw, 32px);
  display: flex;
  flex-direction: column;
  transition: transform .25s ease, box-shadow .25s ease;
  box-shadow: 0 4px 16px rgba(8,39,40,.04);
}

.pillar-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px rgba(8,39,40,.1);
}

/* Header & Navigation Polish Across Small Mobile to Tablet */
@media (max-width: 960px) {
  nav.open {
    max-height: calc(100svh - 85px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
}

@media (max-width: 480px) {
  .header {
    top: 10px;
    width: calc(100% - 20px);
    padding: 8px 12px;
    gap: 8px;
    border-radius: 8px;
  }
  .header-left {
    gap: 10px;
  }
  .header-right {
    gap: 8px;
  }
  .brand-logo {
    height: 30px;
  }
  .nav-contact {
    padding: 8px 11px;
    font-size: 11px;
    letter-spacing: .5px;
    border-radius: 5px;
  }
  .menu-toggle {
    width: 38px;
    height: 38px;
    padding: 8px;
  }
}

@media (max-width: 360px) {
  .header {
    top: 8px;
    padding: 6px 10px;
    width: calc(100% - 12px);
  }
  .brand-logo {
    height: 26px;
  }
  .nav-contact {
    padding: 7px 9px;
    font-size: 10px;
    letter-spacing: 0;
  }
  .nav-contact span {
    display: none;
  }
  .menu-toggle {
    width: 36px;
    height: 36px;
    padding: 7px;
  }
}

/* Interactive Filter Tabs - Mobile Horizontal Swipe */
@media (max-width: 768px) {
  .services-filter {
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
    padding-bottom: 8px;
    scrollbar-width: none;
    -ms-overflow-style: none;
    max-width: 100%;
    margin-left: -5%;
    margin-right: -5%;
    padding-left: 5%;
    padding-right: 5%;
  }
  .services-filter::-webkit-scrollbar {
    display: none;
  }
  .filter-tab {
    flex-shrink: 0;
    white-space: nowrap;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
  }
}

/* Form Responsiveness & iOS Zoom Prevention */
.dispatch-desk-card {
  background: var(--lime);
  border-radius: 20px;
  padding: 36px;
  margin-bottom: 30px;
  color: var(--dark);
  box-shadow: 0 10px 30px rgba(196,247,90,.16);
}

.location-map-card {
  background: #ffffff;
  border: 1px solid #dbe5e0;
  border-radius: 20px;
  padding: 36px;
  box-shadow: 0 12px 32px rgba(8,39,40,.06);
}

.btn-map-directions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #edf7ee;
  color: #1e5a52;
  border: 1.5px solid #c4dfce;
  padding: 14px 20px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  transition: all .2s ease;
  margin-top: 14px;
  min-height: 48px;
  width: 100%;
}
.btn-map-directions:hover,
.btn-map-directions:focus-visible {
  background: #1e5a52;
  color: #ffffff;
  border-color: #1e5a52;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(30,90,82,.2);
}

@media (max-width: 640px) {
  .contact-form-card,
  .dispatch-desk-card,
  .location-map-card {
    padding: clamp(18px, 4.5vw, 24px);
    border-radius: 16px;
  }
  .form-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .form-group input, 
  .form-group select, 
  .form-group textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    font-size: 16px; /* 16px font-size prevents mobile Safari auto-zoom */
    padding: 13px 14px;
    border-radius: 8px;
    background: #ffffff;
    border: 1.5px solid #c9d8d1;
  }
  .form-submit-btn {
    width: 100%;
    padding: 16px 20px;
    font-size: 15px;
    min-height: 52px;
    border-radius: 8px;
  }
}

/* Card Action Buttons Adaptive Stacking */
@media (max-width: 420px) {
  .card-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .card-actions .btn-whatsapp,
  .card-actions .btn-call {
    width: 100%;
    min-height: 44px;
    justify-content: center;
    text-align: center;
    padding: 12px 14px;
  }
}

/* Subpage Hero & Stats */
@media (max-width: 640px) {
  .page-hero {
    padding-top: 105px;
    padding-bottom: 48px;
  }
  .page-hero h1 {
    font-size: clamp(28px, 7vw, 42px);
    letter-spacing: -.03em;
  }
  .page-hero-stats {
    gap: 14px;
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Home Section Teaser */
@media (max-width: 768px) {
  .home-section-teaser {
    padding: 28px 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  .home-section-teaser .btn-explore {
    width: 100%;
    justify-content: center;
    min-height: 46px;
  }
}

/* Responsive Film Frame Player across all screens */
.film-layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  align-items: center;
  gap: clamp(24px, 5vw, 60px);
}

.film-frame {
  background: #061c1d;
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  box-shadow: 0 16px 36px rgba(0,0,0,.4);
}

.film-frame video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
  background: #000;
}

@media (max-width: 960px) {
  .film-layout {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .film-frame {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    border-radius: 12px;
  }
}

@media (max-width: 560px) {
  .film-frame {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(0,0,0,.3);
  }
}

/* Compact, Low-Height Review Cards on Mobile & Tablet */
@media (max-width: 768px) {
  .review-card {
    padding: 14px 16px !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 14px rgba(8,39,40,.06) !important;
  }
  .review-card::before {
    display: none !important; /* Hide oversized decorative quote on mobile */
  }
  .review-top {
    margin-bottom: 8px !important;
    gap: 8px !important;
  }
  .review-stars {
    font-size: 13px !important;
    letter-spacing: 1.5px !important;
  }
  .review-tag {
    font-size: 9.5px !important;
    padding: 2px 8px !important;
  }
  .review-text {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    margin: 0 0 10px !important;
  }
  .review-author {
    padding-top: 8px !important;
    gap: 8px !important;
  }
  .author-avatar {
    width: 28px !important;
    height: 28px !important;
    font-size: 11px !important;
  }
  .author-name {
    font-size: 12.5px !important;
    margin-bottom: 1px !important;
  }
  .author-route {
    font-size: 11px !important;
  }
}

@media (max-width: 480px) {
  .review-card {
    flex: 0 0 calc(100vw - 56px) !important;
    max-width: 320px !important;
    min-width: 240px !important;
    padding: 12px 14px !important;
  }
  .marquee-track {
    gap: 14px !important;
  }
  .review-text {
    font-size: 12px !important;
    line-height: 1.4 !important;
    margin: 0 0 8px !important;
  }
  .review-stars {
    font-size: 12px !important;
    letter-spacing: 1px !important;
  }
}

@media (max-width: 340px) {
  .review-card {
    flex: 0 0 calc(100vw - 28px) !important;
    min-width: 230px !important;
    padding: 10px 12px !important;
  }
}

/* Lightbox Controls on Small Screens */
@media (max-width: 480px) {
  .lb-nav {
    width: 38px;
    height: 38px;
    font-size: 18px;
  }
  .lb-prev { left: 6px; }
  .lb-next { right: 6px; }
  .lb-close {
    top: 10px;
    right: 10px;
    width: 38px;
    height: 38px;
    font-size: 15px;
  }
}

/* Footer Statement & Safe Area */
@media (max-width: 400px) {
  .footer-statement {
    font-size: clamp(26px, 8vw, 36px);
  }
  .site-footer {
    padding-left: 5%;
    padding-right: 5%;
  }
}

/* Touch Targets, Manipulation & Mobile Inset Guards */
a, button, input, select, textarea, .filter-tab, .slide-dot, .social-btn {
  touch-action: manipulation;
}

.site-footer {
  padding-bottom: max(34px, env(safe-area-inset-bottom, 34px));
}

.social-rail {
  bottom: max(90px, calc(env(safe-area-inset-bottom, 0px) + 80px));
}




/* ============================================================
   MOBILE FIT REFINEMENTS (appended)
   Every rule below is inside a max-width media query, so it only
   applies at phone widths and can never affect desktop/tablet.
   ============================================================ */

/* Small phones: let the hero track the visible viewport (100svh)
   instead of being forced to a 760px floor. On short screens
   (e.g. iPhone SE ~667px) that floor pushed the headline and the
   "SCROLL TO EXPLORE" cue below the fold. 100svh already fills the
   screen; the 600px floor only guards ultra-short viewports. */
@media (max-width: 560px){
  .hero{min-height:600px}
}


/* Phones/tablets (<=720px): keep the hero PHOTO visible behind the
   text like the desktop hero, instead of hiding it under a near-opaque
   overlay. The darkening is concentrated at the bottom for legibility
   and eases off up the frame so the vehicle shows through. A soft text
   shadow keeps the headline readable over the brighter photo.
   Scoped to <=720px, so the desktop hero overlay is untouched. */
@media (max-width: 720px){
  /* Mobile Hero: vehicle fully visible in frame with clear headline above */
  .hero-image{
    height: 100%;
    object-position: center bottom;
    transform: none !important;
  }
  .hero-image.active{
    animation: none !important;
  }

  .hero-shade{
    background: linear-gradient(180deg,
      rgba(6, 28, 29, 0.75) 0%,
      rgba(6, 28, 29, 0.35) 35%,
      rgba(6, 28, 29, 0.0) 55%,
      rgba(6, 28, 29, 0.5) 100%);
  }

  .hero-content{
    top: 88px;
    bottom: auto;
    left: 6%;
    right: 6%;
  }

  .hero h1{
    font-size: clamp(34px, 8.5vw, 48px);
    line-height: 1.05;
  }

  .hero-bottom{
    margin-top: 14px;
    display: block;
  }

  .hero-bottom>p{
    font-size: 14px;
    line-height: 1.45;
  }

  .hero-bottom .button{
    margin-top: 14px;
    padding: 13px 20px;
    font-size: 12px;
  }

  .hero h1,
  .hero .eyebrow,
  .hero-bottom>p{
    text-shadow: 0 2px 14px rgba(0,0,0,.6);
  }
}

.hero-film{display:block}
.hero-content h1{transition:opacity .35s ease,visibility .35s ease}
.hero-content h1.video-playing{opacity:0;visibility:hidden}
.hero-content .eyebrow{transition:opacity .35s ease,visibility .35s ease}
.hero-content .eyebrow.video-playing{opacity:0;visibility:hidden}
.hero-bottom>p{transition:opacity .35s ease,visibility .35s ease}
.hero-bottom>p.video-playing{opacity:0;visibility:hidden}
.hero-bottom>.button{transition:opacity .35s ease,visibility .35s ease,background .2s,transform .2s}
.hero-bottom>.button.video-playing{opacity:0;visibility:hidden}



