* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  color-scheme: only light;
  --brand-ink: #1d293d;
  --brand-ink-strong: #162235;
  --brand-blue: #1e66ff;
  --brand-blue-strong: #0056e0;
  --brand-blue-soft: #eef4ff;
  --brand-gold: #cbab59;
  --text-strong: #1d293d;
  --text-body: #45556c;
  --text-muted: #6b768a;
  --text-inverse: #ffffff;
  --text-inverse-muted: #90a1b9;
  --surface-page: #ffffff;
  --surface-section: #fffdfd;
  --surface-elevated: #ffffff;
  --surface-elevated-muted: #ffffff;
  --surface-accent: #eef4ff;
  --surface-accent-strong: #dbe7ff;
  --surface-dark: #081424;
  --surface-dark-raised: #0f2138;
  --border-soft: rgba(29, 41, 61, 0.08);
  --border-strong: rgba(29, 41, 61, 0.16);
  --shadow-sm: 0 10px 24px rgba(15, 23, 42, 0.08);
  --shadow-md: 0 18px 40px rgba(15, 23, 42, 0.1);
  --shadow-lg: 0 26px 60px rgba(15, 23, 42, 0.16);
  --shadow-blue: 0 12px 24px rgba(30, 102, 255, 0.22);
  --hero-wash:
    radial-gradient(circle at 10% 15%, rgba(29, 100, 255, 0.15), transparent 28%),
    radial-gradient(circle at 88% 28%, rgba(203, 171, 89, 0.12), transparent 22%),
    linear-gradient(180deg, #fbfdff 0%, #f8fafc 100%);
  --section-soft-wash: linear-gradient(180deg, #fbfdff 0%, #f8fafc 100%);
  --footer-wash: radial-gradient(1200px 600px at 50% 0%, rgba(255, 255, 255, 0.08), transparent);
  --overlay: rgba(6, 15, 28, 0.58);
  --focus-ring: 0 0 0 4px rgba(29, 100, 255, 0.16);
  --radius-sm: 0.75rem;
  --radius-md: 1rem;
  --radius-lg: 1.25rem;
}

.auto-dark-theme {
  --border-soft: rgba(29, 41, 61, 0.12);
  --border-strong: rgba(29, 41, 61, 0.2);
  --shadow-sm: 0 12px 28px rgba(15, 23, 42, 0.1);
  --shadow-md: 0 20px 44px rgba(15, 23, 42, 0.13);
  --shadow-lg: 0 28px 62px rgba(15, 23, 42, 0.18);
  --shadow-blue: 0 14px 26px rgba(30, 102, 255, 0.24);
  --overlay: rgba(6, 15, 28, 0.62);
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 9rem;
  background: var(--surface-page);
}

html,
body {
  min-height: 100%;
}

body {
  font-family: "Montserrat", sans-serif;
  background: var(--surface-page);
  color: var(--text-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

p {
  font-family: "Montserrat", sans-serif;
}

:where(h1, h2, h3, h4, h5, h6) {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
}

main {
  display: block;
  background: var(--surface-page);
}

a {
  color: inherit;
}

img,
svg,
video {
  display: block;
  max-width: 100%;
}

button,
input,
textarea,
select {
  font: inherit;
}

:where(a, button, input, textarea, select):focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

::selection {
  background: rgba(29, 100, 255, 0.18);
  color: var(--text-strong);
}

.anchor {
  position: relative;
  top: -8.125rem;
  height: 0;
}

body,
header,
.social,
.navbar,
.container,
.section-2,
.section-3,
.contact-section,
.site-footer,
.card,
dialog,
.modal,
.contact-info,
.contact-form,
.stat-card {
  color-scheme: only light;
}

:root {
  --font-body: "Montserrat", sans-serif;
  --font-paragraph: "Montserrat", sans-serif;
  --font-heading: "Montserrat", sans-serif;
}
