:root {
  --eb-bg: #f4f5f2;
  --eb-ink: #192b4e;
  --eb-muted: rgba(25, 43, 78, .68);
  --eb-gutter: clamp(20px, 4vw, 64px);
  --eb-max: 1500px;
}

body.eb-contact-page { margin: 0; background: var(--eb-bg); color: var(--eb-ink); }
.eb-contact-page *, .eb-contact-page *::before, .eb-contact-page *::after { box-sizing: border-box; }
.eb-contact-wrap { width: min(calc(100% - (var(--eb-gutter) * 2)), var(--eb-max)); margin-inline: auto; }

.eb-contact-intro { padding-top: clamp(90px, 12vw, 180px); }
.eb-contact-intro h1 { margin: 0; font-size: clamp(3.6rem, 8.8vw, 8.35rem); font-weight: 700; letter-spacing: -.07em; line-height: .86; text-transform: uppercase; }
.eb-contact-intro p { max-width: 720px; margin: clamp(44px, 6vw, 84px) 0 0 auto; font-size: clamp(1.35rem, 2.1vw, 2rem); letter-spacing: -.035em; line-height: 1.2; }

.eb-contact-form-section { padding-top: clamp(64px, 8vw, 112px); padding-bottom: clamp(100px, 14vw, 190px); }
.eb-contact-form { max-width: 980px; margin-left: auto; }
.eb-contact-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(34px, 5vw, 78px); }
.eb-contact-form label { display: block; }
.eb-contact-form > label { margin-top: clamp(60px, 8vw, 100px); }
.eb-contact-form label span { display: block; margin-bottom: 16px; color: var(--eb-muted); font: 600 .76rem/1 ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, monospace; letter-spacing: .11em; text-transform: uppercase; }
.eb-contact-form input, .eb-contact-form textarea { display: block; width: 100%; border: 0; border-bottom: 1px solid rgba(25, 43, 78, .38); border-radius: 0; padding: 8px 0 14px; background: transparent; color: var(--eb-ink); font: inherit; font-size: clamp(1.15rem, 1.5vw, 1.35rem); outline: 0; resize: vertical; }
.eb-contact-form input:focus, .eb-contact-form textarea:focus { border-bottom-color: var(--eb-ink); }
.eb-contact-form button { margin-top: clamp(34px, 5vw, 58px); border: 0; border-bottom: 1px solid currentColor; padding: 0 0 5px; background: transparent; color: var(--eb-ink); font: 600 .82rem/1 ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, monospace; letter-spacing: .11em; text-transform: uppercase; cursor: pointer; }
.eb-contact-email { max-width: 980px; margin: clamp(68px, 9vw, 112px) 0 0 auto; }
.eb-contact-email a { color: var(--eb-muted); font-size: clamp(1rem, 1.35vw, 1.25rem); text-decoration-thickness: 1px; text-underline-offset: 5px; }

.eb-contact-footer-nav { display: flex; gap: clamp(18px, 3vw, 38px); padding-bottom: clamp(52px, 7vw, 88px); font-size: .76rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.eb-contact-footer-nav a { color: inherit; text-decoration: none; }
.eb-contact-page .gem-footer-links { align-items: center; }
.eb-contact-page .gem-footer-links span { color: var(--eb-muted); }

@media (max-width: 699px) {
  :root { --eb-gutter: 19px; }
  .eb-contact-page .v2-topbar-inner { padding-inline: var(--eb-gutter); }
  .eb-contact-page .v2-nav { gap: 15px; font-size: .68rem; }
  .eb-contact-intro { padding-top: 70px; }
  .eb-contact-intro h1 { font-size: clamp(3.3rem, 15vw, 5.1rem); }
  .eb-contact-intro p { margin-top: 38px; font-size: 1.2rem; }
  .eb-contact-intro p br { display: none; }
  .eb-contact-form-section { padding: 58px 0 120px; }
  .eb-contact-form__row { grid-template-columns: 1fr; gap: 48px; }
  .eb-contact-form > label { margin-top: 48px; }
  .eb-contact-form textarea { min-height: 150px; }
  .eb-contact-email { margin-top: 66px; }
  .eb-contact-footer-nav { flex-wrap: wrap; gap: 16px 24px; }
}

