/* Fonts loaded via Google Fonts CDN in functions.php (Playfair Display + DM Sans). */

:root{
  color-scheme:light;
  --ink:#211d1a;--muted:#645d56;--night:#171615;--dark:#211f1d;
  --canvas:#fbf8f3;--paper:#fffdf9;--cream:#f3eee6;--line:#ded7cd;
  --accent:#a23f30;--accent-hover:#853024;--light-accent:#f3b39e;
  --serif:"Playfair Display",Playfair,Georgia,serif;--sans:"DM Sans",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.58}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
img{display:block;max-width:100%;width:100%}
svg{flex:none;vertical-align:middle}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.13}
h1,h2{font:400 clamp(2.55rem,5vw,4.25rem)/1.06 var(--serif);letter-spacing:-.043em}
h2 em,h1 em{font-weight:400}
h3{font-weight:600;letter-spacing:-.025em}
ul{padding:0;margin:0;list-style:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.wrap{width:min(100% - 96px,1280px);margin-inline:auto}
.skip-link{position:fixed;top:10px;left:10px;z-index:30;padding:10px 16px;color:var(--ink);background:white;transform:translateY(-200%)}
.skip-link:focus{transform:none}
.eyebrow{display:flex;align-items:center;gap:11px;margin-bottom:18px;color:var(--accent);font-size:.68rem;font-weight:700;line-height:1.35;letter-spacing:.17em;text-transform:uppercase}
.eyebrow span{height:1px;width:24px;flex:none;background:currentColor}
.lede{color:var(--muted);max-width:560px;margin-top:16px}
.button,.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:11px;width:fit-content;font-size:.86rem;font-weight:700;line-height:1.2}
.button{min-height:48px;padding:13px 17px;border:1px solid transparent;border-radius:5px;transition:background .18s,color .18s,border .18s}
.button-primary{background:var(--accent);color:white}
.button-primary:hover{background:var(--accent-hover)}
.button-light{background:var(--paper);color:var(--ink)}
.button-light:hover{background:#f4ded2}
.button-ghost{background:transparent;color:#fff8ef;border-color:#ffffff55}
.button-ghost:hover{background:#ffffff18;border-color:#ffd0bb;color:#ffd0bb}
.text-link{padding:0 0 4px;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--accent)}
.text-link:hover{color:var(--accent-hover)}
.text-link svg,.button svg{transition:transform .18s}
.text-link:hover svg,.button:hover svg{transform:translateX(2px)}
.section{padding:90px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:38px}
.section-head>.text-link{flex:none;margin-bottom:5px}

.site-header{position:relative;z-index:9;background:var(--night);color:#f9f5ee;border-bottom:1px solid #ffffff17}
.header-inner{position:relative;display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:11px;width:fit-content;flex:none}
.brand-logo{display:block;height:40px;width:auto;max-width:min(240px,58vw)}
.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:2px solid #fff;background:var(--accent,#a23f30);color:#fff;font:700 15px/1 var(--sans);letter-spacing:.06em;box-sizing:border-box}
.brand-text{display:grid;gap:6px;line-height:1;text-transform:uppercase}
.brand-text strong{font-size:.82rem;letter-spacing:.1em;font-weight:700}
.brand-text small{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.62rem;letter-spacing:.18em;color:#ebac9b;font-style:italic;text-transform:none;font-family:var(--serif)}
.brand-text small i{display:block;width:28px;height:1px;background:currentColor;opacity:.75}
.brand-dark .brand-mark{border-color:#fff}
.brand-dark .brand-text strong{color:var(--ink,#211d1a)}
.brand-dark .brand-text small{color:var(--muted,#645d56)}
.site-nav{display:flex;align-items:center;gap:clamp(17px,2.75vw,41px);color:#e0d9d1}
.site-nav a{font-size:.84rem;font-weight:600;white-space:nowrap}
.site-nav a:is(:hover,[aria-current]){color:#ffc0ad}
.site-nav .nav-item{position:relative;display:flex;align-items:center;gap:3px}
.nav-item.is-current>a{color:#ffc0ad}
.sub-toggle{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;background:none;color:inherit;cursor:pointer}
.sub-toggle svg{transition:transform .2s}
.nav-item:is(:hover,.is-open) .sub-toggle svg{transform:rotate(180deg)}
.sub-menu{position:absolute;top:100%;left:-20px;z-index:20;display:grid;min-width:270px;margin-top:25px;padding:8px 0;background:var(--paper);border-top:3px solid var(--accent);border-radius:0 0 6px 6px;box-shadow:0 18px 40px #11111133;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s}
.sub-menu::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:28px}
.nav-item:is(:hover,:focus-within,.is-open)>.sub-menu{opacity:1;visibility:visible;transform:none}
.site-nav .sub-menu a{padding:10px 20px;color:var(--ink);font-size:.82rem;font-weight:500}
.site-nav .sub-menu a:is(:hover,:focus-visible,[aria-current]){background:var(--cream);color:var(--accent)}
.site-header .sub-menu :focus-visible{outline-color:var(--accent);outline-offset:-3px}
.header-actions{display:flex;align-items:center;gap:20px;white-space:nowrap}
.header-phone{display:flex;gap:7px;align-items:center;font-size:.77rem;color:#ece2d8}
.header-phone svg{color:#eea58f}
.nav-book{min-height:41px;font-size:.81rem}
.nav-toggle{display:none}
.site-header :focus-visible,.hero-content :focus-visible,.site-footer :focus-visible,.callout :focus-visible{outline-color:var(--light-accent)}

.hero{position:relative;isolation:isolate;background:var(--night);color:#fffaf3}
.hero-photo,.hero-scrim{position:absolute;inset:0 auto 0 0;height:100%;pointer-events:none}
.hero-photo{z-index:-2;width:78%;object-fit:cover;object-position:center 60%;filter:saturate(.78)}
.hero-scrim{z-index:-1;width:100%;background:
  linear-gradient(90deg,#17161544 0%,#1716150b 43%,#17161593 64%,#171615 81%),
  linear-gradient(180deg,#171615ee 0%,#1716159c 29%,#17161540 66%,#17161595 100%)}
.hero-layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,424px);gap:48px;align-items:start;min-height:655px;padding-block:52px 55px}
.hero-content{padding-top:39px;max-width:745px}
.hero-content .eyebrow{color:#ffc6b2;margin-bottom:20px}
.hero h1{font-size:clamp(3.65rem,6.05vw,6.1rem);line-height:.99;letter-spacing:-.052em;text-wrap:balance}
.hero h1 em{color:#ffd0bb}
.hero-content>p:not(.eyebrow){max-width:430px;margin-top:24px;color:#f5ece3;font-size:1.03rem;line-height:1.65;text-shadow:0 1px 10px #000}
.hero-links{margin-top:22px}
.hero-fleet{color:#fff8ef;text-shadow:0 1px 10px #000}
.hero-fleet:hover{color:var(--light-accent)}
.hero-coordinate{position:absolute;left:0;bottom:27px;display:flex;align-items:center;gap:10px;font-size:.61rem;font-weight:700;letter-spacing:.15em;color:#fff2e8;text-shadow:0 1px 5px #171615}
.hero-coordinate span{margin-left:3px;color:#e3d2c4;font-weight:500}
.hero-coordinate i,.footer-bottom i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#e19076}

.booking-card{background:var(--paper);color:var(--ink);padding:24px 26px 19px;border:1px solid #e6ddd2;border-radius:13px;box-shadow:0 24px 80px #08060460;scroll-margin-top:22px}
.booking-top,.booking-top>span:first-child{display:flex;align-items:center}
.booking-top{justify-content:space-between;gap:10px;text-transform:uppercase;font-size:.66rem;letter-spacing:.12em;font-weight:700;color:var(--accent)}
.booking-top>span:first-child{gap:8px}
.booking-progress{color:#716559;font-variant-numeric:tabular-nums}
.booking-meter{display:flex;gap:5px;margin:10px 0 13px}
.booking-meter i{height:2px;flex:1;background:#e4dbcf}
.booking-meter i.is-done,.booking-meter i:first-child{background:var(--accent)}
.booking-heading h2{font-size:2.03rem;letter-spacing:-.04em}
.booking-heading p{font-size:.82rem;color:var(--muted);margin-top:5px}
.booking-step{margin-top:15px}
.trip-modes{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:0 0 12px;padding:3px;border:1px solid #e8e0d4;border-radius:6px;background:#f1ebe2}
.trip-modes label{position:relative;cursor:pointer;min-width:0}
.trip-modes input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.trip-modes span{display:block;text-align:center;border-radius:4px;padding:6px 2px;color:var(--muted);font-size:.78rem;font-weight:700}
.trip-modes input:checked+span{background:var(--paper);color:var(--ink);box-shadow:0 1px 4px #38231922}
.trip-modes input:focus-visible+span{outline:2px solid var(--accent);outline-offset:-1px}
#trip-form,#contact-form,.locations{display:grid;gap:10px}
#contact-form{margin-top:12px}
.field{position:relative;min-width:0}
.field label{display:block;margin-bottom:4px;font-size:.73rem;font-weight:700;line-height:1.3}
.field label small{color:var(--muted);font-weight:500}
.field-input{display:flex;align-items:center;position:relative;min-height:40px;border:1px solid #ded6ca;border-radius:5px;background:#fffcf7}
.field-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px #a23f302c}
.field-input input,.field-input select,.field-input textarea{width:100%;min-width:0;min-height:39px;border:0;background:transparent;padding:7px 10px;font-size:.84rem;outline:0}
.field-input input::placeholder,.field-input textarea::placeholder{color:#716a61;opacity:1}
.field-input select{appearance:none;padding-right:25px}
.field-input select~svg{position:absolute;right:8px;pointer-events:none;color:#74685d}
.field-input textarea{resize:vertical;min-height:62px}
.field-input.with-icon>svg:first-child{position:absolute;left:10px;pointer-events:none;color:var(--accent)}
.field-input.with-icon input,.field-input.with-icon select{padding-left:34px}
.native-field input{font-variant-numeric:tabular-nums}
.native-field input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.69}
.form-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}
.booking-submit{width:100%;min-height:45px;margin-top:4px;text-align:left}
.booking-foot{display:flex;justify-content:center;align-items:center;margin-top:10px;color:#695e52;font-size:.7rem;line-height:1.4;text-align:center}
.booking-foot svg{color:var(--accent);margin-right:4px}
.form-error{color:#8f2d21;font-size:.76rem;line-height:1.4}
.place-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:5;max-height:255px;overflow:auto;padding:4px;background:#fffdf9;border:1px solid var(--line);border-radius:7px;box-shadow:0 12px 24px #2b211f2c}
.place-list li{display:flex;gap:9px;padding:8px;align-items:center;border-radius:4px;cursor:pointer;font-size:.82rem;line-height:1.24}
.place-list li>svg{color:var(--accent)}
.place-list li strong,.place-list li small{display:block}
.place-list li small{margin-top:4px;color:var(--muted);font-size:.69rem}
.place-list li:is(:hover,[aria-selected="true"]){background:#f5e9df}
.booking-route{display:grid;gap:2px;padding:9px 10px;border-left:2px solid var(--accent);background:var(--cream);font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}
.booking-route strong{font-weight:700}
.booking-route small{color:var(--muted)}
.booking-card.is-vehicles .vehicle-results{max-height:min(420px,55vh)}
.vehicle-results{display:grid;gap:7px;max-height:327px;overflow:auto;scrollbar-color:#c2ae9e transparent;margin:11px -3px 0;padding:3px}
.vehicle-option{display:grid;grid-template-columns:75px 1fr auto;gap:9px;align-items:center;text-align:left;width:100%;min-height:75px;padding:7px 10px 7px 6px;background:#fffaf3;border:1px solid var(--line);border-radius:6px;line-height:1.24}
.vehicle-option:hover{border-color:var(--accent);background:#faeee4}
.vehicle-option img,.selected-vehicle img{width:75px;height:54px;object-fit:contain;mix-blend-mode:multiply}
.vehicle-option strong,.selected-vehicle strong{display:block;font-size:.89rem}
.vehicle-option small,.selected-vehicle small{display:block;color:var(--muted);font-size:.7rem;margin-top:4px}
.vehicle-option>svg{color:var(--accent)}
.vehicle-option .preferred{display:inline-block;margin-top:4px;font-size:.63rem;color:var(--accent);font-weight:700}
.booking-empty{padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--cream);font-size:.79rem}
.booking-empty p{margin:6px 0 10px}
.selected-vehicle{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:5px;padding:5px 9px;background:var(--cream)}
.back-link{margin-top:13px;font-size:.76rem}
.email-preview{padding:11px 12px;border:1px solid var(--line);border-radius:5px;background:#fbf5eb;font-size:.76rem;line-height:1.45;overflow-wrap:anywhere}
.email-preview>p{padding-bottom:7px;border-bottom:1px solid var(--line);display:flex;gap:10px}
.email-preview pre{max-height:205px;overflow:auto;margin:9px 0 0;font:inherit;white-space:pre-wrap}
.email-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}
.email-tools .text-link{font-size:.75rem}
#email-step .booking-submit,#done-step .booking-submit{margin-top:12px}
.pel-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#contact-error{margin:4px 0 10px}
#contact-error a{color:inherit;font-weight:700;text-decoration:underline}
.booking-submit[disabled]{opacity:.7;cursor:progress}
.booking-done{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--cream);font-size:.84rem;line-height:1.5}
.booking-done p{margin:0}
.booking-done-icon{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff}

.proof-strip{background:var(--cream);border-bottom:1px solid var(--line)}
.proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:91px}
.proof-grid>div{display:flex;align-items:center;justify-content:center;gap:13px;padding:16px 12px}
.proof-grid>div+div{border-left:1px solid var(--line)}
.proof-grid svg{color:var(--accent)}
.proof-grid strong,.proof-grid small{display:block}
.proof-grid strong{font-size:.88rem;font-weight:700}
.proof-grid small{color:var(--muted);font-size:.76rem;margin-top:1px}

.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.three-grid>*{min-width:0}
.service-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.service-photo,.journal-photo{display:block;position:relative;overflow:hidden;background:#e6ddd3}
.service-photo{aspect-ratio:1.86}
.service-photo img,.journal-photo img{height:100%;object-fit:cover;transition:transform .3s}
.service-photo:hover img,.journal-photo:hover img{transform:scale(1.04)}
.service-photo span{position:absolute;top:13px;left:13px;display:grid;place-items:center;width:38px;height:31px;border:1px solid #ffffff80;border-radius:4px;background:#211b18bf;color:white;font-size:.71rem;font-weight:700;letter-spacing:.075em}
.service-card-body{display:flex;flex-direction:column;align-items:start;flex:1;padding:22px}
.service-card h3,.fleet-card h3,.journal-card h3{font-size:1.4rem}
.service-card h3 a:hover,.fleet-card h3 a:hover,.journal-card h3 a:hover{color:var(--accent)}
.service-card p,.fleet-card p,.journal-card p{color:var(--muted);font-size:.88rem;margin:10px 0 16px}
.service-card .text-link{margin-top:auto}

.fleet-section{background:var(--cream)}
.fleet-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.fleet-photo{position:relative;display:grid;place-items:center;min-height:181px;padding:25px 20px 5px;background:radial-gradient(ellipse at 50% 68%,#fffdf8 23%,#ede5d9 100%);border-bottom:1px solid var(--line)}
.fleet-photo img{width:100%;height:151px;object-fit:contain;mix-blend-mode:multiply;transition:transform .2s}
.fleet-photo:hover img{transform:translateX(4px)}
.fleet-type{position:absolute;top:11px;left:13px;z-index:1;padding:4px 8px;border:1px solid #dcd2c4;border-radius:3px;background:#fffaf1;font-size:.62rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase}
.fleet-card-body{display:flex;flex:1;flex-direction:column;padding:19px 21px}
.fleet-card-bottom{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:.74rem;font-weight:600;color:var(--muted)}
.fleet-card-bottom>span{display:flex;align-items:center;gap:4px}
.fleet-card-bottom>span svg{color:var(--accent)}
.fleet-card-bottom .text-link{font-size:.76rem;margin-left:auto;padding-bottom:2px}
.capacity-note{margin-top:15px;color:var(--muted);font-size:.75rem}

.story-split{display:grid;grid-template-columns:1fr 1fr;min-height:440px;background:var(--night);color:#fff8ed}
.story-image{min-height:350px}
.story-image img{height:100%;object-fit:cover;object-position:53% 50%}
.story-content{align-self:center;max-width:640px;padding:56px clamp(35px,5.5vw,87px)}
.story-content .eyebrow,.callout .eyebrow{color:var(--light-accent)}
.story-content h2{font-size:clamp(2.5rem,4.4vw,4.05rem)}
.story-content h2 em{color:#ffd1bc}
.story-content>p:not(.eyebrow),.callout p:not(.eyebrow){color:#e0d4c8;margin-top:16px}
.story-content ul{display:grid;gap:7px;margin:20px 0 22px;font-size:.88rem}
.story-content li{display:flex;gap:8px;align-items:center}
.story-content li svg,.story-content .text-link{color:var(--light-accent)}

.route-section{background:#f4eee5}
.route-grid,.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;align-items:start;gap:70px}
.route-list,.faq-list{border-top:1px solid #d8ccbe}
.route-line{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:14px 2px;border-bottom:1px solid #d8ccbe}
.route-line strong,.route-line small{display:block}
.route-line strong{font-weight:700;font-size:.96rem}
.route-line small{margin-top:2px;color:var(--muted);font-size:.77rem}
.route-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ddcbbf;border-radius:5px;color:var(--accent)}
.route-arrow{color:var(--accent)}
.route-line:hover{color:var(--accent)}

.journal-section{background:var(--canvas)}
.journal-card{display:flex;flex-direction:column;align-items:start}
.journal-photo{width:100%;aspect-ratio:1.84;border-radius:7px}
.journal-meta,.article-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:.72rem;margin:13px 0 9px}
.journal-meta span,.article-meta span:first-child{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.075em}
.journal-meta time,.article-meta time{padding-left:10px;border-left:1px solid var(--line)}
.journal-card h3{font:400 1.63rem/1.2 var(--serif);letter-spacing:-.028em}
.journal-card .text-link{margin-top:auto}

.faq-section{background:#f0e9de}
.faq-section .text-link{margin-top:15px}
.faq-list details{border-bottom:1px solid #d8ccbe}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;list-style:none;padding:16px 1px;font-size:.95rem;font-weight:700}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{color:var(--accent);transition:transform .2s}
.faq-list details[open] summary span{transform:rotate(180deg)}
.faq-list details p{padding:0 25px 17px 1px;color:var(--muted);font-size:.88rem}

.callout{padding:58px 0;background:#39251f;color:#fff8ef}
.callout-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}
.callout .eyebrow{margin-bottom:10px}
.callout h2{font-size:clamp(2.35rem,4.3vw,3.7rem)}
.callout p:not(.eyebrow){margin-top:9px}
.callout .button{flex:none}
.callout-contacts{display:flex;flex-wrap:wrap;gap:14px 22px;margin-top:16px}
.callout-contacts a{display:inline-flex;align-items:center;gap:8px;color:#ffd0bb;font-size:.88rem;font-weight:600}
.callout-contacts a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.callout-actions{display:flex;flex-wrap:wrap;gap:10px;flex:none}

.testimonials-section{background:var(--cream)}
.testimonials-slider{overflow:hidden;margin-top:4px}
.testimonials-track{display:flex;gap:22px;transition:transform .45s cubic-bezier(.22,1,.36,1);will-change:transform}
.testimonials-slider .testimonial-card{flex:0 0 calc((100% - 44px) / 3);min-width:0}
.slider-nav{display:flex;gap:8px;align-items:center}
.slider-btn{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);cursor:pointer}
.slider-btn:hover{border-color:var(--accent);color:var(--accent)}
.slider-btn:disabled{opacity:.35;cursor:default}
.slider-dots{display:flex;justify-content:center;gap:8px;margin-top:22px}
.slider-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#c9bfb3;cursor:pointer}
.slider-dots button[aria-selected="true"]{background:var(--accent);transform:scale(1.15)}
@media(max-width:900px){
  .testimonials-slider .testimonial-card{flex-basis:calc((100% - 22px) / 2)}
}
@media(max-width:780px){
  .testimonials-slider .testimonial-card{flex-basis:100%}
  .slider-nav{margin-top:4px}
}
.testimonial-card{margin:0;padding:26px 24px;background:var(--paper);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column}
.testimonial-card blockquote{margin:0;flex:1}
.testimonial-card p{font:400 1.12rem/1.55 var(--serif);letter-spacing:-.01em;color:var(--ink)}
.testimonial-card figcaption{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.testimonial-card strong{display:block;font-size:.92rem}
.testimonial-card span{display:block;margin-top:4px;color:var(--muted);font-size:.78rem}

.booking-modal{padding:0;border:0;background:transparent;max-width:calc(100vw - 28px);width:460px}
.booking-modal::backdrop{background:#171615bf;backdrop-filter:blur(3px)}
.booking-modal-panel{position:relative;padding:26px 26px 22px;background:var(--paper);color:var(--ink);border:1px solid #e6ddd2;border-radius:13px;box-shadow:0 28px 90px #08060480;max-height:min(90vh,720px);overflow:auto}
.booking-modal-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:5px;background:var(--cream);color:var(--ink);cursor:pointer}
.booking-modal-close:hover{border-color:var(--accent);color:var(--accent)}
.booking-modal .booking-heading{padding-right:36px}
.booking-modal .booking-heading h2{font-size:1.85rem}
body.modal-open{overflow:hidden}

.service-includes{background:var(--cream)}
.service-panel-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:start}
.include-list{display:grid;gap:12px;margin-top:24px}
.include-list li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;line-height:1.45}
.include-list svg{flex:none;margin-top:2px;color:var(--accent)}
.service-steps{display:grid;gap:16px;margin:18px 0 20px;padding:0;list-style:none}
.service-steps li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.service-steps span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d9cec1;border-radius:4px;background:var(--paper);font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--accent)}
.service-steps strong{display:block;font-size:.95rem}
.service-steps p{margin-top:5px;color:var(--muted);font-size:.84rem}
.service-steps-box .button{width:100%}
.service-overview .lede{max-width:640px}
.feature-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.feature-tile{padding:22px 20px;background:var(--paper);border:1px solid var(--line);border-radius:8px}
.feature-tile span{display:inline-block;margin-bottom:14px;font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--accent)}
.feature-tile h3{font-size:1.28rem}
.feature-tile p{margin-top:10px;color:var(--muted);font-size:.88rem;line-height:1.5}
.places .text-link{font-size:.86rem}
.side-box .include-list{margin-top:14px}
.side-box .button{margin-top:16px;width:100%}
.site-footer{background:var(--night);color:#faf2e9}
.footer-grid{display:grid;grid-template-columns:1.25fr .72fr 1fr 1.18fr;gap:28px;padding:49px 0 37px}
.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:start;gap:7px}
.footer-grid h2{font:700 .75rem/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#f9c0ab;margin-bottom:2px}
.footer-grid>div:not(:first-child) a,.footer-brand p{color:#d2c9bf;font-size:.81rem;overflow-wrap:anywhere}
.footer-grid>div:not(:first-child) a:hover{color:white;text-decoration:underline;text-underline-offset:3px}
.footer-brand p{max-width:235px;margin-top:14px}
.footer-bottom{border-top:1px solid #ffffff24;display:flex;justify-content:space-between;gap:15px;padding-block:16px;color:#c8bcb0;font-size:.72rem}
.footer-bottom i{margin-right:5px;vertical-align:1px}
.footer-divider{margin:0 4px}

.page-intro,.article-intro{background:var(--night);color:#fff7ed}
.page-intro-inner{display:grid;gap:48px;align-items:center;padding-block:69px 72px}
.page-intro-split .page-intro-inner{grid-template-columns:1.02fr .98fr}
.page-intro .eyebrow{color:var(--light-accent)}
.page-intro h1{font-size:clamp(3.1rem,6vw,5.9rem)}
.page-intro h1 em{color:#ffd0bb}
.page-intro p:not(.eyebrow){max-width:580px;margin-top:19px;color:#eadbd0;font-size:1.05rem}
.page-intro .button{margin-top:23px}
.page-intro-image{aspect-ratio:1.5;min-height:230px;border:1px solid #ffffff2b;border-radius:8px;overflow:hidden;background:var(--dark)}
.page-intro-image img{height:100%;object-fit:cover}
.detail-grid{display:grid;grid-template-columns:1.42fr .85fr;align-items:start;gap:65px}
.detail-grid h2{font-size:clamp(2.2rem,4vw,3.8rem)}
.detail-grid>div>p:not(.eyebrow){margin-top:15px;color:var(--muted)}
.detail-point{padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}
.detail-point h3{font-size:1.26rem}
.detail-point p,.side-box p:not(.eyebrow){margin-top:9px;color:var(--muted);font-size:.92rem}
.side-box{padding:22px;background:var(--cream);border:1px solid var(--line);border-radius:7px}
.side-box+.side-box{margin-top:15px}
.side-box h3{font:400 1.58rem/1.18 var(--serif);letter-spacing:-.025em}
.side-box .text-link{margin-top:15px}
.places{display:grid;gap:10px;font-size:.9rem}
.places li{display:flex;gap:8px;align-items:center}
.places svg,.contact-grid>div>svg{color:var(--accent)}

.vehicle-detail{background:var(--cream)}
.vehicle-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;padding-block:56px}
.vehicle-detail h1{font-size:clamp(3rem,5.7vw,5.3rem)}
.vehicle-detail p:not(.eyebrow){margin-top:15px;color:var(--muted)}
.vehicle-detail-photo{border:1px solid var(--line);border-radius:8px;background:radial-gradient(ellipse at 50% 60%,#fffcf5,#e9dfd0)}
.vehicle-detail-photo img{height:clamp(210px,31vw,400px);object-fit:contain;mix-blend-mode:multiply}
.vehicle-stat{display:flex;gap:15px;flex-wrap:wrap;margin:19px 0 22px}
.vehicle-stat span{display:flex;align-items:center;gap:5px;font-size:.86rem}
.vehicle-stat svg{color:var(--accent);margin-right:1px}
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.contact-grid h2{margin-top:12px;font-size:2rem}

.archive-section{padding-top:53px}
.journal-tools{display:flex;justify-content:space-between;align-items:center;gap:20px}
.journal-filters{display:flex;gap:7px;flex-wrap:wrap}
.journal-filters button{border:1px solid #d6cabd;border-radius:4px;background:transparent;padding:7px 11px;font-size:.81rem;font-weight:600}
.journal-filters button:hover{border-color:var(--accent);color:var(--accent)}
.journal-filters button[aria-pressed="true"]{background:var(--accent);color:white;border-color:var(--accent)}
.journal-search{display:flex;align-items:center;gap:9px;min-width:180px;max-width:300px;padding:0 9px;border:1px solid #d6cabd;border-radius:4px;background:var(--paper);color:var(--accent)}
.journal-search:focus-within{outline:2px solid var(--accent);outline-offset:1px}
.journal-search input{width:100%;min-width:0;padding:8px 0;border:0;background:transparent;outline:0;color:var(--ink);font-size:.86rem}
.archive-count{margin:15px 0 20px;color:var(--muted);font-size:.81rem}
.archive-grid{row-gap:37px}
.article-intro-inner{padding-block:45px 56px;max-width:1000px}
.article-back{display:inline-flex;align-items:center;gap:7px;color:var(--light-accent);font-size:.83rem;font-weight:700}
.article-back:hover{text-decoration:underline;text-underline-offset:3px}
.article-back svg{order:-1}
.article-meta{color:#e5d2c6;margin:19px 0 14px}
.article-meta span:first-child{color:var(--light-accent)}
.article-meta time{border-color:#ffffff4f}
.article-intro h1{font-size:clamp(2.8rem,6.1vw,5.2rem);text-wrap:balance}
.article-intro p{max-width:710px;margin-top:16px;font-size:1.05rem;color:#eedfd3}
.article-visual{max-width:1000px;margin-top:29px}
.article-visual img{aspect-ratio:2.15;object-fit:cover;border-radius:8px}
.article-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);gap:44px;max-width:1000px;padding-block:31px 70px}
.article-copy h2{margin:25px 0 11px;font-size:clamp(1.75rem,3vw,2.55rem);scroll-margin-top:16px}
.article-copy h2:first-child{margin-top:0}
.article-copy p{margin:11px 0;color:#473d35;line-height:1.73}
.article-copy ul,.article-copy ol{margin:12px 0 16px;padding-left:1.2em;color:#473d35;line-height:1.7}.article-copy li{margin:6px 0}.article-copy h3{margin:22px 0 8px;font-size:clamp(1.15rem,2vw,1.45rem);font-family:var(--serif);font-weight:600}
.article-copy p a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.article-aside>div{position:sticky;top:20px}
.article-aside nav{display:grid;gap:9px}
.article-aside a{font-size:.85rem;color:var(--muted)}
.article-aside a:hover{color:var(--accent);text-decoration:underline}
.service-guide{background:var(--paper);border-block:1px solid var(--line)}
.guide-grid{max-width:none;padding-block:28px 0}
.service-guide .article-copy h3{margin:28px 0 8px;font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:600;line-height:1.25;scroll-margin-top:16px}
.service-guide .article-copy h3:first-child{margin-top:0}
.guide-facts{display:grid;gap:13px;margin:4px 0 0}
.guide-facts dt{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.guide-facts dd{display:flex;gap:7px;align-items:flex-start;margin:3px 0 0;font-size:.87rem;font-weight:600;line-height:1.4}
.guide-facts dd svg{flex:none;margin-top:1px;color:var(--accent)}
.article-aside .side-box+.side-box{margin-top:14px}
.article-cta{margin-top:29px;padding:20px;border-left:2px solid var(--accent);background:var(--cream)}
.article-cta .eyebrow{color:var(--accent);margin:0 0 10px}
.article-cta h2{margin:0 0 16px}
.related-section{background:var(--cream);padding-block:55px}

@media(max-width:1120px){
  .wrap{width:calc(100% - 68px)}
  .header-phone{display:none}
  .hero-layout{grid-template-columns:minmax(0,1fr) minmax(338px,395px);gap:28px}
  .hero h1{font-size:clamp(3.1rem,6.5vw,5.15rem)}
  .section{padding:69px 0}
  .detail-grid,.route-grid,.faq-grid{gap:42px}
  .fleet-card-bottom{gap:8px}
  .fleet-card-bottom .text-link{margin-left:0}
}
@media(max-width:900px){
  .hero-content{padding-top:25px}
  .hero-layout{min-height:606px}
  .hero h1{font-size:clamp(3.1rem,7vw,4.6rem)}
  .hero-content>p:not(.eyebrow){font-size:.94rem}
  .three-grid{gap:15px}
  .service-card-body,.fleet-card-body{padding:16px}
  .proof-grid>div{justify-content:start}
  .proof-grid strong{font-size:.82rem}
  .proof-grid small{font-size:.69rem}
  .section-head{gap:18px}
  .footer-grid{gap:19px}
  .site-nav{gap:16px}
}
@media(max-width:780px){
  .wrap{width:calc(100% - 36px)}
  .header-inner{min-height:66px;gap:11px}
  .brand{gap:8px}
  .brand-mark{width:36px;height:36px;font-size:13px}
  .brand-text{gap:4px}
  .brand-text strong{font-size:.67rem}
  .brand-text small{font-size:.52rem;letter-spacing:.12em;gap:5px}.brand-text small i{width:16px}
  .nav-toggle{order:3;display:grid;place-items:center;width:38px;height:40px;padding:0;border:1px solid #ffffff45;border-radius:4px;background:none;color:white}
  .site-nav{display:none;position:absolute;top:calc(100% + 1px);left:-18px;right:-18px;gap:0;flex-direction:column;align-items:stretch;background:var(--night);box-shadow:0 10px 25px #1118}
  .site-nav.is-open{display:flex}
  .site-nav a{padding:12px 18px;border-top:1px solid #ffffff20}
  .site-nav{max-height:calc(100vh - 80px);overflow-y:auto}
  .site-nav .nav-item{display:grid;grid-template-columns:1fr auto;align-items:stretch;gap:0;border-top:1px solid #ffffff20}
  .site-nav .nav-item>a{border-top:0}
  .sub-toggle{width:52px;height:auto;border-left:1px solid #ffffff20}
  .sub-menu{grid-column:1/-1;position:static;display:none;min-width:0;margin:0;padding:0 0 6px;background:#ffffff0a;border:0;border-radius:0;box-shadow:none;opacity:1;visibility:visible;transform:none;transition:none}
  .sub-menu::before{display:none}
  .site-nav .nav-item.is-open>.sub-menu{display:grid}
  .nav-item:hover:not(.is-open) .sub-toggle svg{transform:none}
  .site-nav .sub-menu a{padding:10px 18px 10px 32px;border-top:0;color:#e0d9d1;font-size:.82rem}
  .site-nav .sub-menu a:is(:hover,:focus-visible,[aria-current]){background:none;color:#ffc0ad}
  .site-header .sub-menu :focus-visible{outline-color:var(--light-accent)}
  .header-actions{margin-left:auto}
  .nav-book{min-height:36px;padding:8px 9px;font-size:.75rem;gap:4px}
  .nav-book svg{width:14px;height:14px}
  .hero-layout{min-height:0;grid-template-columns:1fr;gap:25px;padding-block:32px 28px}
  .hero-content{padding-top:0}
  .hero-content .eyebrow{margin-bottom:13px}
  .hero h1{font-size:clamp(3rem,9.4vw,4.8rem);text-wrap:initial}
  .hero-content>p:not(.eyebrow){margin-top:16px;font-size:.94rem;max-width:380px}
  .hero-links{margin-top:12px}
  .hero-photo{width:100%;height:420px;object-position:46% 45%}
  .hero-scrim{background:linear-gradient(180deg,#171615d9 0%,#17161570 160px,#17161570 275px,#171615 417px)}
  .hero-coordinate{display:none}
  .booking-card{padding:20px;max-width:510px;width:100%}
  .proof-grid{min-height:0}
  .proof-grid>div{display:grid;gap:6px;align-content:start;padding:13px 8px}
  .proof-grid>div:first-child{padding-left:0}
  .proof-grid strong{font-size:.75rem;line-height:1.25}
  .proof-grid small{display:none}
  .proof-grid svg{width:20px;height:20px}
  .section{padding:55px 0}
  .section-head{align-items:start;flex-direction:column;gap:13px;margin-bottom:23px}
  .section-head>.text-link{margin-bottom:0}
  .eyebrow{margin-bottom:12px}
  .lede{margin-top:11px}
  .three-grid,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .route-grid,.faq-grid,.story-split,.detail-grid,.vehicle-detail-grid,.page-intro-split .page-intro-inner{grid-template-columns:1fr}
  .route-grid,.faq-grid,.detail-grid,.vehicle-detail-grid{gap:23px}
  .story-image{min-height:0}
  .story-image img{aspect-ratio:1.8}
  .story-content{padding:32px 18px 39px}
  .callout{padding:41px 0}
  .callout-inner{align-items:start;flex-direction:column}
  .callout-actions{width:100%}
  .service-panel-grid{grid-template-columns:1fr;gap:24px}
  .booking-modal-panel{padding:20px}
  .testimonials-grid{gap:16px}
  .feature-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:1fr 1fr;padding:33px 0 23px}
  .footer-grid>div{min-width:0}
  .footer-bottom{flex-wrap:wrap}
  .page-intro-inner{gap:23px;padding-block:41px}
  .page-intro-image{min-height:0;max-height:350px}
  .vehicle-detail-grid{padding-block:33px}
  .journal-tools{align-items:start;flex-direction:column;gap:11px}
  .journal-search{width:100%;max-width:none}
  .article-intro-inner{padding-block:32px 38px}
  .article-grid{grid-template-columns:1fr;gap:24px;padding-block:22px 43px}
  .article-aside{grid-row:1}
  .article-aside .side-box{padding:14px}
  .article-aside nav{gap:4px}
  .article-visual img{aspect-ratio:1.6}
}
@media(max-width:495px){
  .three-grid,.contact-grid,.feature-tiles{grid-template-columns:1fr}
  .three-grid{gap:20px}
  .journal-card{padding-bottom:16px;border-bottom:1px solid var(--line)}
  .fleet-photo img{height:172px}
  .fleet-card-bottom .text-link{margin-left:auto}
  .hero-scrim{background:linear-gradient(180deg,#171615d9 0%,#17161589 175px,#17161570 275px,#171615 420px)}
  .field-input input,.field-input select,.field-input textarea,.journal-search input{font-size:16px}
  .field-input.with-icon select{padding-left:29px;padding-right:20px}
  .field-input.with-icon>svg:first-child{left:8px}
}
@media(max-width:350px){
  .wrap{width:calc(100% - 24px)}
  .brand-text strong{font-size:.59rem}
  .nav-book svg{display:none}
  .booking-card{padding:15px}
  .field-input.with-icon select{padding-left:9px}
  .field-input.with-icon:has(select)>svg:first-child{display:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important}
}


/* ——— WordPress theme extras ——— */
.brand-logo{max-height:48px;width:auto}
.entry-content > * + *{margin-top:1rem}
.entry-content h2,.entry-content h3{margin-top:1.6rem}
.entry-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.entry-content ul{list-style:disc;padding-left:1.2rem;margin:1rem 0}
.entry-content ol{list-style:decimal;padding-left:1.2rem;margin:1rem 0}
.pel-booking-note{color:var(--muted);font-size:.84rem;margin-bottom:12px}
.footer-social{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.footer-social a{color:#d2c9bf;font-size:.81rem}
.footer-social a:hover{color:#fff}
.pel-widget-fleet{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pel-widget-fleet-item a{display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:center}
.pel-widget-fleet-item img{width:64px;height:48px;object-fit:contain;mix-blend-mode:multiply;background:var(--cream);border:1px solid var(--line);border-radius:4px}
.pel-widget-fleet-meta strong{display:block;font-size:.9rem}
.pel-widget-fleet-meta small{display:block;margin-top:3px;color:var(--muted);font-size:.74rem}
.pel-widget-contact p{margin:8px 0}
.pel-widget-cta{padding:24px;background:#39251f;color:#fff8ef;border-radius:8px}
.pel-widget-quick-book .button{margin-top:12px}
.widget{margin-bottom:22px}
.widget-title{font:700 .75rem/1.5 var(--sans)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.search-form{display:flex;gap:8px;flex-wrap:wrap}
.search-form label{flex:1;min-width:180px}
.search-form input[type=search]{width:100%;min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:5px;background:var(--paper)}
.search-form input[type=submit]{min-height:42px;padding:8px 14px;border:0;border-radius:5px;background:var(--accent);color:#fff;font-weight:700}
.alignwide{max-width:100%}
.wp-block-image img{height:auto}
.nav-links{display:flex;gap:16px;justify-content:center;margin-top:28px}
.homepage-widgets .widget{margin-bottom:18px}