/* Shared typography and spacing, desktop and mobile. */
:root { --copy-size:18px; --note-size:14px; --copy-leading:1.65; }
body { font-size:var(--copy-size); line-height:var(--copy-leading); }
.hero-copy,.intro-copy,.section-heading>p,.section-heading>div+div,
.vending-copy>p:not(.eyebrow),.work-copy>p:not(.eyebrow),
.process p,.detail-grid p,.category-section p:not(.eyebrow),
.information-band p,.maintenance-picker p,.delivery-options p,
.company-section p,.work-entry p,.faq details p,
.contact-copy>p:not(.eyebrow),.wide-copy {
 font-size:var(--copy-size); line-height:var(--copy-leading);
}
.hero-copy { max-width:440px; }
.intro-copy { max-width:60ch; margin:24px 0 28px; }
.section-heading>p,.section-heading>div+div { max-width:430px; }
.header nav { font-size:16px; gap:24px; }
.header { gap:24px; }
.secondary-nav { font-size:14px; padding-top:12px; padding-bottom:12px; flex-wrap:wrap; }
.button,.actions .button,.vending-demo .button { font-size:16px; min-height:48px; padding:14px 22px; }
.text-link,.service-tail,.work-links a,.category-nav a,.vending-tabs button { font-size:16px; }
.phone { font-size:16px; }
.eyebrow,.hero-inner .eyebrow,.card-index,.work-tag,.work-entry>span,
.visual-label,.journey-steps,.care-core>span,.care-core small,.care-meters span,
.about-art-label,.about-art-label strong,.film-center>span,.demo-top,
.diagnostic .eyebrow { font-size:12px; line-height:1.5; letter-spacing:1.4px; }
.diagnostic p,.card-bottom p,.coverage-strip p { font-size:16px; line-height:1.6; }
.coverage-strip small,.work-art small,.vending-demo>p,.coverage-art>p,
.coverage-art>small,.temperature,.temperature strong,.radar>span,
.cold-label,.work-entry strong,.page-closing>a:last-child,
.breadcrumb,.legal-back,.text-button,.footer-pages,.footer-bottom p,
.footer-bottom small,.footer-bottom nav,.footer-bottom nav a,.preview-note {
 font-size:14px; line-height:1.6;
}
.small { font-size:14px!important; line-height:1.65; }
.scroll-note { font-size:11px; letter-spacing:1px; }
.brand small { font-size:9px; letter-spacing:2.6px; }
.coverage-strip { flex-wrap:wrap; }
.coverage-strip>div { flex:1 1 260px; }
.coverage-strip>small { flex-basis:100%; }
.process,.detail-grid { gap:32px; }
.process h3,.detail-grid h3 { margin-top:20px; margin-bottom:16px; line-height:1.2; }
.category-section li { font-size:17px; line-height:1.65; }
.work-entry { padding:32px; gap:8px; }
.work-entry p { margin-bottom:24px; }
.faq summary { font-size:18px; line-height:1.5; }
.faq details { padding:24px 0; }
.faq details p { margin-top:16px; max-width:65ch; }
.contact-form { padding:32px; }
.contact-form label { font-size:15px; line-height:1.5; margin:20px 0 8px; }
.contact-form input,.contact-form select,.contact-form textarea,
.maintenance-picker input[type=number] { font-size:16px; line-height:1.5; min-height:48px; }
.maintenance-picker label,.maintenance-picker legend { font-size:16px; line-height:1.6; }
.maintenance-picker label { padding:10px 0; }
.company-section dl>div { font-size:16px; line-height:1.65; gap:24px; }
.footer-pages { gap:16px 28px; }
.footer-pages a,.footer-bottom nav a,.footer-bottom nav button { padding:6px 0; }
.footer-bottom nav { gap:16px 24px; }
.cookie-banner { gap:24px; }
.cookie-banner strong { font-size:16px; }
.cookie-banner p { font-size:14px; line-height:1.6; }
.cookie-actions { flex-wrap:wrap; }
.legal-main { padding:72px max(6%,calc((100% - 72ch)/2)); }
.legal-main p,.legal-main li,.legal-main .legal-note { font-size:18px; line-height:1.7; margin-bottom:24px; }
.legal-main .eyebrow { font-size:12px; }
.legal-main h2 { font-size:26px; line-height:1.3; margin:40px 0 16px; }
.legal-main table { width:100%; font-size:15px; line-height:1.6; }
.legal-main th,.legal-main td { padding:12px; overflow-wrap:anywhere; }
.coverage-art>small { max-width:none; left:18px; right:18px; bottom:16px; text-align:center; }
.coverage-art>p { top:auto; bottom:64px; margin:0 16px; }
.journey-steps { gap:12px; }
.care-meters { bottom:40px; }
.diagnostic { max-width:280px; }
@media(min-width:761px) and (max-width:1200px) {
 .header { padding-left:3%; padding-right:3%; gap:16px; }
 .header nav { gap:16px; font-size:15px; }
 .header-cta { padding:12px 16px; gap:12px; font-size:15px; }
 .process,.detail-grid:has(article:nth-child(4)) { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .section-heading { gap:32px; }
}
@media(max-width:760px) {
 :root { --copy-size:16px; }
 .section { padding:56px 6%; }
 .section-heading { margin-bottom:32px; }
 .section-heading>p,.section-heading>div+div { margin-top:24px; max-width:none; }
 .header nav.open { font-size:16px; gap:24px; }
 .menu-toggle { font-size:16px; min-height:44px; padding:10px 14px; }
 .secondary-nav { font-size:13px; gap:12px 18px; padding:12px 6%; }
 .hero-inner .eyebrow,.eyebrow { font-size:12px; letter-spacing:1.1px; }
 .hero-copy { font-size:16px; max-width:36ch; }
 .actions { flex-wrap:wrap; gap:12px; }
 .actions .button { font-size:15px; padding:14px 16px; gap:12px; }
 .hero { min-height:970px; }
 .cinematic-hero .diagnostic { max-width:240px; width:240px; }
 .hero .scroll-note { font-size:10px; }
 .coverage-strip { display:grid; gap:20px; }
 .coverage-strip>div+div { padding-top:20px; }
 .process,.detail-grid,.detail-grid:has(article:nth-child(4)) { grid-template-columns:1fr; gap:28px; }
 .process article { padding-top:24px; }
 .process h3 { font-size:26px; margin:12px 0 16px; }
 .detail-grid article { padding-top:24px; }
 .vending-section,.work-section,.contact,.faq-layout { gap:32px; }
 .service-tail { font-size:16px; flex-direction:column; gap:16px; }
 .service-tail a { max-width:none; }
 .card-bottom p { font-size:16px; }
 .category-nav { gap:12px; }
 .category-nav a { font-size:14px; padding:12px; }
 .category-section { gap:24px; }
 .category-section li { font-size:16px; }
 .faq summary { font-size:16px; }
 .contact-form { padding:24px; }
 .contact-form label { font-size:15px; }
 .company-section dl>div { font-size:15px; gap:16px; }
 .page-closing { padding:56px 6%; }
 .page-closing .eyebrow { flex-wrap:wrap; }
 .footer { padding:48px 6% 24px; }
 .footer-bottom { gap:24px; }
 .cookie-banner { padding:20px; gap:16px; max-height:75vh; overflow:auto; }
 .cookie-banner strong { font-size:16px; }
 .cookie-banner p { font-size:14px; }
 .cookie-actions .button { min-height:44px; font-size:15px; padding:12px 16px; }
 .legal-main { padding:48px 6%; }
 .legal-main p,.legal-main li,.legal-main .legal-note { font-size:16px; line-height:1.7; margin-bottom:24px; }
 .legal-main h1 { font-size:clamp(32px,8.6vw,45px); overflow-wrap:anywhere; }
 .legal-main h2 { font-size:24px; line-height:1.3; margin-top:32px; }
 .legal-main table { font-size:14px; table-layout:fixed; }
 .legal-main td,.legal-main th { padding:10px 8px; }
 .visual-label { right:18px; }
 .motion-panel { height:420px; }
 .coverage-art>small { font-size:12px; }
 .coverage-art>p { font-size:14px; bottom:64px; }
 .journey-steps { font-size:11px; }
}
