/* Predeployment site-wide spacing and responsive safeguards. */
:root { --layout-max:1180px; --layout-gutter:clamp(20px,3vw,32px); }
*,*::before,*::after{box-sizing:border-box}
html{min-width:320px;-webkit-text-size-adjust:100%}
body{min-width:320px}
img,video,svg,canvas{max-width:100%}
img,video{height:auto}
main,main section,main .container{min-width:0}
main .container, .site-header .container, .site-footer .container {width:min(calc(100% - 2 * var(--layout-gutter)),var(--layout-max));max-width:var(--layout-max);margin-inline:auto}
main p,main h1,main h2,main h3,main li{overflow-wrap:break-word}
main input,main textarea,main select{max-width:100%;min-width:0}
main textarea{resize:vertical}
button,a,input,textarea,select{font-family:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #28c39a;outline-offset:3px}
/* Keep legal body compact and aligned on mobile; no floating selector or hero. */
.legal-page .legal-document{width:min(calc(100% - 2 * var(--layout-gutter)),940px);max-width:940px;margin-inline:auto}
.legal-page .legal-document-header,.legal-page .legal-document-body{min-width:0;max-width:100%}
@media(max-width:620px){:root{--layout-gutter:20px}.legal-page .legal-document{padding-top:112px;padding-bottom:64px}.legal-page .legal-document-header h1{font-size:clamp(2.2rem,10vw,3.5rem);overflow-wrap:anywhere}.legal-page .legal-document-body{font-size:1rem;line-height:1.7}.legal-page .legal-document-body h2{overflow-wrap:anywhere}}
@media(max-width:360px){:root{--layout-gutter:16px}.site-header .site-language{margin-left:auto;margin-right:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
