:root {
  --navy: #041b45;
  --navy-dark: #021535;
  --electric: #62b4e5;
  --silver: #9a9da3;
  --paper: #f4f6f8;
  --line: #d5dbe4;
  --body: #102549;
  --muted: #526176;
  --display: "Bahnschrift Condensed", "Arial Narrow", Arial, sans-serif;
  --sans: "Aptos", "Segoe UI", Arial, sans-serif;
  --max: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--body); font-family: var(--sans); background: #fff; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p { margin: 0; }

.site-header {
  height: 94px;
  background: #fff;
  border-bottom: 1px solid #e5e8ed;
  position: sticky;
  top: 0;
  z-index: 10;
}
.nav-wrap {
  max-width: var(--max);
  height: 100%;
  margin: 0 auto;
  padding: 0 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand { width: 245px; min-width: 245px; }
.brand img { width: 245px; }
.primary-nav {
  display: flex;
  gap: 34px;
  margin-left: auto;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 780;
}
.primary-nav a { padding: 10px 0; white-space: nowrap; }
.primary-nav a:hover, .primary-nav .active { color: #217bb8; }
.nav-actions { display: flex; align-items: center; }
.button {
  min-height: 54px;
  min-width: 166px;
  padding: 0 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .6px;
  text-transform: uppercase;
}
.button-primary { color: #fff; background: var(--navy); border: 1px solid var(--navy); }
.button-primary:hover { background: #123667; }
.button-secondary { color: var(--navy); background: #fff; border: 1px solid rgba(4,27,69,.28); }
.button-secondary:hover { border-color: var(--navy); }
.menu-toggle { display: none; }

.partner-page { overflow: hidden; }
.eyebrow {
  color: #3289c2;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.partner-hero {
  max-width: var(--max);
  margin: 0 auto;
  min-height: 560px;
  padding: 78px 70px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 70px;
  align-items: center;
  background:
    linear-gradient(90deg, rgba(255,255,255,.98), rgba(255,255,255,.88) 48%, rgba(236,242,248,.68)),
    url("assets/backgrounds/ocean-hero.png") center right / cover no-repeat;
}
.partner-hero h1 {
  margin-top: 18px;
  color: var(--navy);
  font-family: var(--display);
  font-size: clamp(58px, 6vw, 96px);
  line-height: .9;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.partner-hero h1 span { color: #85898f; }
.lead {
  max-width: 710px;
  margin-top: 28px;
  color: #263954;
  font-size: 20px;
  line-height: 1.55;
}
.hero-panel {
  padding: 32px;
  background: linear-gradient(180deg, var(--navy), var(--navy-dark));
  color: #fff;
  box-shadow: 0 28px 70px rgba(4,27,69,.22);
  border: 1px solid rgba(255,255,255,.16);
}
.hero-panel strong {
  display: block;
  font-family: var(--display);
  font-size: 34px;
  line-height: 1;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.hero-panel span {
  display: block;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.8);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.inquiry-grid {
  max-width: 1220px;
  margin: 0 auto;
  padding: 76px 50px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.inquiry-card {
  min-height: 640px;
  padding: 42px;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #fff, #f7f9fb);
  display: flex;
  flex-direction: column;
}
.investor-card {
  border-top: 8px solid var(--navy);
}
.wholesale-card {
  border-top: 8px solid var(--electric);
}
.inquiry-card h2,
.partner-close h2 {
  margin-top: 12px;
  color: var(--navy);
  font-family: var(--display);
  font-size: clamp(42px, 4.5vw, 66px);
  line-height: .94;
  letter-spacing: .7px;
  text-transform: uppercase;
}
.inquiry-card > p:not(.eyebrow) {
  margin-top: 22px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.62;
}
.inquiry-card ul {
  margin: 28px 0 34px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 14px;
}
.inquiry-card li {
  position: relative;
  padding-left: 28px;
  color: #263954;
  font-size: 15px;
  line-height: 1.48;
}
.inquiry-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .45em;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--navy);
  box-shadow: 0 0 0 4px rgba(4,27,69,.08);
}
.wholesale-card li::before { background: #3289c2; }
.inquiry-card .button { margin-top: auto; align-self: flex-start; }

.inquiry-form {
  margin-top: 32px;
  display: grid;
  gap: 18px;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.inquiry-form label {
  display: grid;
  gap: 7px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.inquiry-form input,
.inquiry-form select,
.inquiry-form textarea {
  width: 100%;
  border: 1px solid #cfd7e3;
  border-radius: 4px;
  background: #fff;
  color: #11264a;
  font: 500 15px/1.35 var(--sans);
  letter-spacing: 0;
  text-transform: none;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.inquiry-form input,
.inquiry-form select {
  min-height: 46px;
  padding: 0 12px;
}
.inquiry-form textarea {
  resize: vertical;
  min-height: 118px;
  padding: 12px;
}
.inquiry-form input:focus,
.inquiry-form select:focus,
.inquiry-form textarea:focus {
  border-color: #3289c2;
  box-shadow: 0 0 0 3px rgba(98,180,229,.16);
}
.inquiry-form .check-row {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 12px;
  align-items: start;
  padding: 16px;
  border: 1px solid rgba(4,27,69,.12);
  background: rgba(4,27,69,.035);
  color: #33455f;
  font-size: 12px;
  line-height: 1.45;
  letter-spacing: .3px;
  text-transform: none;
}
.check-row input {
  width: 18px;
  min-height: 18px;
  margin-top: 1px;
}
.inquiry-form .button {
  margin-top: 4px;
  align-self: flex-start;
  cursor: pointer;
}
.bot-field {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.submit-result {
  min-height: 640px;
}
.submit-result .button {
  margin-right: 12px;
  margin-top: 24px;
}

.qualification-strip {
  max-width: var(--max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: var(--navy);
  color: #fff;
}
.qualification-strip div {
  min-height: 178px;
  padding: 32px 36px;
  border-left: 1px solid rgba(255,255,255,.18);
}
.qualification-strip div:first-child { border-left: 0; }
.qualification-strip span {
  color: var(--electric);
  font-family: var(--display);
  font-size: 30px;
}
.qualification-strip strong {
  display: block;
  margin-top: 10px;
  font-family: var(--display);
  font-size: 27px;
  text-transform: uppercase;
}
.qualification-strip p {
  margin-top: 12px;
  color: rgba(255,255,255,.76);
  line-height: 1.45;
}

.partner-close {
  max-width: 980px;
  margin: 0 auto;
  padding: 78px 50px 92px;
  text-align: center;
}
.partner-close p:last-child {
  max-width: 710px;
  margin: 22px auto 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.62;
}

@media (max-width: 1100px) {
  .primary-nav { gap: 22px; font-size: 12px; }
  .brand, .brand img { width: 215px; min-width: 215px; }
  .partner-hero { grid-template-columns: 1fr; }
  .hero-panel { max-width: 520px; }
}
@media (max-width: 820px) {
  .site-header { height: 78px; }
  .nav-wrap { padding: 0 22px; }
  .menu-toggle {
    order: 3;
    display: flex;
    width: 38px;
    height: 35px;
    border: 0;
    background: transparent;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
  }
  .menu-toggle span { height: 2px; width: 25px; background: var(--navy); }
  .primary-nav {
    display: none;
    position: absolute;
    top: 78px;
    left: 0;
    right: 0;
    padding: 20px 26px 26px;
    background: white;
    border-bottom: 1px solid var(--line);
    flex-direction: column;
    gap: 16px;
  }
  .primary-nav.open { display: flex; }
  .nav-shop { display: none; }
  .partner-hero { padding: 54px 24px; }
  .inquiry-grid,
  .qualification-strip { grid-template-columns: 1fr; }
  .inquiry-grid { padding: 52px 24px; }
  .inquiry-card { min-height: auto; padding: 32px 26px; }
  .form-grid { grid-template-columns: 1fr; }
  .qualification-strip div { border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
  .qualification-strip div:first-child { border-top: 0; }
  .partner-close { padding: 56px 24px 72px; }
}
