/* Shared expansion components extend the established Bryan design. */
.brand-figure{max-width:330px;margin:30px auto 60px;text-align:center;padding:0 20px}.brand-figure img{height:auto}.brand-figure figcaption{font-size:14px;color:var(--muted);margin-top:18px}
.page-intro h1 em{color:#637b5d}.mobile-contact{display:none}@media(min-width:801px){.hero h1{font-size:clamp(54px,5.5vw,82px)}}
@media(max-width:540px){body{padding-bottom:68px}.mobile-contact{display:grid;grid-template-columns:1fr 1fr;gap:0;position:fixed;bottom:0;left:0;right:0;z-index:12;background:var(--ink);border-top:1px solid #637b5d;padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{color:white;text-align:center;padding:16px 8px;font-size:15px;font-weight:700}.mobile-contact a+a{background:var(--green);color:var(--ink)}}
header #primary-nav{gap:24px}.header-book{font-size:13px;padding:12px 20px;min-height:46px;white-space:nowrap}
.site-footer{grid-template-columns:1.4fr 1fr 1fr 1fr}.site-footer a:not(.wordmark){padding:3px 0;font-size:13px}.site-footer strong{margin-bottom:8px}
.breadcrumbs{padding:24px 6% 0;display:block;font-size:13px;color:var(--muted)}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;padding:0;margin:0}.breadcrumbs li:not(:last-child):after{content:' /';padding-left:16px;color:#99a595}.breadcrumbs a{font-size:inherit;text-decoration:underline;padding:0}
.service-intro{max-width:1160px;margin:auto;padding-bottom:35px}.service-intro h1{max-width:1050px;margin-inline:auto;font-size:clamp(40px,5.2vw,72px);line-height:1.08;overflow-wrap:break-word}.section-lede{max-width:760px;line-height:1.75;color:var(--muted);font-size:18px}.page-intro .section-lede{margin-inline:auto}.page-intro .hero-booking-actions{justify-content:center;margin-top:28px}
.editorial-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:6%;align-items:start}.editorial-grid p{font-size:18px;color:var(--muted)}.pickup-note{padding:30px;border:1px solid var(--line);border-radius:24px;background:#e8efe3}.pickup-note p{font-size:16px}.item-list{display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:0;gap:12px}.item-list li{background:white;border:1px solid var(--line);border-radius:14px;padding:18px;font-weight:600}
.service-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.service-cards article{display:flex;flex-direction:column;min-height:270px;border:1px solid var(--line)}.service-cards h3 a{font-size:25px;text-decoration:none;line-height:1.3}.service-cards article>.text-link{margin-top:auto;font-size:14px}.service-cards .index{margin-bottom:18px}
.pricing-callout{padding:30px 34px;background:#e8efe3;border-radius:24px;max-width:960px}.pricing-callout p:first-child{font-size:21px}.service-price-list{max-width:900px}.service-price-list p{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:14px 0}.service-price-list span{white-space:nowrap}
.region-directory{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.region-directory details,.faq-list details{border:1px solid var(--line);border-radius:20px;background:white;padding:22px 26px}.region-directory summary,.faq-list summary{cursor:pointer;font-weight:700;min-height:30px}.region-directory summary span{display:block;font-size:13px;color:var(--muted);font-weight:400;margin-top:6px}.location-links{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin:20px 0}.location-links a{display:block;padding:6px 0;font-size:15px}.city-list .location-links{display:grid;padding:0;list-style:none}.region-directory>.details{min-width:0}.nearby-links{display:flex;flex-wrap:wrap;gap:14px;list-style:none;padding:0}.nearby-links a{display:block;border:1px solid var(--line);padding:15px 22px;border-radius:100px;background:white}
.faq-section{max-width:1100px;margin:auto;padding-top:35px}.faq-list{display:grid;gap:14px}.faq-list p{margin:18px 0 0;color:var(--muted);max-width:850px}.closing .hero-booking-actions{justify-content:center}.closing .fine{color:#bdc9be}.closing .secondary-button{background:transparent;border:1px solid #879b86;color:white}.closing-text{display:inline-block;margin-top:14px}.compact-section{padding-block:40px}.region-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.regions .section-heading:after{content:none}.hero-art img{aspect-ratio:1389/1141;height:auto}.local .area-photo{aspect-ratio:3/2;height:auto;object-fit:cover}
#cities>summary{display:none}#cities .location-links{grid-template-columns:1fr 1fr}.area h2{font-size:clamp(30px,3.5vw,44px)}
@media(max-width:1050px){header #primary-nav{gap:16px}header{gap:16px;padding-inline:4%}.site-footer{grid-template-columns:1fr 1fr}.service-cards{grid-template-columns:1fr 1fr}}
@media(max-width:800px){header .header-book{margin-left:auto;font-size:12px;padding:10px 16px}.menu-toggle{margin-left:4px}header #primary-nav{gap:0}.editorial-grid,.region-directory{grid-template-columns:1fr;gap:24px}.service-cards,.region-grid{grid-template-columns:1fr 1fr}.breadcrumbs{padding-top:18px}.page-intro .hero-booking-actions{gap:12px}.section-lede{font-size:17px}.hero h1{font-size:clamp(48px,10vw,76px)}.top-areas a{min-height:28px;display:flex;align-items:center}}
@media(max-width:540px){.service-cards,.region-grid,.site-footer{grid-template-columns:1fr}.service-intro h1{font-size:42px;letter-spacing:-1.5px}.page-intro .button{width:100%}.item-list{grid-template-columns:1fr}.location-links,#cities .location-links{grid-template-columns:1fr}.pricing-callout{padding:24px}.service-price-list p{flex-direction:column;gap:5px}.breadcrumbs ol{gap:6px 10px}.breadcrumbs li:not(:last-child):after{padding-left:10px}.hero .eyebrow{font-size:10px;line-height:1.8}.hero .intro{font-size:21px}}
@media(prefers-reduced-motion:reduce){.truck-animation{animation:none}.region-card{transition:none}}
