/* Separate pages, shared navigation, and unobstructed booking components. */
.header-inner{gap:22px}
.site-nav ul{gap:23px}
.site-nav a[aria-current="page"]::after{right:0}
.brand img{height:48px}
.header-cart{display:flex;align-items:center;min-width:72px;min-height:44px}
.cart-fallback{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:600 14px/1.4 var(--sans)}
.cart-fallback svg{width:20px;height:20px}
.booqable-cart-button:empty{display:none}
.header-cart .booqable-cart-button{max-width:190px}
.footer-quote{padding:0;text-align:left;color:inherit;display:inline-flex;align-items:center;gap:7px;font:inherit}
.footer-quote:hover{text-decoration:underline}
.footer-quote .quote-count{background:#d9bf8b;color:#132b37}
.wa-float{left:20px;right:auto}
.page-section{min-height:50vh;padding-top:clamp(40px,5vw,74px)}
.page-title{font-size:clamp(2.35rem,4.3vw,3.8rem);max-width:22ch}
.page-section>.wrap>.eyebrow{margin-bottom:14px}
.page-section .section-head{align-items:start}
.page-section .section-head>p{padding-top:14px}
.page-section .section-head .lede{max-width:60ch}
.page-section #rental-grid{margin-top:28px}
.quote-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:26px 0 30px;padding:17px 20px;background:#f1f5f6;border-left:2px solid #d9bf8b}
.quote-toolbar p{font-size:14px;max-width:68ch;margin:0}
.quote-toolbar .btn{flex:none}
.quote-toolbar+.planner{margin-top:24px}
.section--soft .quote-toolbar{background:white}
.contact-quote-summary{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:24px}
.contact-quote-summary p{font-size:14px;margin:12px 0 0;color:#586972;overflow-wrap:anywhere}
.home-paths{background:#f1f5f6}
.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #cbd7da;border-bottom:1px solid #cbd7da}
.path-grid>a{display:block;padding:32px;transition:background .3s ease}
.path-grid>a+a{border-left:1px solid #cbd7da}
.path-grid>a:hover{background:#fff}
.path-grid span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px;color:#586972}
.path-grid h3{font-size:1.7rem;margin-bottom:12px}
.path-grid p{color:#586972;font-size:16px;max-width:27ch}
.home-service-line{margin-top:28px;color:#586972;font-size:14px}
.home-service-line a{color:#173b49;text-decoration:underline;text-underline-offset:4px}
.booking-page{min-height:65vh}
.booking-page .section-head{align-items:end;margin-bottom:30px}
.booking-inline{width:100%;min-width:0;overflow:visible}
.booking-controls{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:24px;align-items:start;margin-bottom:28px}
.booking-feedback{color:#586972;background:#f1f5f6;border-left:2px solid #d9bf8b;padding:18px 22px;margin:0 0 28px;font-size:16px}
.booking-feedback__actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:18px}
.booking-help{margin-top:34px;font-size:14px;color:#586972;max-width:70ch}
.booking-help .text-link{display:inline}
.booking-inline .booqable-product-list{min-height:80px}
.booking-inline .booqable-embeddable-cart{min-height:80px}
/* Native provider components retain their own layout and focus behaviour. */
.booking-inline :is(input,select,button){max-width:100%}
.scene-switch button{font-size:12px}
.scene-switch button span{font-size:14px}
.hero__copy .eyebrow{font-size:12px}
.site-footer h3{font-size:14px}
.site-footer .footer-grid{grid-template-columns:1.3fr 1fr 1.2fr 1.1fr}
@media(max-width:1180px){
 :root{--header-h:76px}
 .header-inner{gap:15px}
 .header-actions{margin-left:auto}
 .nav-toggle{display:inline-flex}
 .site-nav{position:fixed;inset:var(--header-h) 0 auto;background:#fff;border-bottom:1px solid var(--line);padding:8px 24px 24px;display:none;margin:0;max-height:calc(100dvh - var(--header-h));overflow:auto}
 .site-nav[data-open="true"]{display:block}
 .site-nav ul{flex-direction:column;gap:0}
 .site-nav a{display:block;padding:17px 0;border-bottom:1px solid var(--line);font-size:16px}
 .site-nav a::after{display:none}
 .site-nav a[aria-current="page"]{font-weight:700}
 .header-actions .nav-book{display:inline-flex}
 .site-footer .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
 .quote-toolbar{align-items:start;flex-direction:column;gap:14px;padding:17px}
 .path-grid{grid-template-columns:1fr}
 .path-grid>a{padding:26px 8px}
 .path-grid>a+a{border-left:0;border-top:1px solid #cbd7da}
 .path-grid span{margin-bottom:14px}
 .path-grid p{max-width:none}
 .booking-controls{grid-template-columns:1fr;gap:18px}
 .site-footer .footer-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
 .header-inner{gap:10px}
 .header-actions{gap:10px}
 .brand img{height:42px}
 .nav-toggle{width:40px;height:40px}
 .header-actions .nav-book{padding:9px 11px;min-height:40px;font-size:13px}
 .header-cart{min-width:48px}
 .cart-fallback{gap:5px;font-size:13px}
 .header-cart .booqable-cart-button{max-width:110px}
 .wa-float{left:14px;bottom:18px}
}
@media(max-width:359px){.cart-fallback span{display:none}.brand img{height:36px}.header-cart{min-width:24px}}

.mobile-book-link{display:none}
@media(max-width:600px){.header-actions .nav-book{display:none}.mobile-book-link{display:block}.header-cart .booqable-cart-button{max-width:160px}.header-cart .booqable-cart-button :is(a,button){max-width:100%;white-space:normal}}
