/* Poppins — Medic 128's face, self-hosted */
@font-face { font-family: "Poppins"; src: url("../fonts/poppins-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/poppins-500.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/poppins-600.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/poppins-700.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Noto Sans Devanagari"; src: url("../fonts/noto-devanagari.woff2") format("woff2"); font-weight: 600; font-display: swap; unicode-range: U+0900-097F; }

/* Reset */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 120px; }
body { margin: 0; background: var(--ground); color: var(--ink); font: 400 var(--p) / 20px var(--font); -webkit-font-smoothing: antialiased; overflow-x: hidden; overflow-x: clip; }
h1, h2, h3, h4, h5, p, ul, ol, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
img, svg { display: block; max-width: 100%; height: auto; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
input, select, textarea { font: inherit; }
[hidden] { display: none !important; }
::selection { background: var(--rose); color: var(--white); }
:focus-visible { outline: 2px solid var(--rose); outline-offset: 3px; }
.on-olive :focus-visible, .on-ink :focus-visible, .section--band :focus-visible { outline-color: var(--white); }
.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; }

/* Type — Medic's scale, exact */
h1, .h1 { font-size: var(--h1); line-height: var(--h1-lh); font-weight: 700; margin: 10px 0; }
h2, .h2 { font-size: var(--h2); line-height: var(--h2-lh); font-weight: 700; margin: 10px 0; }
h3, .h3 { font-size: var(--h3); line-height: var(--h3-lh); font-weight: 700; margin: 10px 0; }
h5, .h5 { font-size: 18px; line-height: 21.6px; font-weight: 500; margin: 10px 0; }
p, .p { font-size: var(--p); line-height: var(--p-lh); color: var(--grey); margin: 15px 0; }
.eyebrow { font-size: var(--eyebrow); line-height: 16.8px; font-weight: 500; text-transform: uppercase; color: var(--rose); margin: 0 0 10px; }
.center { text-align: center; }
.text-white { color: var(--white); }
.text-olive { color: var(--rose); }
.text-ink { color: var(--ink); }
a { color: inherit; text-decoration: none; transition: color var(--ui) ease; }
.deva { font-family: var(--deva); font-weight: 600; }
.num { font-variant-numeric: tabular-nums; }

/* Layout — 1200 container with 15px gutters = 1170 content */
.container { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
.section { padding: 0 0 var(--sec); position: relative; }
.section--hero { padding: var(--hero-top) 0 var(--sec); }
.section--top { padding-top: var(--sec); }
.section--band { padding: var(--sec-band-top) 0 var(--sec-band-bottom); background: var(--rose); color: var(--white); }
.section--band p, .section--band h2, .section--band h3 { color: var(--white); }
.section--light { background: var(--paper); padding: var(--sec) 0; }
.on-olive { background: var(--rose); color: var(--white); }
.on-ink { background: var(--ink); color: var(--white); }
.row { display: flex; align-items: center; gap: 30px; }
.row > * { flex: 1 1 0; min-width: 0; }
.row--top { align-items: flex-start; }
@media (max-width: 991px) {
  .row { flex-direction: column; align-items: stretch; }
  .row > * { flex: none; }
}

/* Decorations — Medic's set */
.dots { position: absolute; width: 120px; height: 120px; background: radial-gradient(circle, var(--amber) 1.6px, transparent 1.7px) 0 0 / 12px 12px; opacity: .9; pointer-events: none; }

/* Reduced motion — final states */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0ms !important; transition-duration: .01ms !important; }
}
