.interior-page {
  --interior-bg: #f7f6f3;
  --interior-surface: #ffffff;
  --interior-surface-soft: #fbfaf8;
  --interior-ink: #1c1b19;
  --interior-muted: #68655f;
  --interior-faint: #746f67;
  --interior-border: #e7e4de;
  --interior-border-strong: #d8d4cc;
  --interior-green: #2e6b3f;
  --interior-green-soft: #e8f1e9;
  --interior-blue: #2c6587;
  --interior-blue-soft: #e7f0f7;
  --interior-amber: #825700;
  --interior-amber-soft: #f7eed4;
  --interior-rose: #8a4454;
  --interior-rose-soft: #f5e9ec;
  --interior-neutral-soft: #f0efec;
  --interior-shadow: 0 1px 2px rgba(28, 27, 25, 0.04), 0 16px 42px rgba(28, 27, 25, 0.06);
  --interior-shadow-hover: 0 2px 4px rgba(28, 27, 25, 0.05), 0 22px 54px rgba(28, 27, 25, 0.09);
  --interior-radius: 1rem;
  --interior-radius-sm: 0.7rem;
  --interior-ease: cubic-bezier(0.16, 1, 0.3, 1);
  margin: 0;
  color: var(--interior-ink);
  background: var(--interior-bg);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.interior-page *,
.interior-page *::before,
.interior-page *::after { box-sizing: border-box; }

.interior-page main { min-width: 0; }
.interior-page :where(h1, h2, h3, h4, h5, h6, p) { color: inherit; }
.interior-page :where(h1, h2, h3) { text-wrap: balance; }
.interior-page p { text-wrap: pretty; }
.interior-page a { color: var(--interior-blue); }
.interior-page a:hover { color: #204e6a; }
.interior-page :focus-visible { outline: 3px solid rgba(44, 101, 135, 0.28); outline-offset: 3px; }
.interior-page ::selection { color: #fff; background: var(--interior-ink); }

.interior-shell { overflow: clip; }
.interior-container { width: min(100% - 2rem, 78rem); margin-inline: auto; }
.interior-container--narrow { width: min(100% - 2rem, 58rem); margin-inline: auto; }

.interior-hero {
  padding: clamp(4.2rem, 8vw, 7.4rem) 0 clamp(3rem, 6vw, 5.4rem);
  border-bottom: 1px solid var(--interior-border);
  background:
    radial-gradient(circle at 82% 12%, rgba(232, 241, 233, 0.78), transparent 30rem),
    var(--interior-bg);
}

.interior-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.34fr);
  gap: clamp(2.5rem, 7vw, 6rem);
  align-items: end;
}

.interior-path,
.interior-kicker {
  margin: 0 0 1rem;
  color: var(--interior-muted);
  font-size: 0.76rem;
  font-weight: 760;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.interior-path a { color: inherit; text-decoration: none; }
.interior-path a:hover { color: var(--interior-ink); }

.interior-hero h1 {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(2.75rem, 6.5vw, 5.6rem);
  font-weight: 820;
  letter-spacing: -0.025em;
  line-height: 0.98;
}

.interior-hero__lede {
  max-width: 43rem;
  margin: 1.4rem 0 0;
  color: var(--interior-muted) !important;
  font-size: clamp(1.05rem, 1.6vw, 1.28rem);
  line-height: 1.62;
}

.interior-hero__note {
  padding: 1.1rem 1.15rem;
  border: 1px solid var(--interior-border-strong);
  border-radius: var(--interior-radius-sm);
  background: rgba(255, 255, 255, 0.72);
}

.interior-hero__note strong { display: block; font-size: 1.02rem; }
.interior-hero__note span { display: block; margin-top: 0.35rem; color: var(--interior-muted); font-size: 0.82rem; line-height: 1.5; }

.interior-section { padding: clamp(4rem, 7vw, 6.5rem) 0; }
.interior-section--tight { padding: clamp(2.5rem, 5vw, 4rem) 0; }
.interior-section--white { background: var(--interior-surface); border-block: 1px solid var(--interior-border); }

.interior-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.62fr);
  gap: 2rem;
  align-items: end;
  margin-bottom: clamp(1.7rem, 4vw, 2.8rem);
}

.interior-section-heading h2 {
  max-width: 17ch;
  margin: 0;
  font-size: clamp(2rem, 4.2vw, 3.45rem);
  font-weight: 800;
  letter-spacing: -0.022em;
  line-height: 1.02;
}

.interior-section-heading p { margin: 0; color: var(--interior-muted); line-height: 1.65; }

.interior-card {
  border: 1px solid var(--interior-border);
  border-radius: var(--interior-radius);
  background: var(--interior-surface);
  box-shadow: var(--interior-shadow);
}

.interior-button {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  gap: 0.52rem;
  padding: 0.78rem 1rem;
  border: 1px solid transparent;
  border-radius: var(--interior-radius-sm);
  font-size: 0.9rem;
  font-weight: 740;
  line-height: 1.2;
  text-decoration: none;
  transition: transform 130ms ease, background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}

.interior-button--ink { color: #fff !important; background: var(--interior-ink); border-color: var(--interior-ink); }
.interior-button--ink:hover { color: #fff !important; background: #343128; border-color: #343128; box-shadow: 0 8px 22px rgba(28, 27, 25, 0.15); }
.interior-button--light { color: var(--interior-ink) !important; background: #fff; border-color: var(--interior-border-strong); }
.interior-button--light:hover { border-color: #b9b4aa; box-shadow: 0 7px 18px rgba(28, 27, 25, 0.08); }
.interior-button:active { transform: translateY(1px) scale(0.995); }

.interior-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--interior-ink) !important;
  font-size: 0.9rem;
  font-weight: 730;
  text-decoration: none;
}
.interior-link i { transition: transform 150ms var(--interior-ease); }
.interior-link:hover i { transform: translateX(0.18rem); }

.interior-tone-green { color: var(--interior-green); background: var(--interior-green-soft); }
.interior-tone-blue { color: var(--interior-blue); background: var(--interior-blue-soft); }
.interior-tone-amber { color: var(--interior-amber); background: var(--interior-amber-soft); }
.interior-tone-rose { color: var(--interior-rose); background: var(--interior-rose-soft); }
.interior-tone-neutral { color: var(--interior-muted); background: var(--interior-neutral-soft); }

.interior-page .accordion { --bs-accordion-border-color: var(--interior-border); --bs-accordion-border-radius: var(--interior-radius-sm); }
.interior-page .accordion-item {
  overflow: hidden;
  color: var(--interior-ink);
  background: var(--interior-surface);
  border: 1px solid var(--interior-border) !important;
  border-radius: var(--interior-radius-sm) !important;
  box-shadow: none !important;
}
.interior-page .accordion-item:hover { box-shadow: none !important; transform: none; }
.interior-page .accordion-button {
  padding: 1.05rem 1.15rem;
  color: var(--interior-ink);
  background: var(--interior-surface);
  font-weight: 720;
  box-shadow: none !important;
}
.interior-page .accordion-button:not(.collapsed) { color: var(--interior-ink); background: var(--interior-surface-soft); }
.interior-page .accordion-button::after { filter: none; opacity: 0.65; }
.interior-page .accordion-body { color: var(--interior-muted); line-height: 1.65; background: var(--interior-surface); }

.interior-page .breadcrumb { --bs-breadcrumb-divider-color: var(--interior-faint); --bs-breadcrumb-item-active-color: var(--interior-muted); }
.interior-page .breadcrumb a { color: var(--interior-muted); text-decoration: none; }

@keyframes interior-enter {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.interior-reveal { animation: interior-enter 360ms var(--interior-ease) both; }
.interior-reveal:nth-child(2) { animation-delay: 45ms; }
.interior-reveal:nth-child(3) { animation-delay: 90ms; }
.interior-reveal:nth-child(4) { animation-delay: 135ms; }

@media (max-width: 767.98px) {
  .interior-container,
  .interior-container--narrow { width: min(100% - 1.5rem, 78rem); }
  .interior-hero { padding-top: 3.35rem; }
  .interior-hero__grid,
  .interior-section-heading { grid-template-columns: minmax(0, 1fr); gap: 1.4rem; }
  .interior-hero h1 { max-width: 100%; font-size: clamp(2.55rem, 13vw, 4rem); }
  .interior-hero__note { max-width: 28rem; }
}

@media (prefers-reduced-motion: reduce) {
  .interior-page *,
  .interior-page *::before,
  .interior-page *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
