:root {
  --page-bg: #fffdf0;
  --paper: #fffdf0;
  --paper-deep: #e4e0d5;
  --ink: #171817;
  --green: #00846c;
  --line: #ddd6b7;
  --grey: #929596;
  --rule: rgba(23, 24, 23, 0.38);
  --font: "Libre Baskerville", Georgia, serif;
}

* {
  box-sizing: border-box;
}

html {
  background: var(--page-bg);
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--page-bg);
  font-family: var(--font);
  line-height: 1.45;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

.page-shell {
  min-height: 100svh;
  padding: clamp(16px, 4vw, 58px) clamp(12px, 3vw, 42px);
}

.sheet {
  width: min(100%, 1120px);
  min-height: calc(100svh - clamp(32px, 8vw, 116px));
  margin: 0 auto;
  background: var(--paper);
  border: 3px solid var(--line);
  padding: clamp(44px, 7vw, 88px) clamp(28px, 7vw, 92px) clamp(44px, 7vw, 88px);
}

.hero {
  margin-bottom: clamp(34px, 5vw, 56px);
}

.brand-logo {
  width: clamp(170px, 22vw, 235px);
  height: auto;
  margin-bottom: clamp(26px, 4vw, 38px);
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  max-width: 980px;
  margin-bottom: clamp(18px, 3vw, 28px);
  font-size: clamp(2.15rem, 5.2vw, 4.5rem);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -0.035em;
}

.markets {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.55rem;
  align-items: baseline;
  margin: 0;
  font-size: clamp(0.72rem, 1.25vw, 1.05rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.015em;
  text-transform: uppercase;
  font-variant: small-caps;
}

.markets b {
  color: var(--green);
  font-size: 1.2em;
  line-height: 1;
}

.content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 0.62fr);
  gap: clamp(46px, 8vw, 92px);
  align-items: start;
}

.rule {
  width: 100%;
  height: 1px;
  margin-bottom: clamp(34px, 4.7vw, 48px);
  background: var(--rule);
}

.intro-copy {
  max-width: 520px;
  font-size: clamp(0.96rem, 1.38vw, 1.08rem);
}

.intro-copy p {
  margin-bottom: 1.3em;
}

.intro-copy .lead {
  font-size: clamp(1.03rem, 1.55vw, 1.23rem);
  line-height: 1.25;
}

.partner-card {
  max-width: 560px;
  margin-top: clamp(22px, 4vw, 38px);
  overflow: hidden;
  background: var(--paper-deep);
}

.map-window {
  position: relative;
  width: 100%;
  aspect-ratio: 909.48 / 809.47;
  overflow: hidden;
  background: var(--paper);
}

.map-window img {
  position: absolute;
  width: 186.15%;
  max-width: none;
  height: auto;
  left: -35.98%;
  top: -12.17%;
}

.partner-card__body {
  padding: clamp(20px, 4.5vw, 30px) clamp(22px, 4.8vw, 34px) clamp(24px, 5vw, 38px);
  font-size: clamp(0.96rem, 1.45vw, 1.11rem);
  line-height: 1.32;
}

.partner-card__body h2 {
  margin-bottom: 0.42em;
  font-size: clamp(1.05rem, 2.1vw, 1.38rem);
  line-height: 1.2;
}

.partner-card__body p {
  margin-bottom: 1.1em;
}

.partner-card__body p:last-child {
  margin-bottom: 0;
}

.contact-card {
  display: block;
  max-width: 360px;
  margin: 0;
  font-size: clamp(0.96rem, 1.35vw, 1.1rem);
  font-style: normal;
  line-height: 1.34;
}

.contact-card span,
.company-name {
  display: block;
}

.company-name {
  margin-bottom: 0.25rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-variant: small-caps;
}

.space-before {
  margin-top: 0.7rem;
}

.pillars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 560px;
  margin-top: clamp(30px, 5vw, 44px);
}

.pillar {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: clamp(12px, 2vw, 18px);
  align-items: center;
  min-height: 108px;
  padding: 16px clamp(12px, 2vw, 22px);
}

.pillar:nth-child(odd) {
  border-right: 1px solid rgba(146, 149, 150, 0.95);
}

.pillar:nth-child(1),
.pillar:nth-child(2) {
  border-bottom: 1px solid rgba(146, 149, 150, 0.95);
}

.pillar img {
  width: 72px;
  height: 72px;
  object-fit: contain;
}

.pillar h3 {
  margin: 0;
  font-size: clamp(0.94rem, 1.75vw, 1.2rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.16;
}

@media (max-width: 860px) {
  .sheet {
    padding-inline: clamp(22px, 6vw, 46px);
  }

  .content-grid {
    grid-template-columns: 1fr;
    gap: clamp(26px, 7vw, 44px);
  }

  .contact-column {
    max-width: 560px;
  }

  .contact-column .rule {
    margin-bottom: 24px;
  }

  .contact-card {
    max-width: 100%;
  }
}

@media (max-width: 560px) {
  .page-shell {
    padding: 0;
  }

  .sheet {
    border-width: 0;
    min-height: 100svh;
  }

  h1 {
    letter-spacing: -0.04em;
  }

  .markets {
    gap: 0.32rem 0.48rem;
  }

  .pillars {
    grid-template-columns: 1fr;
  }

  .pillar {
    grid-template-columns: 64px 1fr;
    min-height: 96px;
    padding-inline: 0;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(146, 149, 150, 0.85);
  }

  .pillar:last-child {
    border-bottom: 0;
  }

  .pillar img {
    width: 64px;
    height: 64px;
  }
}
