/* Responsive overrides */
:root{--max-width:1200px;--site-padding:16px}
html,body{height:100%;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,svg,video,iframe{max-width:100%;height:auto;display:block}
#root{max-width:var(--max-width);margin:0 auto;padding:0 var(--site-padding);box-sizing:border-box}
/* Make common utility classes responsive */
.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--site-padding);padding-right:var(--site-padding)}
.row{display:flex;flex-wrap:wrap}
.col{flex:1 1 0%}
.hide-mobile{display:block}
@media (max-width:768px){
  .hide-mobile{display:none}
  .container{padding-left:12px;padding-right:12px}
}
/* Improve visibility for text */
h1,h2,h3,h4{line-height:1.2;margin:0 0 .5rem}
p{line-height:1.6;margin:0 0 1rem}
/* Buttons and links touch targets */
button,a.button{padding:12px 18px;font-size:1rem;border-radius:6px}
/* Ensure hero images scale nicely */
.hero{width:100%;height:auto;object-fit:cover}
/* Ensure SVG/icon sizes scale */
.icon{width:auto;height:1.6em}
