:root {
  --ink: #000;
  --paper: #fff;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--paper); color: var(--ink); }
body { font-family: "Liberation Sans", Arial, Helvetica, sans-serif; }
a { color: inherit; }

.landing {
  position: relative;
  min-height: 100svh;
  height: 100svh;
  overflow: hidden;
  background: #fff;
}

.brand {
  position: absolute;
  top: 6.8%;
  left: 50%;
  width: clamp(86px, 5.7vw, 110px);
  height: auto;
  transform: translateX(-50%);
}

.headline {
  position: absolute;
  top: 35.4%;
  left: 50%;
  width: 100%;
  margin: 0;
  transform: translate(-50%, -50%);
  text-align: center;
  white-space: nowrap;
  font-family: "Liberation Sans", Arial, Helvetica, sans-serif;
  font-size: clamp(72px, 10.677vw, 205px);
  font-weight: 700;
  line-height: 1.1512;
  letter-spacing: .042em;
}

.contact {
  position: absolute;
  left: 50%;
  top: 69.8%;
  transform: translateX(-50%);
  width: min(430px, 42vw);
  text-align: center;
}

.contact-mark {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto -4.5%;
}

.emails {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  font-size: clamp(14px, 1.03vw, 20px);
  line-height: 1.12;
}
.emails a { text-decoration: none; }
.emails a:hover, .emails a:focus-visible { text-decoration: underline; }

.socials {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 46px;
}
.socials a {
  display: block;
  width: clamp(29px, 1.8vw, 35px);
  height: clamp(29px, 1.8vw, 35px);
  transition: transform .18s ease, opacity .18s ease;
}
.socials img { display: block; width: 100%; height: 100%; }
.socials a:hover { transform: scale(1.08); opacity: .72; }
.socials a:focus-visible { outline: 2px solid #000; outline-offset: 4px; border-radius: 50%; }

/* Responsive tablet + mobile */
@media (max-width: 760px) {
  .landing { min-height: 100svh; height: 100svh; overflow: hidden; }
  .brand { top: 5.8%; width: clamp(72px, 20vw, 88px); }
  .headline {
    top: 34%;
    width: 100%;
    padding: 0 4vw;
    font-size: clamp(42px, 10.7vw, 82px);
    font-weight: 700;
    line-height: 1.1512;
    letter-spacing: .042em;
    white-space: nowrap;
  }
  .contact { top: 64%; width: min(300px, 70vw); }
  .emails { font-size: clamp(13px, 3.7vw, 16px); gap: 4px; }
  .socials { margin-top: clamp(26px, 7vw, 34px); gap: 11px; }
  .socials a { width: clamp(27px, 7.5vw, 31px); height: clamp(27px, 7.5vw, 31px); }
}

@media (max-width: 430px) {
  .brand { top: 5.5%; width: 78px; }
  .headline { top: 33%; font-size: 10.7vw; }
  .contact { top: 62%; width: 68vw; max-width: 285px; }
  .emails { font-size: 14px; }
  .socials { margin-top: 28px; }
  .socials a { width: 28px; height: 28px; }
}

@media (max-height: 700px) and (min-width: 761px) {
  .brand { top: 5%; }
  .headline { top: 34%; }
  .contact { top: 64%; width: min(360px, 38vw); }
  .socials { margin-top: 28px; }
}
