/* Preserve content flow while aligning the full site on a wide editorial canvas. */
:root {
  --canvas-max: 1600px;
  --canvas-gutter: clamp(24px, 3vw, 64px);
  --container: min(var(--canvas-max), calc(100% - var(--canvas-gutter) - var(--canvas-gutter)));
  --reading: min(820px, 100%);
}
.container, .core-footer-frame, .about-rgys-frame {
  width: var(--container);
  margin-inline: auto;
}
.container > *, .guide-layout > *, .contact-grid > * { min-width: 0; }
.site-tools__search-panel {
  right: max(var(--canvas-gutter), calc((100% - var(--canvas-max)) / 2));
}
.prose { max-width: var(--reading); }
.guide-layout { grid-template-columns: minmax(210px, 250px) minmax(0, 1fr); gap: clamp(36px, 5vw, 88px); }
.guide-layout > .prose { max-width: min(980px, 100%); }
.prose p, .prose > ul, .prose > ol, .chapter > p, .chapter > ul, .chapter > ol { max-width: 76ch; }
.prose .cards, .prose .table-wrap, .prose .callout { max-width: 100%; }
.page-hero { padding-block: clamp(48px, 5vw, 84px); }
.page-hero.has-image .container {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  gap: clamp(32px, 4vw, 72px);
  align-items: center;
  padding-right: 0;
  min-height: 0;
}
.page-hero-copy { min-width: 0; }
.page-hero h1 { max-width: 14em; font-size: clamp(38px, 3.4vw, 64px); }
.page-hero .lead { max-width: 36em; }
.page-hero-image {
  position: static;
  align-self: center;
  width: 100%;
  height: auto;
  margin: 0;
  padding-left: 0;
  border-left: 0;
  overflow: hidden;
  background: #0f3029;
  border: 1px solid rgba(230, 214, 185, .45);
}
.page-hero-image img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; }
.page-hero-image figcaption { padding: 12px 16px; margin: 0; color: #e6d6b9; font-size: 12px; }
.hero .container {
  min-height: 0;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(36px, 5vw, 88px);
  padding-block: clamp(48px, 5vw, 84px);
  align-items: center;
}
.hero-copy { padding: 0; }
.hero-art { align-self: center; min-height: 0; height: auto; margin: 0; background: #0f3029; border: 1px solid rgba(230, 214, 185, .45); }
.hero-art img { min-height: 0; height: auto; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; filter: none; }
.hero-art::before, .hero-art::after { display: none; }
.hero-art [data-service-scene] { position: static; margin: 0; padding: 12px 16px; background: #0f3029; }
.hero-bottom { position: static; }
.hero-bottom .container { display: flex; min-height: 48px; padding-block: 10px; }
.about-rgys-boundary { margin-inline: 0; border: 1px solid rgba(180,138,75,.28); }
.about-rgys-boundary-copy { padding: clamp(28px, 3vw, 60px); }
@media (min-width: 2200px) { :root { --canvas-max: 1840px; } }
@media (max-width: 1060px) {
  :root { --canvas-gutter: 24px; }
  .page-hero.has-image .container { gap: 28px; }
}
@media (max-width: 860px) {
  :root { --canvas-gutter: 20px; }
  .page-hero.has-image .container, .hero .container { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .page-hero h1 { font-size: clamp(34px, 6vw, 50px); }
  .page-hero-image { margin: 0; }
  .hero-art { width: 100%; margin: 0; min-height: 0; }
  .hero .container { padding-block: 44px; }
  .hero-bottom .container { padding-block: 12px; }
  .guide-layout { display: block; }
}
@media (max-width: 640px) {
  :root { --canvas-gutter: 16px; }
  .page-hero { padding-block: 38px; }
  .page-hero h1 { font-size: clamp(30px, 8vw, 44px); }
  .page-hero-image figcaption, .hero-art [data-service-scene] { padding: 10px 12px; }
}
