/* Wordmark, contact motion, booking estimate and small-screen refinements. */
.brand-name{display:flex;align-items:baseline;gap:8px;color:#ce2634;letter-spacing:-.035em}
.brand-name .brand-car{position:relative;display:inline-block;font-size:.82em;font-style:italic;font-weight:700;letter-spacing:-.05em;color:var(--blue);padding-right:3px;line-height:1.1}
.brand-car:after{content:'';position:absolute;bottom:-5px;left:1px;width:100%;height:3px;border-radius:4px;transform:skewX(-25deg);background:linear-gradient(90deg,var(--blue) 72%,var(--yellow) 72%)}
.footer-brand .brand-name{color:#ff7079}.footer-brand .brand-name .brand-car{color:#a8cdff}.footer-brand .brand-car:after{background:linear-gradient(90deg,#a8cdff 72%,var(--yellow) 72%)}
.brand small{margin-top:9px}.nav-quote{color:var(--blue)}
.btn:active{transform:translateY(0) scale(.98)}
.floating-contact a{position:relative;transition:transform .2s,box-shadow .2s}
.floating-contact a:hover{transform:translateY(-3px);box-shadow:0 6px 24px #09265035}
.floating-call:after{content:'';position:absolute;inset:-4px;border:2px solid #e9343666;border-radius:50%;pointer-events:none;animation:np-contact-ring 3.8s ease-out infinite}
.floating-call svg,.mobile-contact [data-contact="phone"] svg{animation:np-phone-nudge 6s ease-in-out infinite;transform-origin:50% 50%}
.hero .btn-primary{animation:np-soft-glow 6s ease-in-out infinite}
.hero-quote-link{margin-top:18px;font-size:12px}.hero-quote-link svg{width:17px;height:17px}
.btn:hover,.btn:focus-visible{animation-play-state:paused}
@keyframes np-contact-ring{0%,58%,100%{transform:scale(1);opacity:0}65%{opacity:.65}88%{transform:scale(1.35);opacity:0}}
@keyframes np-phone-nudge{0%,78%,100%{transform:rotate(0)}80%,84%{transform:rotate(-12deg)}82%,86%{transform:rotate(12deg)}88%{transform:rotate(0)}}
@keyframes np-soft-glow{0%,70%,100%{box-shadow:0 0 0 0 #135bd700}78%{box-shadow:0 0 0 7px #135bd71c}88%{box-shadow:0 0 0 12px #135bd700}}

.quote-section{padding-top:0}
.quote-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:start}
.quote-form{border:1px solid var(--line);border-radius:18px;padding:30px;background:white;min-width:0}
.quote-form-heading{display:flex;gap:13px;align-items:center;margin-bottom:24px}
.quote-form-icon{width:44px;height:44px;display:grid;place-items:center;background:#edf3ff;color:var(--blue);border-radius:11px;flex-shrink:0}
.quote-form-heading h3{font-size:19px}.quote-form-heading p{font-size:11px;color:var(--muted);margin:4px 0 0}
.quote-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 16px;min-width:0}
.quote-form>fieldset{border:0;padding:0;margin:0;min-width:0}.quote-submit:disabled{opacity:.6;cursor:wait}
.quote-field{min-width:0}.quote-field label{display:block;font-size:12px;font-weight:600;margin-bottom:8px;line-height:1.6}
.quote-field label>span:not(.optional){color:#c32938}.quote-field .optional{font-weight:400;color:var(--muted);font-size:10px}
.quote-field input,.quote-field select{width:100%;min-width:0;min-height:50px;border:1px solid #ccd7e5;border-radius:8px;padding:12px 13px;color:var(--ink);background:#fbfcfe;font-family:inherit;font-size:15px;line-height:1.5;-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}
.quote-field select{padding-right:31px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23112c4f'%3E%3Cpath d='m5 7 5 5 5-5' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:18px}
.quote-field input::placeholder{color:#7d8b9d;font-size:12px}
.quote-field input:focus,.quote-field select:focus,.quote-summary textarea:focus{outline:2px solid var(--blue);outline-offset:2px;border-color:var(--blue)}
.quote-field input[type=datetime-local]{font-family:Inter,Arial,sans-serif;font-size:13px}
.quote-input-suffix{position:relative}.quote-input-suffix input{padding-right:39px}.quote-input-suffix>span{position:absolute;right:13px;top:12px;line-height:25px;color:var(--muted);font-size:12px;pointer-events:none}
.quote-span{grid-column:1/-1}.quote-fields .quote-field-help{font-size:10px;line-height:1.8;color:var(--muted);margin:-7px 0 0}
.quote-submit{width:100%;margin-top:24px;min-height:51px;white-space:normal}
.quote-local-note{display:flex;gap:7px;align-items:start;color:var(--muted);font-size:10px;margin-top:13px}.quote-local-note svg{width:15px;height:15px;flex-shrink:0;margin-top:2px}
.quote-result{background:#f0f5ff;border:1px solid #d9e5f9;border-radius:18px;padding:31px;scroll-margin-top:115px;min-width:0}
.quote-result>.eyebrow{font-size:10px}.quote-result>h3{font-size:20px}
.quote-price-box{border-bottom:1px solid #d5e1f4;padding:23px 0 22px}
.quote-price{font-size:35px;font-weight:800;line-height:1.35;letter-spacing:-.04em;color:var(--blue);overflow-wrap:anywhere}
.quote-price[data-kind=missing]{font-size:25px}.quote-price[data-kind=contract],.quote-price[data-kind=invalid]{font-size:29px}
.quote-price-box p{font-size:12px;line-height:1.9;color:#526680;margin-top:11px;overflow-wrap:anywhere}
.quote-conditions{list-style:none;padding:0;margin:22px 0;display:grid;gap:14px;font-size:12px;color:#526680}
.quote-conditions li{display:flex;gap:9px;align-items:start}.quote-conditions svg{color:var(--blue);width:16px;height:16px;margin-top:2px;flex-shrink:0}
.quote-direct{font-size:12px;gap:8px;flex-wrap:wrap}.quote-direct svg{width:16px;height:16px}
.quote-summary{margin-top:26px;padding-top:23px;border-top:1px solid #d5e1f4}.quote-summary[hidden]{display:none}
.quote-summary h4{font-size:14px;margin:0 0 12px;line-height:1.6}
.quote-summary textarea{display:block;width:100%;min-width:0;border:1px solid #ccd7e5;border-radius:8px;background:white;color:var(--ink);font-size:12px;font-family:inherit;padding:14px;line-height:1.9;resize:vertical;min-height:220px;white-space:pre-wrap;overflow-wrap:anywhere}
.quote-send-actions{display:grid;gap:9px;margin-top:15px}.quote-send-actions .btn{font-size:12px;min-height:48px;white-space:normal}
.quote-copy-status{font-size:11px;line-height:1.85;color:#526680;margin-top:13px}
.quote-extra{grid-column:1/-1;border-top:1px dashed var(--line);padding-top:15px}
.quote-extra summary{font-size:11px;color:var(--blue);cursor:pointer;min-height:30px;line-height:1.8}
.quote-extra[open] summary{margin-bottom:17px}
.quote-extra .quote-fields{gap:16px}

@media(max-width:1120px){.header-phone{display:none}.header-inner{gap:20px}.nav{margin-left:auto;gap:20px}.quote-layout{gap:22px}.quote-form,.quote-result{padding:25px}}
@media(max-width:1024px){
  html{scroll-padding-bottom:95px}.floating-contact{display:none}
  .mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fffffff7;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:10px max(16px,calc((100% - 640px)/2)) calc(10px + env(safe-area-inset-bottom));gap:10px;box-shadow:0 -4px 24px #0926500d}
  .mobile-contact .btn{min-height:48px;font-size:13px;padding:11px 12px;gap:8px}.mobile-contact svg{width:18px;height:18px}
  .site-footer{padding-bottom:115px}.quote-form,.quote-result{scroll-margin-top:100px;scroll-margin-bottom:100px}
}
@media(max-width:850px){.nav{margin:0;gap:0}.menu-toggle{min-width:44px;min-height:44px}.quote-section .section-heading{flex-direction:column;align-items:start;gap:16px}.quote-layout{grid-template-columns:1fr 1fr;gap:18px}.quote-form,.quote-result{padding:22px}.quote-fields{grid-template-columns:1fr;gap:16px}.quote-span{grid-column:auto}.quote-form-heading p{font-size:11px}.quote-form-heading h3{font-size:17px}.quote-result>h3{font-size:18px}.quote-price{font-size:32px}.quote-conditions{font-size:11px}.quote-field input,.quote-field select{font-size:16px}.quote-field input[type=datetime-local]{font-size:14px}.quote-extra .quote-fields{grid-template-columns:1fr}}
@media(max-width:650px){.quote-layout{grid-template-columns:1fr;gap:18px}.quote-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-address,.quote-span,.quote-extra{grid-column:1/-1}.quote-extra .quote-fields{grid-template-columns:1fr}.quote-form,.quote-result{padding:24px}.quote-field label{font-size:12px}.quote-form-heading h3{font-size:19px}.quote-form-heading p{font-size:12px}.quote-result>h3{font-size:21px}.quote-price{font-size:36px}.quote-conditions{font-size:13px}.quote-price-box p{font-size:13px}.quote-copy-status{font-size:12px}}
@media(max-width:580px){
  .brand-name{font-size:19px;gap:7px}.brand-name .brand-car{font-size:.86em}.brand img{width:50px;height:50px}.brand small{font-size:7px;letter-spacing:.1em;margin-top:10px}.brand-car:after{bottom:-5px;height:3px}
  .header-inner{height:76px}.nav{top:76px}.menu-toggle{width:44px;height:44px}.hero h1{font-size:clamp(35px,10vw,44px)}
  .hero-description{font-size:14px;line-height:1.8}.hero .btn{min-height:48px;font-size:12px}.hero-quote-link{font-size:12px;margin-top:19px}.hero-checks{font-size:10px;line-height:1.8;gap:8px 13px}
  .section-heading p{font-size:13px}.promise-item{font-size:11px}.promise-item small{font-size:10px;line-height:1.6}.promise-inner{gap:20px 12px}
  .route-label{font-size:8px;letter-spacing:.04em}.route-name{font-size:15px;min-height:48px}.route-price{font-size:22px}.route-card .btn{min-height:46px;font-size:11px;gap:4px}.route-card .btn>svg:last-child{display:none}
  .route-callout p{font-size:12px}.route-callout .btn{min-height:46px;font-size:10px}.price-note{font-size:11px}.route-badge{font-size:8px}
  .services-intro p{font-size:14px}.service-item h3{font-size:15px}.service-item p{font-size:13px}.service-icon{width:39px;height:39px}.service-number{display:none}
  .fleet-info p{font-size:12px}.fleet-info .text-link{font-size:12px;line-height:1.7}.fleet-info{padding:19px 14px}.fleet-note{font-size:11px}
  .rate-table{font-size:12px}.rate-table th{font-size:10px}.rate-table td:last-child{font-size:11px}.rate-table td small{font-size:10px}.rates-shell p,.rates-shell .rate-footnote{font-size:12px}
  .about-copy>p{font-size:14px}.about-point strong{font-size:14px}.about-point p{font-size:12px}.about-art .about-badge{font-size:10px}
  .booking-head>p,.step p,.faq-layout>div>p,.faq-list details p{font-size:13px}.step h3{font-size:15px}.faq-list summary{font-size:14px}.faq-list details{padding:18px 0}
  .contact-panel p{font-size:13px}.contact-actions .btn{min-height:50px;font-size:13px}.footer-brand>p,.footer-links,.footer-contact p{font-size:12px}.footer-title{font-size:13px}.footer-bottom{font-size:10px}
  .quote-section{padding-top:0}.quote-form,.quote-result{padding:22px}.quote-field input,.quote-field select{font-size:16px;min-height:52px}.quote-submit{font-size:12px;min-height:52px;padding:13px 14px}.quote-fields .quote-field-help{font-size:11px}.quote-local-note{font-size:11px}.quote-field input::placeholder{font-size:13px}.quote-result{scroll-margin-top:93px}.quote-extra summary{font-size:12px;min-height:38px}
  .mobile-contact{padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:7px}.mobile-contact .btn{min-height:48px;font-size:12px;padding:11px 7px;gap:6px}
  input,select,textarea{scroll-margin-top:100px;scroll-margin-bottom:110px}
}
@media(max-width:359px){.brand-name{font-size:17px;gap:5px}.brand small{font-size:6px}.brand img{width:43px;height:43px}.brand{gap:6px}.route-grid{grid-template-columns:1fr}.route-car{height:185px}.route-content{padding:22px}.route-name{font-size:20px;min-height:0}.route-name br{display:none}.route-price{font-size:28px}.route-label{font-size:9px}.route-card .btn{font-size:13px}.route-badge{font-size:9px}.route-callout h3 br{display:none}.route-callout .btn{font-size:12px}.mobile-contact{padding-left:9px;padding-right:9px}.mobile-contact .btn{font-size:11px;gap:5px}.quote-form,.quote-result{padding:19px}.quote-fields{column-gap:11px}.quote-field label{font-size:11px}.quote-price[data-kind=missing]{font-size:23px}.quote-direct{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
