:root {
  --wine: #43181b;
  --ink: #151515;
  --auth-green: #12d868;
  --auth-blue: #21b4cb;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  min-width: 320px;
  margin: 0;
  background: #ffffff;
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
}

.site-header { width: 100%; padding-top: 22px; }

.navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 43px;
}

.navigation a {
  color: var(--wine);
  font-size: 25px;
  font-weight: 400;
  line-height: 1.2;
  text-decoration: none;
}

.navigation a:hover,
.navigation a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 5px;
}

.validation-page { display: flex; justify-content: center; width: 100%; }

.product-validation {
  display: flex;
  align-items: center;
  flex-direction: column;
  width: 100%;
  padding-bottom: 120px;
}

.brand-lockup {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-top: 29px;
}

.brand-logo {
  display: block;
  width: 140px;
  height: 118px;
  object-fit: contain;
}

h1 {
  margin: 10px 0 0;
  color: var(--wine);
  font-size: 42px;
  font-weight: 800;
  letter-spacing: -1.8px;
  line-height: 1;
}

.authenticity {
  display: flex;
  align-items: center;
  margin-top: 113px;
}

.shield {
  display: block;
  width: 106px;
  height: 105px;
  object-fit: contain;
}

.authenticity-copy { margin-left: 14px; }
.authenticity-copy p { margin: 0; white-space: nowrap; }

.authentic-label {
  width: fit-content;
  background: linear-gradient(90deg, var(--auth-green) 8%, var(--auth-green) 63%, var(--auth-blue));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-size: 38px;
  font-weight: 800;
  letter-spacing: -1.5px;
  line-height: .98;
}

.validation-code {
  margin-top: 7px !important;
  color: #0e0e0e;
  font-size: 37px;
  font-weight: 700;
  letter-spacing: -1.6px;
  line-height: 1;
}

.product-image {
  display: block;
  width: 433px;
  height: 415px;
  margin-top: 73px;
  object-fit: contain;
}

.description {
  max-width: 850px;
  margin: 52px 20px 0;
  color: #431d1c;
  font-size: 27px;
  font-weight: 400;
  letter-spacing: -1.1px;
  line-height: 1.19;
  text-align: center;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 720px) {
  .site-header { padding-top: 16px; }
  .navigation { flex-wrap: wrap; gap: 12px 24px; padding: 0 18px; }
  .navigation a { font-size: 16px; }
  .brand-lockup { margin-top: 25px; }
  .brand-logo { width: 112px; height: 94px; }
  h1 { font-size: 34px; }
  .authenticity { width: min(93vw, 480px); margin-top: 74px; }
  .shield { width: 77px; height: 77px; }
  .authenticity-copy { margin-left: 8px; }
  .authentic-label { font-size: clamp(25px, 7.2vw, 37px); }
  .validation-code { font-size: clamp(22px, 6.7vw, 34px); }
  .product-image { width: min(100%, 370px); height: auto; margin-top: 52px; }
  .description { margin-top: 42px; font-size: clamp(18px, 4.5vw, 24px); letter-spacing: -.6px; line-height: 1.28; }
  .description br { display: none; }
}
