/* Mobile enhancements only. Desktop rules and source styles remain intact. */
.mobile-service-nav{display:none}
@media(max-width:767px), (max-width:1023px) and (max-height:500px){
 :root{--mobile-action-space:calc(76px + env(safe-area-inset-bottom,0px))}
 html{scroll-padding-bottom:var(--mobile-action-space)}
 body{padding-bottom:var(--mobile-action-space)}
 #site-header .header-mobile-call{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
 #site-header .menu,#site-header>.lang{min-width:44px;min-height:44px}
 .menu-is-open #site-header .wordmark,.menu-is-open #site-header .brand small{color:var(--paper)}
 #nav.open{overflow-y:auto;overscroll-behavior:contain;gap:18px;padding:20px 24px max(24px,env(safe-area-inset-bottom));}
 #nav.open .nav-links{gap:2px}
 #nav.open .navlink{font-size:23px;line-height:1.35;min-height:44px;padding:8px 0}
 #nav.open .nav-actions{margin-top:8px;padding-top:16px;gap:8px}
 .mobile-service-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;padding:16px 0;border-block:1px solid #53647b}
 .mobile-service-nav a{display:flex;align-items:center;min-width:0;min-height:48px;padding:8px 0;color:var(--paper);font-size:16px;line-height:1.4;text-decoration:none}
 .mobile-service-nav a:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
 .hero{padding:20px 0 28px}
 .hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:0 20px;align-items:center}
 .hero-copy{display:contents}
 .hero-visual{grid-column:2;grid-row:1;width:84px;height:auto;max-width:none;margin:0;padding:0;align-self:center}
 .hero-portrait{width:84px;height:105px;aspect-ratio:4/5;border-radius:2px 24px 2px 2px}
 .hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
 .hero-visual:before,.hero-caption{display:none}
 html[lang] .hero-copy .local-role,html[lang="fr-CA"] .hero-copy h1.local-role{grid-column:1;grid-row:1;width:auto;max-width:27ch;min-height:0;font-size:15px!important;line-height:1.5;margin:0!important;letter-spacing:0!important}
 html[lang] .hero-copy .cover-title,html[lang="fr-CA"] .hero-copy p.cover-title{grid-column:1/-1;grid-row:2;font-size:clamp(32px,8.8vw,38px)!important;line-height:1.18;max-width:19ch;margin:20px 0 16px!important}
 .hero-copy .hero-description{grid-column:1/-1;grid-row:3;max-width:46ch;font-size:16px;line-height:1.6;margin:0 0 18px}
 .hero-copy .hero-cta{grid-column:1/-1;grid-row:4;min-width:0;width:100%;min-height:52px;margin:0;white-space:normal;text-align:center;padding:13px 16px;font-size:16px;line-height:1.4}
 .hero-copy .hero-reassurance{grid-column:1/-1;grid-row:5;margin:10px 0 0;font-size:14px;line-height:1.5}
 .hero-copy .hero-network-note{grid-column:1/-1;grid-row:6;max-width:none;margin:12px 0 0;font-size:14px;line-height:1.5}
 .hero-copy .hero-secondary{grid-column:1/-1;grid-row:7;justify-self:start;min-height:44px;display:inline-flex;align-items:center;margin:4px 0 0;font-size:16px}
 .projects-section .service-card{min-height:108px;padding-block:14px;gap:5px 12px}
 .service-card h3{font-size:20px;line-height:1.3}
 .service-card p{font-size:16px;line-height:1.5}
 .project-thumb{height:76px}
 .service-cover-copy h1.service-cover-title{font-size:clamp(30px,8.5vw,38px)!important;line-height:1.2}
 .guide-next .button,.brief-next a,.article-next .button{white-space:normal;line-height:1.45;text-align:center;max-width:100%}
 .breadcrumbs a{min-width:44px;min-height:44px;display:inline-flex;align-items:center}
 .source-link a,.service-sources a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;line-height:1.55}
 .local-guide-links{display:flex;flex-wrap:wrap;gap:0 6px;align-items:center}
 .local-guide-links a{min-height:44px;display:inline-flex;align-items:center}
 footer a[href^="tel:"],.guide-byline a,.article-byline a{display:inline-flex;align-items:center;min-height:44px}
 .calculator input,.calculator select,.comparison-panel input,.comparison-panel select{font-size:17px;min-height:50px;scroll-margin-block:calc(var(--header) + 20px) 110px}
 .calculator input[type="checkbox"]{min-height:24px;width:24px;height:24px;flex-shrink:0}
 .calc-mode{display:grid;grid-template-columns:1fr 1fr}
 .calc-mode button{min-height:48px;white-space:normal;line-height:1.4;padding:10px 12px}
 .calc-result .amount,.scenario-payment{font-size:clamp(28px,8.5vw,38px);line-height:1.2;font-variant-numeric:tabular-nums}
 .calc-result{padding:24px 20px}
 .calc-error{font-size:16px;line-height:1.55}
 .mobile-cta{display:flex;height:auto;min-height:72px;padding:9px 16px calc(9px + env(safe-area-inset-bottom,0px));gap:10px;background:var(--paper)}
 .mobile-cta .button{min-height:48px;min-width:44px;font-size:16px;line-height:1.4}
 body.mobile-keyboard-open .mobile-cta{display:none}
 .booking-frame-wrap,.calendar-inline{max-width:100%;min-width:0!important;scroll-margin-top:calc(var(--header) + 12px)}
 .calendar-inline iframe{display:block;max-width:100%;min-width:0!important}
 :focus-visible{outline:3px solid var(--kelto-blue);outline-offset:4px}
 .combined-approach :focus-visible,footer :focus-visible{outline-color:var(--paper)}
}
@media(max-width:359px){.hero-layout{column-gap:14px}.mobile-service-nav{gap:4px 12px}.mobile-service-nav a{font-size:15px}}
@media(max-width:1023px) and (max-height:500px){
 #site-header{height:60px;--header:60px}:root{--header:60px}
 .header-inner{display:flex;height:60px;align-items:center}.header-affiliations{display:none}
 #nav.open{top:60px;height:calc(100dvh - 60px);max-height:calc(100dvh - 60px)}
 .hero-layout{grid-template-columns:minmax(0,1fr) 84px}.hero-copy .hero-description{max-width:none}
 .mobile-cta{left:auto;width:300px;border:1px solid var(--line)}
}
@media(max-width:767px), (max-width:1023px) and (max-height:500px){
 main *,footer *{min-width:0}
 main :is(h1,h2,h3,p,li,a,summary,dt,dd),footer a{overflow-wrap:anywhere}
 .projects-section{grid-template-columns:minmax(0,1fr)}
 .project-grid{min-width:0}
 .calc-mode{grid-template-columns:repeat(2,minmax(0,1fr))}
 .segmented{flex-wrap:wrap}
 .local-panorama{height:auto;min-height:360px;max-height:none}
 .local-caption{height:auto;min-height:360px;padding-top:36px;padding-bottom:36px}
}
