/* EN / FR navigation and French copy fit. No runtime translation or stored locale. */
.nav-menu{margin-left:auto;gap:22px}
.nav-wrap{gap:22px}
.nav-controls{display:flex;align-items:center;gap:15px;flex-shrink:0}
.language-switch{display:flex;align-items:center;border:1px solid var(--line);border-radius:3px;padding:3px;gap:2px;background:var(--white)}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:6px;font:13px/1.4 var(--sans);letter-spacing:.04em}
.language-switch a[aria-current=true]{background:var(--green);color:var(--white);border-radius:2px}
.language-switch a:not([aria-current]):hover{background:var(--sage)}
.footer-language{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:14px}
.footer-language a{display:inline-flex;align-items:center;min-height:44px}
.footer-language a[aria-current=true]{text-decoration:underline;text-underline-offset:4px}
.footer-bottom{flex-wrap:wrap;gap:15px 24px}
html[lang=fr] h1,html[lang=fr] h2,html[lang=fr] h3{overflow-wrap:break-word}
html[lang=fr] .hero h1{font-size:clamp(47px,5vw,73px)}
html[lang=fr] .page-hero h1{font-size:clamp(42px,4.8vw,74px);max-width:23ch}
html[lang=fr] .hero .lead{max-width:50ch}
html[lang=fr] .section-heading .lead{max-width:41ch}
html[lang=fr] .solution-card h3{max-width:none}
html[lang=fr] .doc-row{grid-template-columns:minmax(0,1fr) auto}
html[lang=fr] .doc-row .status{white-space:normal;text-align:center;max-width:100px}
html[lang=fr] .form-progress{gap:16px}
html[lang=fr] .field select{text-overflow:ellipsis}
html[lang=fr] .data-table td,html[lang=fr] .data-table th{hyphens:auto}
@media(min-width:1101px) and (max-width:1300px){
 .brand-text{font-size:13px}.nav-menu{gap:17px}.nav-wrap{gap:18px}.nav-menu>a:not(.button),.nav-menu .button{font-size:14px}
 .nav-menu .button{gap:12px;padding-inline:14px}.language-switch a{min-width:34px}
}
/* Collapse earlier to make room for longer French labels and a visible language switch. */
@media(max-width:1100px){
 :root{--header-height:80px}
 .nav-wrap{min-height:var(--header-height);gap:14px}
 .nav-menu{display:flex;position:fixed;inset:var(--header-height) 0 auto;margin:0;max-height:calc(100dvh - var(--header-height));overflow-y:auto;flex-direction:column;align-items:stretch;gap:0;padding:18px var(--gutter) 27px;background:var(--paper);border-bottom:1px solid var(--line);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .15s,transform .15s;pointer-events:none}
 .menu-open .nav-menu{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}
 .menu-toggle{display:flex;z-index:51}
 .nav-menu>a:not(.button){font-size:18px;padding:16px 0;border-bottom:1px solid var(--line);white-space:normal}
 .nav-menu .button{align-self:flex-start;font-size:16px;min-height:50px;margin-top:19px}
 .nav-controls{margin-left:auto;gap:12px}
 html[lang=fr] .hero h1{font-size:clamp(46px,6vw,62px)}
}
@media(max-width:760px){
 :root{--header-height:78px}
 .brand{gap:9px}.brand-text{font-size:12px;letter-spacing:.065em}.brand-mark{width:30px;height:36px}
 .nav-controls{gap:8px}.language-switch{padding:2px;gap:1px}
 .language-switch a{min-height:38px;min-width:32px;font-size:12px;padding:5px}
 .menu-toggle{width:42px;height:42px}
 html[lang=fr] .hero h1{font-size:clamp(44px,9vw,64px)}
 html[lang=fr] .page-hero h1{font-size:clamp(40px,8.5vw,60px)}
 html[lang=fr] .rescue-bar .text-link{white-space:normal}
 .footer-language{width:100%}
}
@media(max-width:380px){
 .site-header .wrap{padding-inline:14px}.nav-wrap{gap:8px}
 .brand-text{font-size:11px}.brand-mark{width:26px}.brand{gap:8px}.nav-controls{gap:6px}
 .language-switch a{min-width:30px;padding-inline:3px}.menu-toggle{width:38px;height:40px}
 html[lang=fr] .hero h1{font-size:42px}
 html[lang=fr] .page-hero h1{font-size:37px}
 html[lang=fr] .doc-row{grid-template-columns:1fr;gap:7px}
 html[lang=fr] .doc-row span:last-child{justify-self:start}
 html[lang=fr] .end-cta h2{font-size:35px}
}
@media print{.language-switch,.footer-language{display:none!important}}
