/* Readable portfolio typography; project demos retain their own art direction. */
:root {
  --display: 'Lora', Georgia, serif;
  --body: 'Manrope', 'Segoe UI', Arial, sans-serif;
}
body { font-size: 16px; line-height: 1.6; }
.opening h1 { font-weight: 600; letter-spacing: -.065em; line-height: 1.05; font-size: clamp(70px, 12.4vw, 220px); }
.opening-line { font-family: var(--body); font-style: normal; font-weight: 400; letter-spacing: -.025em; }
.nav-logo, footer > a:first-child, .entry-top > span { letter-spacing: -.055em; }
.statement h2, .work-head h2, .world h3, .approach h2, .contact h2 {
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: -.04em;
}
.statement h2 { font-size: clamp(48px, 6.8vw, 112px); }
.statement h2 em { font-weight: 500; }
.work-head h2 { font-size: clamp(76px, 12vw, 190px); }
.world h3 { font-size: clamp(56px, 6.6vw, 108px); }
.approach h2 { font-size: clamp(54px, 6.3vw, 106px); }
.contact h2 { font-size: clamp(58px, 8vw, 124px); }
.approach-steps h3 { font-family: var(--body); font-weight: 600; line-height: 1.3; font-size: clamp(22px, 2vw, 30px); letter-spacing: -.025em; }
.statement-copy, .world-description p, .approach-steps p, .contact-center > span { font-size: 16px; line-height: 1.7; }
.work-head > p { font-family: var(--body); font-style: normal; font-size: clamp(18px, 1.8vw, 26px); line-height: 1.6; max-width: 640px; }
.nav-note, .opening-kicker, .opening-side, .opening-bottom, .section-label, .small-statement, .statement-foot, .world-number, .world-kicker, .image-tag, footer {
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: .1em;
}
.nav nav a, .opening-bottom a, .under-link, .world-link { font-size: 12px; letter-spacing: .06em; }
.world-kicker { color: #e2e5d6; }
.contact { min-height: 620px; }
.contact-center { margin: clamp(95px, 10vw, 150px) auto 60px; }
.contact-links { align-items: center; }
.contact-center .contact-email { font-family: var(--body); font-size: clamp(24px, 3.6vw, 54px); font-weight: 500; line-height: 1.4; letter-spacing: -.025em; }
.contact-center .contact-gmail { font-family: var(--body); }
@media (max-width: 1000px) {
  .world h3 { font-size: clamp(52px, 6.8vw, 76px); }
}
@media (max-width: 700px) {
  .opening h1 { font-size: clamp(49px, 12.1vw, 84px); letter-spacing: -.065em; }
  .opening-line { font-size: clamp(18px, 4.7vw, 28px); }
  .opening-kicker { font-size: 10px; letter-spacing: .08em; }
  .nav-logo { font-size: 25px; }
  .nav nav a { font-size: 11px; }
  .section-label { gap: 20px; font-size: 10px; }
  .section-label span:last-child { max-width: 47%; }
  .statement h2 { font-size: clamp(40px, 9.5vw, 64px); }
  .world h3 { font-size: clamp(50px, 11.8vw, 76px); }
  .approach h2 { font-size: clamp(48px, 10.2vw, 72px); }
  .contact h2 { font-size: clamp(48px, 10.5vw, 76px); }
  .contact { min-height: 530px; }
  .contact-center { margin: 100px auto 30px; }
  .contact-center .contact-email { font-size: clamp(18px, 5.1vw, 32px); overflow-wrap: anywhere; }
  .opening-bottom, .opening-bottom a { font-size: 10px; }
  footer > span { font-size: 10px; }
}
@media (max-width: 360px) {
  .nav-logo { font-size: 22px; }
  .nav nav a { font-size: 10px; }
}
