/*
 * DOARDS compact redesign layer
 * Loaded after the legacy styles so pages can be migrated without removing
 * the old theme yet.
 */

:root {
  --ui-ink: #17263d;
  --ui-muted: #657287;
  --ui-green: #087e6c;
  --ui-line: #e4e8ed;
  --ui-radius: 18px;
  --ui-container: 1325px;
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--ui-ink);
  font-size: 15px;
  line-height: 1.55;
}

@media (min-width: 1200px) {
  .container {
    max-width: var(--ui-container);
  }
}

/* Compact global type scale */
h1, h2, h3, h4, h5, h6 {
  letter-spacing: -0.025em;
}

.s-70, .s-68, .s-66, .s-64, .s-62, .s-60, .s-58, .s-56, .s-54, .s-52 {
  font-size: clamp(2.15rem, 3.2vw, 2.75rem);
  line-height: 1.08;
}

.s-50, .s-48, .s-46, .s-45, .s-44, .s-42 {
  font-size: clamp(1.8rem, 2.5vw, 2.2rem);
  line-height: 1.13;
}

.s-40, .s-38, .s-36, .s-34, .s-32 {
  font-size: clamp(1.55rem, 2vw, 1.85rem);
  line-height: 1.18;
}

.s-30, .s-28, .s-26 {
  font-size: clamp(1.3rem, 1.7vw, 1.5rem);
  line-height: 1.22;
}

.s-24, .s-22 {
  font-size: 1.1rem;
  line-height: 1.3;
}

.s-21, .s-20, .p-xl, .p-lg {
  font-size: 1rem;
  line-height: 1.55;
}

.txt-block p,
.content-section p,
.section-title p {
  font-size: .92rem;
  line-height: 1.58;
}

.section-id {
  font-size: .7rem;
  letter-spacing: .13em;
}

/* Shorter sections and tighter common spacing */
.py-100 { padding-bottom: 68px; padding-top: 68px; }
.pt-100 { padding-top: 68px; }
.pb-100 { padding-bottom: 68px; }
.py-80 { padding-bottom: 58px; padding-top: 58px; }
.pt-80 { padding-top: 58px; }
.pb-80 { padding-bottom: 58px; }
.mb-80 { margin-bottom: 48px; }
.mb-70 { margin-bottom: 42px; }
.mt-50 { margin-top: 34px; }

/* Apple-like pill buttons across the site */
.btn,
a.btn,
button.btn,
.btn.r-02,
.btn.r-04,
.btn.r-06,
.btn.r-08,
.btn.r-10,
.btn.r-12,
.btn.r-14,
.btn.r-16,
.btn.r-18,
.btn.r-20,
.btn.r-22,
.btn.r-24,
.btn.r-30,
.btn.r-32,
.btn.r-34,
.btn.r-36 {
  border-radius: 999px;
  font-size: .84rem;
  line-height: 1;
  min-height: 42px;
  padding: .8rem 1.25rem;
}

.btns-group {
  gap: 10px;
}

/* Cards and content sections stay square; only controls use pill rounding. */
.bc-3-wrapper,
.banner-13-wrapper,
.industry-card,
.feature-media-card,
.fbox-2,
.product-feature-tabs__nav,
.product-feature-tabs__panel,
.product-benefits__grid article {
  border-radius: 0 !important;
}

/* Homepage: compact opening hero */
#hero-10 {
  min-height: 0;
  padding-bottom: 42px;
  padding-top: 116px;
}

#hero-10 .hero-10-txt h1 {
  font-size: clamp(2.2rem, 3.2vw, 2.85rem);
  margin-bottom: 12px;
}

#hero-10 .hero-10-txt h2 {
  font-size: .95rem;
  line-height: 1.55;
  margin-top: 12px !important;
}

#hero-10 .hero-3-img {
  margin: 0 auto;
  max-width: 580px;
}

#hero-10 .col-md-6[style] {
  margin-top: 34px !important;
}

/* Homepage industry picture grid */
.industry-showcase {
  background: #fff;
  padding: 14px 14px;
}

.industry-showcase__heading {
  align-items: end;
  display: flex;
  gap: 30px;
  justify-content: space-between;
  margin-bottom: 26px;
}

.industry-showcase__heading h2 {
  color: var(--ui-ink);
  font-size: clamp(1.75rem, 2.4vw, 2.15rem);
  margin: 0;
}

.industry-showcase__heading p {
  color: var(--ui-muted);
  font-size: .9rem;
  margin: 0;
  max-width: 390px;
}

.industry-showcase__grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.industry-card {
  background: #111;
  border-radius: 0;
  color: #fff;
  display: block;
  height: clamp(330px, 34vw, 470px);
  isolation: isolate;
  overflow: hidden;
  position: relative;
}

.industry-card::after {
  background: linear-gradient(180deg, rgba(8, 16, 28, .75) 0%, rgba(8, 16, 28, .12) 47%, rgba(8, 16, 28, .3) 100%);
  content: "";
  inset: 0;
  position: absolute;
  transition: background .45s ease;
  z-index: -1;
}

.industry-card__image {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  transform: scale(1.005);
  transition: transform .8s cubic-bezier(.2, .65, .25, 1);
  width: 100%;
  z-index: -2;
}

.industry-card__content {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 34px 28px;
  text-align: center;
}

.industry-card__eyebrow {
  color: rgba(255, 255, 255, .78);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .13em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.industry-card h3 {
  color: #fff;
  font-size: clamp(1.65rem, 2.5vw, 2.25rem);
  font-weight: 650;
  line-height: 1.1;
  margin: 0;
  text-shadow: 0 2px 22px rgba(0, 0, 0, .25);
}

.industry-card__link {
  align-items: center;
  background: #fff;
  border-radius: 999px;
  color: #15243b;
  display: inline-flex;
  font-size: .78rem;
  font-weight: 650;
  gap: 6px;
  margin-top: auto;
  min-height: 38px;
  padding: 0 17px;
  transition: background .25s ease, color .25s ease, transform .25s ease;
}

.industry-card:hover .industry-card__image,
.industry-card:focus-visible .industry-card__image {
  transform: scale(1.045);
}

.industry-card:hover::after,
.industry-card:focus-visible::after {
  background: linear-gradient(180deg, rgba(8, 16, 28, .82) 0%, rgba(8, 16, 28, .08) 54%, rgba(8, 16, 28, .25) 100%);
}

.industry-card:hover .industry-card__link,
.industry-card:focus-visible .industry-card__link {
  background: var(--ui-green);
  color: #fff;
  transform: translateY(-2px);
}

.industry-card:focus-visible {
  outline: 3px solid rgba(8, 126, 108, .45);
  outline-offset: 3px;
}

/* Homepage centered product spotlight, inspired by compact product launches. */
.home-product-spotlight {
  background: #f5f5f7;
  overflow: hidden;
  padding: 52px 0 0;
  text-align: center;
}

.home-product-spotlight__copy {
  margin: 0 auto;
  max-width: 720px;
}

.home-product-spotlight__copy h2 {
  color: var(--ui-ink);
  font-size: clamp(2rem, 3vw, 2.65rem);
  font-weight: 700;
  line-height: 1.08;
  margin: 5px 0 10px;
}

.home-product-spotlight__copy p {
  color: var(--ui-muted);
  font-size: .95rem;
  line-height: 1.5;
  margin: 0 auto;
  max-width: 590px;
}

.home-product-spotlight__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 18px;
}

.home-product-spotlight__media {
  height: 300px;
  margin: 25px auto 0;
  max-width: 900px;
  overflow: hidden;
}

.home-product-spotlight__media img {
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 880px;
  width: 100%;
}

/* Homepage DISI feature */
.home-disi-section {
  background: #fff;
  padding: 64px 0;
}

.home-disi-section__copy {
  max-width: 510px;
}

.home-disi-section__copy h2 {
  margin: 6px 0 12px;
}

.home-disi-section__copy p {
  color: var(--ui-muted);
  max-width: 480px;
}

.home-disi-section__media {
  height: 370px;
  overflow: hidden;
}

.home-disi-section__media img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

/* Dedicated features page photographic grid */
.features-catalog-hero {
  background: #f5f5f7;
  margin-top: 80px;
  padding: 40px 0 0;
  text-align: center;
}

.features-catalog-hero__copy {
  margin: 0 auto;
  max-width: 680px;
}

.features-catalog-hero__copy h1 {
  color: var(--ui-ink);
  font-size: clamp(2rem, 3vw, 2.6rem);
  margin: 0 0 10px;
}

.features-catalog-hero__copy p {
  color: var(--ui-muted);
  font-size: .92rem;
  font-weight: 400;
  margin: 0 auto;
  max-width: 590px;
}

.features-catalog-hero__media {
  height: 245px;
  margin: 24px auto 0;
  max-width: 850px;
  overflow: hidden;
}

.features-catalog-hero__media img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.feature-catalog-section {
  padding: 58px 0;
}

.feature-catalog-section--all {
  padding-top: 42px;
}

.feature-catalog-section + .feature-catalog-section {
  border-top: 1px solid var(--ui-line);
  padding-top: 0;
}

.feature-catalog-section__title {
  align-items: end;
  display: flex;
  justify-content: space-between;
  margin-bottom: 22px;
}

.feature-catalog-section__title h2 {
  color: var(--ui-ink);
  font-size: clamp(1.65rem, 2.2vw, 2rem);
  margin: 0;
}

.feature-media-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.feature-media-grid--industries {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.feature-media-grid--overlay {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.feature-media-card {
  background: #f5f5f7;
  color: var(--ui-ink);
  display: block;
  overflow: hidden;
}

.feature-media-card__image {
  display: block;
  height: 220px;
  overflow: hidden;
}

.feature-media-grid--industries .feature-media-card__image {
  height: 310px;
}

.feature-media-card__image img {
  height: 100%;
  object-fit: cover;
  transition: transform .7s cubic-bezier(.2, .65, .25, 1);
  width: 100%;
}

.feature-media-card__body {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  min-height: 70px;
  padding: 14px 17px;
}

.feature-media-card__title {
  color: var(--ui-ink);
  display: block;
  font-size: .98rem;
  font-weight: 700;
  line-height: 1.25;
  margin: 0;
}

.feature-media-card__arrow {
  align-items: center;
  background: var(--ui-green);
  border-radius: 999px;
  color: #fff;
  display: flex;
  flex: 0 0 34px;
  height: 34px;
  justify-content: center;
  transition: transform .25s ease;
  width: 34px;
}

.feature-media-card:hover .feature-media-card__image img,
.feature-media-card:focus-visible .feature-media-card__image img {
  transform: scale(1.045);
}

.feature-media-card:hover .feature-media-card__arrow,
.feature-media-card:focus-visible .feature-media-card__arrow {
  transform: translateX(3px);
}

.feature-media-card--overlay {
  background: #101a28;
  color: #fff;
  height: 265px;
  isolation: isolate;
  position: relative;
}

.feature-media-card--overlay::after {
  background: linear-gradient(180deg, rgba(5, 12, 22, .62), rgba(5, 12, 22, .92));
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}

.feature-media-card--overlay .feature-media-card__image {
  height: 100%;
  inset: 0;
  position: absolute;
  z-index: -2;
}

.feature-media-card--overlay .feature-media-card__body {
  align-items: center;
  color: #fff;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  padding: 22px;
  position: relative;
  text-align: center;
}

.feature-media-card--overlay .feature-media-card__title {
  color: #fff;
  font-size: 1.32rem;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .4);
}

.feature-media-card--overlay .feature-media-card__arrow {
  margin-top: 11px;
}

/* Taxi, rental and logistics use the same image-led feature hub as /features. */
.feature-hub-page #hero-8 {
  background: #f5f5f7 !important;
  background-image: none !important;
  margin-top: 80px;
  padding: 40px 0 0;
}

.feature-hub-page #hero-8 > .container > .row,
.feature-hub-page #hero-8 > .container > .container > .row {
  align-items: center;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.feature-hub-page #hero-8 [class*="col-md-"] {
  max-width: 100%;
  width: 100%;
}

.feature-hub-page #hero-8 .txt-block {
  margin: 0 auto;
  max-width: 700px;
}

.feature-hub-page #hero-8 .container > .container {
  max-width: 1325px;
  padding: 0;
}

.feature-hub-page #hero-8 .txt-block h1,
.feature-hub-page #hero-8 .txt-block h3 {
  font-size: clamp(2rem, 3vw, 2.6rem);
  letter-spacing: -.04em;
  line-height: 1.08;
  margin-bottom: 12px;
}

.feature-hub-page #hero-8 .txt-block p,
.feature-hub-page #hero-8 .txt-block h2 {
  font-size: .92rem !important;
  line-height: 1.55;
  margin: 0 auto 18px !important;
  max-width: 590px;
}

.feature-hub-page #hero-8 .btns-group {
  justify-content: center;
}

.feature-hub-page #hero-8 .fbox-12 {
  background: transparent !important;
  border-radius: 0;
  box-shadow: none !important;
  height: 245px;
  margin: 0;
  overflow: hidden;
}

.feature-hub-page #hero-8 .fbox-12-wrapper {
  margin: 24px auto 0;
  max-width: 850px;
}

.feature-hub-page #hero-8 .fbox-12 img {
  display: block;
  height: 100%;
  margin: 0;
  max-height: none;
  max-width: none;
  object-fit: cover;
  object-position: top center;
  width: 100%;
}

.feature-hub-page #hero-8 .btn {
  background: var(--ui-green) !important;
  border-color: var(--ui-green) !important;
  color: #fff !important;
}

.feature-hub-page #features-2 {
  padding: 34px 0 62px;
}

.feature-hub-page #features-2 .section-title {
  display: none;
}

.legacy-feature-hub-grid {
  display: none !important;
}

/* Keep the second-level desktop menu aligned with the header dropdown and scrollable. */
@media (min-width: 992px) {
  .wsmenu > .wsmenu-list > li > ul.sub-menu > li {
    position: static;
  }

  .wsmenu > .wsmenu-list > li > ul.sub-menu > li > ul.sub-menu {
    left: 100%;
    max-height: calc(100vh - 74px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    top: 0;
  }
}

/* All detail pages share the centered Features-page header. */
#page:not(.feature-hub-page):not(.product-page) #hero-8 {
  background: #f5f5f7 !important;
  background-image: none !important;
  padding: 112px 0 36px;
}

#page:not(.feature-hub-page):not(.product-page) #hero-8 > .container > .row,
#page:not(.feature-hub-page):not(.product-page) #hero-8 > .container > .container > .row {
  align-items: center;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

#page:not(.feature-hub-page):not(.product-page) #hero-8 .txt-block {
  margin: 0 auto;
  max-width: 700px;
}

#page:not(.feature-hub-page):not(.product-page) #hero-8 .hero-8-txt {
  margin: 0 auto;
  max-width: 700px;
}

#page:not(.feature-hub-page):not(.product-page) #hero-8 .txt-block h1,
#page:not(.feature-hub-page):not(.product-page) #hero-8 .txt-block h2,
#page:not(.feature-hub-page):not(.product-page) #hero-8 .txt-block h3 {
  color: var(--ui-ink);
  font-size: clamp(1.85rem, 2.7vw, 2.55rem) !important;
  letter-spacing: -.04em;
  line-height: 1.1;
  margin: 0 0 12px !important;
}

#page:not(.feature-hub-page):not(.product-page) #hero-8 .hero-8-txt h1,
#page:not(.feature-hub-page):not(.product-page) #hero-8 .hero-8-txt h2,
#page:not(.feature-hub-page):not(.product-page) #hero-8 .hero-8-txt h3 {
  color: var(--ui-ink) !important;
  font-size: clamp(2rem, 3vw, 2.6rem) !important;
  letter-spacing: -.04em;
  line-height: 1.1;
  margin: 0 0 10px !important;
}

#page:not(.feature-hub-page):not(.product-page) #hero-8 .txt-block p {
  font-size: .92rem !important;
  font-weight: 400 !important;
  line-height: 1.58;
  margin: 0 auto 18px;
  max-width: 590px;
}

#page:not(.feature-hub-page):not(.product-page) #hero-8 .hero-8-txt p {
  color: var(--ui-muted) !important;
  font-size: .92rem !important;
  font-weight: 400 !important;
  line-height: 1.58;
  margin: 0 auto 18px;
  max-width: 590px;
}

#page:not(.feature-hub-page):not(.product-page) #hero-8 .txt-block h2.s-20 {
  color: var(--ui-muted);
  font-size: .92rem !important;
  font-weight: 400 !important;
  letter-spacing: normal;
  line-height: 1.58;
  margin: 0 auto 18px !important;
  max-width: 590px;
}

/* Keep hero descriptions consistent across every feature detail template. */
#page #hero-8 .hero-5-txt > p,
#page #hero-8 .hero-8-txt > p,
#page #hero-8 .txt-block > p,
#page #hero-8 .txt-block > h2,
#page.product-page .product-hero__copy > p {
  font-family: inherit !important;
  font-size: .92rem !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
}

#page:not(.feature-hub-page):not(.product-page) #hero-8 .btns-group {
  justify-content: center;
}

#page:not(.feature-hub-page):not(.product-page) #hero-8 .btn {
  background: var(--ui-green) !important;
  border-color: var(--ui-green) !important;
  color: #fff !important;
}

#page:not(.feature-hub-page):not(.product-page) #hero-8 [class*="col-md-"] {
  max-width: 100%;
  width: 100%;
}

#page:not(.feature-hub-page):not(.product-page) #hero-8 img.img-fluid {
  display: block;
  height: 245px;
  margin: 18px auto 0;
  max-height: none;
  max-width: min(850px, 100%);
  object-fit: cover;
  object-position: center;
  width: min(850px, 100%);
}

#page:not(.feature-hub-page):not(.product-page) #hero-8 .wave-shape-bottom {
  display: none;
}

/* The booking-page tab layout, shared by every feature page that uses tabs. */
.product-feature-tabs:not(.product-page-tabs) .product-feature-tabs__desktop {
  align-items: stretch;
  display: grid;
  gap: 20px;
  grid-template-columns: 250px minmax(0, 1fr);
}

.product-feature-tabs:not(.product-page-tabs) .product-feature-tabs__nav {
  align-content: start;
  border: 1px solid var(--ui-line);
  box-shadow: 0 10px 35px rgba(31, 59, 82, .055);
  display: grid;
  gap: 0;
  grid-template-columns: 1fr;
  overflow: hidden;
  padding: 7px;
}

.product-feature-tabs:not(.product-page-tabs) .product-feature-tabs__tab {
  border-bottom: 1px solid #edf1f3;
  display: flex;
  font-size: .81rem;
  justify-content: space-between;
  line-height: 1.3;
  min-height: 57px;
  padding: 8px 11px;
  text-align: left;
}

.product-feature-tabs:not(.product-page-tabs) .product-feature-tabs__tab::after {
  content: none;
  display: none !important;
}

.product-page-tabs .product-tab-arrow {
  display: none !important;
}

.product-page-tabs .product-feature-tabs__tab {
  grid-template-columns: 30px minmax(0, 1fr);
}

.product-feature-tabs:not(.product-page-tabs) .product-feature-tabs__tab:last-child {
  border-bottom: 0;
}

.product-feature-tabs:not(.product-page-tabs) .product-feature-tabs__tab.is-active {
  /*box-shadow: inset 3px 0 0 var(--ui-green);*/
}

.product-feature-tabs:not(.product-page-tabs) .product-feature-tabs__panel {
  box-shadow: 0 10px 35px rgba(31, 59, 82, .055);
  margin-top: 0;
}

.product-feature-tabs:not(.product-page-tabs) .product-feature-tabs__media {
  min-height: 370px;
}

@media (max-width: 991px) {
  .industry-card { height: 340px; }
  #hero-10 { padding-bottom: 34px; padding-top: 105px; }
  .feature-media-card__image { height: 190px; }
  .feature-media-grid--industries .feature-media-card__image { height: 260px; }
  .product-feature-tabs:not(.product-page-tabs) .product-feature-tabs__desktop { grid-template-columns: 210px minmax(0, 1fr); }
}

@media (max-width: 767px) {
  body { font-size: 14px; }
  .py-100 { padding-bottom: 52px; padding-top: 52px; }
  .pt-100 { padding-top: 52px; }
  .pb-100 { padding-bottom: 52px; }
  #hero-10 { padding-bottom: 30px; padding-top: 92px; }
  #hero-10 .col-md-6[style] { margin-top: 22px !important; }
  .industry-showcase { padding: 50px 0; }
  .industry-showcase__heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .industry-showcase__grid { grid-template-columns: 1fr; }
  .industry-card { height: 330px; }
  .industry-card__content { padding: 27px 20px; }
  .home-product-spotlight { padding-top: 44px; }
  .home-product-spotlight__media { height: 220px; }
  .home-disi-section { padding: 50px 0; }
  .home-disi-section__media { height: 280px; margin-top: 24px; }
  .features-catalog-hero { margin-top: 60px; padding-top: 34px; }
  .features-catalog-hero__media { height: 200px; }
  .feature-hub-page #hero-8 .fbox-12,
  #page:not(.feature-hub-page):not(.product-page) #hero-8 img.img-fluid { height: 200px; }
  .feature-media-grid,
  .feature-media-grid--industries { grid-template-columns: 1fr; }
  .feature-media-grid--overlay { grid-template-columns: 1fr; }
  .feature-media-card__image,
  .feature-media-grid--industries .feature-media-card__image { height: 230px; }
  .feature-media-card--overlay { height: 245px; }
  .product-feature-tabs:not(.product-page-tabs) .product-feature-tabs__desktop { display: block; }
  .product-feature-tabs:not(.product-page-tabs) .product-feature-tabs__mobile { display: none; }
  .product-feature-tabs:not(.product-page-tabs) .product-feature-tabs__nav { display: flex; margin-bottom: 12px; overflow-x: auto; padding: 7px; scroll-snap-type: x mandatory; }
  .product-feature-tabs:not(.product-page-tabs) .product-feature-tabs__tab { border-bottom: 0; flex: 0 0 180px; min-height: 52px; scroll-snap-align: start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .industry-card__image,
  .industry-card__link { transition: none; }
}
