:root {
  color-scheme: light;
  font-family: Arial, Helvetica, sans-serif;
  color: #0b0d11;
  background: #fff;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
}
.site-header, main { margin-inline: max(32px, 11.1vw); }
.site-header { padding-top: 86px; }
.site-header img { display: block; object-fit: contain; }
main { padding-block: clamp(70px, 13vh, 140px) 100px; flex: 1; }
h1 {
  margin: 0;
  font-size: clamp(48px, 6.6vw, 104px);
  line-height: 1.02;
  letter-spacing: -.045em;
  font-weight: 750;
}
p { font-size: clamp(18px, 1.8vw, 28px); line-height: 1.5; color: #4e505a; }
.intro { margin: 58px 0 0; max-width: 950px; }
.contact { margin: 35px 0 0; }
a { color: #b9480d; text-underline-offset: 4px; text-decoration-thickness: 1.5px; }
a:hover { color: #873509; }
a:focus-visible { outline: 3px solid #b9480d; outline-offset: 6px; border-radius: 1px; }
footer {
  margin-inline: max(24px, 4.3vw);
  padding: 18px 0 67px;
  border-top: 1px solid #d2d3d7;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  color: #555965;
  font-size: 18px;
}
@media (max-width: 600px) {
  .site-header, main { margin-inline: 24px; }
  .site-header { padding-top: 24px; }
  .site-header img { width: 130px; height: 65px; }
  main { padding-block: 70px 85px; }
  h1 { font-size: clamp(38px, 10.8vw, 64px); }
  .intro { margin-top: 32px; }
  .contact { margin-top: 28px; }
  footer { padding-bottom: 28px; font-size: 13px; }
}
