/* Interior pages extend the approved studio palette and component system. */
.interior-page { min-height: 100vh; display: flex; flex-direction: column; }
.interior-page #main { flex: 1; }
.page-intro { padding-block: 82px 76px; }
.page-heading-layout { display: grid; grid-template-columns: 1.2fr 1fr; align-items: end; gap: 28px 72px; }
.page-intro h1 {
  font-family: "Studio Display", Arial, sans-serif; font-size: clamp(64px, 7.5vw, 116px);
  font-weight: 800; line-height: 1.04; letter-spacing: -.065em; max-width: none;
}
.page-intro .lead { font-size: clamp(18px, 1.65vw, 24px); line-height: 1.5; color: var(--studio-muted); max-width: 490px; padding-bottom: 6px; }
.page-context { grid-column: 1 / -1; color: var(--studio-accent); font-size: 17px; }
.page-content-band { background: var(--paper); color: var(--paper-ink); padding-block: 72px 86px; }
.page-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 36px 90px; align-items: start; }
.page-aside { position: sticky; top: 40px; }
.page-aside h2 { font-size: clamp(28px, 3vw, 44px); line-height: 1.16; font-weight: 400; letter-spacing: -.045em; }
.page-aside p { font-size: 16px; color: #515753; line-height: 1.7; margin-top: 22px; max-width: 370px; }
.detail-list { border-top: 1px solid #95998f; }
.detail-list article {
  display: grid; grid-template-columns: minmax(120px, .55fr) minmax(0, 1fr);
  gap: 16px 26px; padding-block: 26px 30px; border-bottom: 1px solid #95998f;
}
.detail-list h3 { font-size: 18px; font-weight: 500; letter-spacing: -.025em; line-height: 1.45; }
.detail-list :is(p, .legal-copy) { font-size: 17px; line-height: 1.7; color: #414741; }
.detail-list .legal-copy p + p { margin-top: 16px; }
.detail-list a:not(.studio-button) { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; overflow-wrap: anywhere; }
.detail-list a:not(.studio-button):hover { color: #a13723; }
.detail-list .studio-button { grid-column: 2; justify-self: start; font-size: 16px; min-height: 54px; padding: 14px 18px; gap: 22px; }
.detail-list .studio-button-secondary { background: transparent; border-color: #797e75; color: #111314; }
.detail-list .studio-button-secondary:hover { background: #d7d9ce; }
.page-note { grid-column: 2; color: #515753; font-size: 14px; line-height: 1.65; max-width: 610px; padding-left: 17px; border-left: 2px solid #b9472e; }
.page-content-band :is(a, button):focus-visible { outline-color: #a13723; }
.contact-layout .detail-list article { grid-template-columns: 1fr; gap: 22px; padding-block: 28px 36px; }
.contact-layout .detail-list article > p { font-size: clamp(23px, 2.8vw, 42px); line-height: 1.25; letter-spacing: -.045em; }
.contact-layout .detail-list .studio-button { grid-column: 1; min-width: 170px; margin-top: 8px; }
.contact-layout .page-note { margin-top: 0; }
.error-page { padding-block: 70px 100px; }
.error-content { max-width: 820px; }
.error-code { font-size: 24px; color: var(--studio-accent); padding-bottom: 25px; }
.error-content h1 { font-size: clamp(55px, 7vw, 104px); }
.error-content .lead { margin-top: 28px; }
.error-content .studio-button { margin-top: 36px; }
@media (max-width: 1100px) {
  .page-layout { gap: 32px 48px; grid-template-columns: minmax(0, .75fr) minmax(0, 1.3fr); }
  .page-heading-layout { gap: 32px; }
  .detail-list article { grid-template-columns: 1fr; gap: 12px; }
  .detail-list .studio-button { grid-column: 1; margin-top: 7px; }
}
@media (max-width: 760px) {
  .page-intro { padding-block: 48px 46px; }
  .page-heading-layout { grid-template-columns: 1fr; gap: 24px; }
  .page-intro h1 { font-size: clamp(54px, 11vw, 80px); }
  .page-intro .lead { font-size: 18px; padding: 0; max-width: 480px; }
  .page-context { margin-bottom: -8px; font-size: 15px; }
  .page-content-band { padding-block: 42px 50px; }
  .page-layout { grid-template-columns: 1fr; gap: 32px; }
  .page-aside { position: static; }
  .page-aside h2 { max-width: 440px; font-size: 32px; }
  .page-aside p { margin-top: 17px; max-width: 480px; }
  .detail-list article { padding-block: 24px; }
  .detail-list :is(p, .legal-copy) { font-size: 16px; }
  .page-note { grid-column: 1; }
  .contact-layout .detail-list article > p { font-size: clamp(23px, 5.8vw, 36px); }
  .error-page { padding-bottom: 70px; }
}
