/* Final type hierarchy, resume organization, and homepage order — 2026-07-29 */
:root {
  --site-h1: 2.5rem;      /* 40px mobile */
  --site-h2: 1.875rem;    /* 30px mobile */
  --site-h3: 1.5rem;      /* 24px mobile */
  --site-h4: 1.25rem;     /* 20px mobile */
  --site-h5: 1rem;        /* 16px mobile */
  --site-body: 1rem;
  --site-heading-font: "Raleway", Arial, sans-serif;
  --site-body-font: "Inter", Arial, sans-serif;
  --site-editorial-font: "Lora", Georgia, serif;
  --site-charcoal: #2d2d2d;
  --site-blue: #023fa1;
  --site-lime: #cccc33;
  --site-rule: rgba(45, 45, 45, 0.16);
}

/* Mobile type scale: up to 767px */
h1,
.project-title,
.contact-title,
.about-name,
.resume-editorial h1 {
  font-family: var(--site-heading-font) !important;
  font-size: var(--site-h1) !important;
  font-weight: 300 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
}

h2,
.about-section__title,
.learn-more__title,
.resume-editorial__section > h2 {
  font-family: var(--site-heading-font) !important;
  font-size: var(--site-h2) !important;
  font-weight: 400 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.1 !important;
  color: var(--site-blue) !important;
}

.project-page .learn-more__title {
  color: var(--site-charcoal) !important;
}

h3,
.resume-editorial__job-copy h3,
.resume-editorial__education h3 {
  font-family: var(--site-heading-font) !important;
  font-size: var(--site-h3) !important;
  font-weight: 500 !important;
  letter-spacing: -0.018em !important;
  line-height: 1.2 !important;
}

h4 {
  font-family: var(--site-heading-font) !important;
  font-size: var(--site-h4) !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}

h5 {
  font-family: var(--site-heading-font) !important;
  font-size: var(--site-h5) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

body,
p,
li,
dd,
dt,
blockquote,
figcaption,
input,
textarea,
select,
button,
.about-section__body,
.contact-copy,
.project-summary {
  font-family: var(--site-body-font) !important;
}

p,
li,
dd,
.about-section__body,
.contact-copy,
.project-summary,
.resume-editorial__summary {
  font-size: var(--site-body) !important;
  line-height: 1.68 !important;
}

/* Complementary editorial typeface, while keeping these at the universal H2 size. */
.page-profile .about-section__title--mindset,
.page-profile .about-section__title--portfolio-motion {
  color: var(--site-blue) !important;
  font-family: var(--site-editorial-font) !important;
  font-size: var(--site-h2) !important;
  font-style: italic !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.02 !important;
  text-transform: none !important;
}


.page-resume .resume-editorial__role {
  color: var(--site-blue) !important;
  font-family: var(--site-heading-font) !important;
  font-size: var(--site-h4) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.3 !important;
}

/* Card labels are interface text, not semantic page headings. */
.page-home .project-card__title {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: flex-start !important;
  color: #ffffff !important;
  font-family: var(--site-heading-font) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

/* Slightly thicker homepage chevron. */
.page-home .hero-scroll-indicator::before,
.page-home .hero-scroll-indicator::after {
  height: 3px !important;
  background: var(--site-lime) !important;
}

/* Resume: section headings sit above their content, never in a left rail. */
.page-resume .resume-editorial__section {
  display: block !important;
  padding: clamp(52px, 7vw, 82px) 0 !important;
  border-bottom: 1px solid var(--site-rule) !important;
}

.page-resume .resume-editorial__section > h2 {
  position: static !important;
  margin: 0 0 clamp(30px, 4vw, 46px) !important;
  color: var(--site-blue) !important;
}

.page-resume .resume-editorial__experience-list {
  display: grid !important;
  gap: clamp(42px, 5vw, 64px) !important;
}

.page-resume .resume-editorial__job {
  display: block !important;
  padding-top: clamp(30px, 4vw, 42px) !important;
  border-top: 1px solid var(--site-rule) !important;
}

.page-resume .resume-editorial__job:first-child {
  padding-top: 0 !important;
  border-top: 0 !important;
}

.page-resume .resume-editorial__job-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px 36px;
  align-items: start;
  margin-bottom: 22px;
}

.page-resume .resume-editorial__job-copy h3 {
  margin: 0 0 8px !important;
  color: var(--site-charcoal) !important;
}

.page-resume .resume-editorial__company {
  margin: 0 !important;
  color: var(--site-charcoal) !important;
  font-family: var(--site-body-font) !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

.page-resume .resume-editorial__company span {
  color: #6d6d6d !important;
  font-family: var(--site-body-font) !important;
  font-size: inherit !important;
  font-weight: 400 !important;
}

.page-resume .resume-editorial__date {
  margin: 5px 0 0 !important;
  color: #666666 !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  line-height: 1.45 !important;
  text-align: right;
  text-transform: uppercase;
  white-space: nowrap;
}

.page-resume .resume-editorial__job-copy ul {
  margin: 0 !important;
}

.page-resume .resume-editorial__summary {
  max-width: 860px !important;
  color: #505050 !important;
}

.page-resume .resume-editorial__closing-grid {
  align-items: start;
}

.page-resume .resume-editorial__section--compact {
  padding: 0 !important;
  border: 0 !important;
}

.page-resume .resume-editorial__section--compact > h2 {
  margin-bottom: 28px !important;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--site-rule);
}

/* Tablet type scale: 768px–1023px */
@media (min-width: 768px) {
  :root {
    --site-h1: 3rem;       /* 48px */
    --site-h2: 2.375rem;   /* 38px */
    --site-h3: 1.75rem;    /* 28px */
    --site-h4: 1.375rem;   /* 22px */
    --site-h5: 1.125rem;   /* 18px */
  }
}

/* Desktop type scale: 1024px and up */
@media (min-width: 1024px) {
  :root {
    --site-h1: 4rem;       /* 64px */
    --site-h2: 3rem;       /* 48px */
    --site-h3: 2.25rem;    /* 36px */
    --site-h4: 1.5rem;     /* 24px */
    --site-h5: 1.25rem;    /* 20px */
  }
}

@media (max-width: 680px) {
  .page-resume .resume-editorial__job-header {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .page-resume .resume-editorial__date {
    margin-top: 0 !important;
    text-align: left;
    white-space: normal;
  }
}
