:root {
  --ink: #202322;
  --muted: #626963;
  --paper: #f5f7f2;
  --green: #42b900;
  --green-dark: #2f8d00;
  --line: #dce2d9;
  --white: #ffffff;
}

[hidden] { display: none !important; }

/* WordPress integration */
.skip-link { position: fixed; z-index: 100000; left: 12px; top: -60px; padding: 12px 16px; color: #fff; background: #202322; }
.skip-link:focus { top: 12px; }
.menu-toggle { display: none; min-height: 44px; padding: 0 16px; border: 1px solid var(--line); border-radius: 9px; background: #fff; font: inherit; font-weight: 750; }
.gt-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.gt-notice { max-width: 1080px; margin: 20px auto; padding: 17px 22px; border-radius: 12px; line-height: 1.5; }
.gt-notice.success { color: #17330b; background: #e2f8d7; border: 1px solid #9ed680; }
.gt-notice.error { color: #6a1717; background: #fff0f0; border: 1px solid #e0a3a3; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.service-icon { display: inline-grid; place-items: center; font-size: 2rem; color: var(--green-dark); }
.field { border: 0; padding: 0; min-width: 0; }
.field > legend, .field > span { margin-bottom: 9px; font-size: .88rem; font-weight: 700; }
.field > legend b { color: var(--green-dark); }
.contact-details > div > b, .values article > b, .facility-options article > b { display: block; margin-bottom: 14px; color: var(--green-dark); font-size: 1.7rem; }
.service-area-result { margin: 14px 0; padding: 14px 16px; border-radius: 10px; background: #edf1ea; line-height: 1.5; }
.service-area-result.served { color: #17330b; background: #dff6d3; }
.service-area-result.call { color: #4e3a13; background: #fff4d8; }
.wizard-heading > b, .review-status > b, .policy-note > b, .safety-warning > b { color: var(--green-dark); font-size: 1.4rem; }
.itinerary-card i { font-style: normal; }
.wizard-side li.complete > span { background: var(--green); color: #17330b; }
.button { border: 0; cursor: pointer; font: inherit; }
.back-button { cursor: pointer; }
body.admin-bar .site-header { top: 32px; }

@media (max-width: 900px) {
  .menu-toggle { display: inline-flex; align-items: center; }
  .site-header nav { display: none; position: absolute; z-index: 30; top: 86px; left: 0; right: 0; padding: 22px; flex-direction: column; align-items: stretch; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 15px 30px rgba(0,0,0,.08); }
  .site-header nav.open { display: flex; }
  .header-cta { display: none; }
}

@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Arial, Helvetica, sans-serif; }
h1, h2, h3, h4, h5, h6, button, input, select, textarea { font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }

.service-ribbon {
  min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 8px clamp(22px, 5vw, 76px); color: #e8eee5; background: var(--ink); font-size: .81rem; font-weight: 600;
}
.service-ribbon a { display: flex; align-items: center; gap: 7px; color: white; }

.site-header {
  height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 30px;
  padding: 0 clamp(22px, 5vw, 76px); background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(32,35,34,.08);
}
.brand img { width: clamp(175px, 17vw, 238px); height: auto; display: block; }
nav { display: flex; align-items: center; gap: clamp(22px, 2.6vw, 40px); font-size: .92rem; font-weight: 650; }
nav a { transition: color .2s ease; }
nav a:hover { color: var(--green-dark); }

.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 24px;
  color: #10220a; background: var(--green); border-radius: 12px; font-weight: 760; box-shadow: 0 10px 26px rgba(66,185,0,.22);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover { transform: translateY(-2px); background: #4dcc00; box-shadow: 0 14px 32px rgba(66,185,0,.28); }
.button-small { min-height: 44px; padding: 0 18px; font-size: .9rem; }

.hero {
  min-height: calc(100vh - 124px); display: grid; grid-template-columns: minmax(0, .95fr) minmax(460px, 1.05fr); align-items: center;
  gap: clamp(44px, 7vw, 110px); padding: clamp(70px, 8vw, 118px) clamp(22px, 7vw, 106px) 72px; overflow: hidden;
  background: radial-gradient(circle at 79% 32%, rgba(66,185,0,.15), transparent 29%), linear-gradient(135deg, #f9faf7 0%, #eef2eb 100%);
}
.hero-copy { max-width: 690px; position: relative; z-index: 2; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 24px; color: var(--green-dark); font-size: .78rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.pulse { width: 9px; height: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 6px rgba(66,185,0,.13); }
h1 { margin: 0; max-width: 720px; font-size: clamp(3.5rem, 6.4vw, 7.2rem); line-height: .91; letter-spacing: -.065em; font-weight: 830; }
h1 em { color: var(--green-dark); font-style: normal; font-weight: 550; }
.hero-lede { max-width: 640px; margin: 30px 0 0; color: var(--muted); font-size: clamp(1.05rem, 1.35vw, 1.28rem); line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 34px; }
.text-link { display: inline-flex; align-items: center; gap: 9px; font-weight: 720; border-bottom: 1px solid #aeb6aa; padding: 8px 0; }
.confirmation-note { display: flex; align-items: flex-start; gap: 9px; max-width: 565px; margin: 28px 0 0; color: #687066; font-size: .88rem; line-height: 1.55; }
.confirmation-note svg { flex: 0 0 auto; margin-top: 2px; color: var(--green-dark); }

.hero-photo-wrap {
  position: relative; z-index: 1; min-height: clamp(450px, 47vw, 610px); overflow: hidden;
  border: 1px solid rgba(32,35,34,.1); border-radius: 28px; background: #dfe5dd;
  box-shadow: 0 32px 90px rgba(23,29,21,.18);
}
.hero-photo { width: 100%; height: 100%; position: absolute; inset: 0; display: block; object-fit: cover; object-position: 58% center; }
.hero-photo-wrap:after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 52%, rgba(14,18,15,.62) 100%); pointer-events: none; }
.hero-photo-card {
  position: absolute; z-index: 2; right: 24px; bottom: 24px; left: 24px; display: grid; grid-template-columns: 1fr auto;
  align-items: center; gap: 8px 24px; padding: 20px 22px; color: white; background: rgba(24,28,25,.86);
  border: 1px solid rgba(255,255,255,.18); border-radius: 16px; backdrop-filter: blur(12px);
}
.hero-photo-card span { display: flex; align-items: center; gap: 8px; color: #b7f197; font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hero-photo-card strong { max-width: 430px; font-size: 1rem; line-height: 1.45; }
.hero-photo-card a { grid-column: 2; grid-row: 1 / 3; display: inline-flex; align-items: center; gap: 8px; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.45); font-size: .84rem; font-weight: 760; white-space: nowrap; }

.ride-card-wrap { position: relative; z-index: 1; }
.ride-card {
  position: relative; z-index: 2; max-width: 620px; margin: auto; padding: clamp(26px, 3vw, 42px); background: rgba(255,255,255,.96);
  border: 1px solid rgba(32,35,34,.1); border-radius: 26px; box-shadow: 0 32px 90px rgba(23,29,21,.17);
}
.card-topline { display: flex; justify-content: space-between; font-size: .84rem; font-weight: 740; }
.step-count { color: var(--muted); }
.progress-track { height: 5px; margin: 13px 0 36px; background: #e6eae3; border-radius: 99px; overflow: hidden; }
.progress-track span { display: block; width: 25%; height: 100%; background: var(--green); }
.card-kicker { margin: 0 0 10px; color: var(--green-dark) !important; font-size: .73rem !important; font-weight: 820; letter-spacing: .12em; }
.ride-card h2 { margin: 0; font-size: clamp(1.8rem, 3vw, 2.55rem); letter-spacing: -.035em; }
.ride-card > p { color: var(--muted); font-size: .98rem; line-height: 1.55; }
.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 28px 0 32px; }
.choice { min-height: 94px; display: flex; align-items: center; gap: 13px; padding: 16px; border: 1.5px solid var(--line); border-radius: 15px; background: #fbfcfa; }
.choice svg { margin-left: auto; color: var(--green-dark); }
.choice-active { border-color: var(--green); box-shadow: 0 0 0 3px rgba(66,185,0,.1); background: #f7fff2; }
.choice-icon { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; background: #e8eee5; font-size: .75rem; font-weight: 850; }
.choice-active .choice-icon { background: var(--green); color: #17310c; }
.card-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--line); padding-top: 24px; }
.save-note { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: .78rem; }
.save-note svg { color: var(--green-dark); }
.next-button { display: inline-flex; align-items: center; gap: 8px; padding: 12px 16px; border-radius: 10px; color: white; background: var(--ink); font-size: .86rem; font-weight: 760; }
.orbit { position: absolute; border-radius: 50%; border: 1px solid rgba(66,185,0,.22); }
.orbit-one { width: 660px; height: 660px; top: -105px; left: 1%; }
.orbit-two { width: 810px; height: 810px; top: -180px; left: -13%; border-color: rgba(32,35,34,.07); }

.trust-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: white; padding: 0 clamp(22px, 7vw, 106px); }
.trust-strip div { min-height: 72px; display: flex; align-items: center; justify-content: center; gap: 9px; color: #495048; font-size: .88rem; font-weight: 680; border-right: 1px solid var(--line); }
.trust-strip div:first-child { border-left: 1px solid var(--line); }
.trust-strip svg { color: var(--green-dark); }

.section { padding: clamp(82px, 10vw, 150px) clamp(22px, 7vw, 106px); }
.split-section { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(45px, 8vw, 130px); align-items: center; }
.split-section > div:first-child { max-width: 720px; }
.section-label { margin-bottom: 22px; color: var(--green-dark); font-size: .76rem; font-weight: 820; letter-spacing: .1em; text-transform: uppercase; }
.section h2, .corridor-copy h2, .cta-band h2 { margin: 0; font-size: clamp(2.5rem, 4.8vw, 5.6rem); line-height: .99; letter-spacing: -.055em; }
.section h2 em { color: var(--green-dark); font-style: normal; font-weight: 560; }
.clay-story-section { padding: clamp(76px,9vw,132px) clamp(22px,7vw,106px); color: white; background: #171b18; }
.clay-story-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(38px,7vw,110px); align-items: end; max-width: 1500px; margin: 0 auto clamp(38px,5vw,70px); }
.clay-story-heading .section-label { color: #9eea78; }
.clay-story-heading h2 { margin: 0; font-size: clamp(2.8rem,5vw,6.2rem); line-height: .95; letter-spacing: -.06em; }
.clay-story-heading h2 em { color: #80dd52; font-style: normal; font-weight: 560; }
.clay-story-intro { display: grid; grid-template-columns: 44px 1fr; gap: 15px; align-items: start; padding: 24px 0 5px; border-top: 1px solid #434a45; }
.clay-story-intro svg { width: 27px; height: 27px; color: #80dd52; }
.clay-story-intro p { margin: 0; color: #c8d0ca; font-size: 1.05rem; line-height: 1.7; }
.clay-story-layout { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(420px,.88fr); gap: 18px; max-width: 1500px; margin: 0 auto; }
.clay-video-card { overflow: hidden; display: grid; align-content: start; background: #0d100e; border: 1px solid #3b433e; border-radius: 24px; box-shadow: 0 30px 80px rgba(0,0,0,.3); }
.clay-video-card video { width: 100%; max-height: 680px; display: block; object-fit: contain; background: #0a0c0b; }
.clay-video-caption { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: start; padding: 22px 24px 25px; border-top: 1px solid #333a35; }
.clay-video-caption > span { padding: 7px 10px; color: #d8fcca; background: #294123; border: 1px solid #426638; border-radius: 99px; font-size: .72rem; font-weight: 820; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
.clay-video-caption strong { display: block; font-size: 1.1rem; }
.clay-video-caption p { margin: 5px 0 0; color: #aeb7b0; font-size: .86rem; line-height: 1.5; }
.clay-story-stills { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.clay-story-stills figure { min-height: 0; overflow: hidden; position: relative; margin: 0; border: 1px solid #3b433e; border-radius: 20px; background: #252b27; }
.clay-story-stills figure.clay-team-frame { grid-column: 1 / -1; }
.clay-story-stills img { width: 100%; height: 100%; min-height: 300px; display: block; object-fit: cover; object-position: center 34%; transition: transform .5s ease; }
.clay-story-stills figure:hover img { transform: scale(1.025); }
.clay-story-stills figure:after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(180deg,transparent,rgba(7,10,8,.92)); pointer-events: none; }
.clay-story-stills figcaption { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 30px 1fr; gap: 12px; padding: 19px; }
.clay-story-stills figcaption > span { width: 28px; height: 28px; display: grid; place-items: center; color: #15200f; background: #80dd52; border-radius: 50%; font-size: .7rem; font-weight: 850; }
.clay-story-stills strong { display: block; font-size: 1rem; line-height: 1.3; }
.clay-story-stills p { margin: 4px 0 0; color: #c6cec8; font-size: .78rem; line-height: 1.45; }
.large-copy { margin: 0 0 26px; color: #555d55; font-size: clamp(1.15rem, 1.65vw, 1.55rem); line-height: 1.55; }
.arrow-link { display: inline-flex; align-items: center; gap: 10px; padding-bottom: 6px; border-bottom: 1px solid #8d9789; font-weight: 760; }

.service-grid { display: grid; grid-template-columns: repeat(3,1fr); padding: 0 clamp(22px, 7vw, 106px) clamp(90px, 10vw, 150px); }
.service-grid article { position: relative; min-height: 370px; padding: 38px; border: 1px solid var(--line); background: white; }
.service-grid article + article { border-left: 0; }
.service-grid article > svg { width: 42px; height: 42px; color: var(--green-dark); }
.service-grid article > span { position: absolute; top: 30px; right: 30px; color: #9ca39a; font-size: .75rem; font-weight: 800; }
.service-grid h3 { margin: 88px 0 17px; font-size: clamp(1.45rem,2.2vw,2.05rem); line-height: 1.1; letter-spacing: -.035em; }
.service-grid p { color: var(--muted); line-height: 1.65; }

.corridor-section { position: relative; min-height: 760px; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; overflow: hidden; color: white; background: var(--ink); }
.corridor-map { position: relative; min-height: 760px; overflow: hidden; background: radial-gradient(circle at center, rgba(66,185,0,.14), transparent 52%); }
.corridor-map:before, .corridor-map:after { content:''; position:absolute; border: 2px solid #59605d; border-radius: 50%; transform: rotate(-24deg); }
.corridor-map:before { width: 620px; height: 860px; left: 15%; top: -8%; }
.corridor-map:after { width: 390px; height: 880px; left: 25%; top: -9%; }
.road { position: absolute; z-index: 2; color: #aeb5b0; font-size: .75rem; font-weight: 800; letter-spacing: .1em; }
.r1 { top: 15%; left: 23%; }.r2 { top: 38%; left: 65%; }.r3 { top: 63%; left: 28%; }.r4 { top: 79%; left: 59%; }
.pin { position: absolute; z-index: 3; width: 15px; height: 15px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 8px rgba(66,185,0,.12), 0 0 0 1px white; }
.p1 { top: 24%; left: 42%; }.p2 { top: 44%; left: 58%; }.p3 { top: 62%; left: 38%; }.p4 { top: 75%; left: 64%; }
.corridor-copy { position: relative; z-index: 2; max-width: 650px; padding: 90px clamp(30px, 7vw, 110px) 90px 20px; }
.section-label.light { color: #9de877; }
.corridor-copy p { margin: 28px 0 34px; color: #c8ceca; font-size: 1.12rem; line-height: 1.7; }

.audience-section { display: grid; grid-template-columns: minmax(320px, .8fr) minmax(520px, 1.2fr); gap: clamp(48px, 6vw, 88px); align-items: center; }
.audience-section > div:first-child { max-width: 650px; }
.audience-section > div:first-child h2 { font-size: clamp(2.55rem, 3.4vw, 4.2rem); }
.audience-section > div:first-child > p { max-width: 560px; margin: 24px 0 0; color: var(--muted); font-size: 1rem; line-height: 1.65; }
.audience-cards { display: grid; gap: 12px; }
.audience-cards a { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; gap: 17px; align-items: center; min-height: 104px; padding: 18px 22px; border: 1px solid var(--line); border-radius: 16px; background: white; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.audience-cards a:hover { transform: translateX(5px); border-color: var(--green); }
.audience-cards a:hover { box-shadow: 0 14px 34px rgba(31,38,29,.08); }
.audience-icon { width: 46px; height: 46px; display: grid; place-items: center; color: #17300c; background: #e5f7dc; border-radius: 13px; font-size: .78rem; font-weight: 850; }
.audience-card-copy { min-width: 0; display: grid; gap: 5px; }
.audience-card-copy strong { color: var(--ink); font-size: 1.03rem; }
.audience-card-copy small { color: var(--muted); font-size: .84rem; line-height: 1.45; }
.audience-cards i { color: var(--green-dark); font-size: 1.25rem; font-style: normal; font-weight: 800; }

.cta-band { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: clamp(65px, 8vw, 110px) clamp(22px, 7vw, 106px); color: #18330c; background: var(--green); }
.cta-band > div > span { display: block; margin-bottom: 12px; font-size: .78rem; font-weight: 820; letter-spacing: .1em; text-transform: uppercase; }
.button-dark { color: white; background: var(--ink); box-shadow: none; }
.button-dark:hover { background: #080a09; }

.site-footer { display: grid; grid-template-columns: 1.25fr .7fr .8fr 1fr; gap: 50px; padding: 80px clamp(22px, 7vw, 106px) 26px; color: #d7ddd9; background: #171918; }
.site-footer img { width: 230px; height: auto; filter: brightness(0) invert(1); opacity: .9; }
.site-footer img.footer-logo { padding: 9px 12px; background: white; border-radius: 12px; filter: none; opacity: 1; }
.site-footer p { color: #9fa7a1; line-height: 1.65; font-size: .88rem; }
.footer-brand p { max-width: 300px; }
.site-footer > div:not(.footer-brand):not(.footer-bottom) { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; font-size: .88rem; }
.site-footer strong { margin-bottom: 4px; color: white; }
.site-footer a:hover { color: #9de877; }
.footer-bottom { grid-column: 1/-1; display: flex; justify-content: space-between; gap: 30px; margin-top: 20px; padding-top: 24px; border-top: 1px solid #343836; color: #818983; font-size: .75rem; }

.page-intro { padding: clamp(80px,10vw,150px) clamp(22px,9vw,138px); color: white; background: radial-gradient(circle at 83% 22%, rgba(66,185,0,.18), transparent 24%), var(--ink); }
.page-intro .eyebrow { color: #9de877; }
.page-intro h1 { max-width: 1050px; font-size: clamp(3.4rem,6.6vw,7.3rem); }
.page-intro > p { max-width: 820px; margin: 30px 0 0; color: #c3cac5; font-size: clamp(1.05rem,1.5vw,1.35rem); line-height: 1.65; }

.wizard-page { padding: 28px clamp(16px,4vw,60px) 100px; background: #eef1ec; }
.prototype-banner { margin-bottom: 18px; padding: 10px 15px; color: #3d4a39; background: #e8f8df; border: 1px solid #bee3aa; border-radius: 10px; font-size: .78rem; font-weight: 680; }
.wizard-shell { max-width: 1380px; margin: auto; display: grid; grid-template-columns: 320px minmax(0,1fr); border-radius: 24px; overflow: hidden; background: white; box-shadow: 0 24px 70px rgba(24,30,23,.11); }
.wizard-side { padding: 42px 34px; color: white; background: var(--ink); }
.wizard-side-label { color: #9de877; font-size: .74rem; font-weight: 820; letter-spacing: .1em; text-transform: uppercase; }
.wizard-side h2 { margin: 12px 0 40px; font-size: 2rem; line-height: 1.05; letter-spacing: -.04em; }
.wizard-side ol { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.wizard-side li { display: flex; gap: 13px; align-items: center; padding: 13px 0; color: #777f79; }
.wizard-side li > span { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid #555b57; border-radius: 50%; font-size: .78rem; }
.wizard-side li div { display: grid; gap: 3px; }.wizard-side li strong { font-size: .9rem; }.wizard-side li small { font-size: .72rem; }
.wizard-side li.active { color: white; }.wizard-side li.active > span { color: #16310a; background: var(--green); border-color: var(--green); box-shadow: 0 0 0 6px rgba(66,185,0,.1); }
.wizard-side li.complete { color: #b8c0ba; }.wizard-side li.complete > span { color: var(--green); border-color: var(--green); }
.wizard-help { display: flex; gap: 12px; margin-top: 58px; padding: 18px; border: 1px solid #3c423e; border-radius: 13px; color: #c9d0cb; }
.wizard-help svg { color: var(--green); }.wizard-help div { display: grid; gap: 5px; font-size: .78rem; }.wizard-help a { color: #9de877; }
.wizard-main { min-width: 0; padding: clamp(30px,5vw,72px); }
.wizard-main section { max-width: 880px; margin: auto; }
.wizard-heading { display: grid; grid-template-columns: 52px 1fr; gap: 18px; align-items: start; margin-bottom: 38px; }
.wizard-heading > svg { width: 48px; height: 48px; padding: 12px; border-radius: 13px; color: var(--green-dark); background: #edf9e6; }
.wizard-heading h1 { font-size: clamp(2.1rem,4vw,3.8rem); line-height: 1; }
.wizard-heading p:not(.card-kicker) { color: var(--muted); line-height: 1.55; }
.wizard-mobile-progress { display: none; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { display: grid; gap: 9px; margin-bottom: 20px; font-size: .88rem; font-weight: 700; }
.field > span b { color: var(--green-dark); }
.field input, .field select, .field textarea { width: 100%; min-height: 48px; padding: 11px 13px; color: var(--ink); background: #fbfcfa; border: 1px solid #cfd6cc; border-radius: 9px; font: inherit; font-weight: 480; outline: none; }
.field textarea { resize: vertical; }.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--green-dark); box-shadow: 0 0 0 3px rgba(66,185,0,.1); }
.digital-time { display: grid; grid-template-columns: minmax(74px,1fr) auto minmax(74px,1fr) minmax(92px,1fr); gap: 8px; align-items: center; }
.digital-time > span { color: var(--muted); font-size: 1.35rem; font-weight: 800; text-align: center; }
.digital-time select { font-variant-numeric: tabular-nums; font-weight: 700; }
.field small { color: var(--muted); font-weight: 500; }
.segmented { display: flex; flex-wrap: wrap; gap: 10px; }
.segmented label { min-height: 45px; display: flex; align-items: center; gap: 9px; padding: 0 15px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.segmented input, .select-cards input, .trip-type-grid input, .payer-grid input { accent-color: var(--green-dark); }
.segmented input { width: 18px; height: 18px; flex: 0 0 18px; }
.segmented label.selected { border-color: var(--green); background: #f7fff3; box-shadow: 0 0 0 3px rgba(66,185,0,.1); }
.form-section-title { display: flex; align-items: center; gap: 9px; margin: 34px 0 22px; padding-top: 28px; border-top: 1px solid var(--line); font-size: 1rem; }
.form-section-title svg { color: var(--green-dark); }
.select-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.select-cards label { min-height: 130px; display: grid; grid-template-columns: auto 1fr; align-content: start; gap: 9px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.select-cards strong { font-size: .9rem; }.select-cards small { grid-column: 2; color: var(--muted); font-size: .77rem; line-height: 1.45; }
.trip-type-grid, .payer-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.trip-type-grid label, .payer-grid label { min-height: 82px; display: flex; align-items: center; gap: 10px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.trip-type-grid label { justify-content: center; padding-left: 14px; padding-right: 14px; }
.trip-type-grid input, .payer-grid input, .select-cards input { width: 18px; height: 18px; flex: 0 0 18px; }
.trip-type-grid strong { white-space: nowrap; line-height: 1.2; }
.trip-type-grid label.selected, .payer-grid label.selected { border-color: var(--green); background: #f7fff3; box-shadow: 0 0 0 3px rgba(66,185,0,.1); }
.trip-type-grid.two-up { grid-template-columns: 1fr 1fr; }
.location-block { position: relative; padding-left: 35px; }.location-dot { position: absolute; top: 34px; left: 5px; width: 14px; height: 14px; border: 3px solid var(--green); border-radius: 50%; background: white; }.location-dot.end { background: var(--green); }.location-line { height: 30px; margin: -31px 0 -4px 11px; border-left: 2px dashed #bec7ba; }
.payer-grid label { min-height: 150px; display: grid; grid-template-columns: auto 1fr; align-content: start; }.payer-grid label > svg { grid-row: 2/4; width: 28px; color: var(--green-dark); }.payer-grid strong, .payer-grid small { grid-column: 2; }.payer-grid small { color: var(--muted); font-size: .76rem; line-height: 1.4; }
.conditional-panel { margin-top: 25px; padding: 25px; border: 1px solid var(--line); border-radius: 14px; background: #f8faf7; }.conditional-panel h3 { margin-top: 0; }
.check-line { display: flex; align-items: flex-start; gap: 10px; margin: 13px 0; color: #4f5750; font-size: .86rem; font-weight: 560; line-height: 1.5; }.check-line input { margin-top: 4px; accent-color: var(--green-dark); }
.policy-note { display: flex; gap: 13px; margin-top: 24px; padding: 18px; color: #465042; background: #edf6e8; border-radius: 12px; }.policy-note svg { flex: 0 0 auto; color: var(--green-dark); }.policy-note p { margin: 0; font-size: .82rem; line-height: 1.55; }
.safety-warning { display: flex; gap: 12px; margin: 0 0 22px; padding: 17px; color: #633c14; background: #fff3de; border: 1px solid #f0c783; border-radius: 11px; }.safety-warning svg { flex: 0 0 auto; margin-top: 2px; }.safety-warning p { display: grid; gap: 3px; margin: 0; font-size: .83rem; line-height: 1.5; }
.recurring-panel { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 28px 0 20px; padding: 20px; background: #f4f7f2; border: 1px solid var(--line); border-radius: 12px; }.recurring-panel > div { display: grid; gap: 4px; }.recurring-panel span { color: var(--muted); font-size: .78rem; }.recurring-panel label { display: flex; align-items: center; gap: 9px; font-size: .84rem; font-weight: 700; }.recurring-panel input { width: 18px; height: 18px; accent-color: var(--green-dark); }
.review-status { display: flex; align-items: center; gap: 14px; padding: 22px; color: white; background: var(--ink); border-radius: 14px; }.review-status > svg { color: var(--green); }.review-status div { display: grid; gap: 3px; }.review-status small { color: #9da69f; font-size: .66rem; letter-spacing: .1em; }.review-status > span { margin-left: auto; padding: 7px 10px; color: #bfeea7; background: #2d352f; border-radius: 99px; font-size: .73rem; font-weight: 750; }
.itinerary-card { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; margin: 18px 0; padding: 25px; color: var(--ink); background: #fbfcfa; border: 1px solid #cbd5c7; border-radius: 14px; }.itinerary-card div { display: grid; gap: 6px; }.itinerary-card span { color: var(--green-dark); font-size: .76rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }.itinerary-card strong { font-size: 1.04rem; line-height: 1.4; }.itinerary-card small { color: #465048; font-size: .91rem; line-height: 1.45; }
.review-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }.review-block { display: grid; align-content: start; gap: 12px; min-height: 156px; padding: 20px; color: var(--ink); background: #f7faf5; border: 1px solid #c9d5c4; border-top: 4px solid var(--green); border-radius: 12px; }.review-block > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.review-block > div > strong { font-size: 1.04rem; line-height: 1.3; }.review-block button { padding: 5px 7px; color: #236b00; background: #e7f6df; border: 0; border-radius: 6px; font-size: .82rem; font-weight: 800; cursor: pointer; }.review-summary { display: grid; gap: 7px; }.review-summary span { color: #354039; font-size: .95rem; font-weight: 620; line-height: 1.45; }.review-summary span + span { padding-top: 7px; border-top: 1px solid #dbe4d7; }.final-consent { margin-top: 25px; padding: 18px; color: #28312b; background: #f1f6ee; border: 1px solid #cad7c5; border-radius: 10px; font-size: .94rem; line-height: 1.5; }.submission-guidance { margin: 16px 0 0; padding: 15px 17px; color: #6a241c; background: #fff1ef; border: 1px solid #e2a59d; border-radius: 10px; font-size: .94rem; font-weight: 700; line-height: 1.5; }
.wizard-actions { max-width: 880px; margin: 38px auto 0; display: flex; justify-content: space-between; padding-top: 24px; border-top: 1px solid var(--line); }
.back-button { display: flex; align-items: center; gap: 8px; padding: 12px 0; color: var(--ink); background: none; border: 0; font-weight: 700; cursor: pointer; }.back-button:disabled { opacity: .25; }
.wizard-success, .form-success { max-width: 700px; margin: 80px auto; padding: 50px; text-align: center; background: white; border-radius: 20px; box-shadow: 0 20px 60px rgba(24,30,23,.1); }.wizard-success > span, .form-success > svg { width: 70px; height: 70px; display: grid; place-items: center; margin: 0 auto 24px; color: #17330b; background: var(--green); border-radius: 50%; }.wizard-success h2, .form-success h2 { margin: 0; font-size: 2.5rem; }.wizard-success p, .form-success p { color: var(--muted); line-height: 1.6; }

.contact-layout, .form-page-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(35px,7vw,100px); padding: clamp(70px,9vw,130px) clamp(22px,9vw,138px); }
.contact-details { display: grid; align-content: start; gap: 14px; }.contact-details > div { padding: 25px; background: white; border: 1px solid var(--line); border-radius: 14px; }.contact-details svg { color: var(--green-dark); }.contact-details h3 { margin: 15px 0 8px; }.contact-details p { color: var(--muted); line-height: 1.55; }.contact-details small { color: var(--muted); line-height: 1.5; }
.inquiry-form { padding: clamp(28px,4vw,52px); background: white; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 18px 55px rgba(24,30,23,.08); }.inquiry-form h2 { margin: 0; font-size: clamp(2rem,4vw,3.3rem); letter-spacing: -.04em; }.inquiry-form > p:not(.card-kicker) { margin-bottom: 30px; color: var(--muted); }.inquiry-form .button { margin-top: 20px; }
.gt-place-autocomplete { display: block; width: 100%; color-scheme: light; --gmp-mat-color-primary: var(--green); --gmp-mat-color-on-surface: var(--ink); --gmp-mat-color-surface: #fff; }
.gt-place-autocomplete.gt-invalid { outline: 2px solid #b42318; outline-offset: 2px; border-radius: 8px; }
.gt-captcha { margin: 24px 0 4px; padding: 18px; background: #f7f9f5; border: 1px solid var(--line); border-radius: 14px; overflow-x: auto; }
.gt-captcha p { margin: 10px 0 0; color: var(--muted); font-size: .88rem; }
.confirmation-page { min-height: 68vh; display: grid; place-items: center; padding: clamp(56px,8vw,110px) 20px; background: linear-gradient(145deg,#f4f8f1 0%,#fff 65%); }
.confirmation-card { width: min(760px,100%); padding: clamp(30px,6vw,62px); text-align: center; background: #fff; border: 1px solid var(--line); border-radius: 24px; box-shadow: 0 24px 70px rgba(24,30,23,.1); }
.confirmation-icon { display: grid; place-items: center; width: 68px; height: 68px; margin: 0 auto 22px; color: #fff; background: var(--green); border-radius: 50%; font-size: 2rem; font-weight: 800; }
.confirmation-card h1 { margin: 8px auto 16px; max-width: 650px; font-size: clamp(2.1rem,5vw,4.2rem); line-height: 1.02; letter-spacing: -.05em; }
.confirmation-lead { max-width: 620px; margin: 0 auto 28px; color: var(--muted); font-size: 1.08rem; line-height: 1.65; }
.confirmation-reference { display: grid; gap: 5px; margin: 28px auto; padding: 22px; color: var(--ink); background: #eff9e9; border: 1px solid #d5eaca; border-radius: 16px; }
.confirmation-reference span { color: #397f18; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.confirmation-reference strong { font-size: clamp(2rem,6vw,3.25rem); letter-spacing: .08em; }
.confirmation-reference small { color: var(--muted); }
.confirmation-status { display: grid; gap: 5px; margin: 0 0 22px; padding: 18px 20px; text-align: left; color: #5d4a18; background: #fff8e8; border: 1px solid #f2dfad; border-radius: 14px; }
.confirmation-callout { display: flex; align-items: flex-start; gap: 16px; margin: 22px 0; padding: 20px; text-align: left; background: #f7f9f5; border: 1px solid var(--line); border-radius: 14px; }
.confirmation-callout > span { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; color: #fff; background: var(--ink); border-radius: 50%; }
.confirmation-callout p { margin: 5px 0 0; color: var(--muted); line-height: 1.55; }.confirmation-callout a { color: var(--green-dark); font-weight: 800; }
.confirmation-actions { display: flex; align-items: center; justify-content: center; gap: 24px; margin-top: 28px; }
.form-page-layout > div:first-child { padding-top: 25px; }.form-page-layout > div h2 { font-size: clamp(2.4rem,4vw,4.6rem); line-height: 1; letter-spacing: -.05em; }.form-page-layout > div p { color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.check-list { display: grid; gap: 10px; margin: 30px 0; padding: 0; list-style: none; }.check-list li:before { content:'✓'; display: inline-grid; place-items: center; width: 23px; height: 23px; margin-right: 10px; color: #17330b; background: var(--green); border-radius: 50%; font-size: .75rem; font-weight: 900; }
.form-success button { padding: 0; color: var(--green-dark); background: none; border: 0; font-weight: 760; cursor: pointer; }
.availability-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }.availability-grid label { display: flex; align-items: center; gap: 7px; padding: 10px; background: #f8faf7; border: 1px solid var(--line); border-radius: 8px; font-size: .78rem; font-weight: 620; }.availability-grid input { width: 17px; min-height: 17px; height: 17px; padding: 0; accent-color: var(--green-dark); }
.job-requirements { margin: 25px 0; padding: 20px; background: #f4f7f2; border-radius: 12px; }.job-requirements > strong { display: block; margin-bottom: 12px; }

.facility-options { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 70px clamp(22px,9vw,138px); }.facility-options article { padding: 38px; background: white; border: 1px solid var(--line); border-radius: 18px; }.facility-options svg { color: var(--green-dark); }.facility-options h2 { font-size: 2rem; letter-spacing: -.04em; }.facility-options p { color: var(--muted); line-height: 1.6; }.facility-options a { display: inline-flex; align-items: center; gap: 9px; margin-top: 12px; font-weight: 760; }
.facility-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; padding: 70px clamp(22px,9vw,138px); color: white; background: var(--ink); }.facility-benefits h2 { margin: 0; font-size: clamp(2.4rem,4vw,4.8rem); line-height: 1; letter-spacing: -.05em; }.facility-benefits div { display: grid; align-content: center; gap: 16px; }.facility-benefits p { display: flex; gap: 10px; margin: 0; color: #c9d0cb; }.facility-benefits svg { color: var(--green); }
.stacked-forms { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; align-items: start; padding: 90px clamp(22px,7vw,106px); }
.single-form-page { max-width: 900px; margin: 0 auto; padding: 80px 22px 110px; }

.home-area-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(45px,8vw,120px); align-items: center; padding: clamp(80px,10vw,145px) clamp(22px,7vw,106px); color: white; background: var(--ink); }.home-area-section > div:first-child { max-width: 630px; }.home-area-section h2 { margin: 0; font-size: clamp(3rem,5vw,6rem); line-height: .96; letter-spacing: -.06em; }.home-area-section h2 em { color: #83df54; font-style: normal; font-weight: 550; }.home-area-section > div:first-child > p { margin: 28px 0; color: #c5cdc7; font-size: 1.08rem; line-height: 1.7; }.home-area-section .section-label { color: #9de877; }.home-area-section .arrow-link { border-color: #6f7771; }
.area-lookup { padding: clamp(26px,4vw,44px); color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 20px 60px rgba(0,0,0,.16); }.area-lookup-heading { display: grid; grid-template-columns: 48px 1fr; gap: 15px; align-items: center; }.area-lookup-heading > span { width: 48px; height: 48px; display: grid; place-items: center; color: var(--green-dark); background: #eaf8e3; border-radius: 13px; }.area-lookup-heading h2 { margin: 0; font-size: clamp(1.6rem,3vw,2.55rem); line-height: 1.05; letter-spacing: -.04em; }.area-search { min-height: 55px; display: flex; align-items: center; gap: 10px; margin: 28px 0 12px; padding: 0 16px; background: #f8faf7; border: 1px solid #c8d0c5; border-radius: 11px; }.area-search svg { color: var(--green-dark); }.area-search input { flex: 1; min-width: 0; background: none; border: 0; outline: 0; font: inherit; font-size: .92rem; }.area-result { display: flex; gap: 10px; padding: 14px; border-radius: 10px; background: #f1f4ef; }.area-result.yes { background: #eaf8e3; }.area-result svg { color: var(--green-dark); }.area-result p { display: grid; gap: 3px; margin: 0; }.area-result span { color: var(--muted); font-size: .75rem; line-height: 1.45; }.area-suggestions, .town-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }.area-suggestions button, .town-list button { display: inline-flex; align-items: center; gap: 5px; padding: 8px 10px; color: #4d554f; background: white; border: 1px solid var(--line); border-radius: 99px; font: inherit; font-size: .74rem; font-weight: 650; cursor: pointer; }.area-suggestions button:hover, .town-list button:hover { border-color: var(--green); }.town-list { margin-top: 20px; }.town-list svg { color: var(--green-dark); }.area-footnote { margin: 18px 0 0; color: var(--muted); font-size: .75rem; }.area-footnote a { color: var(--green-dark); font-weight: 750; }.area-lookup.compact .town-list { max-height: 92px; overflow: hidden; }
.service-area-search-page { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(45px,8vw,110px); align-items: center; padding: 90px clamp(22px,9vw,138px); }.service-area-search-page > div:first-child h2 { margin: 0; font-size: clamp(2.8rem,4.8vw,5.5rem); line-height: .96; letter-spacing: -.055em; }.service-area-search-page > div:first-child > p { color: var(--muted); font-size: 1.05rem; line-height: 1.7; }.area-facts { display: grid; gap: 9px; margin-top: 30px; }.area-facts article { display: grid; grid-template-columns: 125px 1fr; gap: 15px; padding: 15px 0; border-top: 1px solid var(--line); }.area-facts article span { color: var(--muted); }

.services-list { padding: 70px clamp(22px,9vw,138px); }.services-list article { display: grid; grid-template-columns: 50px 65px 1fr; gap: 25px; align-items: start; padding: 35px 0; border-bottom: 1px solid var(--line); }.services-list > article > span { color: #989f98; font-size: .75rem; font-weight: 800; }.services-list > article > svg { width: 36px; height: 36px; color: var(--green-dark); }.services-list h2 { margin: 0 0 10px; font-size: clamp(1.7rem,3vw,3rem); letter-spacing: -.04em; }.services-list p { max-width: 760px; margin: 0; color: var(--muted); line-height: 1.65; }
.policy-section { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 0 clamp(22px,9vw,138px) 100px; }.policy-section div { padding: 32px; background: white; border: 1px solid var(--line); border-radius: 16px; }.policy-section h2 { margin-top: 0; }.policy-section p { color: var(--muted); line-height: 1.65; }
.service-area-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px,8vw,120px); align-items: center; padding: 90px clamp(22px,9vw,138px); }.route-graphic { position: relative; min-height: 620px; overflow: hidden; background: var(--ink); border-radius: 24px; }.route-graphic:before, .route-graphic:after { content:''; position:absolute; border: 2px solid #626a65; border-radius: 50%; transform: rotate(-25deg); }.route-graphic:before { width: 430px; height: 750px; left: 16%; top: -9%; }.route-graphic:after { width: 260px; height: 690px; left: 30%; top: -5%; }.route-graphic span { position: relative; z-index: 2; display: inline-block; margin: 65px 15px 0 38px; color: #bac1bc; font-size: .75rem; font-weight: 800; }.route-graphic i { position: absolute; z-index: 3; width: 15px; height: 15px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 8px rgba(66,185,0,.14); }.route-graphic i:nth-of-type(1){top:22%;left:42%}.route-graphic i:nth-of-type(2){top:39%;left:63%}.route-graphic i:nth-of-type(3){top:58%;left:37%}.route-graphic i:nth-of-type(4){top:72%;left:67%}.route-graphic i:nth-of-type(5){top:85%;left:44%}
.service-area-layout h2 { font-size: clamp(2.5rem,4vw,4.8rem); line-height: 1; letter-spacing: -.05em; }.service-area-layout p { color: var(--muted); line-height: 1.7; }.town-cloud { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0; }.town-cloud span { display: inline-flex; align-items: center; gap: 6px; padding: 9px 12px; background: white; border: 1px solid var(--line); border-radius: 99px; font-size: .82rem; font-weight: 670; }.town-cloud svg { color: var(--green-dark); }.muted-note { font-size: .85rem; }
.about-story { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(45px,8vw,120px); padding: 90px clamp(22px,9vw,138px); }.about-story > div:first-child > p:not(.large-copy) { color: var(--muted); line-height: 1.7; }.values { display: grid; gap: 15px; }.values article { padding: 27px; background: white; border: 1px solid var(--line); border-radius: 15px; }.values svg { color: var(--green-dark); }.values h3 { margin: 15px 0 8px; }.values p { margin: 0; color: var(--muted); line-height: 1.6; }

/* Recalibrated pickup-area card */
.area-lookup { max-width: 720px; width: 100%; justify-self: end; padding: clamp(28px, 3vw, 42px); }
.area-lookup-heading { grid-template-columns: 52px minmax(0, 1fr); }
.area-lookup-heading > span { width: 52px; height: 52px; font-size: 1.35rem; }
.area-lookup-heading .card-kicker { margin-bottom: 7px; }
.area-lookup-heading h2 { font-size: clamp(1.85rem, 2.5vw, 2.65rem); line-height: 1.05; }
.area-lookup-intro { margin: 18px 0 0; color: var(--muted); font-size: .96rem; line-height: 1.6; }
.area-search { margin-top: 22px; background: #fbfcfa; box-shadow: inset 0 0 0 1px rgba(66,185,0,.03); }
.area-search:focus-within { border-color: var(--green-dark); box-shadow: 0 0 0 3px rgba(66,185,0,.12); }
.area-search > span { color: var(--green-dark); font-size: 1.25rem; }
.area-result { min-height: 78px; align-items: center; border: 1px solid #e0e6dd; }
.area-result p { width: 100%; }
.area-result strong { color: var(--ink); font-size: .94rem; }
.area-result.yes { border-color: #b7dda3; }
.area-result.call { border-color: #ead9a5; }
.area-suggestions { margin-top: 15px; }
.area-suggestions:before { content: 'Popular pickup areas'; flex: 0 0 100%; margin-bottom: 2px; color: #727a73; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.area-suggestions button { padding: 9px 12px; background: #f8faf7; }
.area-footnote { padding-top: 17px; border-top: 1px solid var(--line); line-height: 1.55; }

@media (max-width: 980px) {
  nav { display: none; }
  .hero { grid-template-columns: 1fr; min-height: auto; padding-top: 72px; }
  .hero-copy { max-width: 760px; }
  .hero-photo-wrap { min-height: 520px; }
  .ride-card-wrap { margin: 30px 0 12px; }
  .orbit-one, .orbit-two { left: 50%; transform: translateX(-50%); }
  .trust-strip { grid-template-columns: 1fr 1fr; }
  .trust-strip div { border-bottom: 1px solid var(--line); }
  .split-section, .corridor-section, .audience-section, .contact-layout, .form-page-layout, .facility-benefits, .service-area-layout, .about-story, .home-area-section, .service-area-search-page, .clay-story-heading, .clay-story-layout { grid-template-columns: 1fr; }
  .clay-story-layout { max-width: 820px; }
  .area-lookup { max-width: none; justify-self: stretch; }
  .service-grid { grid-template-columns: 1fr; }.service-grid article + article { border-left: 1px solid var(--line); border-top: 0; }
  .corridor-map { min-height: 460px; }.corridor-copy { padding: 20px 40px 80px; }
  .site-footer { grid-template-columns: 1fr 1fr; }.footer-bottom { grid-column: 1/-1; }
  .wizard-shell { grid-template-columns: 240px minmax(0,1fr); }.wizard-side { padding: 34px 24px; }.wizard-side li small { display: none; }
  .stacked-forms { grid-template-columns: 1fr; }
  .availability-grid { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 640px) {
  .service-ribbon { justify-content: center; text-align: center; }
  .service-ribbon > span { display: none; }
  .site-header { height: 76px; }
  .brand img { width: 176px; }
  .site-header .button-small { width: 44px; min-height: 44px; padding: 0; font-size: 0; }
  .site-header .button-small svg { margin: 0; }
  .hero { padding-top: 56px; padding-bottom: 54px; }
  h1 { font-size: clamp(3.35rem, 16.5vw, 5.2rem); }
  .hero-lede { font-size: 1rem; }
  .hero-photo-wrap { min-height: 0; overflow: hidden; border-radius: 20px; background: var(--ink); }
  .hero-photo { position: relative; inset: auto; height: auto; aspect-ratio: 2 / 1; object-fit: cover; object-position: center; }
  .hero-photo-wrap:after { display: none; }
  .hero-photo-card { position: relative; right: auto; bottom: auto; left: auto; grid-template-columns: 1fr; padding: 18px; border: 0; border-top: 1px solid rgba(255,255,255,.14); border-radius: 0; backdrop-filter: none; }
  .hero-photo-card a { grid-column: 1; grid-row: auto; width: max-content; margin-top: 4px; }
  .hero-actions { align-items: stretch; flex-direction: column; gap: 14px; }
  .text-link { justify-content: center; }
  .clay-story-section { padding: 66px 18px; }
  .clay-story-stills { grid-template-columns: 1fr; }
  .clay-story-stills figure.clay-team-frame { grid-column: auto; }
  .clay-story-stills img { min-height: 430px; }
  .clay-video-card { border-radius: 18px; }
  .clay-video-caption { grid-template-columns: 1fr; padding: 18px; }
  .clay-video-caption > span { width: max-content; }
  .choice-grid { grid-template-columns: 1fr; }
  .card-footer { align-items: stretch; flex-direction: column; }
  .next-button { justify-content: center; }
  .trust-strip { grid-template-columns: 1fr; }
  .trust-strip div { justify-content: flex-start; padding: 0 24px; border-left: 1px solid var(--line); }
  .section, .page-intro { padding-left: 22px; padding-right: 22px; }
  .service-grid, .services-list, .service-area-layout, .about-story, .contact-layout, .form-page-layout, .facility-options, .facility-benefits, .stacked-forms, .policy-section { padding-left: 18px; padding-right: 18px; }
  .service-grid article { min-height: auto; }.service-grid h3 { margin-top: 48px; }
  .corridor-section { grid-template-columns: 1fr; }.corridor-map { min-height: 360px; }.corridor-copy { padding: 20px 22px 64px; }
  .audience-section { gap: 36px; }.audience-cards a { grid-template-columns: 46px minmax(0,1fr) auto; padding: 16px; }
  .cta-band { align-items: stretch; flex-direction: column; }.cta-band h2 { font-size: 2.8rem; }
  .site-footer { grid-template-columns: 1fr; }.footer-bottom { grid-column: 1; flex-direction: column; }
  .wizard-page { padding: 15px 8px 55px; }.wizard-shell { grid-template-columns: 1fr; border-radius: 15px; }.wizard-side { display: none; }.wizard-main { padding: 26px 17px; }
  .wizard-mobile-progress { display: block; margin-bottom: 30px; font-size: .78rem; font-weight: 750; }.wizard-mobile-progress > div { height: 5px; margin-top: 9px; overflow: hidden; background: #e4e8e1; border-radius: 99px; }.wizard-mobile-progress i { display: block; height: 100%; background: var(--green); }
  .wizard-heading { grid-template-columns: 42px 1fr; }.wizard-heading > svg { width: 42px; height: 42px; }.wizard-heading h1 { font-size: 2.4rem; }
  .field-row, .select-cards, .trip-type-grid, .payer-grid, .review-grid { grid-template-columns: 1fr; }
  .trip-type-grid.two-up { grid-template-columns: 1fr 1fr; }
  .recurring-panel { align-items: flex-start; flex-direction: column; }
  .itinerary-card { grid-template-columns: 1fr; }.itinerary-card > svg { transform: rotate(90deg); }
  .wizard-actions .button { min-height: 48px; padding: 0 16px; }
  .wizard-actions { position: sticky; z-index: 10; bottom: 0; margin-left: -17px; margin-right: -17px; padding: 16px 17px; background: rgba(255,255,255,.96); box-shadow: 0 -8px 24px rgba(24,30,23,.08); }
  .digital-time { grid-template-columns: minmax(68px,1fr) auto minmax(68px,1fr) minmax(88px,1fr); gap: 6px; }
  .contact-layout, .form-page-layout { padding-top: 55px; padding-bottom: 55px; }.inquiry-form { padding: 25px 18px; }
  .confirmation-card { border-radius: 18px; }.confirmation-actions { align-items: stretch; flex-direction: column; gap: 16px; }.confirmation-callout { padding: 16px; }.gt-captcha { margin-left: -3px; margin-right: -3px; padding: 12px 8px; }
  .facility-options, .policy-section { grid-template-columns: 1fr; }.facility-options { padding-top: 50px; padding-bottom: 50px; }
  .services-list article { grid-template-columns: 35px 42px 1fr; gap: 12px; }.services-list > article > svg { width: 27px; height: 27px; }
  .route-graphic { min-height: 430px; }.service-area-layout { padding-top: 55px; padding-bottom: 55px; }
  .home-area-section, .service-area-search-page { padding-left: 18px; padding-right: 18px; }.availability-grid { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; }
}

/* Staging review mode */
.review-mode-active *:not([data-review-ui="true"]):not([data-review-ui="true"] *) { cursor: crosshair !important; }
.review-toolbar { position: fixed; z-index: 70; right: 22px; bottom: 22px; display: flex; overflow: hidden; border: 1px solid #3d433f; border-radius: 13px; color: white; background: #171918; box-shadow: 0 14px 42px rgba(0,0,0,.25); }
.review-toolbar button { min-height: 48px; display: flex; align-items: center; gap: 8px; padding: 0 16px; color: white; background: transparent; border: 0; font: inherit; font-size: .82rem; font-weight: 750; cursor: pointer; }
.review-toolbar button:first-child { border-right: 1px solid #3d433f; }
.review-toolbar button.active { color: #18300d; background: var(--green); }
.review-toolbar .review-count { color: #bac2bc; font-weight: 600; }
.review-instruction { position: fixed; z-index: 69; left: 50%; bottom: 25px; display: flex; align-items: center; gap: 8px; transform: translateX(-50%); padding: 11px 16px; color: #17300c; background: #dff9d2; border: 1px solid #9edd7f; border-radius: 99px; box-shadow: 0 10px 35px rgba(0,0,0,.12); font-size: .8rem; font-weight: 720; }
.review-pin { position: absolute; z-index: 60; width: 30px; height: 30px; display: grid; place-items: center; transform: translate(-50%,-50%); color: #132a09; background: var(--green); border: 2px solid white; border-radius: 50%; box-shadow: 0 5px 16px rgba(0,0,0,.3); font-weight: 850; cursor: pointer; }
.review-sheet { width: min(440px, 94vw) !important; max-width: none !important; gap: 0 !important; color: var(--ink) !important; background: #f5f7f2 !important; border-left: 1px solid #d7ddd4 !important; }
.review-sheet [data-slot="sheet-header"] { padding: 26px 26px 20px; background: white; border-bottom: 1px solid var(--line); }
.review-sheet [data-slot="sheet-title"] { font-size: 1.25rem; font-weight: 800; }
.review-sheet [data-slot="sheet-description"] { margin-top: 6px; color: var(--muted); line-height: 1.45; }
.review-draft { display: grid; gap: 10px; margin: 18px; padding: 18px; background: white; border: 1px solid #a9db91; border-radius: 13px; box-shadow: 0 10px 30px rgba(33,50,27,.08); }
.review-draft > span { color: var(--green-dark); font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.review-draft > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; }
.review-draft textarea { width: 100%; margin-top: 5px; padding: 12px; resize: vertical; color: var(--ink); background: #fafbf9; border: 1px solid #cbd3c8; border-radius: 9px; font: inherit; font-size: .88rem; line-height: 1.5; outline: none; }
.review-draft textarea:focus { border-color: var(--green-dark); box-shadow: 0 0 0 3px rgba(66,185,0,.1); }
.review-draft > div { display: flex; justify-content: flex-end; gap: 8px; }
.review-draft button { min-height: 38px; padding: 0 13px; color: var(--ink); background: transparent; border: 1px solid var(--line); border-radius: 8px; font: inherit; font-size: .78rem; font-weight: 750; cursor: pointer; }
.review-draft button.save { color: white; background: var(--ink); border-color: var(--ink); }.review-draft button:disabled { opacity: .35; cursor: not-allowed; }
.review-list { flex: 1; overflow: auto; padding: 18px; }
.review-list-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 11px; }.review-list-heading strong { font-size: .82rem; text-transform: uppercase; letter-spacing: .07em; }.review-list-heading span { min-width: 26px; height: 26px; display: grid; place-items: center; color: #284122; background: #dff9d2; border-radius: 99px; font-size: .72rem; font-weight: 800; }
.review-empty { padding: 28px 20px; text-align: center; color: var(--muted); background: white; border: 1px dashed #c8d0c5; border-radius: 12px; font-size: .82rem; line-height: 1.55; }
.review-list article { display: grid; gap: 8px; margin-bottom: 10px; padding: 15px; background: white; border: 1px solid var(--line); border-radius: 11px; }
.review-list article > div { display: grid; grid-template-columns: 26px 1fr auto; align-items: center; gap: 8px; }.review-list article > div > span { width: 24px; height: 24px; display: grid; place-items: center; color: #17300c; background: var(--green); border-radius: 50%; font-size: .7rem; font-weight: 850; }.review-list article small { color: #7b837d; }.review-list article button { padding: 5px; color: #929994; background: none; border: 0; cursor: pointer; }.review-list article > strong { overflow: hidden; color: #5b635d; text-overflow: ellipsis; white-space: nowrap; font-size: .72rem; }.review-list article p { margin: 0; font-size: .84rem; line-height: 1.5; }
.review-sheet-footer { padding: 18px; background: white; border-top: 1px solid var(--line); }
.review-sheet-footer button { width: 100%; min-height: 45px; display: flex; align-items: center; justify-content: center; gap: 8px; color: white; background: var(--ink); border: 0; border-radius: 9px; font: inherit; font-size: .82rem; font-weight: 780; cursor: pointer; }.review-sheet-footer button:disabled { opacity: .35; cursor: not-allowed; }.review-sheet-footer p { margin: 9px 0 0; text-align: center; color: var(--muted); font-size: .7rem; }

@media (max-width: 720px) {
  .review-toolbar { right: 10px; bottom: 10px; left: 10px; justify-content: space-between; }
  .review-toolbar button { flex: 1; justify-content: center; }
  .review-instruction { right: 14px; bottom: 71px; left: 14px; justify-content: center; transform: none; text-align: center; }
}
