body {
  margin: 0;
  color: #151915;
  background: #fff;
  font-family: "Involve", "Century Gothic", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.55;
}

body > header.gv-landing-hero__header {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 104px;
  margin: 0;
  padding: 12px max(32px, calc((100vw - 1440px) / 2));
  background-color: #fff;
}

body > header .gv-landing-hero__brand { width: min(280px, 100%); }
body > header .gv-landing-hero__nav a { font-size: 17px; }
body > header .gv-landing-hero__phone { font-size: 17px; }

main {
  display: block;
  width: 100%;
  overflow: visible;
}

.contact-intro,
.contact-channels,
.contact-approach,
.contact-form-section,
.contact-guidance,
.contact-editorial,
.contact-corrections,
.contact-company,
.contact-editorial-scope,
.contact-next,
.contact-closing {
  position: relative;
  isolation: isolate;
}

.contact-intro {
  min-height: 480px;
  padding: 82px 32px 90px;
  color: #fff;
  background: #111711;
}

.contact-intro::before {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 48%;
  height: 100%;
  background: linear-gradient(135deg, #19241c 0%, #203a29 100%);
  content: "";
  clip-path: polygon(22% 0, 100% 0, 100% 100%, 0 100%);
}

.contact-intro__inner,
.contact-section__inner {
  width: min(1280px, 100%);
  margin: 0 auto;
}

.contact-intro__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(250px, 0.55fr);
  align-items: center;
  gap: 72px;
}

.contact-intro__copy { max-width: 760px; }
.contact-kicker {
  margin: 0 0 18px;
  color: #168b4c;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.17em;
  line-height: 1.3;
}
.contact-intro .contact-kicker { color: #52da8a; }
.contact-intro h1,
.contact-section__heading h2,
.contact-approach h2,
.contact-form-section h2,
.contact-guidance h2,
.contact-editorial h2,
.contact-corrections h2,
.contact-company h2,
.contact-editorial-scope h2,
.contact-next h2,
.contact-closing h2 {
  margin: 0;
  font-size: clamp(34px, 4.3vw, 62px);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.04;
}
.contact-intro h1 {
  max-width: 710px;
  font-size: clamp(48px, 7vw, 92px);
  text-transform: uppercase;
}
.contact-intro__summary {
  max-width: 620px;
  margin: 25px 0 28px;
  color: #d1d8d2;
  font-size: clamp(17px, 1.6vw, 21px);
}
.contact-action {
  display: inline-flex;
  min-height: 56px;
  align-items: center;
  justify-content: space-between;
  gap: 38px;
  padding: 14px 20px;
  border-radius: 6px;
  background-color: #18a958;
  color: #07140b;
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
  transition: background-color 160ms ease, transform 160ms ease;
}
.contact-action:hover { background-color: #44d17c; transform: translateY(-2px); }
.contact-action:focus-visible,
.contact-text-link:focus-visible,
.contact-round-link:focus-visible,
.contact-next__links a:focus-visible,
.contact-channel a:focus-visible,
.contact-company a:focus-visible {
  outline: 3px solid #168b4c;
  outline-offset: 4px;
}
.contact-intro .contact-action:focus-visible { outline-color: #8dffb7; }
.contact-intro__note {
  display: flex;
  min-height: 276px;
  flex-direction: column;
  justify-content: flex-end;
  padding: 26px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(13, 20, 14, 0.55);
}
.contact-intro__index { margin-bottom: auto; color: #7be3a0; font-size: 13px; font-weight: 700; letter-spacing: 0.12em; }
.contact-intro__note p { max-width: 230px; margin: 0 0 24px; font-size: 24px; font-weight: 700; line-height: 1.2; }
.contact-intro__rule { width: 46px; height: 3px; margin-bottom: 14px; background: #23b960; }
.contact-intro__note-label { color: #aeb8b0; font-size: 10px; font-weight: 700; letter-spacing: 0.16em; }

.contact-channels { padding: 92px 32px 104px; background: #f6f8f5; }
.contact-section__heading { max-width: 730px; margin-bottom: 42px; }
.contact-channels__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.contact-channel {
  min-height: 252px;
  padding: 28px;
  border: 1px solid #dfe5df;
  background-color: #fff;
}
.contact-channel__number { color: #178d4e; font-size: 12px; font-weight: 800; letter-spacing: 0.13em; }
.contact-channel h3 { margin: 34px 0 6px; font-size: 23px; letter-spacing: -0.025em; }
.contact-channel a { color: #137d44; font-weight: 700; overflow-wrap: anywhere; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.contact-channel p { max-width: 290px; margin: 15px 0 0; color: #606a62; font-size: 14px; }
.contact-channel address { margin-top: 7px; color: #137d44; font-style: normal; font-weight: 700; }

.contact-approach { padding: 84px 32px; background: #fff; }
.contact-approach__layout { display: grid; grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr); align-items: end; gap: 80px; }
.contact-approach__statement { max-width: 630px; margin: 0; color: #58625a; font-size: 20px; line-height: 1.65; }

.contact-form-section { padding: 104px 32px; background: #edf4ee; }
.contact-form-section__layout { display: grid; grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr); gap: clamp(48px, 8vw, 128px); }
.contact-form-section__intro { position: relative; align-self: start; }
.contact-form-section__intro > p:last-of-type { max-width: 400px; margin: 22px 0; color: #58625a; }
.contact-form-section__stamp { display: inline-flex; width: 82px; height: 82px; align-items: center; justify-content: center; border: 1px solid #b9d0bf; border-radius: 50%; color: #148347; font-size: 13px; font-weight: 800; line-height: 1.25; text-align: center; }
.contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 18px; }
.contact-field { display: flex; min-width: 0; flex-direction: column; gap: 8px; }
.contact-field label { color: #2a332c; font-size: 13px; font-weight: 800; }
.contact-field label span { color: #168b4c; }
.contact-field input,
.contact-field textarea {
  width: 100%;
  min-height: 54px;
  padding: 14px 15px;
  border: 1px solid #cbd7cd;
  border-radius: 3px;
  background-color: #fff;
  color: #151915;
  font: inherit;
  font-size: 15px;
}
.contact-field textarea { min-height: 158px; resize: vertical; }
.contact-field input:focus,
.contact-field textarea:focus { border-color: #168b4c; outline: 2px solid rgba(24, 169, 88, 0.2); }
.contact-field [aria-invalid="true"] { border-color: #a52d2d; }
.contact-field--message { grid-column: 1 / -1; }
.contact-error { min-height: 0; color: #962a2a; font-size: 13px; line-height: 1.3; }
.contact-error:not(:empty) { min-height: 17px; }
.contact-form__required-note { grid-column: 1 / 2; align-self: center; margin: 0; color: #59645b; font-size: 13px; }
.contact-submit {
  display: inline-flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  justify-self: end;
  padding: 15px 22px;
  border: 0;
  border-radius: 4px;
  background-color: #111711;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
}
.contact-submit:hover { background-color: #168b4c; }
.contact-submit:focus-visible { outline: 3px solid #168b4c; outline-offset: 3px; }

.contact-guidance { padding: 92px 32px; background: #fff; }
.contact-guidance__layout { display: grid; grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr); gap: 80px; }
.contact-guidance__body { max-width: 640px; color: #566057; font-size: 18px; }
.contact-guidance__body p { margin: 0 0 23px; }
.contact-text-link { color: #147d43; font-size: 15px; font-weight: 800; text-decoration-thickness: 1px; text-underline-offset: 4px; }

.contact-editorial { padding: 78px 32px; background: #f4f7f4; }
.contact-editorial__layout { display: grid; grid-template-columns: 100px minmax(0, 1fr) 54px; align-items: center; gap: 35px; }
.contact-editorial__number { color: #168b4c; font-size: 44px; font-weight: 700; letter-spacing: -0.05em; }
.contact-editorial h2 { max-width: 780px; font-size: clamp(32px, 4vw, 54px); }
.contact-editorial__layout > div:nth-child(2) > p:last-child { max-width: 760px; margin: 20px 0 0; color: #58625a; }
.contact-round-link { display: inline-flex; width: 52px; height: 52px; align-items: center; justify-content: center; border-radius: 50%; background-color: #18a958; color: #08140c; font-size: 22px; font-weight: 700; text-decoration: none; }

.contact-corrections { padding: 96px 32px; background: #fff; }
.contact-corrections__layout { display: grid; grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr); align-items: center; gap: 80px; }
.contact-corrections__card { position: relative; max-width: 650px; padding: 32px 36px; border-left: 4px solid #18a958; background: #f5f8f5; }
.contact-corrections__card p { margin: 0; color: #505b52; font-size: 18px; }
.contact-corrections__mark { display: inline-block; margin-bottom: 18px; color: #168b4c; font-size: 22px; }

.contact-company { padding: 88px 32px; color: #fff; background: #131a14; }
.contact-company .contact-kicker { color: #58d88b; }
.contact-company__layout { display: grid; grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr); gap: 70px; }
.contact-company h2 { font-size: clamp(32px, 4vw, 54px); }
.contact-company__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 36px; margin: 0; }
.contact-company__facts > div { padding-bottom: 16px; border-bottom: 1px solid #3c463d; }
.contact-company__facts dt { margin-bottom: 8px; color: #95a297; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.contact-company__facts dd { margin: 0; color: #fff; }
.contact-company__facts a { color: #78e49e; overflow-wrap: anywhere; text-underline-offset: 3px; }

.contact-editorial-scope { padding: 98px 32px; background: #f6f8f5; }
.contact-editorial-scope__layout { display: grid; grid-template-columns: minmax(210px, 0.65fr) minmax(0, 1.35fr); gap: 76px; }
.contact-editorial-scope__side { margin: 4px 0 0; color: #168b4c; font-size: 13px; font-weight: 800; letter-spacing: 0.14em; line-height: 1.6; }
.contact-editorial-scope__side span { color: #727d73; font-size: 10px; }
.contact-editorial-scope h2 { max-width: 780px; }
.contact-editorial-scope__layout > div > p:last-child { max-width: 750px; margin: 22px 0 0; color: #58625a; font-size: 18px; }

.contact-next { padding: 82px 32px; background: #fff; }
.contact-next__layout { display: grid; grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr); align-items: start; gap: 75px; }
.contact-next__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.contact-next__links a { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 15px; border-bottom: 1px solid #dce3dc; color: #172019; font-size: 15px; font-weight: 700; text-decoration: none; }
.contact-next__links a span { color: #168b4c; }
.contact-next__links a:hover { color: #168b4c; }

.contact-closing { padding: 72px 32px; color: #fff; background: #168b4c; }
.contact-closing__layout { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; align-items: center; gap: 32px; }
.contact-closing .contact-kicker { color: #c5ffd9; }
.contact-closing h2 { font-size: clamp(34px, 4vw, 54px); }
.contact-closing__layout > div > p:last-child { margin: 14px 0 0; color: #e0f8e8; }
.contact-closing__spark { color: #a2f5bd; font-size: 48px; }
.contact-action--light { background-color: #fff; color: #122016; }
.contact-action--light:hover { background-color: #ddf9e6; }

@media (max-width: 900px) {
  body > header.gv-landing-hero__header { padding-right: 24px; padding-left: 24px; }
  .contact-intro__inner { grid-template-columns: minmax(0, 1.25fr) minmax(215px, 0.75fr); gap: 40px; }
  .contact-approach__layout,
  .contact-guidance__layout,
  .contact-corrections__layout,
  .contact-company__layout,
  .contact-editorial-scope__layout,
  .contact-next__layout { gap: 42px; }
  .contact-form-section__layout { gap: 42px; }
  .contact-editorial__layout { grid-template-columns: 65px minmax(0, 1fr) 50px; gap: 24px; }
  .contact-closing__layout { grid-template-columns: 54px minmax(0, 1fr); }
  .contact-closing .contact-action { grid-column: 2; justify-self: start; }
}

@media (max-width: 800px) and (min-width: 641px) {
  body > header.gv-landing-hero__header {
    grid-template-columns: minmax(0, 1fr) auto;
    padding-right: 18px;
    padding-left: 18px;
  }
  body > header .gv-landing-hero__phone { display: none; }
}

@media (max-width: 640px) {
  body { font-size: 16px; }
  body > header.gv-landing-hero__header {
    min-height: 90px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 10px 20px;
    column-gap: 16px;
  }
  body > header .gv-landing-hero__brand { max-width: 180px; }
  body > header .gv-landing-hero__nav { gap: 15px; }
  body > header .gv-landing-hero__nav a { font-size: 14px; }
  body > header .gv-landing-hero__phone { display: none; }
  .contact-intro { min-height: 0; padding: 68px 22px 72px; }
  .contact-intro::before { width: 100%; opacity: 0.5; clip-path: polygon(55% 0, 100% 0, 100% 100%, 0 100%); }
  .contact-intro__inner { grid-template-columns: 1fr; gap: 38px; }
  .contact-intro h1 { max-width: 540px; font-size: clamp(46px, 13vw, 68px); }
  .contact-intro__summary { margin: 19px 0 22px; font-size: 17px; }
  .contact-intro__note { min-height: 180px; max-width: 380px; }
  .contact-intro__note p { margin-bottom: 16px; }
  .contact-channels,
  .contact-approach,
  .contact-form-section,
  .contact-guidance,
  .contact-editorial,
  .contact-corrections,
  .contact-company,
  .contact-editorial-scope,
  .contact-next,
  .contact-closing { padding: 64px 22px; }
  .contact-intro h1,
  .contact-section__heading h2,
  .contact-approach h2,
  .contact-form-section h2,
  .contact-guidance h2,
  .contact-editorial h2,
  .contact-corrections h2,
  .contact-company h2,
  .contact-editorial-scope h2,
  .contact-next h2,
  .contact-closing h2 { letter-spacing: -0.035em; }
  .contact-channels__grid { grid-template-columns: 1fr; gap: 12px; }
  .contact-channel { min-height: 0; padding: 23px; }
  .contact-channel h3 { margin-top: 22px; }
  .contact-approach__layout,
  .contact-guidance__layout,
  .contact-corrections__layout,
  .contact-company__layout,
  .contact-editorial-scope__layout,
  .contact-next__layout { grid-template-columns: 1fr; gap: 26px; }
  .contact-approach__statement { font-size: 17px; }
  .contact-form-section__layout { grid-template-columns: 1fr; gap: 34px; }
  .contact-form { grid-template-columns: 1fr; gap: 17px; }
  .contact-field--message,
  .contact-form__required-note { grid-column: 1; }
  .contact-submit { justify-self: stretch; }
  .contact-guidance__body { font-size: 16px; }
  .contact-editorial__layout { grid-template-columns: 48px minmax(0, 1fr); gap: 17px; }
  .contact-editorial__number { font-size: 34px; }
  .contact-round-link { grid-column: 2; }
  .contact-corrections__card { padding: 24px; }
  .contact-company__facts { grid-template-columns: 1fr; gap: 18px; }
  .contact-editorial-scope__side { margin: 0; }
  .contact-next__links { grid-template-columns: 1fr; }
  .contact-closing__layout { grid-template-columns: 42px minmax(0, 1fr); gap: 18px; }
  .contact-closing__spark { font-size: 34px; }
  .contact-closing .contact-action { grid-column: 2; }
}
/* Keep the Figma brand mark within the responsive helper header. */
.gv-landing-hero__brand img { width: 180px; max-width: 100%; height: auto; }
/* Preserve the square Figma logo ratio inside the responsive helper header. */
.gv-landing-hero__header .gv-landing-hero__brand { display: block; width: min(342px, 100%); aspect-ratio: 342 / 80; }
.gv-landing-hero__header .gv-landing-hero__brand img { display: block; width: 100%; height: 100%; object-fit: contain; }

/* Wrap long footer detail values at tablet widths. */
@media (max-width: 1200px) { .gv-footer__details dd { overflow-wrap: anywhere; } }
