.p1-main{max-width:1240px;margin:0 auto;padding:clamp(5rem,10vw,10rem) clamp(1.25rem,4vw,4rem)}.p1-hero{max-width:800px;border-bottom:1px solid #dce6d7;padding-bottom:clamp(2rem,5vw,4rem)}.p1-hero h1{font-size:clamp(2.5rem,6vw,5.5rem);line-height:.95;margin:.35rem 0 1.5rem}.p1-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,7vw,8rem);padding-top:clamp(3rem,7vw,7rem);align-items:center}.p1-copy h2{font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.15}.p1-copy p{font-size:1.05rem;line-height:1.65}.p1-art{margin:0;background:#eff5ea}.p1-art img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}.insights-list--controlled{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.p1-grid,.insights-list--controlled{grid-template-columns:1fr}.p1-main{padding-top:4rem}}.p1-detail .p1-hero{max-width:920px}.p1-sections{margin-top:clamp(4rem,10vw,10rem);display:grid;gap:clamp(4rem,9vw,9rem)}.p1-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,7vw,8rem);align-items:center}.p1-section--reverse .p1-section-copy{order:2}.p1-section--reverse .p1-art{order:1}.p1-section-copy h2{font-size:clamp(1.7rem,3.5vw,3.2rem);line-height:1.04;margin:.55rem 0 1rem}.p1-section-copy p:not(.eyebrow){font-size:1.08rem;line-height:1.7;max-width:53ch}.p1-section .p1-art{background:#eff5ea;min-height:300px}.p1-section .p1-art img{width:100%;height:100%;min-height:300px;object-fit:cover}.p1-closing{margin-top:clamp(5rem,10vw,10rem);padding:clamp(2rem,5vw,5rem);background:#07170f;color:#fff}.p1-closing h2{max-width:16ch;font-size:clamp(2rem,4vw,4rem);line-height:1.02}.p1-closing .button{margin-top:1rem}@media(max-width:760px){.p1-section,.p1-section--reverse{grid-template-columns:1fr}.p1-section--reverse .p1-section-copy,.p1-section--reverse .p1-art{order:initial}.p1-section .p1-art,.p1-section .p1-art img{min-height:230px}}
/* Detail-page visual audit repair: preserve complete generated artwork. */
.p1-detail .p1-section {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: center !important;
  overflow: hidden !important;
}
.p1-detail .p1-art {
  width: 100% !important;
  min-width: 0 !important;
  aspect-ratio: 3 / 2;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #f0f6e9;
}
.p1-detail .p1-art img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
}
@media (max-width: 760px) {
  .p1-detail .p1-section { grid-template-columns: 1fr !important; }
  .p1-detail .p1-art { width: 100% !important; }
} .p1-detail .p1-art { background: transparent !important; } 

/* P2 architecture pages align their section grid with the 1440px homepage content rail. */
.p1-main.p2-page { max-width: 1600px; }


/* P2 closing panels use the full viewport while their content remains on the shared 1440px rail. */
.p1-main.p2-page .p1-closing {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-inline: max(var(--page-gutter), calc((100vw - var(--content-width)) / 2));
}


/* The full-width P2 closing panel finishes directly at the footer. */
.p1-main.p2-page { padding-bottom: 0; }


/* Research uses the same full-viewport closing treatment as P2 detail pages. */
.p1-main.p1-full-closing { padding-bottom: 0; }
.p1-main.p1-full-closing .p1-closing {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-inline: max(var(--page-gutter), calc((100vw - var(--content-width)) / 2));
}


/* P2 hero imagery: a contextual visual beside the page introduction. */
.p1-main.p2-page .p1-hero {
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(360px, .85fr);
  gap: clamp(32px, 6vw, 110px);
  align-items: center;
}
.p1-main.p2-page .p2-hero-copy { max-width: 800px; }
.p1-main.p2-page .p2-hero-art { margin: 0; min-width: 0; aspect-ratio: 3 / 2; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.p1-main.p2-page .p2-hero-art img { display: block; width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 760px) {
  .p1-main.p2-page .p1-hero { grid-template-columns: 1fr; gap: 28px; }
  .p1-main.p2-page .p2-hero-art { max-width: 560px; width: 100%; }
}
