/* ============================================================
   1. BASE RESET & TYPOGRAPHY
   ============================================================ */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* ----------------------------
   Font-face declarations
---------------------------- */
@font-face {
  font-family: 'Carlito';
  src: url('fonts/Carlito-Regular.woff2') format('woff2'),
       url('fonts/Carlito-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Carlito';
  src: url('fonts/Carlito-Bold.woff2') format('woff2'),
       url('fonts/Carlito-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Carlito';
  src: url('fonts/Carlito-Italic.woff2') format('woff2'),
       url('fonts/Carlito-Italic.woff') format('woff');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Carlito';
  src: url('fonts/Carlito-BoldItalic.woff2') format('woff2'),
       url('fonts/Carlito-BoldItalic.woff') format('woff');
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}

/* ----------------------------
   HTML & Body
---------------------------- */
html {
  -webkit-text-size-adjust: 100%;
  font-family: 'Carlito', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #111;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overscroll-behavior-y: contain;
  padding-top: 60px; /* account for fixed navbar */
  font-family: 'Carlito', sans-serif;
}

/* ----------------------------
   Headings & Paragraphs
---------------------------- */
h1,h2,h3,h4,h5,h6 {
  margin: 0 0 0.5rem 0;
  font-weight: 600;
  font-size: clamp(24px, 4.79vw, 48px);
  letter-spacing: 0.025em;
  font-family: Carlito, sans-serif;
}

.intro-h1 { text-align: left; font-weight: 600; font-size: clamp(40px, 4.79vw, 4.79vw); }
.about-h2 { text-align: center; margin-top: 80px; font-weight: 400; font-size: clamp(30px, 4vw, 4.79vw); }
.team-h2  { text-align: end; margin-top: 10px; font-weight: 400; font-size: clamp(30px, 4vw, 4.79vw); }

p {
  margin: 0 0 1rem 0;
  line-height: 1.625;
  font-size: clamp(16px, 1.05vw, 20px);
  letter-spacing: 0.025em;
  font-family: Carlito, sans-serif;
}

.kelly-name { color:#f44393; font-weight:600; }
.steve-name { color:#00b8c9; font-weight:600; }

/* ----------------------------
   Links
---------------------------- */
a { color: #0e0e0e; text-decoration: underline; }
a:hover, a:focus { text-decoration: underline; outline: none; }

/* ----------------------------
   Media elements
---------------------------- */
img, picture, svg, video { max-width: 100%; height: auto; display: block; }

/* ----------------------------
   Lists & Tables
---------------------------- */
ul, ol { margin: 0 0 1rem 1.25rem; padding: 0; }
table { border-collapse: collapse; width: 100%; }

/* ----------------------------
   Inputs & Buttons reset
---------------------------- */
button, input, select, textarea {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
}

/* Focus styles */
:focus {
  outline: 3px solid rgba(11,102,255,0.2);
  outline-offset: 2px;
}

/* Container utility */
.container { max-width: 100%; margin: 0 auto; padding: 0 1rem; }

/* Scale text up on medium+ screens */
@media (min-width: 768px) {
  html { font-size: 18px; }
}

.underconstruction { width: clamp(320px, 50vw, 450px); position: relative; height: auto; min-width: 150px;}