*,*::before,*::after{box-sizing:border-box}
html,body{scroll-behavior:smooth}html{scroll-padding-top:calc(var(--header-height, 80px) + 18px)}
body{margin:0;color:var(--color-text);font-family:"Inter",Arial,sans-serif;font-size:12px;-webkit-font-smoothing:antialiased}
button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}
a,button,input{transition-timing-function:cubic-bezier(.22,1,.36,1)}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
button:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* Shared container: used by every page, including information pages. */
.container{width:min(1440px,calc(100% - 72px));margin-inline:auto}
.info-main,.info-main *{min-width:0}
.info-card>div,.info-step>div{flex:1;min-width:0}
.info-card p,.info-card h3,.contact-detail,.faq-item summary,.faq-answer{overflow-wrap:anywhere}
@media(max-width:640px){.container{width:calc(100% - 24px)}}
@media(max-width:430px){.container{width:calc(100% - 20px)}}


/* Stable motion: animate visual properties, not layout geometry. */
:where(a,button,input,summary,.policy-nav a,.faq-item,.info-card,.info-step,.info-button){transition-property:color,background-color,border-color,box-shadow,opacity;transition-duration:220ms;transition-timing-function:cubic-bezier(.22,1,.36,1)}
:where(.ti,.info-icon i,.header-icon i,.mobile-menu-tool i){display:inline-block;flex:0 0 auto;line-height:1;vertical-align:middle;transform:none!important;transition:color 220ms ease!important}
html{overflow-anchor:auto}
img,svg{vertical-align:middle}
@media(prefers-reduced-motion:reduce){html{scroll-padding-top:0}}
