:root { --ink:#0a0b0d; --paper:#f3f0e9; --ice:#C7AB37; --line:rgba(10,11,13,.16); --container-max:1600px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,select { font:inherit; }
.site-header { height:94px; display:flex; align-items:center; justify-content:space-between; padding:0 max(4vw, calc((100vw - var(--container-max)) / 2)); background:var(--ink); color:white; position:relative; z-index:5; border-bottom:1px solid rgba(255,255,255,.16); }
.brand { display:flex; align-items:center; gap:12px; font-size:12px; line-height:1.05; text-transform:uppercase; letter-spacing:.11em; font-weight:700; }
.brand-mark { width:50px; height:50px; flex:0 0 50px; display:block; background:url("../images/ato-logo-mark.png") center/contain no-repeat; }
.original-logo { display:flex; align-items:center; flex:0 0 auto; }
.original-logo img { display:block; width:285px; height:auto; object-fit:contain; object-position:left center; filter:brightness(1.12) contrast(1.08); }
.quote-original-logo { background:var(--ink); padding:12px 16px; }
.quote-original-logo img { width:245px; }
nav { display:flex; gap:30px; font-size:13px; }
nav a,.header-cta,.text-link,.contact-actions a,.fleet-info a { transition:opacity .2s; }
nav a:hover,.header-cta:hover,.text-link:hover,.contact-actions a:hover,.fleet-info a:hover { opacity:.58; }
.header-cta { display:flex; gap:30px; align-items:center; border-bottom:1px solid currentColor; padding:10px 0; font-size:13px; }
.service-dropdown { position:relative; }
.service-dropdown>button { border:0; background:transparent; color:inherit; padding:0 0 24px; margin-bottom:-24px; cursor:pointer; display:flex; gap:7px; align-items:center; font-size:13px; }
.service-dropdown>button span { color:#c8b96c; font-size:11px; }
.service-menu { position:absolute; top:34px; left:-28px; width:330px; padding:23px 28px 18px; background:var(--ink); color:white; box-shadow:0 24px 60px rgba(0,0,0,.24); opacity:0; visibility:hidden; transform:translateY(8px); transition:.2s ease; z-index:20; }
.service-dropdown:hover .service-menu,.service-dropdown:focus-within .service-menu { opacity:1; visibility:visible; transform:translateY(0); }
.service-menu>span { display:block; color:#777d84; text-transform:uppercase; letter-spacing:.14em; font-size:8px; margin-bottom:11px; }
.service-menu a { display:grid; grid-template-columns:32px 1fr 18px; gap:10px; align-items:center; padding:13px 0; border-top:1px solid rgba(255,255,255,.15); font:400 18px Georgia,serif; }
.service-menu a small { color:var(--ice); font:8px Arial,sans-serif; }
.service-menu a span { justify-self:end; font:11px Arial,sans-serif; }
.mobile-nav { display:none; position:relative; }
.hero { min-height:880px; color:white; position:relative; display:grid; grid-template-columns:1fr 460px; align-content:center; gap:5vw; padding:70px max(4vw, calc((100vw - var(--container-max)) / 2)) 120px; overflow:hidden; }
.hero-image,.hero-shade { position:absolute; inset:0; }
.hero-image { background:url("../images/banner.webp") center 44%/cover no-repeat; transform:scale(1.015); }
.hero-shade { background:linear-gradient(90deg,rgba(6,8,11,.88) 0%,rgba(6,8,11,.5) 55%,rgba(6,8,11,.28) 100%),linear-gradient(0deg,rgba(6,8,11,.7),transparent 48%); }
.hero-copy,.booking-card { position:relative; z-index:1; }
.eyebrow { text-transform:uppercase; letter-spacing:.18em; font-size:11px; font-weight:700; margin:0 0 28px; }
.eyebrow.light { color:var(--ice); }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.055em; margin:0; line-height:.93; }
h1 { font-size:clamp(68px,7.4vw,118px); max-width:890px; }
h1 em,h2 em { color:var(--ice); font-weight:400; }
.hero-lede { max-width:500px; font-size:20px; line-height:1.55; color:rgba(255,255,255,.78); margin:34px 0 0; }
.booking-card { background:rgba(247,245,240,.96); color:var(--ink); padding:28px; align-self:center; box-shadow:0 28px 70px rgba(0,0,0,.28); backdrop-filter:blur(12px); }
.booking-top { display:flex; justify-content:space-between; padding-bottom:22px; margin-bottom:6px; border-bottom:1px solid var(--line); font-size:14px; font-weight:700; }
.availability { font-size:11px; text-transform:uppercase; letter-spacing:.08em; display:flex; align-items:center; gap:7px; }
.availability i { width:7px; height:7px; background:#3ca66b; border-radius:50%; }
.booking-card label { display:block; padding:17px 0 13px; border-bottom:1px solid var(--line); }
.booking-card label span { display:block; font-size:10px; text-transform:uppercase; letter-spacing:.13em; font-weight:700; margin-bottom:8px; color:#666; }
.booking-card input,.booking-card select { width:100%; border:0; background:transparent; color:var(--ink); outline:none; padding:0; font-size:16px; }
.booking-card input::placeholder { color:#8b8a86; }
.booking-row { display:grid; grid-template-columns:1fr 1fr .7fr; gap:16px; }
.booking-row-2 { grid-template-columns:1fr 1fr; }
.booking-card button,.primary-action { border:0; background:var(--ink); color:white; width:100%; padding:18px 20px; margin-top:25px; display:flex; justify-content:space-between; cursor:pointer; }
.booking-card button:hover { background:#252a31; }
.booking-note { text-align:center; color:#74716c; font-size:10px; margin:13px 0 0; }
.trust-strip { position:absolute; z-index:2; bottom:0; left:0; right:0; min-height:76px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; padding:0 max(4vw, calc((100vw - var(--container-max)) / 2)); border-top:1px solid rgba(255,255,255,.25); background:rgba(4,6,8,.58); backdrop-filter:blur(12px); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.trust-strip span { display:flex; align-items:center; gap:10px; }
.trust-strip img { width:30px; height:30px; flex:0 0 30px; object-fit:contain; }
.intro,.fleet,.testimonials,.faq { padding:130px max(7vw, calc((100vw - var(--container-max)) / 2)); }
.intro h2,.section-title-row h2,.faq h2 { font-size:clamp(54px,6.2vw,100px); }
.intro-grid { display:grid; grid-template-columns:1.8fr .7fr .7fr; gap:5vw; border-top:1px solid var(--line); margin-top:70px; padding-top:34px; }
.intro-grid>p,.section-title-row>p { font-size:20px; line-height:1.55; max-width:620px; margin:0; color:#444; }
.stat strong { display:block; font-family:Georgia,serif; font-weight:400; font-size:42px; margin-bottom:10px; }
.stat span { font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:#65615c; }
.services { background:var(--ink); color:white; padding:130px max(4vw, calc((100vw - var(--container-max)) / 2)) 80px; }
.section-head { display:grid; grid-template-columns:1.5fr .5fr; gap:12vw; align-items:end; padding:0 3vw 90px; }
.section-head h2,.experience h2,.route-section h2,.final-cta h2 { font-size:clamp(58px,7vw,108px); }
.section-head>p,.experience-copy>p,.route-section>div>p { font-size:18px; line-height:1.65; color:rgba(255,255,255,.66); max-width:440px; margin:0; }
.service-list { border-top:1px solid rgba(255,255,255,.22); }
.service-list article { display:grid; grid-template-columns:70px 1fr 1.2fr 80px; gap:30px; align-items:center; padding:34px 3vw; border-bottom:1px solid rgba(255,255,255,.22); }
.service-list article>span { color:var(--ice); font-size:11px; }
.service-list h3 { font-family:Georgia,serif; font-size:34px; font-weight:400; margin:0; }
.service-list p { color:rgba(255,255,255,.6); line-height:1.55; font-size:15px; max-width:500px; }
.service-list a { justify-self:end; display:flex; gap:20px; font-size:12px; border-bottom:1px solid currentColor; padding:7px 0; }
.experience { display:grid; grid-template-columns:1.08fr .92fr; min-height:850px; background:#15191f; color:white; }
.experience-image { background:url("../images/chauffeur-experience.png") center 52%/cover no-repeat; min-height:650px; filter:saturate(.86) contrast(1.04); }
.experience-copy { padding:110px 8vw; display:flex; flex-direction:column; justify-content:center; }
.experience-copy>p { margin:32px 0; }
.experience-copy ul { list-style:none; padding:24px 0; margin:0; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); display:grid; grid-template-columns:1fr 1fr; gap:18px; font-size:13px; }
.experience-copy li span { color:var(--ice); margin-right:10px; }
.text-link { margin-top:34px; align-self:flex-start; display:flex; gap:36px; border-bottom:1px solid currentColor; padding-bottom:8px; font-size:13px; }
.section-title-row { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:70px; }
.section-title-row>p { max-width:420px; }
.fleet-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.fleet-card { background:#e8e5de; overflow:hidden; }
.fleet-visual { position:relative; height:260px; overflow:hidden; background:#1b2027; }
.fleet-visual img { width:100%; height:100%; object-fit:cover; display:block; }
.fleet-visual span { position:absolute; color:rgba(255,255,255,.05); font:210px Georgia,serif; right:-5px; bottom:-35px; }
.fleet-info { padding:28px; position:relative; }
.fleet-index { position:absolute; right:28px; top:30px; font-size:10px; color:#78746e; }
.fleet-info h3 { font:400 33px Georgia,serif; margin:0 0 9px; }
.fleet-info>p { font-size:13px; color:#67635e; margin:0 0 25px; }
.fleet-info>div { display:flex; gap:22px; padding:18px 0; border-top:1px solid var(--line); font-size:14px; }
.fleet-info a { display:flex; justify-content:space-between; padding-top:18px; border-top:1px solid var(--line); font-size:14px; }
.route-section { background:var(--ice) url(../images/orange-section-bg.png) center center no-repeat; min-height:750px; padding:120px max(7vw, calc((100vw - var(--container-max)) / 2)); display:grid; grid-template-columns:1fr 500px; gap:9vw; align-items:center; }
.route-section .eyebrow,.route-section em { color:#264666; }
.route-section>div>p { color:#000000; margin-top:35px; }
.route-card { background:var(--paper); padding:36px; box-shadow:0 28px 70px rgba(29,55,80,.18); }
.route-line { display:flex; align-items:center; gap:10px; margin:4px 0 28px; }
.route-line i { width:10px; height:10px; border:2px solid var(--ink); border-radius:50%; }
.route-line span { height:1px; background:#888; flex:1; }
.route-place { display:grid; grid-template-columns:62px 1fr; align-items:center; padding:20px 0; border-top:1px solid var(--line); }
.route-place>span { font:400 16px Georgia,serif; }
.route-place strong,.route-place small { display:block; }
.route-place strong { font:400 20px Georgia,serif; }
.route-place small { font-size:11px; color:#77736e; margin-top:5px; }
.route-time { display:flex; justify-content:space-between; align-items:baseline; padding:15px 0; color:#666; }
.route-time span { font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.route-time strong { font:400 34px Georgia,serif; color:var(--ink); }
.route-card>a { background:var(--ink); color:white; display:flex; justify-content:space-between; padding:18px 20px; margin-top:18px; font-size:13px; }
.testimonials { text-align:center; }
.testimonials blockquote { max-width:1050px; margin:60px auto 40px; font:400 clamp(38px,4.4vw,70px)/1.12 Georgia,serif; letter-spacing:-.035em; }
.quote-meta span { letter-spacing:.25em; font-size:13px; }
.quote-meta p { font-size:11px; text-transform:uppercase; letter-spacing:.09em; color:#6a6661; }
.faq { display:grid; grid-template-columns:.72fr 1.28fr; gap:8vw; border-top:1px solid var(--line); }
.faq-list details { border-top:1px solid var(--line); padding:26px 0; }
.faq-list details:last-child { border-bottom:1px solid var(--line); }
.faq-list summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; font:400 22px Georgia,serif; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { font-family:Arial,sans-serif; font-weight:300; color:#6e6a64; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { color:#5f5b56; max-width:650px; line-height:1.6; font-size:15px; padding-right:40px; }
.final-cta { background:#0a0b0d; color:white; padding:110px max(7vw, calc((100vw - var(--container-max)) / 2)); display:flex; justify-content:space-between; align-items:end; }
.contact-actions { width:min(100%,420px); display:grid; }
.contact-actions a { display:flex; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.25); padding:18px 0; font-size:13px; }
.contact-actions .primary-action { padding:18px 20px; background:var(--ice); color:var(--ink); margin:0 0 15px; border:0; }
footer { background:#0a0b0d; color:white; border-top:1px solid rgba(255,255,255,.16); padding:70px max(7vw, calc((100vw - var(--container-max)) / 2)) 30px; display:grid; grid-template-columns:1.3fr repeat(4,1fr); gap:42px; position:relative; }
.footer-original-logo { align-self:start; padding:4px 0; }
.footer-original-logo img { width:250px; }
footer>div { display:flex; flex-direction:column; align-items:flex-start; gap:10px; font-size:13px; }
footer>div>span { color:#777; text-transform:uppercase; font-size:10px; letter-spacing:.12em; margin-bottom:8px; }
footer p { margin:0; line-height:1.6; color:#aaa; }
.copyright { grid-column:1/-1; border-top:1px solid rgba(255,255,255,.16); padding-top:25px; margin-top:40px; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }

@media (max-width: 900px) {
  nav { display:none; }
  .mobile-nav { display:block; margin-left:auto; margin-right:24px; }
  .mobile-nav summary { cursor:pointer; list-style:none; font-size:11px; text-transform:uppercase; letter-spacing:.12em; border-bottom:1px solid currentColor; padding:8px 0; }
  .mobile-nav summary::-webkit-details-marker { display:none; }
  .mobile-nav>div { position:absolute; right:-90px; top:43px; width:min(88vw,340px); background:var(--ink); color:white; padding:24px; display:grid; z-index:30; box-shadow:0 25px 60px rgba(0,0,0,.28); }
  .mobile-nav>div>span { color:var(--ice); font-size:8px; text-transform:uppercase; letter-spacing:.14em; padding-bottom:10px; }
  .mobile-nav a { padding:12px 0; border-top:1px solid rgba(255,255,255,.15); font-size:14px; }
  .site-header { padding:0 22px; height:84px; }
  .hero { min-height:0; display:block; padding:90px 22px 105px; }
  .hero-copy { padding-bottom:55px; }
  .hero-lede { font-size:17px; }
  .booking-card { max-width:520px; }
  .trust-strip { grid-template-columns:1fr 1fr; gap:12px; padding:18px 22px; }
  .intro,.fleet,.testimonials,.faq { padding:90px 24px; }
  .intro-grid,.section-head,.faq { grid-template-columns:1fr; }
  .intro-grid { gap:34px; }
  .services { padding:90px 22px 55px; }
  .section-head { padding:0 0 55px; gap:35px; }
  .service-list article { grid-template-columns:42px 1fr 50px; padding:28px 0; gap:15px; }
  .service-list article p { grid-column:2/4; margin:0; }
  .experience { grid-template-columns:1fr; }
  .experience-image { min-height:520px; }
  .experience-copy { padding:85px 24px; }
  .fleet-grid { grid-template-columns:1fr; }
  .section-title-row { display:block; }
  .section-title-row>p { margin-top:30px; }
  .route-section { grid-template-columns:1fr; padding:90px 24px; }
  .route-card { max-width:560px; width:100%; }
  .final-cta { display:block; padding:85px 24px; }
  .contact-actions { margin-top:60px; }
  footer { grid-template-columns:1fr 1fr; padding:60px 24px 25px; }
}
@media (max-width: 560px) {
  .header-cta { gap:10px; }
  .original-logo img { width:215px; }
  .quote-original-logo { padding:10px 12px; }
  .quote-original-logo img { width:190px; }
  .mobile-nav { margin-right:0; }
  .header-cta { display:none; }
  h1 { font-size:58px; }
  .hero { padding-top:70px; }
  .booking-row { grid-template-columns:1fr 1fr; }
  .booking-row label:last-child { grid-column:1/-1; }
  .trust-strip { position:relative; margin:55px -22px -105px; }
  .experience-copy ul { grid-template-columns:1fr; }
  .experience-image { min-height:430px; }
  .route-card { padding:24px; }
  .faq { gap:55px; }
  footer { grid-template-columns:1fr; }
}

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

/* Fixed-price request journey */
.quote-page { min-height:100vh; background:var(--paper); }
.quote-header { height:84px; display:flex; align-items:center; justify-content:space-between; padding:0 max(4vw, calc((100vw - var(--container-max)) / 2)); border-bottom:1px solid var(--line); }
.quote-help { font-size:12px; color:#65615c; }
.quote-help strong { color:var(--ink); margin-left:8px; }
.quote-shell { min-height:calc(100vh - 142px); display:grid; grid-template-columns:minmax(360px,.82fr) minmax(560px,1.18fr); }
.quote-intro { background:linear-gradient(120deg,rgba(6,8,11,.93) 0%,rgba(6,8,11,.84) 60%,rgba(6,8,11,.76) 100%),url("../images/banner.webp") center 40%/cover no-repeat; color:white; padding:58px 5vw 70px; display:flex; flex-direction:column; }
.back-link { font-size:12px; color:rgba(255,255,255,.62); margin-bottom:82px; align-self:flex-start; }
.quote-intro h1 { font-size:clamp(56px,5.7vw,92px); }
.quote-intro>p:not(.eyebrow) { max-width:520px; color:rgba(255,255,255,.67); font-size:17px; line-height:1.65; margin:34px 0 0; }
.quote-assurances { margin-top:auto; padding-top:70px; display:grid; gap:0; }
.quote-assurances div { border-top:1px solid rgba(255,255,255,.17); padding:18px 0; display:grid; grid-template-columns:145px 1fr; gap:22px; }
.quote-assurances strong { font:400 18px Georgia,serif; }
.quote-assurances span { font-size:12px; color:rgba(255,255,255,.52); line-height:1.5; }
.quote-panel { padding:52px clamp(30px,6vw,92px) 70px; background:#f7f5ef; }
.progress { margin:0 0 44px; padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,1fr); }
.progress li { color:#96918a; font-size:10px; text-transform:uppercase; letter-spacing:.12em; display:flex; align-items:center; gap:9px; border-bottom:1px solid #d4d0c9; padding-bottom:15px; }
.progress li span { width:23px; height:23px; border:1px solid #c5c0b8; border-radius:50%; display:grid; place-items:center; }
.progress li.active { color:var(--ink); border-color:var(--ink); }
.progress li.active span { background:var(--ink); color:white; border-color:var(--ink); }
.journey-summary { background:#dfeaf4; padding:28px; position:relative; margin-bottom:40px; }
.journey-summary>p,.review-block>p { margin:0 0 12px; text-transform:uppercase; letter-spacing:.13em; font-size:10px; font-weight:700; color:#526b83; }
.journey-summary h2,.review-block h2 { margin:0; font:400 27px/1.15 Georgia,serif; letter-spacing:-.025em; }
.journey-summary>div { display:flex; flex-wrap:wrap; gap:9px 20px; margin-top:18px; font-size:12px; color:#4c5965; }
.journey-summary>a { position:absolute; top:28px; right:28px; font-size:11px; border-bottom:1px solid currentColor; }
.form-title { display:flex; justify-content:space-between; align-items:center; padding-bottom:16px; border-bottom:1px solid var(--line); margin-bottom:4px; }
.form-title>span { font:400 25px Georgia,serif; }
.form-title small { color:#7b7771; font-size:10px; text-transform:uppercase; letter-spacing:.09em; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; column-gap:24px; }
.field-grid label { display:block; padding:19px 0 13px; border-bottom:1px solid var(--line); }
.field-grid .full-field { grid-column:1/-1; }
.field-grid label>span { display:block; font-size:10px; text-transform:uppercase; letter-spacing:.11em; font-weight:700; color:#67635d; margin-bottom:9px; }
.field-grid input,.field-grid select,.field-grid textarea { display:block; width:100%; color:var(--ink); background:transparent; border:0; outline:none; padding:0; resize:vertical; border-radius:0; }
.field-grid input,.field-grid select { min-height:26px; }
.field-grid input::placeholder,.field-grid textarea::placeholder { color:#aaa59d; }
.field-grid input:focus,.field-grid select:focus,.field-grid textarea:focus { box-shadow:0 2px 0 var(--ice); }
.consent { display:flex; gap:12px; align-items:flex-start; font-size:11px; line-height:1.5; color:#625f59; margin:22px 0; }
.consent input { margin-top:2px; accent-color:var(--ink); }
.quote-button,.home-button { border:0; width:100%; display:flex; justify-content:space-between; align-items:center; background:var(--ink); color:white; padding:18px 20px; cursor:pointer; }
.quote-button:hover,.home-button:hover { background:#252a31; }
.review-block { padding:26px 0; border-bottom:1px solid var(--line); }
.review-block dl { margin:24px 0 0; display:grid; gap:13px; }
.review-block dl>div { display:grid; grid-template-columns:145px 1fr; gap:20px; font-size:13px; }
.review-block dt { color:#77736d; }
.review-block dd { margin:0; font-weight:600; overflow-wrap:anywhere; }
.email-note { margin:22px 0; padding:15px 17px; background:#e8e5de; color:#55514c; font-size:12px; line-height:1.5; }
.review-actions { display:grid; grid-template-columns:.7fr 1.3fr; gap:12px; }
.secondary-button { border:1px solid var(--ink); background:transparent; color:var(--ink); padding:18px; cursor:pointer; }
.confirmation { padding-top:28px; }
.confirmation-mark { width:54px; height:54px; background:#dfeaf4; color:#244866; border-radius:50%; display:grid; place-items:center; font-size:23px; margin-bottom:38px; }
.confirmation h2 { font:400 clamp(38px,4.2vw,60px)/1 Georgia,serif; letter-spacing:-.04em; margin:0; }
.confirmation>p:not(.eyebrow):not(.confirmation-help) { color:#5d5953; line-height:1.65; max-width:560px; margin:25px 0; }
.reference { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:20px 0; display:flex; justify-content:space-between; align-items:center; }
.reference span { color:#706c66; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.reference strong { font:400 25px Georgia,serif; }
.confirmation-help { font-size:12px; line-height:1.65; color:#6d6963; margin:24px 0; }
.confirmation-help a { border-bottom:1px solid currentColor; color:var(--ink); }
.home-button { margin-top:30px; }
.quote-footer { min-height:58px; display:flex; justify-content:space-between; align-items:center; padding:0 max(4vw, calc((100vw - var(--container-max)) / 2)); background:#050607; color:#8d8f92; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }

@media (max-width: 900px) {
  .quote-shell { grid-template-columns:1fr; }
  .quote-intro { padding:52px 24px; }
  .back-link { margin-bottom:55px; }
  .quote-assurances { padding-top:55px; }
  .quote-panel { padding:45px 24px 65px; }
}

@media (max-width: 560px) {
  .quote-header { height:76px; padding:0 20px; }
  .quote-help { font-size:0; }
  .quote-help strong { font-size:11px; }
  .quote-intro h1 { font-size:52px; }
  .quote-assurances div { grid-template-columns:120px 1fr; }
  .progress li { font-size:0; }
  .progress li span { font-size:10px; }
  .field-grid { grid-template-columns:1fr; }
  .field-grid label { grid-column:1/-1; }
  .journey-summary { padding:24px; }
  .journey-summary>a { position:static; display:inline-block; margin-top:20px; }
  .review-block dl>div { grid-template-columns:105px 1fr; }
  .review-actions { grid-template-columns:1fr; }
  .quote-footer { display:grid; grid-template-columns:1fr; gap:7px; padding:18px 20px; }
}

/* Barcelona airport transfer inner page */
.transfer-hero { min-height:760px; color:white; position:relative; display:grid; grid-template-columns:1fr 440px; gap:6vw; align-items:center; padding:80px max(5vw, calc((100vw - var(--container-max)) / 2)) 92px; overflow:hidden; }
.transfer-hero-image,.transfer-hero-shade { position:absolute; inset:0; }
.transfer-hero-image { background:url("../images/banner.jpg") center 45%/cover no-repeat; transform:scale(1.015); }
.transfer-hero-shade { background:linear-gradient(90deg,rgba(5,7,10,.92),rgba(5,7,10,.52) 62%,rgba(5,7,10,.34)),linear-gradient(0deg,rgba(5,7,10,.58),transparent 45%); }
.transfer-hero-copy,.transfer-booking { position:relative; z-index:1; }
.breadcrumbs { display:flex; gap:10px; align-items:center; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.1em; font-size:9px; margin-bottom:55px; }
.breadcrumbs a { color:var(--ice); }
.transfer-hero h1 { font-size:clamp(68px,7.5vw,112px); }
.transfer-hero-copy>p:not(.eyebrow) { max-width:570px; font-size:19px; line-height:1.58; color:rgba(255,255,255,.74); margin:32px 0; }
.hero-proof { display:flex; flex-wrap:wrap; gap:10px 25px; color:rgba(255,255,255,.68); text-transform:uppercase; letter-spacing:.1em; font-size:9px; }
.hero-proof span:before { content:"✓"; color:var(--ice); margin-right:8px; }
.city-trust { background:var(--ice); display:grid; grid-template-columns:repeat(4,1fr); padding:30px max(5vw, calc((100vw - var(--container-max)) / 2)); }
.city-trust>div { display:flex; align-items:baseline; gap:12px; border-right:1px solid rgba(10,11,13,.18); padding:0 28px; }
.city-trust>div:first-child { padding-left:0; }
.city-trust>div:last-child { border-right:0; }
.city-trust strong { font:400 26px Georgia,serif; }
.city-trust span { font-size:9px; text-transform:uppercase; letter-spacing:.09em; color:#435464; }
.transfer-overview { padding:130px max(7vw, calc((100vw - var(--container-max)) / 2)); display:grid; grid-template-columns:1.1fr .9fr; gap:10vw; }
.transfer-overview h2,.airport-options h2,.arrival-process h2,.benefit-content h2,.inner-fleet h2,.barcelona-guide h2 { font-size:clamp(54px,6.2vw,94px); }
.overview-copy { padding-top:38px; }
.overview-copy>p { font-size:18px; line-height:1.7; color:#514d48; margin:0 0 24px; max-width:590px; }
.dark-link { color:var(--ink); margin-top:35px; }
.airport-options { background:#111419; color:white; padding:120px max(7vw, calc((100vw - var(--container-max)) / 2)); }
.airport-options-head { display:flex; justify-content:space-between; align-items:end; margin-bottom:65px; }
.airport-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:18px; }
.airport-grid article { min-height:300px; background:#1b2027; padding:38px; display:flex; flex-direction:column; position:relative; border:1px solid rgba(255,255,255,.12); }
.airport-grid .airport-primary { background:linear-gradient(135deg,#1a2430,#0c0e12); }
.airport-code { position:absolute; right:25px; top:5px; font:130px Georgia,serif; color:rgba(169,200,232,.06); }
.airport-grid article>div { margin-top:auto; position:relative; }
.airport-grid article p { color:var(--ice); text-transform:uppercase; letter-spacing:.12em; font-size:9px; }
.airport-grid article h3 { font:400 30px Georgia,serif; margin:8px 0 10px; }
.airport-grid article div>span { color:rgba(255,255,255,.5); font-size:12px; }
.airport-grid article>a { border-top:1px solid rgba(255,255,255,.18); padding-top:18px; margin-top:27px; display:flex; justify-content:space-between; font-size:11px; }
.arrival-process { padding:125px max(7vw, calc((100vw - var(--container-max)) / 2)); display:grid; grid-template-columns:.85fr 1.15fr; gap:10vw; }
.arrival-process ol { list-style:none; margin:0; padding:0; }
.arrival-process li { border-top:1px solid var(--line); padding:30px 0; display:grid; grid-template-columns:60px 1fr; gap:20px; }
.arrival-process li:last-child { border-bottom:1px solid var(--line); }
.arrival-process li>span { color:#5d7f9e; font-size:10px; }
.arrival-process h3 { font:400 25px Georgia,serif; margin:0 0 10px; }
.arrival-process li p { color:#64605b; font-size:14px; line-height:1.6; margin:0; max-width:500px; }
.transfer-benefits { background:#15191f; color:white; display:grid; grid-template-columns:1fr 1fr; min-height:820px; }
.benefit-image { background:url("../images/about.jpg") center/cover no-repeat; filter:saturate(.7); }
.benefit-content { padding:100px 7vw; }
.benefit-list { margin-top:55px; }
.benefit-list article { display:grid; grid-template-columns:45px 1fr; border-top:1px solid rgba(255,255,255,.18); padding:23px 0; }
.benefit-list article>span { color:var(--ice); font-size:9px; }
.benefit-list h3 { font:400 21px Georgia,serif; margin:0 0 7px; }
.benefit-list p { margin:0; color:rgba(255,255,255,.55); font-size:13px; line-height:1.55; }
.popular-routes { padding:125px max(7vw, calc((100vw - var(--container-max)) / 2)); }
.route-list { border-top:1px solid var(--line); }
.route-list article { display:grid; grid-template-columns:45px 1fr 50px 1fr 35px; gap:18px; align-items:center; padding:28px 0; border-bottom:1px solid var(--line); }
.route-list article>span { color:#6687a5; font-size:9px; }
.route-list article>div { display:flex; flex-direction:column; gap:6px; }
.route-list small { color:#7b7771; text-transform:uppercase; letter-spacing:.1em; font-size:8px; }
.route-list strong { font:400 20px Georgia,serif; }
.route-list em { color:#817d76; font-size:10px; font-style:normal; }
.route-list article>i { font-style:normal; color:#8aaac8; font-size:20px; }
.route-list article>a { font-size:17px; }
.inner-fleet { background:var(--ink); color:white; padding:120px max(5vw, calc((100vw - var(--container-max)) / 2)); }
.inner-fleet-head { margin:0 2vw 65px; }
.inner-fleet-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.inner-fleet-grid>article { background:#15191e; border:1px solid rgba(255,255,255,.12); }
.inner-car { height:230px; position:relative; overflow:hidden; display:grid; place-items:center; background:radial-gradient(ellipse at 50% 78%,#69727b,#252a30 34%,#090a0c 70%); }
.inner-car:before { content:""; width:76%; height:33%; background:linear-gradient(170deg,#89939e,#171b20 45%,#070809 75%); border-radius:60% 45% 16% 16%/70% 60% 20% 20%; box-shadow:0 22px 25px rgba(0,0,0,.65); transform:skewX(-7deg); }
.inner-car-2:before { height:46%; border-radius:30% 30% 12% 12%/45% 45% 12% 12%; }
.inner-car-3:before { height:56%; border-radius:20% 20% 10% 10%/34% 34% 10% 10%; }
.inner-car>span { position:absolute; right:0; bottom:-27px; color:rgba(255,255,255,.04); font:170px Georgia,serif; }
.inner-car-info { padding:26px; position:relative; }
.inner-car-info>span { position:absolute; right:26px; top:29px; color:#6e747b; font-size:9px; }
.inner-car-info h3 { margin:0 0 8px; font:400 28px Georgia,serif; }
.inner-car-info>p { color:#8b8e92; font-size:12px; margin:0 0 20px; }
.inner-car-info>div { border-top:1px solid rgba(255,255,255,.14); padding:16px 0; display:flex; gap:22px; color:#b6b8bb; }
.inner-car-info>a { border-top:1px solid rgba(255,255,255,.14); padding-top:16px; display:flex; justify-content:space-between; font-size:11px; }
.barcelona-guide { display:grid; grid-template-columns:1fr 1fr; min-height:760px; }
.guide-image { background:linear-gradient(rgba(13,25,36,.18),rgba(13,25,36,.18)),url("../images/banner.jpg") 25% center/cover no-repeat; }
.guide-copy { padding:100px 7vw; background:var(--ice); }
.guide-copy>p:not(.eyebrow) { color:#35495b; font-size:16px; line-height:1.7; margin:33px 0; }
.guide-copy dl { margin:0; }
.guide-copy dl>div { border-top:1px solid rgba(10,11,13,.2); padding:20px 0; display:grid; grid-template-columns:135px 1fr; gap:20px; }
.guide-copy dt { font:400 17px Georgia,serif; }
.guide-copy dd { margin:0; font-size:11px; line-height:1.55; color:#3e5264; }
.transfer-faq { background:#f7f5ef; }

@media (max-width: 900px) {
  .transfer-hero { grid-template-columns:1fr; padding:75px 24px 70px; }
  .transfer-hero-copy { padding-bottom:25px; }
  .transfer-booking { max-width:540px; }
  .city-trust { grid-template-columns:1fr 1fr; gap:18px 0; padding:25px 24px; }
  .city-trust>div { padding:0 18px; }
  .city-trust>div:nth-child(2) { border-right:0; }
  .transfer-overview,.arrival-process { grid-template-columns:1fr; padding:90px 24px; gap:50px; }
  .airport-options { padding:90px 24px; }
  .airport-options-head { display:block; }
  .airport-grid { grid-template-columns:1fr; }
  .transfer-benefits,.barcelona-guide { grid-template-columns:1fr; }
  .benefit-image,.guide-image { min-height:520px; }
  .benefit-content,.guide-copy { padding:85px 24px; }
  .popular-routes { padding:90px 24px; }
  .inner-fleet { padding:90px 24px; }
  .inner-fleet-grid { grid-template-columns:1fr; }
}

@media (max-width: 560px) {
  .transfer-hero h1 { font-size:58px; }
  .breadcrumbs { margin-bottom:42px; }
  .city-trust>div { display:block; }
  .city-trust strong,.city-trust span { display:block; }
  .city-trust span { margin-top:5px; }
  .airport-grid article { min-height:260px; padding:28px; }
  .route-list article { grid-template-columns:32px 1fr 25px; }
  .route-list article>div:nth-of-type(2) { grid-column:2/4; }
  .route-list article>a { grid-column:3; grid-row:1; }
  .route-list article>i { grid-row:2; }
  .guide-copy dl>div { grid-template-columns:1fr; gap:8px; }
}

/* Fleet collection page */
.fleet-header nav a[aria-current="page"] { border-bottom:1px solid currentColor; padding-bottom:6px; }
.fleet-page-hero { min-height:720px; background:linear-gradient(120deg,rgba(6,8,11,.93) 0%,rgba(6,8,11,.82) 60%,rgba(6,8,11,.7) 100%),url("../images/banner.webp") center 40%/cover no-repeat; color:white; display:grid; grid-template-columns:1fr minmax(360px,.55fr); gap:8vw; align-items:end; padding:110px max(7vw, calc((100vw - var(--container-max)) / 2)) 95px; position:relative; overflow:hidden; }
.fleet-page-hero:before { content:"FLEET"; position:absolute; right:-1vw; top:12px; color:rgba(255,255,255,.025); font:240px Georgia,serif; letter-spacing:-.08em; }
.fleet-hero-copy,.fleet-hero-index { position:relative; z-index:1; }
.fleet-hero-copy h1 { font-size:clamp(70px,7.7vw,120px); }
.fleet-hero-copy>p:not(.eyebrow) { max-width:640px; color:rgba(255,255,255,.65); font-size:19px; line-height:1.65; margin:35px 0 0; }
.fleet-hero-index { border-top:1px solid rgba(255,255,255,.22); }
.fleet-hero-index a { display:grid; grid-template-columns:42px 1fr 20px; gap:14px; align-items:center; border-bottom:1px solid rgba(255,255,255,.22); padding:21px 0; font:400 22px Georgia,serif; }
.fleet-hero-index a>span:first-child { color:var(--ice); font:10px Arial,sans-serif; }
.fleet-hero-index a>span:last-child { font:13px Arial,sans-serif; justify-self:end; }
.fleet-principles { background:var(--ice); display:grid; grid-template-columns:repeat(3,1fr); padding:28px max(7vw, calc((100vw - var(--container-max)) / 2)); }
.fleet-principles>div { padding:4px 32px; border-right:1px solid rgba(10,11,13,.18); }
.fleet-principles>div:first-child { padding-left:0; }
.fleet-principles>div:last-child { border:0; }
.fleet-principles strong,.fleet-principles span { display:block; }
.fleet-principles strong { font:400 19px Georgia,serif; margin-bottom:6px; }
.fleet-principles span { color:#40566b; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.fleet-collection { padding:130px max(5vw, calc((100vw - var(--container-max)) / 2)); }
.fleet-collection-intro { padding:0 2vw 90px; display:grid; grid-template-columns:.55fr 1fr .7fr; gap:6vw; align-items:end; }
.fleet-collection-intro .eyebrow { align-self:start; }
.fleet-collection-intro h2,.fleet-fit h2 { font-size:clamp(56px,6.3vw,98px); }
.fleet-collection-intro>p:last-child,.fleet-fit>div>p { color:#56524d; font-size:17px; line-height:1.7; margin:0; }
.fleet-vehicle-list { border-top:1px solid var(--line); }
.fleet-showcase { min-height:650px; display:grid; grid-template-columns:1.08fr .92fr; border-bottom:1px solid var(--line); scroll-margin-top:30px; }
.fleet-showcase-reverse .fleet-showcase-visual { order:2; }
.fleet-showcase-visual { min-height:580px; position:relative; overflow:hidden; display:grid; place-items:center; background:radial-gradient(ellipse at 50% 70%,#88919a,#343a41 30%,#101216 66%); }
.fleet-showcase-visual:before { content:""; width:72%; height:29%; background:linear-gradient(170deg,#9aa2ab,#252a31 42%,#08090b 74%); border-radius:60% 45% 16% 16%/70% 60% 20% 20%; box-shadow:0 35px 45px rgba(0,0,0,.6); transform:skewX(-7deg); position:relative; z-index:1; }
.fleet-showcase-visual:after { content:""; position:absolute; left:15%; right:15%; bottom:24%; height:1px; background:rgba(255,255,255,.28); box-shadow:0 18px 45px rgba(169,200,232,.45); }
.fleet-showcase-visual>span { position:absolute; right:-12px; bottom:-55px; color:rgba(255,255,255,.045); font:260px Georgia,serif; letter-spacing:-.1em; }
.fleet-showcase-visual>small { position:absolute; left:32px; top:30px; color:var(--ice); font-size:10px; letter-spacing:.14em; z-index:2; }
.fleet-showcase-visual>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.fleet-showcase-visual:has(img):before,.fleet-showcase-visual:has(img):after { display:none; }
.fleet-showcase-visual:has(img)>span { display:none; }
.fleet-shape-van { background:radial-gradient(ellipse at 50% 70%,#7f8992,#273039 34%,#090b0e 68%); }
.fleet-shape-van:before { height:44%; border-radius:30% 30% 12% 12%/45% 45% 12% 12%; }
.fleet-shape-sprinter { background:radial-gradient(ellipse at 50% 72%,#767d84,#22272d 34%,#07090b 69%); }
.fleet-shape-sprinter:before { width:67%; height:57%; border-radius:20% 20% 9% 9%/32% 32% 10% 10%; }
.fleet-shape-standard { background:radial-gradient(ellipse at 50% 70%,#71808b,#293239 32%,#090c0e 66%); }
.fleet-showcase-copy { padding:75px clamp(40px,7vw,110px); display:flex; flex-direction:column; justify-content:center; background:#e9e6df; }
.fleet-showcase-copy .eyebrow { color:#617f9b; margin-bottom:20px; }
.fleet-showcase-copy h2 { font:400 clamp(52px,5vw,80px)/.95 Georgia,serif; letter-spacing:-.05em; margin:0; }
.fleet-model { color:#6b6761; font-size:11px; text-transform:uppercase; letter-spacing:.11em; margin:15px 0 32px; }
.fleet-description { color:#4f4c47; font-size:16px; line-height:1.7; max-width:570px; margin:0 0 30px; }
.fleet-showcase-copy dl { margin:0; }
.fleet-showcase-copy dl>div { display:grid; grid-template-columns:112px 1fr; gap:20px; border-top:1px solid var(--line); padding:16px 0; font-size:12px; }
.fleet-showcase-copy dt { color:#77736d; }
.fleet-showcase-copy dd { margin:0; }
.fleet-select { display:flex; justify-content:space-between; background:var(--ink); color:white; padding:18px 20px; margin-top:28px; font-size:12px; }
.fleet-service-standard { background:#111419; color:white; padding:120px max(7vw, calc((100vw - var(--container-max)) / 2)); display:grid; grid-template-columns:.85fr 1.15fr; gap:9vw; }
.fleet-service-standard h2 { font-size:clamp(56px,6.1vw,96px); }
.fleet-standard-grid { display:grid; grid-template-columns:1fr 1fr; }
.fleet-standard-grid article { border-top:1px solid rgba(255,255,255,.18); padding:25px 28px 28px 0; }
.fleet-standard-grid article:nth-child(odd) { border-right:1px solid rgba(255,255,255,.18); }
.fleet-standard-grid article:nth-child(even) { padding-left:28px; }
.fleet-standard-grid article>span { color:var(--ice); font-size:9px; }
.fleet-standard-grid h3 { font:400 22px Georgia,serif; margin:20px 0 8px; }
.fleet-standard-grid p { color:rgba(255,255,255,.52); font-size:13px; line-height:1.6; margin:0; }
.fleet-fit { padding:125px max(7vw, calc((100vw - var(--container-max)) / 2)); display:grid; grid-template-columns:1fr .8fr; gap:10vw; align-items:end; }
.fleet-fit .dark-link { margin-top:35px; }
.fleet-final h2 { max-width:760px; }

@media (max-width: 1050px) {
  .fleet-grid,.inner-fleet-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 900px) {
  .fleet-page-hero { grid-template-columns:1fr; padding:85px 24px 70px; gap:65px; }
  .fleet-page-hero:before { font-size:150px; }
  .fleet-principles { grid-template-columns:1fr; padding:22px 24px; }
  .fleet-principles>div { padding:16px 0; border-right:0; border-bottom:1px solid rgba(10,11,13,.18); }
  .fleet-collection { padding:90px 24px; }
  .fleet-collection-intro { grid-template-columns:1fr; padding:0 0 60px; gap:30px; }
  .fleet-showcase { grid-template-columns:1fr; }
  .fleet-showcase-reverse .fleet-showcase-visual { order:0; }
  .fleet-showcase-copy { padding:65px 40px; }
  .fleet-service-standard,.fleet-fit { grid-template-columns:1fr; padding:90px 24px; gap:55px; }
}
@media (max-width: 560px) {
  .fleet-page-hero h1 { font-size:56px; }
  .fleet-grid,.inner-fleet-grid { grid-template-columns:1fr; }
  .fleet-showcase-visual { min-height:390px; }
  .fleet-showcase-visual>span { font-size:190px; }
  .fleet-showcase-copy { padding:55px 24px; }
  .fleet-standard-grid { grid-template-columns:1fr; }
  .fleet-standard-grid article:nth-child(odd) { border-right:0; }
  .fleet-standard-grid article:nth-child(even) { padding-left:0; }
}

/* Shared service pages */
.service-detail-hero { min-height:760px; background:linear-gradient(120deg,rgba(6,8,11,.93) 0%,rgba(6,8,11,.82) 60%,rgba(6,8,11,.7) 100%),url("../images/banner.webp") center 40%/cover no-repeat; color:white; padding:95px max(6vw, calc((100vw - var(--container-max)) / 2)) 90px; display:grid; grid-template-columns:1.2fr 410px; gap:8vw; align-items:end; position:relative; overflow:hidden; }
.service-hero-number { position:absolute; right:36%; top:-55px; color:rgba(255,255,255,.025); font:360px Georgia,serif; letter-spacing:-.1em; }
.service-detail-copy,.service-booking-panel { position:relative; z-index:1; }
.service-detail-copy h1 { font-size:clamp(68px,7vw,112px); }
.service-detail-copy>p:not(.eyebrow) { max-width:670px; margin:32px 0; font-size:19px; line-height:1.65; color:rgba(255,255,255,.66); }
.service-booking-panel { background:var(--paper); color:var(--ink); padding:38px; }
.service-booking-panel h2 { font:400 38px/1.02 Georgia,serif; letter-spacing:-.04em; margin:0; }
.service-booking-panel>p:not(.eyebrow) { color:#615d57; font-size:13px; line-height:1.6; margin:22px 0 30px; }
.service-booking-panel>a { display:flex; justify-content:space-between; border-top:1px solid var(--line); padding:17px 0; font-size:12px; }
.service-booking-panel>a:first-of-type { background:var(--ice); border:0; padding:18px 20px; margin-bottom:12px; }
.service-intro { padding:130px max(7vw, calc((100vw - var(--container-max)) / 2)); display:grid; grid-template-columns:1.05fr .95fr; gap:10vw; }
.service-intro h2 { font-size:clamp(56px,6vw,94px); }
.service-intro-copy { padding-top:35px; }
.service-intro-copy>p { color:#524f4a; font-size:18px; line-height:1.72; margin:0 0 24px; }
.service-strengths { background:#12151a; color:white; padding:120px max(5vw, calc((100vw - var(--container-max)) / 2)) 80px; }
.strength-grid { border-top:1px solid rgba(255,255,255,.18); display:grid; grid-template-columns:repeat(5,1fr); }
.strength-grid article { padding:30px 25px 35px; border-right:1px solid rgba(255,255,255,.18); }
.strength-grid article:last-child { border-right:0; }
.strength-grid article>span { color:var(--ice); font-size:9px; }
.strength-grid h3 { font:400 22px Georgia,serif; margin:40px 0 13px; }
.strength-grid p { color:rgba(255,255,255,.52); font-size:15px; line-height:1.6; margin:0; }
.service-occasions { padding:125px max(7vw, calc((100vw - var(--container-max)) / 2)); display:grid; grid-template-columns:.75fr 1.25fr; gap:10vw; }
.service-occasions h2 { font-size:clamp(56px,6vw,94px); }
.occasion-list { border-top:1px solid var(--line); }
.occasion-list article { display:grid; grid-template-columns:45px 1fr 25px; gap:20px; align-items:center; border-bottom:1px solid var(--line); padding:27px 0; }
.occasion-list article>span { color:#6283a0; font-size:9px; }
.occasion-list h3 { font:400 24px Georgia,serif; margin:0 0 8px; }
.occasion-list p { color:#68645e; font-size:13px; line-height:1.55; margin:0; }
.service-process { background:var(--ice); padding:110px max(7vw, calc((100vw - var(--container-max)) / 2)); }
.service-process .eyebrow { color:#314c65; }
.service-process-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:50px; border-top:1px solid rgba(10,11,13,.22); }
.service-process-grid>div { padding:30px 45px 10px 0; border-right:1px solid rgba(10,11,13,.22); }
.service-process-grid>div+div { padding-left:45px; }
.service-process-grid>div:last-child { border-right:0; }
.service-process-grid span { font-size:9px; color:#365878; }
.service-process-grid h3 { font:400 27px Georgia,serif; margin:35px 0 12px; }
.service-process-grid p { color:#000; font-size:15px; line-height:1.65; max-width:350px; }
.service-faq { background:#f7f5ef; }

/* Why us */
.why-hero { min-height:690px; background:linear-gradient(120deg,rgba(6,8,11,.93) 0%,rgba(6,8,11,.82) 60%,rgba(6,8,11,.7) 100%),url("../images/banner.webp") center 40%/cover no-repeat; color:white; padding:100px max(7vw, calc((100vw - var(--container-max)) / 2)) 90px; display:grid; grid-template-columns:1fr 430px; gap:10vw; align-items:end; }
.why-hero h1 { font-size:clamp(72px,7.5vw,118px); }
.why-hero>div>p:not(.eyebrow) { max-width:680px; color:rgba(255,255,255,.64); font-size:19px; line-height:1.65; margin:34px 0 0; }
.why-hero aside { border-top:1px solid rgba(255,255,255,.22); padding-top:22px; }
.why-hero aside>span { color:var(--ice); font-size:9px; text-transform:uppercase; letter-spacing:.13em; }
.why-hero blockquote { margin:28px 0 0; font:400 31px/1.25 Georgia,serif; color:rgba(255,255,255,.82); }
.why-story { padding:130px max(7vw, calc((100vw - var(--container-max)) / 2)); display:grid; grid-template-columns:.9fr 1.1fr; gap:10vw; }
.why-story h2 { font-size:clamp(56px,6vw,94px); }
.why-story>div:last-child { padding-top:30px; }
.why-story>div:last-child p { font-size:18px; line-height:1.72; color:#514d48; margin:0 0 24px; }
.why-values { background:#14181d; color:white; padding:120px max(5vw, calc((100vw - var(--container-max)) / 2)) 80px; }
.why-value-list { border-top:1px solid rgba(255,255,255,.18); }
.why-value-list article { display:grid; grid-template-columns:70px .75fr 1.25fr; gap:35px; border-bottom:1px solid rgba(255,255,255,.18); padding:30px 2vw; align-items:center; }
.why-value-list article>span { color:var(--ice); font-size:9px; }
.why-value-list h3 { font:400 27px Georgia,serif; margin:0; }
.why-value-list p { color:rgba(255,255,255,.53); font-size:14px; line-height:1.6; max-width:560px; }
.why-proof { background:var(--ice); display:grid; grid-template-columns:repeat(4,1fr); padding:38px max(7vw, calc((100vw - var(--container-max)) / 2)); }
.why-proof>div { border-right:1px solid rgba(10,11,13,.2); padding:0 32px; }
.why-proof>div:first-child { padding-left:0; }
.why-proof>div:last-child { border:0; }
.why-proof strong,.why-proof span { display:block; }
.why-proof strong { font:400 33px Georgia,serif; }
.why-proof span { color:#40556a; font-size:9px; text-transform:uppercase; letter-spacing:.1em; margin-top:8px; }

/* Contact */
.contact-hero { background:linear-gradient(120deg,rgba(6,8,11,.93) 0%,rgba(6,8,11,.82) 60%,rgba(6,8,11,.7) 100%),url("../images/banner.webp") center 40%/cover no-repeat; color:white; min-height:620px; padding:100px max(7vw, calc((100vw - var(--container-max)) / 2)) 85px; display:grid; grid-template-columns:1fr 520px; gap:10vw; align-items:end; }
.contact-hero h1 { font-size:clamp(72px,7.5vw,118px); }
.contact-hero>div:first-child>p:not(.eyebrow) { max-width:620px; color:rgba(255,255,255,.63); font-size:18px; line-height:1.65; margin:32px 0 0; }
.contact-direct { border-top:1px solid rgba(255,255,255,.2); }
.contact-direct a { display:grid; grid-template-columns:1fr 22px; border-bottom:1px solid rgba(255,255,255,.2); padding:21px 0; }
.contact-direct a>span:first-child { grid-column:1/-1; color:#7e858d; font-size:8px; text-transform:uppercase; letter-spacing:.13em; margin-bottom:9px; }
.contact-direct strong { font:400 21px Georgia,serif; overflow-wrap:anywhere; }
.contact-main { padding:120px max(7vw, calc((100vw - var(--container-max)) / 2)); display:grid; grid-template-columns:.8fr 1.2fr; gap:10vw; }
.contact-office h2 { font-size:clamp(54px,5.8vw,90px); }
.contact-office dl { margin:60px 0 0; }
.contact-office dl>div { display:grid; grid-template-columns:120px 1fr; gap:25px; border-top:1px solid var(--line); padding:20px 0; font-size:13px; }
.contact-office dt { color:#77736d; }
.contact-office dd { margin:0; line-height:1.6; }
.contact-form { background:#e8e5de; padding:38px; }
.contact-form label { display:block; border-bottom:1px solid var(--line); padding:17px 0 13px; }
.contact-form label>span { display:block; color:#67625c; font-size:9px; text-transform:uppercase; letter-spacing:.12em; margin-bottom:9px; font-weight:700; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; border:0; background:transparent; outline:none; padding:0; resize:vertical; color:var(--ink); }
.contact-form-row { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.contact-form button { width:100%; border:0; background:var(--ink); color:white; display:flex; justify-content:space-between; padding:18px 20px; margin-top:24px; cursor:pointer; }
.contact-form>p { text-align:center; color:#77736d; font-size:10px; margin:12px 0 0; }
.contact-choice { background:var(--ice); padding:90px max(7vw, calc((100vw - var(--container-max)) / 2)); display:grid; grid-template-columns:.45fr 1fr 260px; gap:5vw; align-items:end; }
.contact-choice h2 { font-size:clamp(50px,5vw,78px); }
.contact-choice>a { background:var(--ink); color:white; padding:18px 20px; display:flex; justify-content:space-between; font-size:12px; }

@media (max-width: 1000px) {
  .strength-grid { grid-template-columns:1fr 1fr; }
  .strength-grid article { border-bottom:1px solid rgba(255,255,255,.18); }
  .service-detail-hero,.why-hero,.contact-hero { grid-template-columns:1fr; gap:65px; }
  .service-booking-panel,.why-hero aside,.contact-direct { max-width:590px; width:100%; }
  .service-intro,.service-occasions,.why-story,.contact-main { grid-template-columns:1fr; padding:90px 24px; gap:55px; }
  .contact-choice { grid-template-columns:1fr; padding:80px 24px; }
  .contact-choice>a { max-width:360px; }
}
@media (max-width: 700px) {
  .service-detail-hero,.why-hero,.contact-hero { padding:75px 24px 70px; }
  .service-detail-copy h1,.why-hero h1,.contact-hero h1 { font-size:56px; }
  .service-hero-number { font-size:230px; right:-15px; }
  .service-strengths,.why-values { padding:85px 24px 55px; }
  .strength-grid { grid-template-columns:1fr; }
  .strength-grid article { border-right:0; padding-left:0; }
  .service-occasions { gap:50px; }
  .service-process { padding:80px 24px; }
  .service-process-grid { grid-template-columns:1fr; }
  .service-process-grid>div,.service-process-grid>div+div { border-right:0; border-bottom:1px solid rgba(10,11,13,.22); padding:25px 0; }
  .why-value-list article { grid-template-columns:35px 1fr; gap:18px; padding:25px 0; }
  .why-value-list article p { grid-column:2; margin:0; }
  .why-proof { grid-template-columns:1fr 1fr; gap:25px 0; padding:30px 24px; }
  .why-proof>div:nth-child(2) { border-right:0; }
  .contact-main { padding:80px 24px; }
  .contact-form { padding:26px 22px; }
  .contact-form-row { grid-template-columns:1fr; gap:0; }
}


/* Flatpickr date & time styling */
.flatpickr-input[readonly] { cursor:pointer; background:transparent; }
.flatpickr-calendar { font-family:Arial,Helvetica,sans-serif; box-shadow:0 24px 60px rgba(0,0,0,.24); border-radius:0; }
.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after { display:none; }
.flatpickr-months .flatpickr-month { background:var(--ink); color:white; border-radius:0; }
.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month { color:white; fill:white; }
.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg { fill:var(--ice); }
.flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-current-month input.cur-year { background:var(--ink); color:white; }
span.flatpickr-weekday { background:var(--ink); color:rgba(255,255,255,.6); }
.flatpickr-day.selected,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.endRange { background:var(--ink); border-color:var(--ink); color:white; }
.flatpickr-day.today { border-color:var(--ice); }
.flatpickr-day:hover { background:#efe6c2; }
.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus { background:#f3f0e9; }

/* Static handoff additions */
.static-quote-form { display:grid; gap:34px; }
.static-form-section { border-top:1px solid var(--line); padding-top:24px; }
.static-form-section h2 { font:400 28px/1.1 Georgia,serif; letter-spacing:-.025em; margin:0 0 5px; }
.static-form-section > p { color:#77736d; font-size:12px; line-height:1.55; margin:0 0 8px; }
.static-quote-form .quote-button { margin-top:4px; }
.static-required { color:#6b88a3; }
@media (max-width:560px) { .static-quote-form .field-grid { grid-template-columns:1fr; } .static-quote-form .full-field { grid-column:1; } }
