/* French and Spanish share a predictable local font and a responsive type scale.
   Loaded only for these locales; promotional artwork is unchanged. */
html:is(:lang(fr),:lang(es)) body.toknav-visual-parity-page{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}
html:is(:lang(fr),:lang(es)) :is(h1,h2,h3,h4,p,a,li,dt,dd,label,input,select,textarea,button,summary){font-family:inherit}
html:is(:lang(fr),:lang(es)) main :is(h1,h2,h3){font-weight:700;letter-spacing:-.015em;text-wrap:balance;overflow-wrap:break-word}
html:is(:lang(fr),:lang(es)) .tml-hero h1{font-size:clamp(32px,3.4vw,48px);line-height:1.16;max-width:24ch}
html:is(:lang(fr),:lang(es)) main h2{font-size:clamp(26px,2.5vw,34px);line-height:1.25}
html:is(:lang(fr),:lang(es)) main h3{font-size:20px;line-height:1.35}
html:is(:lang(fr),:lang(es)) main p{text-wrap:pretty}
html:is(:lang(fr),:lang(es)) :is(.tml-lead,.tml-category-intro,.section-head p){font-size:16px;line-height:1.7;max-width:65ch}
html:is(:lang(fr),:lang(es)) :is(.tml-product-card p,.tml-route-card p,.tml-feature-list p,.tml-hero__panel p,.category-card p,.product-card p,.tml-contact-details p){font-size:16px;line-height:1.65}
html:is(:lang(fr),:lang(es)) :is(.tml-breadcrumb,.tml-kicker,.eyebrow){font-size:13px;line-height:1.5}
html:is(:lang(fr),:lang(es)) .tml-kicker{letter-spacing:.06em}
html:is(:lang(fr),:lang(es)) :is(.tml-button,main .button){font-size:15px;line-height:1.4;font-weight:700;white-space:normal;text-align:center;min-height:48px;padding:12px 20px;max-width:100%}
html:is(:lang(fr),:lang(es)) :is(.tml-hero__copy,.tml-hero__panel,.section-head>*,.tml-two-col>*){min-width:0}
html:is(:lang(fr),:lang(es)) .tml-hero__actions{flex-wrap:wrap;gap:12px}
html:is(:lang(fr),:lang(es)) :is(.tml-spec-groups dt,.tml-spec-groups dd,.tml-spec-strip span){font-size:15px;line-height:1.6}
html:is(:lang(fr),:lang(es)) .tml-spec-strip strong{font-size:18px;line-height:1.4}
html:is(:lang(fr),:lang(es)) .tml-faq summary{font-size:17px;line-height:1.5}
html:is(:lang(fr),:lang(es)) .tml-inquiry-form label{font-size:15px;line-height:1.5}
html:is(:lang(fr),:lang(es)) .tml-inquiry-form :is(input,select,textarea){font-size:16px;line-height:1.5;font-weight:400}
@media(max-width:1100px) and (min-width:781px){
html:is(:lang(fr),:lang(es)) .tml-hero__grid{gap:28px}
html:is(:lang(fr),:lang(es)) :is(.tml-card-grid--three,.tml-card-grid--four){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:780px){
html:is(:lang(fr),:lang(es)) .toknav-visual-parity-home .floating-whatsapp{display:none!important}
html:is(:lang(fr),:lang(es)) body.toknav-visual-parity-home{padding-bottom:84px}
html:is(:lang(fr),:lang(es)) .tml-hero h1{font-size:30px;line-height:1.2;max-width:100%}
html:is(:lang(fr),:lang(es)) main h2{font-size:26px;line-height:1.28}
html:is(:lang(fr),:lang(es)) main h3{font-size:19px;line-height:1.35}
html:is(:lang(fr),:lang(es)) .tml-hero__copy{padding:28px 0 24px}
html:is(:lang(fr),:lang(es)) .tml-hero--product .tml-hero__media{order:0;min-height:0}
html:is(:lang(fr),:lang(es)) .tml-hero--product .tml-hero__media img{height:240px;margin:0 0 24px}
html:is(:lang(fr),:lang(es)) .tml-breadcrumb{margin-bottom:18px;flex-wrap:wrap;gap:6px}
html:is(:lang(fr),:lang(es)) .tml-lead{margin-top:18px}
html:is(:lang(fr),:lang(es)) .tml-hero__actions{margin-top:20px}
html:is(:lang(fr),:lang(es)) .tml-spec-strip__grid>div{padding:18px 12px}
html:is(:lang(fr),:lang(es)) .tml-spec-groups section{padding:20px}
html:is(:lang(fr),:lang(es)) .section-head{margin-bottom:26px}
}
/* Long locale navigation labels must not shrink into multiple lines. */
@media(min-width:781px){
html:is(:lang(fr),:lang(es)) .desktop-nav{flex-shrink:0}
html:is(:lang(fr),:lang(es)) .desktop-nav :is(.nav-trigger,.nav-direct){white-space:nowrap;flex-shrink:0}
html:is(:lang(fr),:lang(es)) .header-actions{flex-shrink:0}
}
@media(min-width:781px) and (max-width:1366px){
html:is(:lang(fr),:lang(es)) .site-header .header-social{display:none}
}
@media(min-width:781px) and (max-width:1100px){
html:is(:lang(fr),:lang(es)) .header-inner{width:calc(100% - 40px);gap:10px}
html:is(:lang(fr),:lang(es)) .site-header .brand img{width:128px}
html:is(:lang(fr),:lang(es)) .desktop-nav :is(.nav-trigger,.nav-direct){padding-inline:7px;font-size:13px}
}
@media(min-width:781px) and (max-width:1000px){
html:is(:lang(fr),:lang(es)) .header-actions>.button{display:none}
}
@media(min-width:781px) and (max-width:900px){
html:is(:lang(fr),:lang(es)) .site-header .brand img{width:110px}
html:is(:lang(fr),:lang(es)) .desktop-nav :is(.nav-trigger,.nav-direct){padding-inline:4px}
}
/* Mobile browsing: compact overview, usable category navigation, safe-area CTA. */
@media(max-width:780px){
html:is(:lang(fr),:lang(es)) .tml-category-tabs{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:16px 0;scroll-padding-inline:4px}
html:is(:lang(fr),:lang(es)) .tml-category-tabs a{display:flex;flex:0 0 auto;align-items:center;min-height:44px;padding:8px 12px;border:1px solid #dce3ec;border-radius:6px;background:#fff;font-size:14px;line-height:1.4;white-space:nowrap;text-decoration:none}
html:is(:lang(fr),:lang(es)) .tml-category-tabs a[aria-current]{background:#1e23ac;color:#fff;border-color:#1e23ac}
html:is(:lang(fr),:lang(es)) .home-categories-section{padding-top:40px}
html:is(:lang(fr),:lang(es)) .hero-context.is-active{flex-direction:column;align-items:flex-start;gap:10px;padding:16px 0}
html:is(:lang(fr),:lang(es)) .hero-context .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px}
html:is(:lang(fr),:lang(es)) .tml-faq+h2{margin-top:32px;margin-bottom:20px}
html:is(:lang(fr),:lang(es)) .mobile-bottom-cta{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
html:is(:lang(fr),:lang(es)) body.toknav-visual-parity-page{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
html:is(:lang(fr),:lang(es)) .tml-breadcrumb span:last-child{max-width:100%}
}
@media(max-width:480px){
html:is(:lang(fr),:lang(es)) .category-image{min-height:0;padding:16px}
html:is(:lang(fr),:lang(es)) .category-image img{height:180px}
html:is(:lang(fr),:lang(es)) .category-card .card-body{padding:20px}
html:is(:lang(fr),:lang(es)) .category-card .text-link{display:inline-flex;align-items:center;min-height:44px}
}
