/* LAST SMILE — photographs, considered journeys, Provence. */
:root{--ink:#172822;--muted:#52635b;--pine:#123b30;--paper:#fcfbf8;--gold:#a7793c;--gold-light:#e8c792;--line:#dbe1d9;--title:Georgia,"Times New Roman",serif}
html{scroll-padding-top:112px}
body{font-size:16px;line-height:1.7}
main{overflow:clip}
.wrap{width:min(1260px,calc(100% - 96px))}
h1,h2{font-family:var(--title);font-weight:400;letter-spacing:-.045em;line-height:1.08}
h2{font-size:clamp(2.25rem,4vw,3.8rem)}
h3{letter-spacing:-.02em;line-height:1.25}
h1 em,h2 em{font-weight:400;color:var(--gold-light)}
.eyebrow{font-size:.875rem;letter-spacing:.13em;line-height:1.5;margin-bottom:22px}
.button{min-height:52px;font-size:1rem;padding:15px 23px;border-radius:4px;gap:12px;transition:background-color .18s,color .18s,box-shadow .18s}
.button.primary{background:var(--pine)}
.button:hover{transform:none!important}
.button:focus-visible{outline:3px solid #a7793c;outline-offset:4px}
.signature-header{position:sticky;top:-34px;z-index:30;border-bottom:1px solid #dbe1d9;box-shadow:0 3px 18px #102c2310}
.topbar{font-size:.875rem;letter-spacing:.025em;background:#102e25}
.topbar .wrap{min-height:34px}
.nav{min-height:90px;gap:22px}
.brand-logo{width:174px}
.nav-links{gap:24px;font-size:.875rem}
.nav-links a:not(.contact-top){position:relative;text-decoration:none}
.nav-links a:not(.contact-top)::after{content:"";position:absolute;inset:auto 0 9px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .18s}
.nav-links a:not(.contact-top):hover::after,.nav-links a:not(.contact-top):focus-visible::after,.nav-links a[aria-current]:not(.contact-top)::after{transform:scaleX(1)}
.nav-links .contact-top{border-radius:3px;padding:12px 20px}
.menu-toggle{display:none;align-items:center;gap:9px;min-height:44px;border:1px solid var(--line);background:white;color:var(--ink);padding:10px 14px;font:700 .875rem var(--font);border-radius:3px}
.hero.signature-hero{background:linear-gradient(135deg,#09281f,#163f32);min-height:620px;isolation:isolate}
.signature-hero .hero-background{inset:0 0 0 auto;width:59%;height:100%;object-fit:contain;object-position:center;z-index:-1}
.signature-hero::before{display:none}
.signature-hero .hero-layout{display:block;min-height:620px;padding:78px 0 80px}
.signature-hero .hero-content{width:40%;max-width:510px;padding-right:24px}
.signature-hero h1{font-size:clamp(3rem,3.9vw,4.2rem);max-width:510px;line-height:1.12;letter-spacing:-.035em;text-shadow:none}
.signature-hero h1 em{display:block;margin-top:4px}
.signature-hero .eyebrow,.signature-hero .hero-copy{text-shadow:none}
.signature-hero .hero-copy{font-size:1rem;line-height:1.75;margin-top:25px;color:#e0e8e1;max-width:400px}
.signature-hero .eyebrow{font-size:.8125rem;color:#edcf9f}
.signature-hero .actions{margin-top:30px;gap:12px}
.signature-hero .button.primary{background:var(--gold-light);color:#162b22}
.signature-hero .button.primary:hover,.tariff-teaser .button.primary:hover,.vehicle-copy .button.primary:hover,.local-hero .button.primary:hover{background:#f0d8b1;box-shadow:0 5px 18px #0002}
.signature-hero .button.secondary{font-size:.9375rem;background:transparent;padding-inline:19px;border-color:#90a99a}
.hero-meta{display:flex;flex-wrap:wrap;gap:14px 18px;margin:30px 0 0;padding:0;list-style:none;font-size:.875rem;color:#d2ded5}
.hero-meta li{display:flex;align-items:center;gap:7px}
.hero-meta svg{width:16px;height:16px;fill:none;stroke:#edcf9f;stroke-width:1.8}
.signature-hero .hero-meta{padding-top:22px;border-top:1px solid #ffffff30;max-width:420px}
.hero-photo-caption{position:absolute;right:24px;bottom:22px;padding:8px 12px;background:#102e25dc;color:#fff;font-size:.8125rem;letter-spacing:.02em}
.journey-entry{position:relative;z-index:5;background:var(--paper);padding:30px 0}
.journey-entry .wrap{display:grid;grid-template-columns:.75fr 2.3fr;gap:32px;align-items:center;padding:28px 30px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 30px #102c2309}
.journey-entry h2{font:700 1.375rem/1.25 var(--font);letter-spacing:-.025em}
.journey-entry p{font-size:.875rem;margin:7px 0 0;color:var(--muted)}
.quick-journey{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:16px;align-items:end}
.quick-journey .field{font-size:.875rem;min-width:0}
.quick-journey input{font-size:1rem;min-height:52px;border-color:#c8d2c9;border-radius:4px;background:#f5f7f3}
.quick-journey .button{border:0;cursor:pointer}
.service-strip{background:#123b30;color:#f5f7f2;border:0}
.service-strip .wrap{padding-block:20px;font-size:.875rem}
.service-strip span{border-color:#ffffff38}
section{padding:94px 0}
#services{padding:86px 0 96px;background:var(--paper)}
#services::before{display:none}
#services .section-head{padding:0;border:0;background:none;box-shadow:none;gap:80px;align-items:end;margin-bottom:40px}
#services .section-head>p{font-size:1rem;max-width:440px}
.cards{gap:22px;border:0}
#services .card{padding:32px 28px;background:#f1f4ef;border:1px solid #dbe1d9;border-top:3px solid var(--gold);border-radius:5px;box-shadow:none}
#services .card:first-child,#services .card:last-child{padding:32px 28px}
.service-icon{width:50px;height:50px;border:1px solid #cad9cc;border-radius:50%;background:#e3ece3;margin-bottom:24px;color:var(--pine)}
.card h3{font-size:1.375rem}
.card p{font-size:1rem;margin:18px 0 24px}
.card a{font-size:.9375rem;border:0;padding-top:0;justify-content:flex-start;text-decoration:underline}
.photo-divider{height:44px;background:var(--paper)}
.tariff-teaser{display:block;min-height:0;background:#123b30;color:#fff;padding:84px 0}
.tariff-teaser::before{background:linear-gradient(90deg,#123b30 15%,#123b30da 54%,#123b3070),url("pelerinages/abbaye-thoronet-2000.webp") right center/cover no-repeat}
.tariff-teaser .wrap.section-head{width:min(1260px,calc(100% - 96px));max-width:1260px;display:grid;grid-template-columns:1.15fr 1fr;margin:0 auto 36px;padding:0;border:0;box-shadow:none;background:none;gap:80px;align-items:end}
.tariff-teaser .section-head>div+div{margin:0}
.tariff-teaser .eyebrow{color:#edcf9f}
.tariff-teaser .section-head>div>p{color:#e0e8e1;font-size:1rem}
.tariff-teaser .actions{margin-top:24px;gap:22px}
.tariff-teaser .button.primary{background:var(--gold-light);color:var(--ink)}
.tariff-text-link{font-size:.9375rem}
.featured-fares{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.featured-fare{display:block;padding:27px 28px;background:#fdfcf9;color:var(--ink);text-decoration:none;border-radius:5px;border-bottom:3px solid #dbb478;box-shadow:0 8px 22px #031b1920;transition:background .2s,box-shadow .2s}
.featured-fare:hover{background:#fff4df;box-shadow:0 10px 28px #031b1940}
.featured-fare .fare-from{display:block;font-size:.875rem;color:var(--muted);margin-bottom:6px}
.featured-fare h3{font-size:1.1875rem;margin-bottom:22px}
.featured-fare .fare-price{display:flex;align-items:baseline;gap:10px;font-size:.875rem}
.featured-fare strong{font-family:var(--title);font-size:2.7rem;font-weight:400;line-height:1}
.featured-fare .fare-detail{display:block;margin-top:14px;font-size:.8125rem;color:var(--muted)}
.tariff-teaser .fare-disclaimer{font-size:.875rem;line-height:1.6;color:#e0e8e1;margin:24px 0 0;max-width:1040px}
.vehicles{background:#f2f4ef;color:var(--ink);padding:0 0 78px}
.vehicle-showcase{display:grid;grid-template-columns:1.1fr 1fr;background:#102e25;color:#fff;min-height:490px;padding:0;overflow:clip}
.vehicle-showcase::before{display:none}
.vehicle-showcase .vehicle-photo{position:relative;inset:auto;z-index:auto;width:100%;height:100%;min-height:490px;object-fit:contain;object-position:center;grid-column:1;grid-row:1}
.vehicle-showcase .vehicle-layout{display:block;width:auto;margin:0;padding:64px clamp(30px,5vw,90px);grid-column:2;grid-row:1}
.vehicle-showcase .vehicle-copy{max-width:510px}
.vehicle-copy h2{font-size:clamp(2.2rem,3.5vw,3.4rem);text-shadow:none}
.vehicle-copy .eyebrow,.vehicle-copy .vehicle-intro{text-shadow:none}
.vehicle-showcase .vehicle-intro{font-size:1rem;margin:25px 0}
.vehicle-copy .button.primary{background:var(--gold-light);color:var(--ink)}
.vehicle-options{grid-template-columns:1fr;background:none;border:0;border-top:1px solid #527261;margin-top:26px;padding-top:22px}
.vehicle{padding:0}
.vehicle h3{font-size:1rem}
.vehicle p{font-size:.875rem}
.vehicle .vehicle-tag{display:none}
.vehicle-alternatives{display:flex;flex-wrap:wrap;gap:20px;border:0;padding:14px 0 0;justify-content:flex-start}
.vehicle-alternatives article{padding:0}
.vehicle-alternatives .vehicle-tag{display:none}
.vehicle-alternatives h3{font-size:.875rem;font-weight:400;color:#e0e8e1}
.vehicle-alternatives h3::after{content:" · sur demande"}
.vehicle-gallery{margin-top:28px;gap:22px}
.vehicle-gallery figure{background:white;border:0;border-bottom:2px solid #bd9661;border-radius:5px;box-shadow:0 8px 24px #123b300c}
.vehicle-gallery h3{color:var(--ink);font-size:1.25rem}
.vehicle-gallery p{color:var(--muted);font-size:1rem;margin-top:12px}
.vehicle-gallery img{aspect-ratio:2.16/1}
.heritage{background:var(--paper)}
.heritage>.wrap{width:min(1260px,calc(100% - 96px))}
.heritage-intro{gap:80px;margin-bottom:42px;align-items:end}
.heritage-intro>p{font-size:1rem}
.heritage-photos{gap:28px;margin-bottom:36px}
.heritage-photos .heritage-photo,.heritage-cards .heritage-photo{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:5px;box-shadow:0 8px 26px #123b3008}
.heritage-photos .heritage-photo img{height:auto;aspect-ratio:3/2}
.heritage-photo img{border-radius:0}
.heritage-location{font-size:.875rem;color:#76603b;margin-bottom:10px}
.heritage-photo figcaption{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:26px}
.heritage-photo h3{font-size:1.375rem;line-height:1.3}
.heritage-photo figcaption p{font-size:1rem;margin-top:17px}
.heritage-photo figcaption .heritage-link{margin-top:auto;padding-top:20px}
.heritage-cards{gap:24px}
.heritage-place{background:#fff;border-radius:5px}
.heritage-place figcaption{padding:24px}
.heritage-transfer{border:1px solid var(--line);background:#edf2ec;border-radius:5px;margin-top:36px;padding:28px 30px;grid-template-columns:1fr 2fr}
.heritage-transfer h3{font-size:1.25rem}
.heritage-transfer p{font-size:1rem}
.heritage-action{display:flex;justify-content:flex-end;margin-top:25px}
.zones{min-height:0;padding:96px 0;background:#123b30}
.zones::before{background:linear-gradient(90deg,#123b308c,#123b3026),url("destinations/cotignac-village.webp") center 52%/cover no-repeat}
.zone-grid{gap:40px;grid-template-columns:.95fr 1.15fr}
.zone-grid>div:first-child{padding:36px;background:#09291fe8;color:#fff;border:1px solid #a8b5a052;border-top:3px solid var(--gold-light);border-radius:5px;box-shadow:none}
.zone-grid>div:first-child .eyebrow{color:var(--gold-light)}
.zone-grid>div:first-child .note{color:#e0e8e1}
.zone-grid>div:last-child{padding:32px;background:#fcfbf8f5;border:0;border-radius:5px;box-shadow:0 10px 32px #0b251c24}
.zone-grid h2{font-size:clamp(2.15rem,3.5vw,3.1rem)}
.note{font-size:1rem;margin-top:26px}
.destination-hint{font-size:.875rem}
.zone-list{gap:10px}
.zone-list button{font-size:.875rem;font-weight:400;min-height:44px;padding:10px 16px;border-radius:24px;background:#fff;color:var(--pine);border-color:#c3cfc1;transition:background-color .18s,color .18s,border-color .18s}
.zone-list button:hover{background:var(--pine);color:#fff;border-color:var(--pine);transform:none}
.zone-list button::before{display:none}
.local-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.local-links a{font-size:.875rem;font-weight:700}
.faq-section{background:var(--paper);padding:82px 0}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.faq-layout details{border-bottom:1px solid var(--line);padding:20px 0}
.faq-layout details:first-child{padding-top:0}
.faq-layout summary{font-weight:700;cursor:pointer;font-size:1rem;padding-right:20px;line-height:1.6}
.faq-layout summary{display:flex;justify-content:space-between;align-items:center;gap:24px;list-style:none;padding-right:0}
.faq-layout summary::-webkit-details-marker{display:none}
.faq-layout summary::after{content:"+";flex:0 0 28px;font-size:1.6rem;font-weight:400;text-align:center;color:#8c642e;line-height:1}
.faq-layout details[open] summary::after{content:"−"}
.faq-layout details p{font-size:1rem;color:var(--muted);margin:18px 0 0}
.contact{padding:90px 0;min-height:0}
.contact::before{background:linear-gradient(90deg,#092a22d9,#092a2270),url("backgrounds/entrecasteaux-2400.webp") center 32%/cover no-repeat}
.contact-person h2{font-size:clamp(2.2rem,3.9vw,3.5rem);text-shadow:none}
.contact-person .eyebrow,.contact-grid>div:first-child{text-shadow:none}
.contact-copy{font-size:1rem}
.contact-box{border-radius:5px;background:#102e25ef;box-shadow:0 14px 36px #031b1928;border:1px solid #8ca390;border-top:3px solid var(--gold-light);padding:34px}
.contact-box>span{font-size:.875rem}
.contact-box p{font-size:.875rem}
.contact-box .contact-email{font-size:1rem}
.contact-channels .contact-channel{border-radius:3px;font-size:1rem}
footer{font-size:.875rem;padding:38px 0 28px;background:#0b241c}
.footer-main{margin-bottom:22px}
.footer-links{display:flex;flex-wrap:wrap;gap:16px 24px;margin:0 auto 24px;font-size:.875rem}
.footer-legal{font-size:.8125rem;justify-content:flex-start;gap:12px 26px}
.photo-credits,.routing-credit{font-size:.8125rem;line-height:1.6}
.footer-main a{font-size:.875rem}
.destination-dialog{border-radius:4px;box-shadow:0 24px 100px #102c2355}
.destination-toolbar{padding:14px 22px}
.destination-credit{font-size:.8125rem}
.heritage-link{display:inline-block;margin-top:18px;font-weight:700;text-underline-offset:4px}
[hidden]{display:none!important}
.heritage-photo .heritage-link{font-size:.875rem}
.destination-actions{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;margin-top:24px}
.destination-actions .heritage-link{margin-top:0}
.privacy-inline{margin:16px 0;font-size:.875rem;line-height:1.6}
.privacy-inline a{text-decoration:underline;text-underline-offset:3px}
.calculator-only .estimate-section{padding-top:42px}
.calculator-only .tariff-section-head h1{font-size:clamp(2.3rem,4.3vw,3.8rem)}
.mobile-contact{display:none}
/* The estimate remains the working surface of the tariff page. */
.tariff-hero{min-height:300px;padding:46px 0 30px}
.tariff-hero h1{font-size:clamp(2.5rem,4vw,3.7rem);text-shadow:none}
.tariff-hero::before{background:linear-gradient(90deg,#102e25ee,#102e2580 54%,#102e2508),url("backgrounds/sillans-2400.webp") center 55%/cover no-repeat}
.tariff-hero .wrap>p:not(.eyebrow){font-size:1rem;margin:20px 0;max-width:620px}
.tariff-jumps a{font-size:.875rem;border-radius:3px;background:#102e25bd}
.tariff-landmark{font-size:.8125rem;margin-top:14px}
.estimate-section{padding:66px 0 76px}
.estimate-section::before{display:none}
.tariff-section-head{margin-bottom:32px}
.tariff-section-head h2{font-size:clamp(2.2rem,3.6vw,3.1rem)}
.standalone-link{font-size:.875rem}
.estimate-layout{gap:28px;grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr)}
.fare-form{border:1px solid var(--line);border-top:3px solid var(--gold);padding:34px;border-radius:5px;background:#fff;box-shadow:0 12px 34px #102c2308}
.fare-result{background:#102e25;border-radius:4px;padding:32px;top:120px;border:0;box-shadow:0 12px 34px #102c2315}
.fare-result h3{font-family:var(--title);font-size:2rem;font-weight:400;line-height:1.14;letter-spacing:-.025em}
.fare-result .eyebrow{color:#edcf9f}
.fare-result .fare-total strong{font-family:var(--title);font-weight:400;font-size:3.4rem;line-height:1.15}
.fare-result .result-note{font-size:.875rem;color:#d2ded5}
.fare-result .button.primary{background:#25d366;color:#092b1b}
.result-channels{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.result-channels a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:1px solid #8ea496;color:#fff;border-radius:3px;font-weight:700;font-size:.875rem;text-decoration:none;padding:10px}
.result-channels a:hover{background:#264e3c}
.result-channels .quote-sms{background:#dbeaff;color:#183a64;border-color:#dbeaff}
.field,.fare-form legend,.ride-options legend{font-size:.875rem}
.field input,.field select{font-size:1rem;border-radius:3px;min-height:50px}
.manual-details.single-distance .field-grid{grid-template-columns:1fr}
.fare-vehicle-options strong{font-size:.9375rem}
.fare-vehicle-options small,.field-help,.journey-help,.address-message,.address-option-detail,.form-error{font-size:.875rem}
.address-option-label{font-size:.9375rem}
.address-autocomplete [hidden]{display:none!important}
.text-button,.copy-button{font-size:.875rem;min-height:44px}
.night-period strong,.night-period p,.service-options span{font-size:.875rem}
.route-summary,.fare-breakdown,.result-contact{font-size:.9375rem}
.route-button{font-size:.9375rem;min-height:48px}
.packages-section{background:#eef2ec}
.package-note{font-size:.875rem}
.package-table{font-size:.9375rem}
.package-table thead th{font-size:.875rem;letter-spacing:.035em}
.package-table td:nth-child(2),.package-table td:nth-child(3){font-size:1.125rem}
.package-table tbody tr:hover{background:#eef3ec}
.package-pick{font-size:.875rem;min-height:44px;border-radius:3px}
.package-controls p{font-size:.875rem}
.packages-section .section-head,.hire-section .section-head{border:0;outline:0;border-radius:3px;box-shadow:none;min-height:270px}
.packages-section .section-head h2,.hire-section .section-head h2{font-size:clamp(2.2rem,3.7vw,3.3rem)}
.conditions-grid p,.conditions-grid strong{font-size:1rem}
.tariff-validity{font-size:.875rem}
.local-hero{position:relative;isolation:isolate;color:#fff;background:#102e25;padding:90px 0 70px;min-height:460px}
.local-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#102e25ed,#102e2570 65%,#102e2514),var(--local-image) center/cover no-repeat}
.local-hero .eyebrow{color:#edcf9f}
.local-hero h1{font-size:clamp(2.8rem,5.3vw,4.7rem);max-width:760px}
.local-hero .lead{font-size:1.125rem;max-width:620px;line-height:1.7;margin-top:26px}
.local-hero .button.primary{background:var(--gold-light);color:var(--ink)}
.local-copy{max-width:900px}
.local-copy p,.local-copy li{font-size:1rem}
.local-copy p{margin-top:25px;color:var(--muted)}
.local-copy ul{padding-left:22px;color:var(--muted)}
.local-story{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.local-story img{display:block;width:100%;height:auto;border-radius:3px}
.local-story p{font-size:1rem;color:var(--muted);margin-top:26px}
.info-content{width:min(820px,calc(100% - 96px));margin:auto;padding:64px 0 88px}
.info-content h1{font-size:clamp(2.7rem,5vw,4rem);margin-bottom:36px}
.info-content h2{font:700 1.5rem/1.3 var(--font);letter-spacing:-.025em;margin:38px 0 20px}
.info-content p,.info-content li{font-size:1rem}
@media(min-width:1700px){.signature-hero .hero-layout{min-height:680px;padding-top:90px}.hero.signature-hero{min-height:680px}.signature-hero .hero-content{max-width:520px}}
@media(min-width:1281px){
 .signature-hero .hero-layout{width:100%;display:grid;grid-template-columns:41% 1fr;column-gap:0;margin-inline:0}
 .signature-hero .hero-content{width:calc(100% - 96px);justify-self:center;padding-right:0}
}
@media(max-width:1100px){
 .wrap,.heritage>.wrap,.tariff-teaser .wrap.section-head{width:calc(100% - 56px)}
 .nav-links{gap:17px}.brand-logo{width:153px}.nav-links .contact-top{padding-inline:13px}
 .journey-entry .wrap{grid-template-columns:1fr;gap:20px;padding:24px}.journey-entry{padding:26px 0}
 .section-head,.heritage-intro,.tariff-teaser .wrap.section-head{gap:45px}
 .vehicle-showcase .vehicle-layout{padding:45px 32px}.vehicle-showcase .vehicle-photo{min-height:500px}.vehicle-gallery figcaption{padding:20px}
 .zone-grid{gap:24px}.zone-grid>div:first-child,.zone-grid>div:last-child{padding:28px}
 .estimate-layout{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:22px}.fare-form{padding:26px}.fare-result{padding:27px 24px}
 .faq-layout{gap:45px}
}
@media(max-width:1280px){
 .hero.signature-hero{min-height:0;display:flex;flex-direction:column}
 .signature-hero .hero-layout{order:1;min-height:0;padding:48px 0 36px}
 .signature-hero .hero-content{width:100%;max-width:610px;padding:0}
 .signature-hero h1{font-size:clamp(2.9rem,7.4vw,4.5rem);max-width:590px}
 .signature-hero .hero-copy{max-width:560px;margin-top:22px;font-size:1rem}
 .signature-hero .button.secondary{display:inline-flex}
 .signature-hero .hero-background{position:relative;inset:auto;order:2;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;z-index:auto;display:block}
 .hero-photo-caption{order:3;position:static;align-self:flex-end;font-size:.8125rem;padding:7px 18px;margin:0;background:none;line-height:1.5}
 .signature-hero .hero-meta{margin-top:23px}.signature-hero .eyebrow{font-size:.8125rem}
}
@media(max-width:860px){
 html{scroll-padding-top:94px}.signature-header{top:0}.topbar{display:none}.nav{min-height:80px;position:relative;flex-wrap:wrap;padding-top:0}
 .brand-logo{width:158px}.menu-toggle{display:inline-flex;margin-left:auto}
 .nav-links{display:flex;flex-wrap:wrap;width:100%;font-size:.9375rem;gap:6px 22px;padding:5px 0 18px;overflow:visible;white-space:normal}
 .js .nav-links{display:none}.js .nav-links.is-open{display:flex}.nav-links .contact-top{padding:9px 16px}.nav-links a{min-height:44px;display:flex;align-items:center}
 .quick-journey{grid-template-columns:1fr 1fr}.quick-journey .button{grid-column:1/-1;min-height:50px}
 #services{padding:64px 0}.cards{grid-template-columns:1fr;border:0;gap:18px}#services .card,#services .card:first-child,#services .card:last-child{padding:26px;border:1px solid var(--line);border-top:3px solid var(--gold)}
 .service-icon{margin-bottom:14px}.card p{margin:15px 0 21px}.card a{min-height:44px}
 .section-head,#services .section-head,.heritage-intro,.tariff-teaser .wrap.section-head{grid-template-columns:1fr;gap:25px}
 section{padding:66px 0}.tariff-teaser{padding:66px 0}.featured-fares{grid-template-columns:1fr;gap:14px}.featured-fare{padding:22px 24px;display:grid;grid-template-columns:1fr auto;column-gap:20px;align-items:center}.featured-fare .fare-from,.featured-fare h3,.featured-fare .fare-detail{grid-column:1}.featured-fare h3{font-size:1.125rem;margin:0}.featured-fare .fare-price{grid-column:2;grid-row:1/4;display:flex;flex-direction:column;gap:6px;align-items:flex-end}.featured-fare strong{font-size:2.4rem}.featured-fare .fare-detail{font-size:.8125rem;margin-top:9px}.tariff-teaser .fare-disclaimer{margin-top:22px}
 .vehicle-showcase{grid-template-columns:1fr}.vehicle-showcase .vehicle-photo{grid-column:1;grid-row:1;min-height:0;height:auto;aspect-ratio:3/2;object-fit:contain}.vehicle-showcase .vehicle-layout{grid-column:1;grid-row:2;padding:42px 28px;width:100%;margin:0}.vehicle-showcase .vehicle-copy{max-width:650px}.vehicle-copy h2{font-size:2.5rem}.vehicle-gallery{grid-template-columns:1fr;gap:23px;margin-top:24px}.vehicle-gallery img{aspect-ratio:2.16/1}.vehicles{padding-bottom:50px}
 .heritage>.wrap{width:calc(100% - 56px)}.heritage-photos,.heritage-cards{grid-template-columns:1fr;gap:32px}.heritage-photos .heritage-photo img{height:auto;aspect-ratio:3/2}.heritage-cards .heritage-photo img{aspect-ratio:3/2}.heritage-transfer{grid-template-columns:1fr;gap:16px}.heritage-action{justify-content:flex-start}
 .zone-grid{grid-template-columns:1fr;gap:22px}.zones{padding:66px 0}.zone-grid>div:first-child,.zone-grid>div:last-child{padding:26px}.zone-list button{font-size:.875rem}
 .faq-layout{grid-template-columns:1fr;gap:32px}.faq-section{padding:64px 0}
 .contact-grid{grid-template-columns:1fr;gap:34px}.contact{padding:66px 0}.contact-box{padding:28px}.contact-person h2{font-size:2.4rem}.contact-person{gap:22px}.chauffeur-portrait{width:130px;height:160px}
 .tariff-hero{min-height:0;padding:40px 0 26px}.tariff-hero h1{font-size:2.8rem}.tariff-landmark{text-align:left}
 .tariff-section-head{flex-direction:column;align-items:flex-start;gap:22px}.estimate-layout{grid-template-columns:1fr;gap:24px}.fare-result{position:static;padding:30px}.estimate-section{padding:48px 0 64px}.fare-form{padding:26px}.package-table th,.package-table td{padding:17px 14px}.package-table thead th{font-size:.8125rem;letter-spacing:0}.package-controls{flex-direction:column;align-items:start;gap:14px}.package-controls .field{width:100%}.packages-section .section-head,.hire-section .section-head{padding:120px 28px 28px;gap:24px}.conditions-grid{grid-template-columns:1fr;gap:24px}
 .local-hero{padding:58px 0 48px;min-height:0}.local-hero h1{font-size:2.8rem}.local-story{grid-template-columns:1fr;gap:30px}.local-story img{max-height:400px;object-fit:cover}.info-content{width:calc(100% - 56px);padding:50px 0 64px}
 .mobile-contact{display:flex;position:fixed;inset:auto 0 0;z-index:40;background:#102e25;border-top:1px solid #5a7666;box-shadow:0 -3px 12px #102c2312;padding:8px 18px max(8px,env(safe-area-inset-bottom));gap:10px}
 .mobile-contact a{min-height:44px;flex:1;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:700;font-size:.9375rem;border-radius:3px;color:#fff;border:1px solid #718e7b}
 .mobile-contact .mobile-reserve{background:var(--gold-light);border-color:var(--gold-light);color:var(--ink)}
 body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.footer-main{align-items:flex-start}.footer-legal{display:grid;gap:8px}
}
@media(max-width:480px){
 .wrap,.heritage>.wrap,.tariff-teaser .wrap.section-head,.info-content{width:calc(100% - 36px)}
 .signature-hero .hero-layout{padding-top:40px}.signature-hero h1{font-size:clamp(2.7rem,10.2vw,3.7rem);letter-spacing:-.04em}.signature-hero .actions{flex-direction:column}.signature-hero .button.secondary{font-size:1rem}.hero-meta{gap:12px 16px}.hero-photo-caption{font-size:.75rem}
 .quick-journey{grid-template-columns:1fr;gap:14px}.journey-entry .wrap{gap:20px;padding:22px 18px}.quick-journey .button{margin-top:2px}
 h2{font-size:2.25rem}.vehicle-showcase .vehicle-layout{padding:36px 18px}.vehicle-copy h2{font-size:2.25rem}.zone-grid>div:first-child,.zone-grid>div:last-child{padding:24px 20px}.local-links{gap:16px}
 .fare-form{padding:24px 18px}.fare-result{padding:28px 22px}.fare-vehicle-options label>span{padding-right:12px}.field-grid{gap:12px}.packages-section .section-head,.hire-section .section-head{padding-inline:20px}.package-table{font-size:.875rem}.package-table th,.package-table td{padding:16px 11px}.package-table th:first-child{min-width:140px}.package-pick{padding-inline:11px}
 .contact-person{align-items:flex-start;gap:18px}.chauffeur-portrait{width:96px;height:124px}.contact-person h2{font-size:2.1rem}.contact-person .eyebrow{margin-bottom:16px}.contact-box .contact-phone{font-size:1.5rem}.contact-box{padding:24px 22px}.contact-box .contact-email{font-size:.9375rem}.contact-channels .contact-channel{flex-basis:110px;font-size:.9375rem}
 .featured-fare{column-gap:14px}.featured-fare h3{font-size:1rem}.featured-fare strong{font-size:2.2rem}
 .footer-main{flex-direction:column;gap:16px}.footer-links{gap:12px 20px}.local-hero h1{font-size:2.55rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
