/* External public pages: shared frame and page shell. Page content retains its own CSS. */
body.external-home {
  --external-shell: 1500px;
  --external-gutter: clamp(24px, 7vw, 112px);
  --external-ink: #24211e;
  --external-paper: #fffdf9;
  --external-warm: #f3eee7;
  --external-accent: #c8544c;
  background: var(--external-paper);
  color: var(--external-ink);
  font-family: Pretendard, "Noto Sans KR", sans-serif;
}

/* Keep the HOME Header and Footer on one visual grid across all routes. */
.external-home .ext-header,
.external-home .ext-footer { padding-inline: clamp(24px, 5vw, 96px); }
.external-home .footer-top,
.external-home .footer-bottom { max-width: 1440px; }

/* Dropdown visibility follows the shared script's expanded state, including Escape. */
.external-home .nav-group:not(.open) .nav-group-menu { display: none; }

/* A wide page shell can contain narrower reading columns within each section. */
.external-home :is(.corporation-shell, .location-shell, .people-shell, .person-shell, .services-shell, .contact-shell) {
  width: min(calc(100% - 2 * var(--external-gutter)), var(--external-shell));
  margin-inline: auto;
}

@media (max-width: 640px) {
  body.external-home { --external-gutter: 24px; }
  .external-home .ext-header,
  .external-home .mobile-overlay,
  .external-home .ext-footer { padding-inline: 24px; }
}

