/* Page-owned privacy policy presentation */
:root {
  --privacy-ink: #171a16;
  --privacy-muted: #5e655d;
  --privacy-paper: #f7f7f3;
  --privacy-white: #fff;
  --privacy-line: #dce1d8;
  --privacy-green: #587653;
  --privacy-deep: #1c281f;
  --privacy-width: 1180px;
}
body {
  margin: 0;
  min-width: 320px;
  color: var(--privacy-ink);
  background: var(--privacy-paper);
  font-family: "Involve", "Century Gothic", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body > .gv-landing-hero__header {
  position: absolute;
  inset-block-start: 0;
  z-index: 5;
  width: 100%;
  min-height: 112px;
  padding-inline: max(28px, calc((100vw - 1180px) / 2));
  background: #fff;
  box-shadow: 0 1px 0 rgba(21, 31, 22, .08);
}
.privacy-page {
  display: block;
  width: 100%;
  padding: 164px max(28px, calc((100vw - var(--privacy-width)) / 2)) 112px;
  background: var(--privacy-paper);
}
.privacy-page h1,
.privacy-page h2,
.privacy-page p { margin-top: 0; }
.privacy-page h1,
.privacy-page h2 { color: var(--privacy-ink); letter-spacing: -.035em; }
.privacy-page h1 { max-width: 760px; margin-bottom: 24px; font-size: clamp(48px, 7vw, 88px); line-height: .98; font-weight: 800; }
.privacy-page h2 { margin-bottom: 22px; font-size: clamp(30px, 4vw, 48px); line-height: 1.08; font-weight: 750; }
.privacy-page p { color: var(--privacy-muted); font-size: 17px; line-height: 1.8; }
.privacy-page section { position: relative; }
.privacy-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 320px);
  align-items: end;
  gap: clamp(32px, 7vw, 96px);
  padding: 48px 0 88px;
  border-bottom: 1px solid var(--privacy-line);
}
.privacy-intro__inner { max-width: 800px; }
.privacy-eyebrow { margin-bottom: 18px !important; color: var(--privacy-green) !important; font-size: 12px !important; font-weight: 800; letter-spacing: .15em; line-height: 1.4 !important; }
.privacy-intro__summary { max-width: 670px; margin-bottom: 30px; font-size: clamp(18px, 2vw, 21px) !important; line-height: 1.65 !important; }
.privacy-intro__meta { display: flex; flex-wrap: wrap; gap: 10px 24px; color: #687067; font-size: 13px; font-weight: 650; }
.privacy-note { padding: 27px 28px 30px; border: 1px solid #dce4d7; border-radius: 3px; background: #edf1e9; }
.privacy-note__index { display: block; margin-bottom: 24px; color: var(--privacy-green); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.privacy-note p { margin: 0; color: #263426; font-size: 16px; line-height: 1.7; }
.privacy-section { display: grid; grid-template-columns: 72px minmax(0, 1fr) minmax(190px, 270px); gap: 28px; align-items: start; padding: 76px 0; border-bottom: 1px solid var(--privacy-line); }
.privacy-section--plain { background-color: transparent; }
.privacy-section--tint { margin-inline: calc(max(28px, (100vw - var(--privacy-width)) / 2) * -1); padding-inline: max(28px, calc((100vw - var(--privacy-width)) / 2)); background: #eef0eb; }
.privacy-section__marker { padding-top: 5px; color: var(--privacy-green); font-size: 14px; font-weight: 800; letter-spacing: .1em; }
.privacy-section__body { max-width: 700px; }
.privacy-section__body h2 { max-width: 640px; }
.privacy-section__body p:not(.privacy-eyebrow) { max-width: 680px; margin-bottom: 16px; }
.privacy-aside { align-self: center; padding: 20px 0 20px 24px; border-left: 2px solid #92a68a; }
.privacy-aside__rule { display: block; width: 26px; height: 2px; margin-bottom: 20px; background: var(--privacy-green); }
.privacy-aside p { margin: 0; color: #475147; font-size: 15px; line-height: 1.7; }
.privacy-aside--dark { padding: 28px; border: 0; background: var(--privacy-deep); }
.privacy-aside--dark .privacy-aside__rule { background: #bdd2b5; }
.privacy-aside--dark p { color: #f3f5ef; }
.privacy-quote { align-self: center; padding: 20px 0 20px 22px; border-left: 2px solid #92a68a; }
.privacy-quote > span { display: block; height: 30px; color: var(--privacy-green); font-size: 48px; font-weight: 700; line-height: 1; }
.privacy-quote p { margin: 14px 0 0; color: #475147; font-size: 15px; line-height: 1.7; }
.privacy-storage-card { align-self: center; display: flex; align-items: flex-start; gap: 13px; padding: 22px; border: 1px solid var(--privacy-line); background: var(--privacy-white); }
.privacy-storage-card__dot { flex: 0 0 10px; width: 10px; height: 10px; margin-top: 7px; border-radius: 50%; background: var(--privacy-green); }
.privacy-storage-card p { margin: 0; font-size: 14px; line-height: 1.65; }
.privacy-storage-card strong { color: var(--privacy-ink); }
.privacy-section--contact { border-bottom: 0; }
.privacy-contact-link { display: inline-flex; align-items: center; gap: 14px; margin-top: 8px; padding: 14px 18px; border: 1px solid var(--privacy-deep); color: #fff; background-color: var(--privacy-deep); font-size: 14px; font-weight: 750; letter-spacing: .04em; text-decoration: none; transition: background-color .18s ease, border-color .18s ease; }
.privacy-contact-link:hover { border-color: var(--privacy-green); background-color: var(--privacy-green); }
.privacy-contact-link:focus-visible { outline: 3px solid #88a17d; outline-offset: 4px; }
.privacy-contact-link span { font-size: 18px; }
.privacy-endmark { align-self: center; justify-self: end; display: grid; width: 112px; aspect-ratio: 1; place-items: center; border: 1px solid #cbd5c5; border-radius: 50%; color: var(--privacy-green); font-size: 22px; font-weight: 800; letter-spacing: .08em; }
@media (max-width: 760px) {
  body > .gv-landing-hero__header { min-height: 92px; padding-inline: 20px; }
  .privacy-page { padding: 128px 22px 72px; }
  .privacy-intro { grid-template-columns: 1fr; gap: 30px; padding: 38px 0 58px; }
  .privacy-intro__meta { gap: 8px 16px; }
  .privacy-note { max-width: 460px; }
  .privacy-section { grid-template-columns: 40px minmax(0, 1fr); gap: 12px 18px; padding: 54px 0; }
  .privacy-section--plain { background-color: transparent; }
.privacy-section--tint { margin-inline: -22px; padding-inline: 22px; }
  .privacy-section__body { grid-column: 2; }
  .privacy-section__marker { grid-column: 1; grid-row: 1; }
  .privacy-aside,
  .privacy-quote,
  .privacy-storage-card { grid-column: 2; max-width: 420px; margin-top: 10px; }
  .privacy-endmark { grid-column: 2; justify-self: start; width: 80px; margin-top: 14px; }
}
@media (max-width: 420px) {
  body > .gv-landing-hero__header { min-height: 84px; padding-inline: 16px; }
  .privacy-page { padding: 116px 17px 60px; }
  .privacy-page h1 { font-size: 48px; }
  .privacy-page p { font-size: 16px; }
  .privacy-section { grid-template-columns: 28px minmax(0, 1fr); gap: 10px 12px; padding: 44px 0; }
  .privacy-section--plain { background-color: transparent; }
.privacy-section--tint { margin-inline: -17px; padding-inline: 17px; }
  .privacy-aside--dark { padding: 22px; }
  .privacy-intro__meta { flex-direction: column; }
  .privacy-contact-link { padding: 13px 15px; }
}
/* 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; } }
