/* 25 Oct 2026: nothing smaller than 16px (1rem), and no sideways scroll when text is enlarged.
   Loaded last. Only sizes, wrapping and widths change. */
.eyebrow,.fact .ft,.card .lab,caption,thead th,.legal dt,.site-footer h2,.loc,.brand span,.badge,
.contact-card a.tlink,.main-nav a,.tel,.tlink,.btn{font-size:1rem}
.eyebrow{letter-spacing:.12em}
.fact .ft{letter-spacing:.04em}
.card .lab,caption{letter-spacing:.1em}
.legal dt,.site-footer h2{letter-spacing:.1em}
.loc{letter-spacing:.2em}
.brand span{letter-spacing:.2em}
.badge{line-height:1.3;max-width:calc(100vw - 24px);text-align:center}
@media(min-width:420px){.contact-card a.tlink{font-size:1rem}}
@media(max-width:360px){.tel{font-size:1rem}}
/* body text floor and rhythm */
body{font-size:max(1.125rem,18px);line-height:1.7}
.fine,.fact .fd,.extra span,.classes span,.reg-list span,.step p,.card .note,table,td,th,.site-footer{font-size:1rem;line-height:1.55}
/* wrapping everywhere so enlarged text never widens the page */
html,body{max-width:100%;overflow-x:hidden}
body *{min-width:0;overflow-wrap:anywhere;word-break:normal}
.bar{flex-wrap:wrap;row-gap:.25rem}
.tel{overflow-wrap:normal;word-break:normal}
.logo img{max-width:100%}
.hero-copy,.lead,.head,.txt,.pic,.card,.cb,.foot>*,.contact-card,.two>*,.split>*,.regions>*,.cards>*,.steps>*,.faq>*,.extras>*,.strip-grid>*{min-width:0;max-width:100%}
.actions .btn{max-width:100%;white-space:normal;min-height:52px}
.btn{height:auto}
.hero h1,.hero h2,h1,h2,h3{overflow-wrap:break-word;hyphens:auto}
.tablebox{max-width:100%;overflow-x:auto}
td.n,td.p{white-space:normal}
@media(min-width:720px){td.n,td.p{white-space:nowrap}}
.nav-toggle{flex:none}
.js .main-nav{max-width:100vw}
@media(min-width:1040px){.js .main-nav{max-width:320px}}
/* entrances only animate after the visitor first scrolls, never at page load */
.js .rv,.js .rv.in{transition:none}
.js.rvt .rv{transition:opacity .45s ease,transform .45s ease}
