/* =========================================================================
   pages.css — styles for all non-homepage pages in gdh-site
   Loaded AFTER styles.css. Keeps classical hero + content blocks.
   ========================================================================= */

/* ---------- Interior hero ---------- */

.ihero {
  padding: clamp(72px, 10vh, 130px) 0 clamp(48px, 7vh, 96px);
  text-align: center;
  position: relative;
  overflow: hidden;
  background: var(--paper);
}
.ihero.ihero-ms { background: linear-gradient(180deg, var(--ms-pale) 0%, var(--paper) 85%); }
.ihero.ihero-vv { background: linear-gradient(180deg, var(--vv-pale) 0%, var(--paper) 85%); }
.ihero.ihero-dual {
  background: linear-gradient(
    90deg,
    var(--ms-pale) 0%, var(--ms-pale) 18%,
    var(--paper) 38%, var(--paper) 62%,
    var(--vv-pale) 82%, var(--vv-pale) 100%
  );
}

.ihero-inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 var(--container-pad);
  position: relative;
  z-index: 1;
}

.ihero h1 {
  font-size: clamp(40px, 4.6vw, 72px);
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.08;
  margin: 0 auto var(--s6);
  max-width: 20ch;
}
.ihero h1 em { font-style: italic; color: var(--ms-deep); }
.ihero.ihero-vv h1 em { color: var(--vv-deep); }

.ihero .sub {
  font-family: var(--fd);
  font-style: italic;
  font-size: clamp(17px, 1.5vw, 22px);
  line-height: 1.5;
  color: var(--ink-soft);
  max-width: 52ch;
  margin: 0 auto;
}

/* ---------- Intro block ---------- */

.intro-block {
  padding: clamp(64px, 9vh, 110px) 0;
  text-align: center;
}
.intro-block-inner {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 var(--container-pad);
}
.intro-block p {
  font-family: var(--fd);
  font-size: clamp(19px, 1.6vw, 26px);
  line-height: 1.45;
  color: var(--ink-soft);
  margin: 0;
}

/* ---------- Sub-brand properties grid (landing pages) ---------- */

.sub-grid {
  padding: clamp(64px, 9vh, 110px) 0;
  background: var(--paper-soft);
}
.sub-grid-head {
  max-width: 900px;
  margin: 0 auto var(--s8);
  padding: 0 var(--container-pad);
  text-align: center;
}
.sub-grid-head h2 { max-width: 20ch; margin: 0 auto; }
.sub-grid-head h2 em { font-style: italic; color: var(--ms-deep); }
.sub-grid.is-vv .sub-grid-head h2 em { color: var(--vv-deep); }

.sub-grid-inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--container-pad);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s7) var(--s6);
}
@media (max-width: 960px) { .sub-grid-inner { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .sub-grid-inner { grid-template-columns: 1fr; } }

/* reuse .property class from home.css */

/* ---------- CTA band ---------- */

.cta-band {
  padding: clamp(80px, 12vh, 140px) 0;
  text-align: center;
  background: var(--paper-deep);
}
.cta-band h2 {
  font-size: clamp(30px, 3.6vw, 48px);
  max-width: 22ch;
  margin: var(--s4) auto var(--s6);
}
.cta-band h2 em { font-style: italic; color: var(--ms-deep); }
.cta-band p {
  font-family: var(--fd);
  font-style: italic;
  font-size: clamp(17px, 1.4vw, 22px);
  color: var(--ink-soft);
  max-width: 46ch;
  margin: 0 auto var(--s7);
}

/* ---------- About page content ---------- */

.about-block {
  padding: clamp(64px, 9vh, 120px) 0;
}
.about-block-inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 var(--container-pad);
}
.about-quote {
  font-family: var(--fd);
  font-style: italic;
  font-size: clamp(28px, 3.4vw, 46px);
  line-height: 1.2;
  color: var(--ink);
  margin: 0 0 var(--s6) 0;
  text-align: center;
  max-width: 22ch;
  margin-left: auto; margin-right: auto;
}
.about-quote::before { content: "\201C"; color: var(--ms-deep); margin-right: 4px; }
.about-quote::after  { content: "\201D"; color: var(--ms-deep); margin-left: 4px; }
.about-body {
  font-size: var(--t-body-lg);
  line-height: 1.65;
  color: var(--ink-soft);
  max-width: 62ch;
  margin: 0 auto;
}
.about-body p + p { margin-top: var(--s4); }

.about-attr {
  text-align: center;
  margin-top: var(--s7);
  font-family: var(--fb);
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--ink-mute);
}

/* Mission & Vision grid */
.mv-grid {
  max-width: var(--container);
  margin: 0 auto;
  padding: clamp(64px, 9vh, 110px) var(--container-pad);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--s7);
}
@media (max-width: 768px) { .mv-grid { grid-template-columns: 1fr; } }
.mv-card {
  padding: var(--s7);
  border-top: 1px solid var(--ink);
}
.mv-card .label {
  font-family: var(--fb);
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin-bottom: var(--s5);
}
.mv-card p {
  font-family: var(--fd);
  font-size: clamp(19px, 1.7vw, 26px);
  line-height: 1.4;
  color: var(--ink);
  margin: 0;
}

/* ---------- Partners content ---------- */

.partners-split {
  max-width: var(--container);
  margin: 0 auto;
  padding: clamp(64px, 9vh, 110px) var(--container-pad);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: start;
}
@media (max-width: 900px) { .partners-split { grid-template-columns: 1fr; gap: var(--s7); } }

.partners-left h2 {
  font-size: clamp(28px, 3vw, 40px);
  margin: var(--s4) 0 var(--s5);
}
.partners-left h2 em { font-style: italic; color: var(--ms-deep); }
.partners-left p {
  color: var(--ink-soft);
  line-height: 1.65;
  max-width: 46ch;
}

.bring-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0;
}
.bring-list li {
  padding: var(--s5) 0;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: var(--s4);
  font-size: 15px;
  color: var(--ink);
  line-height: 1.5;
}
.bring-list li:last-child { border-bottom: 1px solid var(--line); }
.bring-list li::before {
  content: counter(list-item, decimal-leading-zero);
  counter-increment: list-item;
  font-family: var(--fd);
  font-size: 13px;
  color: var(--ms-deep);
  grid-column: 1;
}
.bring-list { counter-reset: list-item; }

/* ---------- Contact content ---------- */

.contact-grid {
  max-width: var(--container);
  margin: 0 auto;
  padding: clamp(64px, 9vh, 110px) var(--container-pad);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s7);
}
@media (max-width: 900px) { .contact-grid { grid-template-columns: 1fr; } }

.contact-card {
  padding: var(--s6);
  border: 1px solid var(--line);
  background: var(--paper-soft);
}
.contact-card .label {
  font-family: var(--fb);
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--ink-mute);
  margin-bottom: var(--s4);
}
.contact-card h3 {
  font-family: var(--fd);
  font-size: 22px;
  line-height: 1.25;
  margin: 0 0 var(--s3) 0;
}
.contact-card a {
  display: block;
  margin-top: var(--s2);
  color: var(--ink-soft);
  font-size: 14.5px;
}
.contact-card a:hover { color: var(--ms-deep); }
