/* Mobile-first responsive layer (tiny) */
:root{--maxw:1180px;--radius:14px;--gap:clamp(12px,2.5vw,24px);--pad:clamp(16px,4vw,40px);--fs:clamp(16px,1.2vw+14px,18px)}
*{box-sizing:border-box}
html,body{margin:0;padding:0;width:100%;font-size:var(--fs);-webkit-text-size-adjust:100%}
body{line-height:1.5;overflow-x:hidden}
img,video,svg,canvas{max-width:100%;height:auto}
iframe,embed,object{max-width:100%}
table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
th,td{padding:.6rem .7rem}
button,.btn,a.button,[role=button]{min-height:44px;padding:.9rem 1.1rem;border-radius:var(--radius);font-weight:600;cursor:pointer}
input,select,textarea{min-height:44px;font-size:16px}
.container,.wrap,.section{max-width:var(--maxw);padding-inline:var(--pad);margin-inline:auto}
.section{padding-block:clamp(18px,4vw,56px)}
.grid{display:grid;gap:var(--gap)}
.grid-2{grid-template-columns:1fr}
.grid-3{grid-template-columns:1fr}
.card{border-radius:var(--radius);box-shadow:0 10px 30px rgba(0,0,0,.05)}
h1{font-size:clamp(1.6rem,2.8vw+1rem,2.2rem);line-height:1.2}
h2{font-size:clamp(1.3rem,2.2vw+.9rem,1.8rem);line-height:1.25}
h3{font-size:clamp(1.15rem,1.5vw+.8rem,1.4rem);line-height:1.3}
img.rounded,.img-rounded,.card img{border-radius:var(--radius)}
[style*="width:"]{max-width:100%!important}
a[href^="tel:"],a[href^="mailto:"]{text-decoration:underline}
@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.container,.wrap,.section{padding-inline:max(24px,4vw)}}
