/* Transportation Platform 3.0 Foundation
   Shared final layer for design consistency, accessibility and mobile QA. */
:root{
  --p3-space-1:8px;--p3-space-2:16px;--p3-space-3:24px;--p3-space-4:40px;--p3-space-5:64px;--p3-space-6:88px;
  --p3-radius-sm:10px;--p3-radius-md:16px;--p3-radius-lg:22px;
  --p3-shadow-1:0 8px 28px rgba(15,23,42,.08);--p3-shadow-2:0 20px 52px rgba(15,23,42,.14);
  --p3-container:1180px;--p3-focus:#2563eb;
}
html{overflow-x:clip;-webkit-text-size-adjust:100%}body{overflow-x:clip}img,svg,video,canvas,iframe{max-width:100%;height:auto}.wrap,.container{width:min(var(--p3-container),92%);margin-inline:auto}.section,.wp25-section{padding-block:clamp(64px,7vw,88px)}
main :where(h1,h2,h3){text-wrap:balance;overflow-wrap:anywhere}main p{overflow-wrap:anywhere}h1{font-size:clamp(2.35rem,5vw,4.35rem);line-height:1.06}h2{font-size:clamp(1.85rem,3.7vw,3.15rem);line-height:1.14}h3{line-height:1.25}.lead{font-size:clamp(1rem,1.5vw,1.15rem)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--p3-focus);outline-offset:3px}.btn,button,[type=submit]{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.actions{align-items:center}.card,.local,.hero-card,.planning-card,.vehicle-card{min-width:0}.grid>* ,.split>* ,.faq>* ,.footgrid>*{min-width:0}
.tablewrap,.table-scroll,.comparison-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--p3-radius-md)}table{max-width:none}table th{white-space:normal}.compare th,.compare td{vertical-align:top}.compare thead th{position:sticky;top:0;z-index:2}
.faq details{background:#fff;border:1px solid var(--line,#dfe3e8);border-radius:var(--p3-radius-sm);padding:0;margin-bottom:12px;overflow:hidden}.faq details+details{margin-top:0}.faq summary{padding:18px 20px;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:1.4rem;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{padding:0 20px 20px;margin:0}
.quote-band,.cta-panel,.recommendation-cta{isolation:isolate}.quote-band .wrap{min-width:0}.quote-band h2,.quote-band p{max-width:780px}
.menu{min-width:44px;min-height:44px;align-items:center;justify-content:center;border-radius:10px}.mobilebar a{min-height:52px;display:flex;align-items:center;justify-content:center}
@media(max-width:960px){
  .nav{position:relative}.nav.open nav{position:fixed;top:var(--p3-mobile-nav-top,70px);left:0;right:0;bottom:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:16px 4%;z-index:100;background:#fff}
  .hero .wrap,.split,.faq{gap:34px}.hero-card{display:block}.hero{min-height:auto;padding-block:58px}.pagehero{padding-block:52px 46px}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3,.local-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .wrap,.container{width:min(100% - 32px,var(--p3-container))}.section,.wp25-section{padding-block:56px}.hero{padding-block:48px}.hero .wrap{display:block}.hero-card{margin-top:28px;padding:24px}.pagehero{padding-block:42px 38px}
  h1{font-size:clamp(2.15rem,11vw,3rem)}h2{font-size:clamp(1.75rem,8vw,2.45rem)}
  .actions{display:grid;grid-template-columns:1fr;width:100%}.actions .btn,.quote-band .btn{width:100%}
  .g4,.g3,.local-grid,.footgrid,.footgrid-complete{grid-template-columns:1fr}.trust .wrap{grid-template-columns:1fr 1fr}.card{padding:23px}
  .compare{min-width:680px}.compare th,.compare td{padding:13px 12px;font-size:.9rem}.faq{gap:28px}.faq summary{padding:17px 16px}.faq details p{padding:0 16px 18px}
}
@media(max-width:380px){.wrap,.container{width:min(100% - 24px,var(--p3-container))}.trust .wrap{grid-template-columns:1fr}.mobilebar a{font-size:.88rem;padding-inline:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{header,.top,.mobilebar,.quote-band .actions{display:none!important}body{padding:0!important}.section,.wp25-section{padding:24px 0!important}}
