:root{
  --bg:#ffffff;
  --soft:#f5f7fb;
  --text:#0b1220;
  --muted:#4b5563;
  --line:rgba(15,23,42,.12);
  --brand:#e64646;
  --radius:14px;
}

*{ box-sizing:border-box; }
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
}
a{ color:inherit; text-decoration:none; }
.container{
  width:min(1200px, 92vw);
  margin:0 auto;
}
.section{ padding:72px 0; }
.section.soft{ background:var(--soft); }
h1,h2,h3{ margin:0 0 12px; line-height:1.15; }
p{ margin:0 0 12px; color:var(--muted); line-height:1.6; }

/* ===== Fix: prevent horizontal page scroll on mobile ===== */
html, body{
  width: 100%;
  overflow-x: hidden;
}

/* Media elements should never exceed viewport */
img, video, svg, canvas{
  max-width: 100%;
  height: auto;
}

/* Most common cause: grid inline styles forcing 3 cols on mobile */
@media (max-width: 900px){
  .grid{
    grid-template-columns: 1fr !important;
  }
}

/* Safety: any absolute UI that sticks out should not create scroll */
.section,
.container{
  max-width: 100%;
}
