
/* Three source-referenced homepage sections. Scoped to ats-* to avoid affecting global header/footer and existing sections. */
.ats-section { background: #101010; color: #fff; }
.ats-section * { box-sizing: border-box; }
.ats-wrap { width: min(1280px, calc(100% - 2 * clamp(24px, 7.5vw, 112px))); margin-inline: auto; }
.ats-two-col { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(45px,6vw,100px); align-items: center; }
.ats-eyebrow { display: flex; align-items: center; gap: 20px; font-size: 15px; letter-spacing: .02em; text-transform: uppercase; font-weight: 500; margin: 0 0 34px; }
.ats-eyebrow::before { content: ''; display: inline-block; width: 64px; height: 1px; flex: 0 0 64px; background: #007b77; }
.ats-section h2 { font-family: 'Inter Tight', Inter, Arial, sans-serif; font-size: clamp(36px,3.7vw,53px); font-weight: 700; line-height: 1.11; margin: 0 0 30px; letter-spacing: -.02em; }
.ats-section p { font-size: 16px; line-height: 1.65; }
.ats-elegance { padding: 100px 0 85px; }
.ats-elegance-image img { width: 100%; height: auto; aspect-ratio: .92; object-fit: cover; border-radius: 12px; display:block; }
.ats-elegance-features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; row-gap:30px; margin-top:45px; align-items:start; }
.ats-elegance-feature { display:grid; grid-template-columns:24px minmax(0,1fr); gap:12px; min-width:0; }
.ats-feature-icon { color:#008a86; font-size:20px; line-height:1.2; }
.ats-elegance-features h3 { margin:0 0 5px; font-size:17px; font-weight:700; }
.ats-elegance-features p { margin:0; color:#bababa; font-size:13px; line-height:1.7; }
.ats-choose { padding: 75px 0 105px; }
.ats-choose-intro { display:grid; grid-template-columns:1fr 1fr; gap:7%; align-items:start; margin-bottom:55px; }
.ats-choose-intro > div > p:not(.ats-eyebrow) { max-width: 560px; margin-bottom: 22px; }
.ats-choose-intro h2 { margin: 0; }
.ats-btn { display: inline-flex; min-height: 48px; align-items:center; justify-content:center; border:0; border-radius: 30px; background:#007c79; color:white; text-decoration:none; padding: 12px 24px; font: 500 16px/1.3 inherit; cursor:pointer; transition: background .2s, transform .2s; }
.ats-btn:hover { background:#00a59f; transform:translateY(-2px); }
.ats-fleet-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.ats-fleet-card { min-height: 240px; aspect-ratio: 1.58; color:white; display:block; position:relative; overflow:hidden; border-radius:10px; background:#292929; text-decoration:none; }
.ats-fleet-card::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.66),rgba(0,0,0,.12)); }
.ats-fleet-card img { width:100%;height:100%;object-fit:cover; transition:transform .4s; }
.ats-fleet-card:hover img { transform:scale(1.05); }
.ats-fleet-title,.ats-fleet-price { position:absolute;z-index:1;left:28px; }
.ats-fleet-title { top:28px; font-size:clamp(25px,2.35vw,34px);font-weight:700; }
.ats-fleet-price { bottom:28px;display:flex;flex-direction:column;font-size:13px; }
.ats-fleet-price strong { font-size:19px; }
.ats-drive { position:relative; padding:110px 0 105px; background-color:#171717; background-image:url("../images/drive-hotel-original.avif"); background-position:center; background-size:cover; background-repeat:no-repeat; }
.ats-drive-shade {position:absolute;inset:0;background:rgba(0,0,0,.54);}
.ats-drive-content {position:relative;}
.ats-drive-heading {align-items:start;}
.ats-drive-heading h2 {max-width:600px;}
.ats-hours {padding-top:65px;}
.ats-hours h3 {border-left:3px solid #007c79;padding-left:20px;font-size:23px;margin:0 0 30px;}
.ats-hours dl {margin:0;}
.ats-hours dl>div {display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #ffffff70;padding:13px 0;text-transform:uppercase;font-size:14px;}
.ats-hours dd {margin:0;white-space:nowrap;}
.ats-drive-form-wrap {margin-top:65px;}
.ats-drive-form-wrap > h2 {text-align:center;margin-bottom:38px;}
.ats-booking {border:1px solid #ffffff59;border-radius:12px;padding:30px;background:rgba(12,12,12,.74);backdrop-filter:blur(2px);}
.ats-fields {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px;}
.ats-fields label {display:flex; flex-direction:column;gap:8px;font-size:14px;}
.ats-fields input,.ats-fields select {width:100%;min-width:0;height:48px;border:1px solid #e5e5e5;border-radius:5px;padding:12px 14px;background:#fff;color:#111;font:400 14px/1.4 Arial,sans-serif;}
@media(max-width:900px){.ats-two-col,.ats-choose-intro{grid-template-columns:1fr;gap:32px;}.ats-choose-intro h2{margin-top:0}.ats-fleet-cards{gap:15px}.ats-fields{grid-template-columns:repeat(2,minmax(0,1fr));}.ats-hours{padding-top:0}}
@media(max-width:650px){.ats-wrap{width:calc(100% - 40px)}.ats-elegance,.ats-choose,.ats-drive{padding-block:64px}.ats-fleet-cards,.ats-fields{grid-template-columns:1fr}.ats-fleet-card{min-height:220px}.ats-booking{padding:18px}.ats-section h2{font-size:clamp(32px,8vw,42px)}}
@media(prefers-reduced-motion:reduce){.ats-btn,.ats-fleet-card img{transition:none}}


/* Elegance: left text and four icons; right image and its own supporting copy + CTA. */
.ats-wrap { width: min(1280px, calc(100% - 2 * clamp(24px, 3vw, 48px))); }
.ats-elegance .ats-two-col { align-items: stretch; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(38px, 5vw, 82px); }
.ats-elegance-copy { min-width: 0; }
.ats-elegance-image { display:flex; flex-direction:column; min-width:0; }
.ats-elegance-image img { max-height:580px; min-height:0; flex:0 0 auto; }
.ats-elegance-feature-detail { margin-top:32px; display:flex; flex-direction:column; align-items:flex-start; }
.ats-elegance-feature-detail p { max-width:480px; color:#dedede; font-size:14px; line-height:1.72; }
.ats-elegance-feature-detail .ats-btn { margin-top:18px; }
.ats-elegance-features { margin-top:40px; gap:32px 24px; }
.ats-elegance-feature { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.ats-feature-icon { display:flex; color:#00a19a; width:42px; height:42px; align-items:center; justify-content:center; border:1px solid rgba(0,161,154,.7); border-radius:8px; background:rgba(0,126,121,.08); }
.ats-feature-icon svg { display:block; }
/* Fleet heading and subtitle left, paragraph right, collection CTA centered below cards. */
.ats-choose-intro > div { min-width:0; }
.ats-choose-intro > p { max-width:560px; margin: 44px 0 0; color:#dedede; }
.ats-fleet-title { transition:color .22s ease; }
.ats-fleet-card:hover .ats-fleet-title, .ats-fleet-card:focus-visible .ats-fleet-title { color:#00b6ad; }
.ats-collection-link { display:flex; width:max-content; margin:45px auto 0; }
/* Booking screenshot: translucent bordered form, four fields per row. */
.ats-drive-form-wrap > h2 { font-size:clamp(34px,4vw,54px); }
.ats-booking { width:100%; }
.ats-booking .ats-fields { row-gap:20px; }
.ats-booking label { color:#fff; font-weight:500; }
.ats-booking button { margin-top:2px; }
@media(max-width:900px) {
  .ats-elegance .ats-two-col { grid-template-columns:1fr; }
  .ats-elegance-image img { max-height:650px; }
  .ats-choose-intro > p { margin:0; }
}
@media(max-width:650px) {
  .ats-elegance-features { grid-template-columns:1fr; }
  .ats-elegance-feature-detail { margin-top:25px; }
  .ats-collection-link { margin-top:32px; }
}

/* Recognition marquee — original media, identical order in both repetitions. */
.ats-trusted { padding:86px 0 88px; background:#101010; color:#fff; border-bottom:1px solid #ffffff1a; overflow:hidden; }
.ats-trusted h2 {font-family:'Inter Tight',Inter,Arial,sans-serif; font-size:clamp(22px,2vw,26px);font-weight:700;line-height:1.3;margin:0 0 66px; }
.ats-logo-viewport {overflow:hidden; width:100%; }
.ats-logo-track {display:flex; width:max-content; animation:ats-logo-roll 32s linear infinite; }
.ats-logo-viewport:hover .ats-logo-track,.ats-logo-viewport:focus-within .ats-logo-track {animation-play-state:paused;}
.ats-logo-set {display:flex;gap:64px;align-items:center;padding-right:64px;flex:0 0 auto;}
.ats-logo-item {width:170px;height:90px;display:flex;flex:0 0 170px;align-items:center;justify-content:center;}
.ats-logo-item img {display:block; max-width:170px;max-height:84px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.86;transition:opacity .25s ease,filter .25s ease;}
.ats-logo-item:hover img {filter:none;opacity:1;}
@keyframes ats-logo-roll {from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* Keep the image visible behind reservation form. */
.ats-drive.ats-section {background-image:url("../images/drive-hotel-original.avif");background-position:center;background-size:cover;background-repeat:no-repeat;}
.ats-drive-shade {background:rgba(0,0,0,.47);pointer-events:none;}
.ats-booking .ats-fields label {gap:9px; font:400 13px/1.4 Arial,sans-serif;}
.ats-booking .ats-btn {min-height:48px;border-radius:28px;background:#007e7c;color:#fff;font:500 16px/1.3 Arial,sans-serif;padding-inline:25px;}
.ats-booking .ats-btn:hover {background:#009b96;}
@media(max-width:650px){.ats-trusted{padding:60px 0}.ats-trusted h2{margin-bottom:35px}.ats-logo-set{gap:25px;padding-right:25px}.ats-logo-item{width:125px;flex-basis:125px}.ats-logo-item img{max-width:125px;max-height:70px}}
@media(prefers-reduced-motion:reduce){.ats-logo-track{animation:none}.ats-logo-item img{transition:none}}


/* Booking form: matched to the six-field reference. Scoped; no unrelated section overrides. */
.ats-drive.ats-section {
  background-image: url("../images/drive-hotel-original.avif");
  background-position: center center;
  background-size: cover;
}
.ats-drive-shade { background: rgba(0, 0, 0, 0.36); }
.ats-drive-form-wrap { margin-top: 68px; }
.ats-drive-form-wrap > h2 {
  font-family: "Inter Tight", Inter, Arial, sans-serif;
  font-weight: 700;
  font-size: clamp(38px, 3.7vw, 56px);
  line-height: 1.13;
  margin-bottom: 74px;
}
.ats-booking {
  background: rgba(12, 13, 14, 0.36);
  border: 1px solid rgba(255, 255, 255, 0.48);
  border-radius: 15px;
  padding: 55px 60px 36px;
  backdrop-filter: none;
}
.ats-booking .ats-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 21px;
  row-gap: 22px;
  margin-bottom: 23px;
}
.ats-booking .ats-fields label, .ats-booking .ats-notes {
  display: flex;
  flex-direction: column;
  gap: 17px;
  font: 400 16px/1.3 Arial, sans-serif;
  color: #fff;
}
.ats-booking .ats-fields input,
.ats-booking .ats-fields select,
.ats-booking .ats-notes textarea {
  width: 100%;
  min-width: 0;
  color: #fff;
  background: rgba(10, 15, 18, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 10px;
  font: 400 14px/1.4 Arial, sans-serif;
  box-shadow: none;
  outline-offset: 3px;
  transition: border-color 200ms ease, background-color 200ms ease;
}
.ats-booking .ats-fields input, .ats-booking .ats-fields select { height: 52px; padding: 11px 23px; }
.ats-booking .ats-notes textarea { min-height: 95px; padding: 15px 23px; resize: vertical; }
.ats-booking input::placeholder, .ats-booking textarea::placeholder { color: rgba(230, 232, 234, 0.65); opacity: 1; }
.ats-booking .ats-fields select option { color: #151515; background: #fff; }
.ats-booking input:focus, .ats-booking select:focus, .ats-booking textarea:focus {
  border-color: #03aca6; background: rgba(10, 15, 18, 0.65);
}
.ats-booking .ats-booking-submit {
  width: 100%;
  margin-top: 24px;
  min-height: 50px;
  border: 0;
  border-radius: 999px;
  background: #007976;
  color: #fff;
  font: 500 16px/1.3 Arial, sans-serif;
  cursor: pointer;
  transition: background-color 200ms ease, transform 200ms ease;
}
.ats-booking .ats-booking-submit:hover { background: #049e98; transform: translateY(-1px); }
@media (max-width: 900px) {
  .ats-booking { padding: 30px; }
  .ats-booking .ats-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ats-drive-form-wrap > h2 { margin-bottom: 38px; }
}
@media (max-width: 600px) {
  .ats-booking { padding: 22px 18px; }
  .ats-booking .ats-fields { grid-template-columns: 1fr; }
  .ats-drive-form-wrap > h2 { margin-bottom: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .ats-booking .ats-booking-submit, .ats-booking input, .ats-booking select, .ats-booking textarea { transition: none; }
}

/* Unified reservation form: three fields per desktop row. */
@media(min-width:901px){.ats-booking .ats-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
