:root {
  --brand: #001C3D;
  --brand-dark: #00142c;
  --accent: #D09211;
  --ink: #10212d;
  --muted: #627585;
  --soft: #f3f8f8;
  --line: rgba(16, 33, 45, .1);
  --white: #fff;
  --radius: 8px;
  --shadow: 0 20px 55px rgba(16, 33, 45, .13);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); font-family: Inter, system-ui, sans-serif; line-height: 1.7; background: var(--white); }
h1, h2, h3, h4, h5, .navbar-brand { font-family: Poppins, Inter, sans-serif; letter-spacing: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.skip-link { position: absolute; left: -999px; top: 1rem; z-index: 9999; padding: .7rem 1rem; background: var(--ink); color: #fff; border-radius: var(--radius); }
.skip-link:focus { left: 1rem; }
.scroll-progress { position: fixed; inset: 0 auto auto 0; height: 4px; width: 0; z-index: 2000; background: linear-gradient(90deg, var(--accent), var(--brand)); }
.loader { position: fixed; inset: 0; z-index: 3000; display: grid; place-items: center; background: #061a26; color: #fff; transition: opacity .35s ease, visibility .35s ease; }
.loader.loaded { opacity: 0; visibility: hidden; }
.loader-mark { width: 72px; height: 72px; border-radius: 8px; display: grid; place-items: center; background: linear-gradient(135deg, var(--brand), var(--accent)); animation: pulse 1.2s infinite alternate; font-size: 2rem; }
@keyframes pulse { to { transform: scale(1.08); box-shadow: 0 0 0 14px rgba(245, 182, 66, .1); } }
.glass-nav { background: rgba(255,255,255,.91); backdrop-filter: blur(16px); border-bottom: 1px solid var(--line); box-shadow: 0 8px 28px rgba(16, 33, 45, .06); }
.brand-lockup { display: flex; align-items: center; gap: .7rem; color: var(--ink); }
.brand-lockup small { display: block; color: var(--muted); font: 700 .72rem Inter, sans-serif; margin-top: -.2rem; }
.brand-mark { width: 44px; height: 44px; border-radius: var(--radius); display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--brand), var(--brand-dark)); box-shadow: 0 10px 26px rgba(0,28,61,.26); }
.nav-link { color: #263b49; font-weight: 800; }
.nav-link:hover, .nav-link.active { color: var(--brand); }
.dropdown-menu { border: 0; border-radius: var(--radius); box-shadow: var(--shadow); padding: .6rem; }
.dropdown-item { border-radius: 6px; font-weight: 700; padding: .7rem .85rem; }
.dropdown-item:hover { background: var(--soft); color: var(--brand); }
.btn { border-radius: var(--radius); font-weight: 800; padding: .78rem 1.15rem; transition: transform .2s ease, box-shadow .2s ease; position: relative; overflow: hidden; }
.btn:hover { transform: translateY(-2px); }
.btn-brand { color: #fff; border: 0; background: linear-gradient(135deg, var(--brand), var(--brand-dark)); box-shadow: 0 14px 34px rgba(0,28,61,.25); }
.btn-brand:hover, .btn-brand:focus { color: #fff; }
.btn-accent { background: var(--accent); color: #172633; border: 0; }
.btn-soft { color: var(--brand); background: #eaf6f6; border: 0; }
.btn-outline-light:hover { color: var(--ink); }
.ripple { position: absolute; border-radius: 50%; background: rgba(255,255,255,.45); transform: scale(0); animation: ripple .6s linear; pointer-events: none; }
@keyframes ripple { to { transform: scale(4); opacity: 0; } }
.hero-section { min-height: 100svh; position: relative; overflow: hidden; background: #071b27; }
.hero-bg { position: absolute; inset: 0; background: url("../img/hero-driving-school.png") right center / cover no-repeat; transform: scale(1.03); }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,26,38,.95), rgba(6,26,38,.78) 44%, rgba(6,26,38,.28)); }
.hero-content { position: relative; z-index: 1; color: #fff; padding-top: 6rem; }
.eyebrow { display: inline-flex; align-items: center; gap: .45rem; color: var(--accent); font-size: .78rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .85rem; }
.eyebrow::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.eyebrow.dark { color: var(--brand); }
.hero-section h1 { max-width: 860px; font-weight: 800; line-height: 1.02; font-size: clamp(2.15rem, 4.8vw, 4.6rem); margin-bottom: 1.15rem; }
.hero-section .lead { max-width: 710px; color: rgba(255,255,255,.86); font-size: clamp(1.02rem, 2vw, 1.22rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .85rem; margin: 1.8rem 0; }
.hero-badges, .stat-row { display: flex; flex-wrap: wrap; gap: .85rem; }
.hero-badges span, .stat-box { border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.1); backdrop-filter: blur(12px); border-radius: var(--radius); padding: .8rem 1rem; font-weight: 800; }
.stat-box { min-width: 138px; }
.stat-box strong { display: block; font: 800 1.65rem Poppins, sans-serif; color: #fff; }
.stat-box small { color: rgba(255,255,255,.74); font-weight: 700; }
.section-pad { padding: 6.2rem 0; }
.bg-soft { background: var(--soft); }
.bg-ink { color: #fff; background: radial-gradient(circle at 15% 20%, rgba(208,146,17,.18), transparent 28%), linear-gradient(135deg, #0c2536, #001C3D); }
.section-heading { max-width: 780px; margin: 0 auto 3rem; }
.section-heading h2, .section-title { font-weight: 800; line-height: 1.08; font-size: clamp(2rem, 4.4vw, 3.35rem); margin-bottom: 1rem; }
.section-heading p, .section-copy, .muted { color: var(--muted); }
.bg-ink .muted, .bg-ink p { color: rgba(255,255,255,.75); }
.card-lift, .feature-card, .service-card, .price-card, .testimonial-card, .faq-card, .info-card, .enquiry-form, .gallery-card, .newsletter-card {
  border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); transition: transform .25s ease, box-shadow .25s ease;
}
.card-lift:hover, .feature-card:hover, .service-card:hover, .price-card:hover, .testimonial-card:hover, .gallery-card:hover { transform: translateY(-7px); box-shadow: 0 28px 70px rgba(16,33,45,.17); }
.feature-card, .service-card, .price-card, .testimonial-card, .info-card, .newsletter-card { height: 100%; padding: 1.7rem; }
.icon-box { width: 56px; height: 56px; border-radius: var(--radius); display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--brand), var(--accent)); font-size: 1.5rem; margin-bottom: 1rem; }
.feature-card h3, .service-card h3, .price-card h3 { font-size: 1.12rem; font-weight: 800; }
.check-list { display: grid; gap: .65rem; }
.check-list p, .mini-list li { margin: 0; display: flex; gap: .55rem; align-items: flex-start; font-weight: 700; color: #354a58; }
.check-list i, .mini-list i { color: var(--brand); font-size: 1.1rem; }
.visual-panel { position: relative; overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow); background: var(--soft); }
.visual-panel img { width: 100%; min-height: 420px; object-fit: cover; transition: transform .45s ease; }
.visual-panel:hover img { transform: scale(1.04); }
.floating-note { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; display: flex; gap: .8rem; align-items: center; padding: 1rem; border-radius: var(--radius); background: rgba(255,255,255,.9); backdrop-filter: blur(14px); box-shadow: 0 12px 35px rgba(16,33,45,.15); font-weight: 800; }
.timeline { position: relative; display: grid; gap: 1rem; }
.timeline-item { display: grid; grid-template-columns: 58px 1fr; gap: 1rem; align-items: start; }
.timeline-item span { width: 58px; height: 58px; display: grid; place-items: center; border-radius: var(--radius); color: #fff; background: linear-gradient(135deg, var(--brand), var(--brand-dark)); font-weight: 900; }
.timeline-item div { padding: 1rem 1.2rem; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.price { font: 800 2rem Poppins, sans-serif; color: var(--brand); }
.price small { font: 700 .9rem Inter, sans-serif; color: var(--muted); }
.courseSwiper, .testimonialSwiper { padding: .5rem .2rem 3.2rem; }
.course-card { min-height: 250px; padding: 1.6rem; border-radius: var(--radius); color: #fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(12px); }
.course-card span { color: var(--accent); font: 800 2rem Poppins, sans-serif; }
.testimonial-card .stars { color: var(--accent); margin-bottom: .75rem; }
.swiper-pagination-bullet-active { background: var(--accent); }
.counter-card { text-align: center; padding: 1.6rem; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.counter { font: 800 2.5rem Poppins, sans-serif; color: var(--brand); }
.accordion-item { border: 1px solid var(--line); border-radius: var(--radius) !important; overflow: hidden; margin-bottom: .8rem; box-shadow: 0 10px 30px rgba(16,33,45,.06); }
.accordion-button { font-weight: 800; }
.accordion-button:not(.collapsed) { background: #eaf6f6; color: var(--brand); }
.gallery-card { overflow: hidden; }
.gallery-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .35s ease; }
.gallery-card:hover img { transform: scale(1.07); }
.gallery-card figcaption { padding: 1rem; font-weight: 800; }
.filter-btn.active { background: var(--brand); color: #fff; }
.masonry { columns: 3 260px; column-gap: 1rem; }
.masonry .gallery-card { break-inside: avoid; margin-bottom: 1rem; }
.page-hero { position: relative; overflow: hidden; padding: 9rem 0 4.5rem; color: #fff; background: linear-gradient(135deg, #0a2638, #001C3D); }
.page-hero::after { content: ""; position: absolute; right: -10%; bottom: -40%; width: 420px; height: 420px; border-radius: 50%; background: rgba(208,146,17,.18); filter: blur(22px); }
.page-hero .container { position: relative; z-index: 1; }
.page-hero h1 { font-weight: 800; font-size: clamp(2rem, 3.8vw, 3.65rem); line-height: 1.08; }
.breadcrumb-lite { color: rgba(255,255,255,.75); font-weight: 800; }
.doc-card h4 { font-size: 1rem; font-weight: 800; color: var(--brand); }
.comparison-card { padding: 1.5rem; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); height: 100%; }
.map-frame { width: 100%; min-height: 380px; border: 0; border-radius: var(--radius); box-shadow: var(--shadow); }
.enquiry-form { padding: 1.8rem; }
.form-control, .form-select { min-height: 52px; border-radius: var(--radius); border-color: #d9e5e7; }
.form-control:focus, .form-select:focus { border-color: var(--brand); box-shadow: 0 0 0 .2rem rgba(0,28,61,.15); }
.form-status { color: var(--brand); font-weight: 800; margin: .7rem 0 0; }
.newsletter-card { background: linear-gradient(135deg, #effafa, #fff8e8); }
.site-footer { padding: 4.5rem 0 6rem; background: #061a26; color: #fff; }
.site-footer h2, .site-footer h3 { font-weight: 800; }
.site-footer h3 { color: var(--accent); font-size: 1rem; }
.site-footer p, .site-footer a { color: rgba(255,255,255,.7); }
.site-footer a { display: block; margin-bottom: .45rem; }
.site-footer a:hover { color: #fff; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .8rem; margin-top: 2.4rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.55); }
.float-stack { position: fixed; right: 1rem; bottom: 5.3rem; z-index: 1100; display: grid; gap: .65rem; }
.float-btn, .back-to-top { width: 48px; height: 48px; border: 0; border-radius: var(--radius); display: grid; place-items: center; color: #fff; box-shadow: var(--shadow); }
.float-whatsapp { background: #25d366; }
.float-call { background: var(--brand); }
.back-to-top { display: none; position: fixed; right: 1rem; bottom: 1rem; background: var(--ink); z-index: 1100; }
.back-to-top.show { display: grid; }
.mobile-bottom-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1090; display: none; grid-template-columns: repeat(3, 1fr); background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -10px 30px rgba(16,33,45,.08); }
.mobile-bottom-cta a { display: grid; place-items: center; gap: .15rem; padding: .55rem .2rem; font-size: .78rem; font-weight: 800; color: var(--brand); }
.modal-content { border: 0; border-radius: var(--radius); box-shadow: var(--shadow); }
@media (max-width: 991.98px) {
  .navbar-collapse { padding: 1rem 0; }
  .hero-overlay { background: linear-gradient(180deg, rgba(6,26,38,.93), rgba(6,26,38,.72)); }
  .section-pad { padding: 4.4rem 0; }
  .hero-bg { background-position: 64% center; }
}
@media (max-width: 575.98px) {
  body { padding-bottom: 64px; }
  .hero-section h1 { font-size: 2.15rem; }
  .hero-actions .btn { width: 100%; }
  .mobile-bottom-cta { display: grid; }
  .float-stack { bottom: 6rem; }
  .site-footer { padding-bottom: 7.5rem; }
  .feature-card, .service-card, .price-card, .testimonial-card, .info-card, .enquiry-form { padding: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Premium agency redesign layer. Hero slider styles above are intentionally left untouched. */
:root {
  --lux-navy: #001C3D;
  --lux-blue: #eef5ff;
  --lux-cream: #fff8eb;
  --lux-mint: #edf9f6;
  --lux-card: rgba(255, 255, 255, .78);
  --lux-border: rgba(255, 255, 255, .58);
  --lux-shadow: 0 24px 70px rgba(7, 24, 36, .12);
  --lux-shadow-deep: 0 32px 90px rgba(7, 24, 36, .20);
  --section-skew: none;
}

body {
  background:
    linear-gradient(90deg, rgba(0,28,61,.035) 1px, transparent 1px) 0 0 / 44px 44px,
    linear-gradient(0deg, rgba(0,28,61,.028) 1px, transparent 1px) 0 0 / 44px 44px,
    #fbfdff;
  color: #071824;
}

.glass-nav {
  background: rgba(255, 255, 255, .66);
  border-bottom-color: rgba(255,255,255,.45);
  box-shadow: 0 16px 45px rgba(7, 24, 36, .08);
  transition: background .28s ease, box-shadow .28s ease, transform .28s ease;
}
.glass-nav.nav-scrolled {
  background: rgba(255,255,255,.9);
  box-shadow: 0 20px 55px rgba(7, 24, 36, .11);
}
.navbar-toggler {
  border: 0;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: rgba(0,28,61,.08);
}
.nav-link {
  position: relative;
  padding-inline: .82rem !important;
}
.nav-link::after {
  content: "";
  position: absolute;
  left: .82rem;
  right: .82rem;
  bottom: .2rem;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), var(--brand));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}
.nav-link:hover::after,
.nav-link.active::after { transform: scaleX(1); }
.dropdown-menu {
  animation: menuFloat .22s ease both;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(20px);
}
@keyframes menuFloat {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.btn {
  border-radius: 999px;
  letter-spacing: .01em;
}
.btn i { transition: transform .24s ease; }
.btn:hover i { transform: translateX(3px) scale(1.08); }
.btn-brand,
.btn-accent {
  background-size: 180% 180%;
  animation: gradientFlow 8s ease infinite;
}
.btn-brand {
  background-image: linear-gradient(135deg, #001C3D, #00142c 52%, #2b3f5a);
}
.btn-accent {
  background-image: linear-gradient(135deg, #fff1b8 0%, #e1aa2e 34%, #D09211 62%, #8f6107 100%);
  box-shadow: 0 16px 34px rgba(208,146,17,.38);
}
@keyframes gradientFlow {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

main > .section-pad:not(.hero-section) {
  position: relative;
  overflow: hidden;
}
main > .section-pad:not(.hero-section)::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 15% 10%, rgba(208,146,17,.14), transparent 34%),
    radial-gradient(ellipse at 85% 82%, rgba(0,28,61,.10), transparent 38%);
  opacity: .8;
}
main > .section-pad:nth-of-type(odd):not(.hero-section) {
  background:
    linear-gradient(135deg, rgba(234,244,255,.92), rgba(255,248,235,.68)),
    #fff;
}
main > .section-pad:nth-of-type(even):not(.hero-section) {
  background:
    linear-gradient(135deg, rgba(255,255,255,.9), rgba(237,249,246,.82)),
    #fff;
}
.bg-soft {
  background:
    linear-gradient(135deg, rgba(234,244,255,.92), rgba(255,248,235,.8)) !important;
}
.bg-ink {
  clip-path: none;
  padding-block: 6.5rem;
  background:
    linear-gradient(135deg, rgba(5,18,29,.94), rgba(8,56,74,.95)),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px) 0 0 / 36px 36px !important;
}
.section-pad > .container { position: relative; z-index: 1; }
.section-heading h2,
.section-title {
  letter-spacing: -.02em;
}
.section-heading h2::after,
.section-title::after {
  content: "";
  display: block;
  width: 74px;
  height: 4px;
  margin-top: 1rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), var(--brand));
}
.text-center .section-title::after,
.section-heading.text-center h2::after { margin-inline: auto; }

.feature-card,
.service-card,
.price-card,
.testimonial-card,
.info-card,
.enquiry-form,
.gallery-card,
.comparison-card,
.counter-card,
.timeline-item div,
.newsletter-card {
  position: relative;
  isolation: isolate;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.72);
  background:
    linear-gradient(145deg, rgba(255,255,255,.94), rgba(255,255,255,.66)) padding-box,
    linear-gradient(135deg, rgba(208,146,17,.6), rgba(0,28,61,.35), rgba(255,255,255,.6)) border-box;
  box-shadow: var(--lux-shadow);
  backdrop-filter: blur(18px);
}
.feature-card::before,
.service-card::before,
.price-card::before,
.testimonial-card::before,
.counter-card::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 21px;
  z-index: -1;
  background: linear-gradient(135deg, rgba(255,255,255,.55), transparent 42%, rgba(0,28,61,.05));
}
.feature-card:hover,
.service-card:hover,
.price-card:hover,
.testimonial-card:hover,
.counter-card:hover,
.comparison-card:hover {
  transform: translateY(-10px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));
  box-shadow: var(--lux-shadow-deep);
}
.service-card:nth-child(odd),
.row > *:nth-child(odd) > .service-card { margin-top: .55rem; }
.row > *:nth-child(even) > .service-card { margin-top: -.15rem; }

.icon-box {
  width: 68px;
  height: 68px;
  border-radius: 999px;
  box-shadow: 0 18px 38px rgba(0,28,61,.22), inset 0 1px 0 rgba(255,255,255,.45);
  transition: transform .35s ease, box-shadow .35s ease;
}
.feature-card:hover .icon-box,
.service-card:hover .icon-box {
  transform: translateY(-5px) rotate(7deg);
  box-shadow: 0 24px 48px rgba(0,28,61,.28);
}

.visual-panel,
.map-frame {
  border-radius: 28px;
  box-shadow: 0 28px 80px rgba(7,24,36,.16);
}
.visual-panel::after,
.gallery-card a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(7,24,36,.48));
  opacity: .55;
  pointer-events: none;
}
.floating-note {
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.58);
  background: rgba(255,255,255,.78);
}

.timeline {
  padding-left: .4rem;
}
.timeline::before {
  content: "";
  position: absolute;
  left: 29px;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(var(--accent), var(--brand));
}
.timeline-item {
  position: relative;
}
.timeline-item span {
  border-radius: 999px;
  box-shadow: 0 16px 32px rgba(0,28,61,.22);
}
.timeline-item div {
  padding: 1.35rem 1.45rem;
}

.course-card {
  border-radius: 24px;
  min-height: 300px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.06)),
    linear-gradient(135deg, rgba(208,146,17,.16), rgba(208,146,17,.08));
  box-shadow: 0 22px 60px rgba(0,0,0,.16);
}
.course-card::after {
  content: "\F138";
  font-family: "bootstrap-icons";
  position: absolute;
  right: 1.5rem;
  bottom: 1.2rem;
  color: rgba(255,255,255,.18);
  font-size: 3rem;
}
.testimonial-card {
  min-height: 260px;
  padding-top: 2.2rem;
}
.testimonial-card::after {
  content: "\F6B0";
  font-family: "bootstrap-icons";
  position: absolute;
  right: 1.4rem;
  top: 1.2rem;
  color: rgba(0,28,61,.12);
  font-size: 3.4rem;
}
.testimonial-card .stars {
  letter-spacing: .16em;
  text-shadow: 0 10px 24px rgba(208,146,17,.25);
}

.counter-card {
  overflow: hidden;
}
.counter-card::after {
  content: "";
  position: absolute;
  left: 18%;
  right: 18%;
  bottom: 0;
  height: 5px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, var(--accent), var(--brand));
}
.counter {
  background: linear-gradient(135deg, var(--brand), var(--accent));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.accordion-item {
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,.72);
  background: rgba(255,255,255,.76);
  backdrop-filter: blur(16px);
}
.accordion-button {
  padding: 1.2rem 1.35rem;
  background: transparent;
}
.accordion-button::before {
  content: "\F4FE";
  font-family: "bootstrap-icons";
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin-right: .8rem;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, var(--brand), var(--accent));
}

.gallery-card {
  border-radius: 24px;
}
.gallery-card figcaption {
  position: relative;
  background: rgba(255,255,255,.9);
}
.filter-btn {
  box-shadow: 0 12px 28px rgba(7,24,36,.08);
}

.page-hero {
  background:
    linear-gradient(135deg, rgba(7,24,36,.92), rgba(0,28,61,.9)),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px) 0 0 / 40px 40px;
}
.page-hero::after {
  border-radius: 34% 66% 42% 58%;
}

.enquiry-form {
  border-radius: 28px;
  padding: clamp(1.4rem, 3vw, 2.5rem);
}
.form-control,
.form-select {
  min-height: 56px;
  border-radius: 14px;
  background: rgba(248,251,253,.9);
}
textarea.form-control { min-height: 140px; }
.form-label {
  font-weight: 800;
  color: #172633;
}

.site-footer {
  position: relative;
  overflow: hidden;
  padding-top: 7rem;
  background:
    linear-gradient(135deg, rgba(6,26,38,.98), rgba(8,56,74,.98)),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px) 0 0 / 38px 38px;
}
.site-footer::before { content: none; }
.float-btn {
  border-radius: 999px;
  box-shadow: 0 18px 36px rgba(7,24,36,.22);
  transition: transform .2s ease, box-shadow .2s ease;
}
.float-btn:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 24px 50px rgba(7,24,36,.26);
}
.float-whatsapp {
  background: linear-gradient(135deg, #25d366, #0f9f4f);
}
.float-call {
  background: linear-gradient(135deg, #ff4d4d, #c91f28);
}

.contact-premium {
  background:
    linear-gradient(135deg, #f7fbff, #fff8eb 50%, #effaf7);
}
.contact-shell {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(1.6rem, 4vw, 4rem);
  align-items: start;
}
.contact-stack {
  display: grid;
  gap: 1.35rem;
}
.contact-card {
  display: grid;
  grid-template-columns: 74px 1fr;
  gap: 1.2rem;
  align-items: center;
  padding: 1.45rem;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.75);
  background: rgba(255,255,255,.76);
  box-shadow: 0 18px 48px rgba(7,24,36,.09);
  backdrop-filter: blur(18px);
}
.contact-card .contact-icon {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: var(--brand);
  background: #fff8db;
  box-shadow: inset 0 0 0 12px rgba(208,146,17,.12);
}
.contact-card.call-card .contact-icon {
  color: #e4232b;
  background: #fff0f0;
  box-shadow: 0 0 0 14px rgba(228,35,43,.07), inset 0 0 0 12px rgba(228,35,43,.1);
  animation: ringPulse 1.8s ease infinite;
}
@keyframes ringPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(228,35,43,.1), inset 0 0 0 12px rgba(228,35,43,.1); }
  50% { box-shadow: 0 0 0 18px rgba(228,35,43,0), inset 0 0 0 12px rgba(228,35,43,.12); }
}
.contact-card h3 {
  font-size: 1.05rem;
  font-weight: 900;
  margin-bottom: .2rem;
}
.contact-card p {
  margin: 0;
  color: var(--muted);
}
.contact-rating {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}
.contact-score {
  font: 800 1.55rem Poppins, sans-serif;
}
.contact-form-panel {
  border-radius: 32px;
  padding: clamp(1.4rem, 3vw, 2.55rem);
  background: rgba(255,255,255,.86);
  box-shadow: 0 30px 90px rgba(7,24,36,.14);
  border: 1px solid rgba(255,255,255,.82);
}
.phone-input {
  display: grid;
  grid-template-columns: 70px 1fr;
  align-items: center;
  overflow: hidden;
  border: 1px solid #d9e5e7;
  border-radius: 14px;
  background: rgba(248,251,253,.9);
}
.phone-input span {
  display: grid;
  place-items: center;
  height: 56px;
  border-right: 1px solid #d9e5e7;
  font-weight: 800;
  color: var(--muted);
}
.phone-input input {
  border: 0;
  border-radius: 0;
}

@media (max-width: 991.98px) {
  .contact-shell { grid-template-columns: 1fr; }
  .glass-nav .navbar-collapse {
    margin-top: .9rem;
    padding: 1rem;
    border-radius: 24px;
    background: rgba(255,255,255,.94);
    box-shadow: var(--lux-shadow);
  }
}
@media (max-width: 575.98px) {
  .section-heading h2::after,
  .section-title::after { width: 56px; }
  .contact-card {
    grid-template-columns: 58px 1fr;
    padding: 1rem;
  }
  .contact-card .contact-icon {
    width: 52px;
    height: 52px;
  }
}

/* Brand logo and unified footer */
.brand-lockup {
  min-width: 0;
}
.brand-logo {
  width: clamp(180px, 20vw, 270px);
  height: 72px;
  object-fit: contain;
  filter: drop-shadow(0 10px 18px rgba(0, 28, 61, .18));
}
.brand-text { display: none; }
.brand-text strong {
  color: var(--brand);
  font-size: 1.05rem;
}
.brand-text small {
  color: #4e5f73;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.glass-nav.nav-scrolled .brand-logo {
  width: clamp(170px, 18vw, 245px);
  height: 64px;
}

.site-footer {
  color: #fff;
  background:
    radial-gradient(circle at 14% 12%, rgba(208, 146, 17, .22), transparent 28%),
    radial-gradient(circle at 88% 80%, rgba(255,255,255,.08), transparent 30%),
    linear-gradient(135deg, #00142c, #001C3D 58%, #061225) !important;
}
.site-footer {
  padding-top: 4.8rem;
}
.footer-main {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.35fr .8fr .8fr .9fr 1.15fr;
  gap: clamp(1.4rem, 3vw, 2.4rem);
  align-items: start;
}
.footer-brand-block p,
.footer-newsletter p,
.site-footer p {
  color: rgba(255,255,255,.72);
}
.footer-logo-link {
  display: inline-flex !important;
  margin-bottom: 1rem !important;
}
.footer-logo {
  width: min(360px, 82vw);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.28));
}
.site-footer h3 {
  color: var(--accent);
  font-size: .92rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.site-footer a {
  color: rgba(255,255,255,.76);
  transition: color .2s ease, transform .2s ease;
}
.site-footer a:hover {
  color: #fff;
  transform: translateX(4px);
}
.footer-social {
  display: flex;
  gap: .7rem;
  margin-top: 1.2rem;
}
.footer-social a {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
}
.footer-social a:hover {
  transform: translateY(-3px);
  background: var(--accent);
  color: var(--brand);
}
.footer-call {
  display: inline-flex !important;
  align-items: center;
  gap: .5rem;
  margin-top: .4rem;
  color: #fff !important;
  font-weight: 800;
}
.footer-newsletter {
  padding: 1.15rem;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.07);
  backdrop-filter: blur(16px);
}
.footer-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .65rem;
}
.footer-form .form-control {
  background: rgba(255,255,255,.92);
  border: 0;
}
.footer-map-wrap, .footer-map { display: none !important; }
.footer-bottom {
  position: relative;
  z-index: 1;
  color: rgba(255,255,255,.68);
  border-top-color: rgba(208,146,17,.28);
}

@media (max-width: 1199.98px) {
  .footer-main {
    grid-template-columns: 1.5fr 1fr 1fr;
  }
  .footer-newsletter {
    grid-column: span 2;
  }
}
@media (max-width: 767.98px) {
  .brand-logo {
    width: 178px;
    height: 58px;
  }
  .footer-main,
  .footer-newsletter {
    grid-template-columns: 1fr;
    grid-column: auto;
  }
  .footer-form {
    grid-template-columns: 1fr;
  }
}
