/* -----------------------------
   FONTS
-------------------------------- */
@font-face {
  font-family: "Fiendstar";
  src:
    url("../fonts/Fiendstar W01 Regular.woff2") format("woff2"),
    url("../fonts/Fiendstar W01 Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Inter: use CDN fallback (replace with local files if you add them) */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap");

/* -----------------------------
   RESET / BASE
-------------------------------- */
* { box-sizing: border-box; }
html, body { height: 100%;   font-family: "Fiendstar", "Inter", system-ui, sans-serif;
}
body {
  margin: 0;
  background: #1E1E24;
  color: #fff;
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

a { color: inherit; text-decoration: none; }
button { font: inherit; }

/* Screen-reader only */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* Utility: lock scroll when menu open */
body.is-locked {
  overflow: hidden;
  touch-action: none;
}
/* DESKTOP HEADER */
.header__top,
.header__nav {
  display: none;
}

.header__top {
  margin: 10px 0px;
  height: 64px;
  position: relative; /* enables absolute centered brand */
  align-items: center;
  justify-content: space-between;
  padding: 0 28px;
}


.header__top-left,
.header__top-right {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 26%;

}

.header__phone {
  font-size: 16px;
  letter-spacing: 0.2px;
}

.header__flag { font-size: 16px; }

.header__brand--center {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.header__nav {
  height: 52px;
  align-items: center;
  justify-content: center;
  gap: 34px;
  border-top: 1px solid rgba(255,255,255,0.16);
  border-bottom: 1px solid rgba(255,255,255,0.16);
}

.header__nav-link {
  font-size: 17px;
  letter-spacing: 0.2px;
  opacity: 0.95;
}

.header__caret {
  font-size: 18px;
  display: inline-block;
  transform: translateY(-1px);
  opacity: 0.9;
}

.header__top-btn {
  height: 46px;
  padding: 0 22px;
  font-size: 14px;
}

/* Desktop-only: top-right header action buttons */
@media (min-width: 992px) {
  #header-actions .header__top-btn {
    padding: 0 30px; /* a bit wider (requested) */
    min-width: 128px;
  }

  #header-btn-book {
    min-width: 104px;
  }
}

/* -----------------------------
   HEADER (overlay on hero)
-------------------------------- */
.header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  pointer-events: auto; /* FIX: allow menu clicks */
}


.header__inner {
  margin: 10px 10px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  pointer-events: auto;
}

.header__logo {
  height: 106px; /* tweak for 1px perfect */
  width: auto;
  display: block;
}

.header__burger {
  border: 0;
  background: transparent;
  padding: 10px;
  margin: 0;
  cursor: pointer;
  color: #fff;
}

.burger {
  width: 26px;
  height: 18px;
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
}

.burger__line {
  height: 2px;
  width: 100%;
  background: rgba(255,255,255,0.95);
  border-radius: 2px;
}

.menu__acc {
  border-bottom: 1px solid rgba(255,255,255,0.16);
  padding: 10px 18px 16px;
}

.menu__sub {
  display: block;
  padding: 10px 0;
  font-size: 14px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  opacity: 0.85;
}

.menu__item--toggle { width: 100%; text-align: left; background: transparent; border: 0; color: #fff; cursor: pointer; }
.menu__item--toggle:focus { outline: none; }
.menu__item--toggle[aria-expanded="true"] .menu__plus { transform: rotate(45deg); }
.menu__plus { transition: transform 160ms ease; }


@media (min-width: 992px) {
  /* Show desktop header, hide mobile header + mobile menu */
  .header__inner { display: none; }
  .menu { display: none !important; }

  .header__top,
  .header__nav {
    display: flex;
  }

  .hero__title { font-size: 78px; }
  .hero__eyebrow { font-size: 15px; }

  .btn { height: 48px; font-size: 14px; }
}

/* -----------------------------
   DESKTOP NAV DROPDOWNS
-------------------------------- */
@media (min-width: 992px) {
  .header__nav-item {
    position: relative;
    display: flex;
    align-items: center;
  }

  .header__dropdown {
    position: absolute;
    top: calc(100% + 14px);
    left: -18px;
    min-width: 240px;
    background: rgba(0,0,0,0.88);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 12px;
    padding: 10px 0;
    box-shadow: 0 18px 40px rgba(0,0,0,0.45);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
    z-index: 60;
  }

  /* hover bridge so dropdown doesn't close when moving cursor */
  .header__dropdown::before {
    content: "";
    position: absolute;
    top: -14px;
    left: 0;
    right: 0;
    height: 14px;
  }

  .header__dropdown-link {
    display: block;
    padding: 10px 18px;
    color: #fff;
    font-size: 15px;
    letter-spacing: 0.2px;
    opacity: 0.92;
    white-space: nowrap;
  }

  .header__dropdown-link:hover {
    background: rgba(255,255,255,0.08);
    opacity: 1;
  }

  .header__nav-item--dropdown:hover .header__dropdown,
  .header__nav-item--dropdown:focus-within .header__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}


/* -----------------------------
   HERO (VIDEO)
-------------------------------- */
.hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  align-items: center;
  justify-items: center;
  padding: 86px 18px 46px; /* top accounts for header */
}

.hero__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 1;
}

.hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.38); /* tweak for contrast */
}

.hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  text-align: center;
  padding: 0 6px;
}

.hero__eyebrow {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 0.2px;
  opacity: 0.95;
}

.hero__title {
  margin: 0 0 14px;
  font-family: "Fiendstar", "Inter", system-ui, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  line-height: 1.05;
  font-size: 38px; /* tweak for 1px perfect */
}

.hero__subline {
  margin: 0 0 18px;
  font-size: 13px;
  letter-spacing: 0.6px;
  opacity: 0.92;
}

.hero__cta {
  display: grid;
  gap: 14px;
  justify-items: center;
}

/* -----------------------------
   FOOTER
-------------------------------- */
.site-footer {
  background: #050505;
  padding: 36px 6px;
}

.site-footer__wrap {
  width: min(1320px, calc(100% - 70px));
  margin: 0 auto;
}

.site-footer__brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 0 22px;
}

.site-footer__logo {
  height: 140px;
  width: auto;
  display: block;
}

.site-footer__phone {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  letter-spacing: 0.2px;
  opacity: 0.95;
}

.site-footer__flag { font-size: 18px; }

.site-footer__grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 44px;
  align-items: start;
}

.site-footer__cols {
  display: grid;
  grid-template-columns: 1fr 1fr 1.1fr;
  gap: 48px;
  padding-top: 10px;
}

.site-footer__heading {
  margin: 0 0 14px;
  font-size: 14px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  opacity: 0.7;
}

.site-footer__link {
  display: block;
  padding: 9px 0;
  font-size: 14px;
  letter-spacing: 0.2px;
  opacity: 0.92;
}

.site-footer__right { padding-top: 10px; }

/* Newsletter card - background intentionally changed (no watermark) */
.site-footer__newsletter {
  border: 2px solid rgba(255,255,255,0.12);
  padding: 28px 30px;
  background: #2f2f2f; /* changed background per request */
}

.site-footer__newsletter-inner {
  max-width: 720px;
}

.site-footer__newsletter-title {
  margin: 0 0 10px;
  font-family: "Fiendstar", "Inter", system-ui, sans-serif;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 34px;
}

.site-footer__newsletter-text {
  margin: 0 0 18px;
  font-size: 18px;
  opacity: 0.9;
}

.site-footer__newsletter-form {
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: 18px;
  align-items: center;
}

.site-footer__input-wrap {
  position: relative;
  height: 64px;
  border: 1px solid rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.06);
  display: flex;
  align-items: center;
}

.site-footer__mail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 100%;
}

.site-footer__input {
  width: 100%;
  height: 100%;
  border: 0;
  outline: none;
  background: transparent;
  color: #fff;
  font-size: 15px;
}

.site-footer__input::placeholder {
  color: rgba(255,255,255,0.6);
}

.site-footer__subscribe {
  height: 64px;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  background: #92140C;
  color: #fff;
  font-size: 16px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.site-footer__app {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 22px 0 0;
}

.site-footer__app-title {
  font-size: 22px;
  letter-spacing: 1px;
  text-transform: uppercase;
  opacity: 0.65;
}

.site-footer__badges {
  display: flex;
  gap: 18px;
  align-items: center;
}

.badge {
  height: 52px;
  border: 2px solid rgba(255,255,255,0.3);
  border-radius: 10px;
  padding: 8px 14px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: rgba(0,0,0,0.35);
}

.badge__icon {
  font-size: 26px;
  line-height: 1;
}

.badge__play {
  width: 22px;
  height: 22px;
  position: relative;
}

.badge__play::before {
  content: "";
  position: absolute;
  inset: 0;
  clip-path: polygon(0 0, 100% 50%, 0 100%, 18% 50%);
  background: rgba(255,255,255,0.85);
}

.badge__text { display: grid; line-height: 1.05; }
.badge__small { font-size: 11px; opacity: 0.9; letter-spacing: 0.3px; }
.badge__big { font-size: 18px; font-weight: 600; letter-spacing: 0.2px; }

.site-footer__bottom {
  margin-top: 46px;
  border-top: 1px solid rgba(255,255,255,0.2);
  padding: 22px 0;
  display: grid;
  grid-template-columns: 220px 1fr 240px;
  align-items: center;
  gap: 18px;
}

.site-footer__social {
  display: flex;
  gap: 18px;
  align-items: center;
}

.site-footer__social-link {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.9;
}

.site-footer__copyright {
  font-size: 18px;
  opacity: 0.55;
}

.site-footer__legal {
  display: flex;
  justify-content: flex-end;
  gap: 36px;
}

.site-footer__legal-link {
  font-size: 18px;
  opacity: 0.7;
}

/* MOBILE FOOTER */
.site-footer__mobile { display: none; }

.site-footer__newsletter--mobile {
  border-width: 0;
  padding: 0;
  background: transparent;
}

.site-footer__newsletter--mobile .site-footer__newsletter-inner {
  background: #2f2f2f; /* changed background per request */
  padding: 24px 22px;
}

.site-footer__newsletter--mobile .site-footer__newsletter-form {
  grid-template-columns: 1fr;
}

.site-footer__subscribe--full { width: 100%; }

.site-footer__acc {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 70px;
  padding: 0 0;
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  cursor: pointer;
  border-top: 1px solid rgba(255,255,255,0.18);
}

.site-footer__chev {
  font-size: 22px;
  opacity: 0.9;
  transition: transform 160ms ease;
}

.site-footer__acc[aria-expanded="true"] .site-footer__chev {
  transform: rotate(180deg);
}

.site-footer__panel {
  padding: 10px 0 14px;
  border-top: 1px solid rgba(255,255,255,0.18);
}

.site-footer__app--mobile {
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.18);
}

@media (max-width: 991px) {
  .site-footer__wrap { width: calc(100% - 34px); }

  .site-footer__grid { display: none; }
  .site-footer__mobile { display: block; }

  .site-footer__brand-row {
    padding: 10px 0 18px;
  }

  .site-footer__logo { height: 140px; }
  .site-footer__phone { font-size: 16px; }

  .site-footer__newsletter-title { font-size: 28px; }
  .site-footer__newsletter-text { font-size: 16px; }
  .site-footer__input-wrap { height: 62px; }
  .site-footer__subscribe { height: 62px; }

  .site-footer__app { flex-direction: column; align-items: flex-start; gap: 14px; }
  .site-footer__badges { gap: 14px; }
  .badge { width: 100%; max-width: 360px; justify-content: flex-start; }

  .site-footer__bottom {
    grid-template-columns: 1fr;
    gap: 14px;
    text-align: left;
  }

  .site-footer__legal { justify-content: flex-start; gap: 26px; }
  .site-footer__copyright { font-size: 16px; }
  .site-footer__legal-link { font-size: 16px; }
}

@media (max-width: 520px) {
  .site-footer__acc { font-size: 18px; }
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 44px;
  padding: 0 20px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.btn__arrow {
  font-size: 13px;
  line-height: 1;
  transform: translateY(-1px);
}

.btn--primary {
  background: #92140C; /* reference-like blue */
  color: #fff;
  border: 1px solid transparent;
  width: min(360px, 100%);
}

.btn--outline {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,0.75);
  width: min(360px, 100%);
}

/* -----------------------------
   MOBILE MENU
-------------------------------- */
.menu {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
}

.menu.is-open {
  display: block;
}

.menu__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.menu__panel {
  position: absolute;
  inset: 0;
  background: #0b0b0b;
  /* Slight gradient depth like ref */
  background: radial-gradient(120% 90% at 50% 30%, #141414 0%, #0b0b0b 55%, #070707 100%);
  overflow: auto;
  padding-bottom: 28px;
}

.menu__top {
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
}

.menu__logo {
  height: 90px;
  width: auto;
  display: block;
}

.menu__close {
  border: 0;
  background: transparent;
  padding: 10px;
  margin: 0;
  cursor: pointer;
  color: #fff;
}

.menu__close-x {
  font-size: 34px;
  font-weight: 200;
  line-height: 1;
  opacity: 0.9;
}

/* Nav items with dividers */
.menu__nav {
  margin-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.16);
}

.menu__item {
  height: 66px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  border-bottom: 1px solid rgba(255,255,255,0.16);
}

.menu__label {
  font-family: "Inter", system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: 1.6px;
  font-size: 13px;
  text-transform: uppercase;
}

.menu__plus {
  font-size: 20px;
  font-weight: 200;
  opacity: 0.85;
}

/* Bottom area */
.menu__bottom {
  padding: 26px 18px 0;
}

.menu__phone {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 16px;
  opacity: 0.95;
}

.menu__flag {
  font-size: 18px;
}

.menu__phone-link {
  font-size: 16px;
  letter-spacing: 0.2px;
}

.menu__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.btn--pill {
  height: 46px;
  width: 100%;
}

.btn--outline-dark {
  border: 1px solid rgba(255,255,255,0.72);
  background: transparent;
  color: #fff;
}

/* Footer placeholder */
.footer {
  background: #1E1E24;
}
.footer__inner {
  height: 1px;
}

/* -----------------------------
   DESKTOP BASIC (placeholder)
   You will send desktop design later
-------------------------------- */
@media (min-width: 992px) {
  .header__inner { padding: 10px 32px; height: 76px; margin: 10px 10; }
  .hero__title { font-size: 52px; }
  .hero__eyebrow { font-size: 13px; }
  .btn { height: 48px; font-size: 12px; }
}




/* ===================================
   DESKTOP CARS SECTION
=================================== */

.cars-desktop {
  background: #f4f4f4;
  padding: 110px 80px;
}

.cars-desktop__container {
  max-width: 1600px;
  margin: 0 auto;
}

.cars-desktop__grid {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 20px;
    justify-content: space-evenly;
    justify-items: center;
}

.cars-desktop__cars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

/* Car Card */

.car-d__image {
  text-align: center;
  margin-bottom: 35px;
}

.car-d__image img {
  width: 100%;
  max-width: 440px;
}

.car-d__title {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.3px;
  margin-bottom: 22px;
  color: #111;
}

.car-d__row {
  display: flex;
  justify-content: space-between;
  padding: 14px 0;
  border-top: 1px solid rgba(0,0,0,0.08);
  font-size: 12px;
  color: #222;
}

.car-d__row strong {
  font-weight: 700;
}

.car-d__row--last {
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.car-d__vat {
    margin-top: 22px;
    color: #1E1E24;
    font-size: 10px;
    font-weight: 700;

}

.car-d__btn {
    margin-top: 28px;
    height: 50px;
    background: #92140C;
    color: #fff;
    border-radius: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    text-decoration: none;
}

.car-d__more {
  display: block;
  text-align: center;
  margin-top: 18px;
  font-size: 14px;
  text-decoration: underline;
  color: #111;
}

/* Aside */

.cars-desktop__aside {
  text-align: center;
  width: 90%;
  background: #0b0b0b;
  padding: 40px 35px;
}

.aside-d__title {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 1px;
  margin-bottom: 25px;
}

.aside-d__text {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 40px;
  opacity: 0.9;
}

.aside-d__image img {
  width: 80%;
  margin-bottom: 40px;
}

.aside-d__link {
  font-size: 14px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
}




/* mobile version of car carausel */


/* ===================================
   MOBILE CARS CAROUSEL (NO DESKTOP CHANGE)
=================================== */
@media (max-width: 991px) {
  .cars-desktop {
    padding: 0;
    background: #f4f4f4;
  }

  .cars-desktop__container {
    max-width: 100%;
    margin: 0;
    padding: 0;
  }

  /* Mobile heading */
  .cars-mob-head {
    text-align: center;
    padding: 26px 18px 14px;
    background: #fff;
  }

  .cars-mob-head h2 {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #111;
  }

  .cars-mob-head p {
    margin: 10px 0 0;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #111;
    opacity: 0.95;
  }

  .cars-mob-head__line {
    display: inline-block;
    width: 34px;
    height: 2px;
    background: #111;
    margin-top: 16px;
    opacity: 0.8;
  }

  /* Hide desktop aside panel on mobile */
  .cars-desktop__aside {
    display: none;
  }

  /* Turn the grid into a carousel */
  .cars-desktop__grid {
    display: block;
    padding: 0;
  }

  .cars-desktop__cars {
    display: flex;
    gap: 5;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    background: #fff;
    padding: 16px 18px 0;
  }

  .cars-desktop__cars::-webkit-scrollbar {
    display: none;
  }

  /* One slide = full width */
  .car-d {
    flex: 0 0 100%;
    scroll-snap-align: center;
    padding: 0 0 12px;
  }

  .car-d__image {
    margin-bottom: 18px;
  }

  .car-d__image img {
    max-width: 560px;
  }

  /* Match screenshot typography */
  .car-d__title {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.4px;
    margin: 8px 0 12px;
    text-transform: uppercase;
  }

  .car-d__row {
    font-size: 12px;
    padding: 12px 0;
  }

  .car-d__vat {
    margin-top: 18px;
    font-size: 11px;
    font-weight: 700;
  }

  /* Button centered and sized like screenshot */
  .car-d__btn {
    width: calc(100% - 46px);
    margin: 18px auto 0;
    height: 52px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.6px;
  }

  /* Hide arrow on mobile (screenshot shows only arrow icon at end) */
  .car-d__btn span {
    margin-left: auto;
    padding-right: 18px;
    font-size: 20px;
    font-weight: 300;
  }

  .car-d__more {
    margin-top: 14px;
    font-size: 12px;
  }

  /* Mobile dots (3 bars) */
  .cars-mob-dots {
    display: flex;
    justify-content: center;
    gap: 18px;
    background: #fff;
    padding: 16px 0 24px;
  }

  .cars-mob-dot {
    width: 42px;
    height: 3px;
    background: rgba(0, 0, 0, 0.18);
  }

  .cars-mob-dot.is-active {
    background: rgba(0, 0, 0, 0.65);
  }
}

@media (max-width: 991px) {

  .car-d__btn {
    display: flex;
    align-items: center;
    justify-content: center;   /* center everything */
    position: relative;        /* needed for arrow positioning */
    text-align: center;
  }

  .car-d__btn span {
    position: absolute;        /* take arrow out of flex flow */
    right: 22px;               /* match screenshot spacing */
    font-size: 18px;
  }

}



/* For sticky Header  */

/* ==============================
   STICKY HEADER (NO DESIGN CHANGE)
   - Transparent at top
   - Dark/blur bar on scroll
================================= */
.header {
  transition: transform 180ms ease;
}

/* background layer (only visible when sticky) */
.header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease;
  z-index: 0;
}

/* keep header contents above the background layer */
.header__top,
.header__nav,
.header__inner {
  position: relative;
  z-index: 1;
}

/* sticky state */
.header.is-sticky {
  position: fixed; /* was absolute */
  top: 0;
  left: 0;
  right: 0;
}

.header.is-sticky::before {
  opacity: 1;
}

/* MOBILE: remove your current margin when sticky so it becomes a full-width bar */
@media (max-width: 991px) {
  .header.is-sticky .header__inner {
    margin: 3;
  }
}

/* Optional: subtle separator line like reference */
.header.is-sticky .header__nav {
  border-top-color: rgba(255,255,255,0.12);
  border-bottom-color: rgba(255,255,255,0.12);
}



/* =========================
   REVIEWS (CAROUSEL)
========================= */
.reviews {
  background: #1E1E24;
  color: #fff;
  padding: 70px 0 60px;
}

.reviews__wrap {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 40px;
}

.reviews__title {
  margin: 0 0 22px;
  font-size: 14px;
  letter-spacing: 2px;
  font-weight: 600;
  text-transform: uppercase;
  opacity: 0.9;
}

/* Carousel shell */
.reviews__carousel {
  position: relative;
  display: flex;
  align-items: center;
  gap: 18px;
}

.reviews__viewport {
  overflow: hidden;
  width: 100%;
}

/* 4 cards on desktop */
.reviews__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 3 * 22px) / 4);
  gap: 22px;
  transition: transform 260ms ease;
  will-change: transform;
}

/* Card design like screenshot */
.review-card {
  background: radial-gradient(120% 140% at 50% 0%, #171717 0%, #0c0c0c 60%, #080808 100%);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 22px;
  padding: 22px 22px 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.6);
  min-height: 250px;
  display: flex;
  flex-direction: column;
}

.review-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.review-card__stars {
  font-size: 16px;
  letter-spacing: 2px;
  opacity: 0.95;
}

.review-card__rating {
  font-size: 16px;
  opacity: 0.9;
}

.review-card__text {
  margin: 0;
  color: rgba(255,255,255,0.62);
  font-size: 18px;
  line-height: 1.35;
  font-weight: 400;
  flex: 1;
}

.review-card__user {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 18px;
}

.review-card__avatar {
  display: none; 
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: rgba(255,255,255,0.15);
  overflow: hidden;
}

.review-card__name {
  font-size: 18px;
  font-weight: 600;
}

.review-card__role {
  margin-top: 4px;
  font-size: 14px;
  color: rgba(255,255,255,0.55);
}

/* Arrows */
.reviews__arrow {
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.35);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  user-select: none;
}

.reviews__arrow:active { transform: scale(0.98); }

/* Dots */
.reviews__dots {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 18px;
}

.reviews-dot {
  width: 42px;
  height: 3px;
  background: rgba(255,255,255,0.18);
  border: 0;
  padding: 0;
  cursor: pointer;
}

.reviews-dot.is-active {
  background: rgba(255,255,255,0.6);
}

.reviews__viewport {
  overflow-x: auto;                 /* enable native swipe */
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.reviews__viewport::-webkit-scrollbar {
  display: none;
}

.reviews__track {
  transform: none !important;       /* stop JS translate blocking swipe */
  transition: none !important;
}

.review-card {
  scroll-snap-align: start;
}

.reviews__viewport {
  touch-action: pan-x;              /* allow horizontal swipe */
}

/* MOBILE: 1 card */
@media (max-width: 991px) {
  .reviews__wrap { padding: 0 18px; }
  .reviews__track {
    grid-auto-columns: 100%;
    gap: 14px;
  }
  .reviews__arrow { display: none; }
  .review-card__text { font-size: 20px; }
}


/* =========================
   INTRO COPY (CENTERED)
========================= */
.intro-copy {
  background: #fff;
  color: #111;
  padding: 120px 20px 140px;
}

.intro-copy__wrap {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}

.intro-copy__title {
  margin: 0;
  font-size: 45px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: 0.2px;
}

.intro-copy__sub {
  margin: 22px 0 0;
  font-size: 26px;
  font-weight: 300;
  letter-spacing: 0.4px;
}

.intro-copy__line {
  display: inline-block;
  width: 80px;
  height: 2px;
  background: #111;
  opacity: 0.85;
  margin-top: 26px;
}

.intro-copy__text {
  margin: 64px auto 0;
  max-width: 900px;
  font-size: 18px;
  line-height: 1.9;
  letter-spacing: 1.2px;
  color: #111;
  opacity: 0.9;
}

/* Mobile friendly */
@media (max-width: 991px) {
  .intro-copy {
    padding: 70px 18px 90px;
  }

  .intro-copy__title {
    font-size: 30px;
    line-height: 1.2;
  }

  .intro-copy__sub {
    font-size: 18px;
    margin-top: 14px;
  }

  .intro-copy__line {
    width: 60px;
    margin-top: 18px;
  }

  .intro-copy__text {
    margin-top: 36px;
    font-size: 14px;
    line-height: 1.85;
    letter-spacing: 1px;
  }
}

/* =========================
   CONTACT PAGE (DESKTOP)
========================= */
.contact-hero {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
}

.contact-hero__bg {
  position: absolute;
  inset: 0;
  background: url("assets/img/Image@2x-1800x1265.webp") center / cover no-repeat;
  transform: scale(1.02);
}

.contact-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
}

.contact-hero__wrap {
  position: relative;
  z-index: 2;
  max-width: 1500px;
  margin: 0 auto;
  padding: 140px 40px 80px; /* leaves space under header */
}

.contact-hero__grid {
  display: grid;
  grid-template-columns: 1fr 640px;
  gap: 70px;
  margin: 80px 0px;
  align-items: start;
}

/* LEFT SIDE */
.contact-left {
  color: #fff;
  padding-top: 40px;
}

.contact-left__kicker {
  margin: 0 0 14px;
  font-size: 14px;
  opacity: 0.9;
}

.contact-left__title {
  margin: 0;
  font-size: 54px;
  line-height: 1.05;
  font-weight: 500;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

.contact-left__sub {
  margin: 16px 0 40px;
  font-size: 14px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  opacity: 0.9;
}

.contact-left__info {
  margin-top: 36px;
  max-width: 520px;
}

.contact-info__label {
  font-size: 14px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  opacity: 0.9;
  margin-bottom: 8px;
}

.contact-info__value {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  opacity: 0.95;
}

.contact-info__icon {
  width: 18px;
  display: inline-flex;
  justify-content: center;
}

.contact-left__rule {
  height: 1px;
  background: rgba(255,255,255,0.22);
  margin: 22px 0;
}

.contact-left__btn {
  margin-top: 32px;
  width: 520px;
  max-width: 100%;
  height: 54px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.55);
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  background: rgba(0,0,0,0.18);
}

/* RIGHT CARD */
.contact-card {
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 22px 60px rgba(0,0,0,0.35);
}

.contact-card__inner {
  padding: 34px 44px 36px;
}

.contact-card__crest {
  display: none;
  width: 40px;
  height: 40px;
  margin: 0 auto 14px;
  border-radius: 999px;
  background: rgba(0,0,0,0.04);
}

.contact-card__title {
  margin: 0 0 18px;
  text-align: center;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #111;
}

/* FORM */
.contact-form {
  margin-top: 18px;
}

.contact-field {
  display: block;
  margin-bottom: 18px;
}

.contact-field__label {
  display: block;
  font-size: 13px;
  color: #111;
  margin-bottom: 8px;
  font-weight: 600;
}

.contact-field__control {
  position: relative;
  height: 44px;
  border: 1px solid rgba(0,0,0,0.35);
  display: flex;
  align-items: center;
  padding: 0 14px;
  gap: 10px;
}

.contact-field__ico,
.contact-field__flag {
  opacity: 0.7;
  font-size: 16px;
}

.contact-field input {
  border: 0;
  outline: 0;
  width: 100%;
  font-size: 14px;
}

.contact-field__control--textarea {
  height: 220px;
  align-items: stretch;
  padding: 10px 12px;
}

.contact-field textarea {
  border: 0;
  outline: 0;
  width: 100%;
  resize: none;
  font-size: 14px;
  padding: 6px 4px;
  font-family: inherit;
}

.contact-form__btn {
  margin-top: 22px;
  width: 100%;
  height: 56px;
  border: 0;
  border-radius: 999px;
  background: #92140C;
  color: #fff;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  cursor: pointer;
}


/* =========================
   CONTACT PAGE (MOBILE)
   (Desktop untouched)
========================= */
@media (max-width: 768px) {
  .contact-hero {
    min-height: auto;
  }

  .contact-hero__wrap {
    padding: 110px 18px 36px;
    max-width: 100%;
  }

  /* Mobile stacking + reorder (title -> card -> info -> button) */
  .contact-hero__grid {
    grid-template-columns: 1fr;
    gap: 18px;
    margin: 26px 0 0;
    align-items: start;
  }

  /* KEY TRICK: let left-side children become grid items so we can place them around the card */
  .contact-left {
    display: contents;
  }

  /* Keep text #FFF8F0 (because .contact-left { color:#fff } won’t apply when display: contents) */
  .contact-left__kicker,
  .contact-left__title,
  .contact-left__sub,
  .contact-left__info,
  .contact-left__btn {
    color: #fff;
  }

  /* Order in the single-column grid */
  .contact-left__kicker { order: 1; text-align: center; margin: 0 0 10px; }
  .contact-left__title  { order: 2; text-align: center; font-size: 30px; line-height: 1.12; letter-spacing: 0.4px; }
  .contact-left__sub    { order: 3; text-align: center; margin: 12px 0 18px; font-size: 12px; letter-spacing: 1.4px; }

  .contact-card         { order: 4; border-radius: 4px; }
  .contact-left__info   { order: 5; margin-top: 10px; max-width: 100%; }
  .contact-left__btn    { order: 6; margin-top: 16px; width: 100%; height: 54px; }

  /* Card spacing closer to the design */
  .contact-card__inner {
    padding: 22px 18px 24px;
  }

  .contact-card__title {
    font-size: 20px;
    letter-spacing: 1px;
    margin: 2px 0 14px;
  }

  /* Form spacing */
  .contact-field {
    margin-bottom: 14px;
  }

  .contact-field__label {
    font-size: 13px;
    margin-bottom: 8px;
  }

  .contact-field__control {
    height: 46px;
    padding: 0 12px;
  }

  .contact-field__control--textarea {
    height: 200px;
    padding: 10px 12px;
  }

  .contact-form__btn {
    height: 56px;
    border-radius: 999px;
    margin-top: 18px;
  }

  /* Info section separators look like the recording */
  .contact-left__rule {
    background: rgba(255,255,255,0.18);
    margin: 18px 0;
  }

  /* Mobile-only icons in inputs (won’t affect desktop if you keep them hidden by default) */
  .contact-field__ico,
  .contact-field__flag {
    display: inline-flex;
    align-items: center;
  }
}




/* ---------- Base helpers ---------- */
:root{
  --max: 1180px;
  --gutter: 28px;

  --black: #050607;
  --black2: #0b0c0d;
  --white: #ffffff;
  --muted: rgba(255,255,255,0.70);
  --text: #0f1113;
  --soft-border: rgba(255,255,255,0.12);
  --soft-border-dark: rgba(0,0,0,0.10);
}

.container{
  width: min(var(--max), calc(100% - (var(--gutter) * 2)));
  margin: 0 auto;
}

.h2{
  font-size: 44px;
  letter-spacing: 0.02em;
  font-weight: 400;
  margin: 0 0 16px;
}

#h2white{
  font-size: 44px;
  color: white;
  letter-spacing: 0.02em;
  font-weight: 400;
  margin: 0 0 16px;
}

.h2--white{ color: #fff; }

.subtitle{
  margin: 0 0 26px;
  color: rgba(255,255,255,0.80);
  letter-spacing: 0.18em;
  font-size: 13px;
  text-transform: uppercase;
}

.eyebrow{
  margin: 0 0 18px;
  letter-spacing: 0.18em;
  font-size: 13px;
  text-transform: uppercase;
  color: rgba(0,0,0,0.75);
}

.body p{
  margin: 0 0 14px;
  font-size: 16.5px;
  line-height: 1.95;
  color: rgba(0,0,0,0.82);
  max-width: 560px;
}

#p-white{
  margin: 0 0 14px;
  font-size: 16.5px;
  line-height: 1.95;
  color: white;
  max-width: 560px;
}

.about-title-center{
  text-align: center;
  margin-bottom: 34px;
}

/* ---------- Hero ---------- */
.about-hero{
  position: relative;
  min-height: 60vh; /* matches PDF hint */
  display: grid;
  align-items: end;
  padding: 80px 0 70px;
  color: #fff;
  background: radial-gradient(1200px 550px at 25% 30%, rgba(255,255,255,0.06), transparent 60%),
              radial-gradient(900px 450px at 70% 35%, rgba(255,255,255,0.05), transparent 60%),
              linear-gradient(180deg, #060708 0%, #040506 100%);
}

.about-hero__inner{
  width: min(var(--max), calc(100% - (var(--gutter) * 2)));
  margin: 0 auto;
}

.about-hero__kicker{
  margin: 0 0 18px;
  font-size: 13px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.75);
}

.about-hero__title{
  margin: 0 0 14px;
  font-size: 50px;
  letter-spacing: 0.02em;
  font-weight: 400;
}

.about-hero__rule{
  width: 120px;
  height: 1px;
  background: rgba(255,255,255,0.25);
  margin: 6px 0 22px;
}

.about-hero__lead p{
  margin: 0 0 10px;
  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.78);
}

/* ---------- Sections ---------- */
.about-section{
  padding: 70px 0;
}

.about-section--light{
  background: #fff;
  color: var(--text);
}

.about-section--dark{
  background: radial-gradient(1000px 520px at 50% 30%, rgba(255,255,255,0.05), transparent 62%),
              linear-gradient(180deg, var(--black2), var(--black));
  color: #fff;
}

.about-two-col{
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 56px;
  align-items: center;
}

.about-two-col__media{
  display: flex;
  justify-content: flex-end;
}

.media-card{
  width: 100%;
  max-width: 520px;
  aspect-ratio: 4 / 3;
  border-radius: 6px;
  border: 1px solid var(--soft-border-dark);
  background: #f3f3f3;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.02);
}

.media-card img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.media-wide{
  width: 50%;
  margin-top: 24px;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid var(--soft-border);
  background: rgba(255,255,255,0.06);
}

.media-wide img{
  width: 100%;
  height: auto;
  display: block;
}

/* ---------- Center blocks on dark ---------- */
.about-center{
  display: flex;
    justify-content: center;
    flex-direction: column;
  text-align: center;
}

.about-center--tight{
  padding-top: 26px;
}

.about-quote{
  max-width: 820px;
  margin: 0 auto;
}

.about-quote p{
  margin: 0 0 16px;
  font-size: 15.5px;
  line-height: 2.0;
  color: rgba(255,255,255,0.85);
}

/* ---------- Why choose ---------- */
.about-two-col--dark{
  align-items: start;
}

.about-two-col__text--white{
  padding-top: 6px;
}

.body-white{
  margin: 0;
  font-size: 16px;
  line-height: 1.9;
  color: rgba(255,255,255,0.85);
  max-width: 620px;
}

.about-list{
  margin: 18px 0 18px 18px;
  padding: 0;
}

.about-list li{
  margin: 0 0 14px;
  line-height: 1.8;
  color: rgba(255,255,255,0.90);
}

.about-endline{
  margin-top: 18px;
  color: rgba(255,255,255,0.82);
}

/* Dark media card (right side) */
.media-card--dark{
  border: 1px solid var(--soft-border);
  background: rgba(255,255,255,0.06);
  box-shadow: none;
}

/* ---------- Signature ---------- */
.about-signature{
  padding: 80px 0 90px;
}

.signature-mark{
  width: 90px;
  height: 90px;
  margin: 0 auto 18px;
  opacity: 0.9;
}

.signature-mark img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.signature-title{
  margin: 0 0 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 14px;
  color: rgba(255,255,255,0.86);
}

.signature-sub{
  margin: 0;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 12.5px;
  color: rgba(255,255,255,0.70);
}

/* ---------- Responsive (mobile friendly) ---------- */
@media (max-width: 980px){
  .h2{ font-size: 38px; }
  .about-two-col{
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .about-two-col__media{
    justify-content: flex-start;
  }
  .media-card{
    max-width: 100%;
    aspect-ratio: 16 / 10;
  }
  .body p{
    max-width: 100%;
  }
}

@media (max-width: 520px){
  .about-section{ padding: 54px 0; }
  .about-hero{ padding: 64px 0 56px; }
  .about-hero__rule{ width: 96px; }
  .subtitle{ font-size: 12px; }
  .about-quote p{ font-size: 15px; }
}

/* #header-btn-speak {
  border: 1px solid rgba(255,255,255,0.72);
  background: transparent;
  color: #fff;
  height: 46px;
  padding: 0 25px;
  font-size: 16px;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 44px;
  padding: 0 20px;
  border-radius: 999px;
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
} */


/* =========================================================
   BUSINESS (page-specific additions)
   ========================================================= */

.service-hero--business{
  background-position: center;
}

/* Intro block */
.business-intro{
  background: #E9EFF4;
  padding: 110px 0 120px;
}
.business-intro__text{
  margin: 34px auto 0;
  max-width: 720px;
  font-size: 14px;
  line-height: 2.0;
  color: #111;
}

/* Make sure icons look like the line-art style */
.business-why .service-why__icon{
  width: 58px;
  height: 58px;
  margin-bottom: 18px;
}

/* Split blocks (Business Meetings + Financial Roadshows) */
.business-split{
  background: #D6D6D6;
}
.business-split__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
}
.business-split__content{
  padding: 90px 80px;
  max-width: 760px;
}
.business-split__title{
  margin: 0;
  font-size: 44px;
  letter-spacing: 2px;
  font-weight: 500;
  text-transform: uppercase;
  color: #111;
}
.business-split__subtitle{
  margin: 12px 0 0;
  font-size: 18px;
  letter-spacing: 2px;
  font-weight: 500;
  text-transform: uppercase;
  color: #111;
}
.business-split__divider{
  display: block;
  width: 55px;
  height: 1px;
  background: #1b1b1b;
  margin: 26px 0 0;
}
.business-split__text{
  margin: 28px 0 0;
  max-width: 560px;
  font-size: 14px;
  line-height: 2.0;
  color: #111;
}
.business-split__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 36px;
  height: 52px;
  padding: 0 40px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.45);
  color: #111;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 600;
  background: transparent;
}

.business-split__media{
  padding: 40px 70px 40px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.business-split__media img{
  width: 100%;
  max-width: 780px;
  height: 520px;
  object-fit: cover;
  display: block;
}

/* Responsive */
@media (max-width: 1100px){
  .business-split__grid{ grid-template-columns: 1fr; }
  .business-split__content{ padding: 70px 40px; }
  .business-split__media{ padding: 0 40px 60px; }
  .business-split__media img{ height: 420px; }
}

@media (max-width: 640px){
  .business-intro{ padding: 70px 0 80px; }

  .business-split__content{ padding: 55px 22px; }
  .business-split__title{ font-size: 34px; }
  .business-split__subtitle{ font-size: 16px; }

  .business-split__media{ padding: 0 22px 50px; }
  .business-split__media img{ height: 340px; }
}