.inner-page .site-header {
  position: relative;
  top: 0;
}
.inner-page .site-header.is-fixed {
  position: fixed;
}

.page-main {
  color: var(--ink);
  background: var(--ivory);
}
.page-hero {
  position: relative;
  min-height: 590px;
  overflow: hidden;
  display: flex;
  align-items: center;
  color: var(--ivory);
  background:
    radial-gradient(circle at 82% 30%, rgba(28, 91, 68, .52), transparent 31%),
    linear-gradient(135deg, var(--forest-950), var(--forest-900));
}
.page-hero::before {
  content: "";
  position: absolute;
  right: -110px;
  top: -180px;
  width: 650px;
  height: 650px;
  border-radius: 50%;
  border: 1px solid rgba(211,178,116,.09);
  box-shadow: inset 0 0 0 76px rgba(211,178,116,.015), inset 0 0 0 152px rgba(211,178,116,.015), inset 0 0 0 228px rgba(211,178,116,.015);
}
.page-hero::after {
  content: attr(data-index);
  position: absolute;
  right: 4vw;
  bottom: -50px;
  color: transparent;
  font-family: var(--serif);
  font-size: clamp(220px, 28vw, 450px);
  line-height: 1;
  -webkit-text-stroke: 1px rgba(236,214,170,.055);
}
.page-hero-inner {
  position: relative;
  z-index: 2;
  width: var(--page);
  margin: 0 auto;
  padding: 100px 0;
  display: grid;
  grid-template-columns: 170px minmax(0, 900px);
  gap: 54px;
}
.page-index {
  padding-top: 7px;
  color: rgba(243,239,228,.6);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.page-hero h1 {
  max-width: 950px;
  margin: 0 0 30px;
  font-family: var(--serif);
  font-size: clamp(58px, 7vw, 105px);
  font-weight: 400;
  letter-spacing: -.05em;
  line-height: .91;
}
.page-hero h1 em { color: var(--gold-light); font-weight: 400; }
.page-hero .page-lead {
  max-width: 730px;
  margin: 0;
  color: rgba(243,239,228,.75);
  font-size: clamp(17px, 1.6vw, 22px);
  line-height: 1.65;
}
.page-actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 18px; }
.button-outline {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 1px solid rgba(236,214,170,.45);
  color: var(--gold-light);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.button-outline:hover, .button-outline:focus-visible { color: var(--forest-950); background: var(--gold-light); }

.page-content {
  width: var(--page);
  margin: 0 auto;
  padding: 130px 0;
}
.content-intro {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 54px;
  margin-bottom: 90px;
}
.content-intro h2 {
  max-width: 960px;
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(44px, 5vw, 78px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .98;
}
.content-intro h2 em { color: var(--forest-700); font-weight: 400; }
.editorial-list { border-top: 1px solid var(--line-light); }
.editorial-row {
  min-height: 200px;
  display: grid;
  grid-template-columns: 170px minmax(220px, .65fr) minmax(300px, 1fr);
  gap: 54px;
  align-items: center;
  padding: 40px 0;
  border-bottom: 1px solid var(--line-light);
  transition: background .35s ease;
}
.editorial-row:hover { background: linear-gradient(90deg, rgba(211,178,116,.075), transparent 76%); }
.editorial-row > span {
  color: var(--gold-dark);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}
.editorial-row h2, .editorial-row h3 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(28px, 3vw, 43px);
  font-weight: 400;
  line-height: 1.04;
}
.editorial-row p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.75;
}
.editorial-row p + p { margin-top: 12px; }
.editorial-row a { padding: 11px 0; }

.feature-band {
  padding: 120px max(48px, calc((100vw - 1480px) / 2));
  color: var(--ivory);
  background: var(--forest-900);
}
.feature-band-inner {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: clamp(70px, 10vw, 160px);
  align-items: start;
}
.feature-band h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(44px, 5vw, 76px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .98;
}
.feature-band h2 em { color: var(--gold-light); font-weight: 400; }
.feature-points { border-top: 1px solid var(--line-dark); }
.feature-point { display: grid; grid-template-columns: 54px 1fr; gap: 20px; padding: 29px 0; border-bottom: 1px solid var(--line-dark); }
.feature-point span { color: var(--gold); font-size: 13px; font-weight: 800; letter-spacing: .11em; }
.feature-point h3 { margin: 0 0 8px; font-family: var(--serif); font-size: 28px; font-weight: 400; }
.feature-point p { max-width: 610px; margin: 0; color: rgba(243,239,228,.7); font-size: 17px; line-height: 1.7; }
.feature-point a { min-height: 44px; display: inline-flex; align-items: center; }

.contact-layout {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(70px, 11vw, 180px);
}
.contact-primary { position: sticky; top: 120px; height: fit-content; }
.contact-primary h2 { margin: 0 0 25px; font-family: var(--serif); font-size: clamp(43px, 5vw, 72px); font-weight: 400; line-height: .98; }
.contact-primary p { max-width: 470px; color: var(--muted); font-size: 17px; line-height: 1.75; }
.contact-email {
  min-height: 44px;
  margin-top: 30px;
  display: inline-flex;
  align-items: center;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--gold-dark);
  color: var(--forest-800);
  font-size: clamp(16px, 1.5vw, 22px);
  font-weight: 700;
  overflow-wrap: anywhere;
}
.contact-details { border-top: 1px solid var(--line-light); }
.contact-item { padding: 34px 0; border-bottom: 1px solid var(--line-light); transition: background .35s ease; }
.contact-item:hover { background: linear-gradient(90deg, rgba(211,178,116,.075), transparent 76%); }
.contact-item span { color: var(--gold-dark); font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.contact-item h3 { margin: 14px 0 8px; font-family: var(--serif); font-size: 30px; font-weight: 400; }
.contact-item p, .contact-item address { max-width: 720px; margin: 0; color: var(--muted); font-size: 17px; font-style: normal; line-height: 1.75; }
.contact-item a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: var(--forest-700);
  font-weight: 700;
}

.legal-shell {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: clamp(60px, 9vw, 140px);
  align-items: start;
}
.legal-aside { position: sticky; top: 115px; }
.legal-aside strong { display: block; margin-bottom: 18px; color: var(--gold-dark); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.legal-aside p { color: var(--muted); font-size: 16px; line-height: 1.7; }
.legal-aside a { min-height: 44px; display: inline-flex; align-items: center; color: var(--forest-700); font-size: 16px; font-weight: 700; }
.legal-document { border-top: 1px solid var(--line-light); }
.legal-section {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 28px;
  padding: 38px 0;
  border-bottom: 1px solid var(--line-light);
  scroll-margin-top: 100px;
  transition: background .35s ease;
}
.legal-section:hover { background: linear-gradient(90deg, rgba(211,178,116,.075), transparent 78%); }
.legal-section > span { color: var(--gold-dark); font-size: 13px; font-weight: 800; letter-spacing: .11em; }
.legal-section h2 { margin: 0 0 12px; font-family: var(--serif); font-size: clamp(26px, 2.6vw, 38px); font-weight: 400; line-height: 1.08; }
.legal-section p { max-width: 72ch; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.78; }
.legal-section a {
  padding: 11px 0;
  color: var(--forest-700);
  font-weight: 700;
  text-underline-offset: 3px;
}

.page-cta {
  min-height: 480px;
  padding: 100px max(48px, calc((100vw - 1480px) / 2));
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 60px;
  align-items: center;
  color: var(--forest-950);
  background: var(--gold-light);
}
.page-cta h2 { max-width: 950px; margin: 0; font-family: var(--serif); font-size: clamp(48px, 6vw, 92px); font-weight: 400; letter-spacing: -.05em; line-height: .94; }
.page-cta p { max-width: 650px; margin: 25px 0 0; color: rgba(16,38,31,.76); font-size: 18px; line-height: 1.65; }
.page-cta .button-dark { min-width: 230px; }

.not-found { min-height: 100svh; display: grid; align-items: center; color: var(--ivory); background: var(--forest-900); }
.not-found-inner { width: var(--page); margin: 0 auto; padding: 100px 0; display: grid; grid-template-columns: .5fr 1.5fr; gap: 60px; align-items: center; }
.not-found-code { color: transparent; font-family: var(--serif); font-size: clamp(120px, 20vw, 320px); line-height: .8; -webkit-text-stroke: 1px rgba(236,214,170,.35); }
.not-found h1 { margin-bottom: 24px; font-size: clamp(52px, 7vw, 100px); }
.not-found p { max-width: 620px; color: rgba(243,239,228,.62); font-size: 18px; }

@media (max-width: 1100px) {
  .page-hero-inner, .content-intro { grid-template-columns: 1fr; gap: 26px; }
  .page-hero { min-height: 530px; }
  .page-hero-inner { padding: 78px 0; }
  .page-index { padding-top: 0; }
  .editorial-row { grid-template-columns: 54px minmax(200px, .7fr) 1fr; gap: 24px; }
  .feature-band-inner { grid-template-columns: 1fr; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-primary { position: static; }
  .legal-shell { grid-template-columns: 1fr; }
  .legal-aside { position: static; }
  .page-cta { grid-template-columns: 1fr; }
  .not-found-inner { grid-template-columns: 1fr; }
  .not-found-code { font-size: 150px; }
}

@media (max-width: 620px) {
  .page-hero { min-height: 520px; }
  .page-hero-inner { padding: 72px 0; }
  .page-hero h1 { font-size: clamp(50px, 14vw, 67px); }
  .page-content { padding: 88px 0; }
  .content-intro { margin-bottom: 58px; }
  .content-intro h2 { font-size: clamp(40px, 11vw, 54px); }
  .editorial-row { grid-template-columns: 38px 1fr; gap: 12px; padding: 31px 0; }
  .editorial-row p { grid-column: 2; }
  .feature-band { padding: 88px 16px; }
  .feature-band h2 { font-size: clamp(40px, 11vw, 55px); }
  .feature-point { grid-template-columns: 38px 1fr; gap: 12px; }
  .contact-email { font-size: 16px; }
  .legal-section { grid-template-columns: 34px 1fr; gap: 12px; padding: 31px 0; }
  .page-cta { min-height: 430px; padding: 80px 16px; }
  .page-cta h2 { font-size: clamp(45px, 12vw, 62px); }
  .page-cta .button-dark { width: 100%; min-width: 0; }
  .not-found-inner { padding: 80px 0; }
}
