.homepage-hotspots .homepage-photo-hero { min-height: 640px; }
.homepage-hotspots .homepage-photo-content { min-height: 640px; padding-right: 39%; }
.homepage-hotspots .homepage-photo-content h1 { font-size: clamp(42px, 5.6vw, 82px); }
.homepage-hotspots .site-hotspots button {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px 4px 4px;
  border: 1px solid #fff;
  border-radius: 4px;
  background: #fff;
  color: var(--compiled-ink);
  box-shadow: 0 5px 20px #0003;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
  z-index: 3;
}
.homepage-hotspots .site-hotspots button span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 22px;
  line-height: 1;
  background: var(--compiled-accent);
  color: var(--compiled-on-accent);
}
.homepage-hotspots .site-hotspots button[aria-expanded="true"] { border-color: var(--compiled-accent); }
.homepage-hotspots .site-hotspots [data-site-detail="enclosure"] { left: 57%; top: 38%; }
.homepage-hotspots .site-hotspots [data-site-detail="connections"] { left: 77%; top: 52%; }
.homepage-hotspots .site-hotspots [data-site-detail="placement"] { left: 63%; top: 75%; }
.homepage-hotspots .site-detail {
  position: absolute;
  bottom: 25px;
  right: max(28px, calc((100% - 1320px) / 2));
  width: min(315px, 29%);
  z-index: 4;
  padding: 18px 20px;
  background: var(--compiled-paper);
  color: var(--compiled-ink);
  border-top: 4px solid var(--compiled-accent);
  box-shadow: 0 12px 30px #0003;
  scroll-margin-top: 138px;
}
.homepage-hotspots .site-detail [data-site-close] {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 34px;
  height: 34px;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 22px;
  cursor: pointer;
}
.homepage-hotspots .site-detail-kicker { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.homepage-hotspots .site-detail h2 { margin: 4px 20px 8px 0; font-size: 22px; line-height: 1.12; letter-spacing: -.03em; }
.homepage-hotspots .site-detail p { margin: 0 0 8px; line-height: 1.4; }
.homepage-hotspots .site-detail a { display: inline-flex; gap: 12px; font-size: 14px; font-weight: 650; text-underline-offset: 3px; color: var(--ap-label, #a40028); }

.homepage-photo-panel .homepage-photo-shade { background: linear-gradient(90deg, #0c141945, transparent 75%); }
.homepage-photo-panel .homepage-photo-content {
  min-height: 0;
  width: min(420px, 38%);
  margin: 90px auto 90px max(32px, calc((100% - 1320px) / 2));
  padding: 34px;
  background: #11191ced;
  border-top: 5px solid var(--compiled-accent);
}
.homepage-photo-panel .homepage-photo-content h1 { font-size: clamp(39px, 4vw, 63px); }
.homepage-photo-panel .photo-hero-foot { margin-top: 22px; }
.homepage-photo-rail .homepage-photo-content { min-height: 580px; justify-content: end; }
.homepage-photo-rail .site-hotspots {
  position: absolute;
  top: 35px;
  right: max(32px, calc((100% - 1320px) / 2));
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 7px;
  background: #12191cd9;
}
.homepage-photo-rail .site-hotspots button { position: static; }
.homepage-photo-rail .site-detail { top: 99px; bottom: auto; }
.homepage-signal-split .product-hero-grid { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); }
.homepage-signal-split .product-hero-message { padding: 26px 0 26px 26px; border-left: 4px solid var(--compiled-accent); }
.homepage-signal-split .hero-product-photo { background: #fff; }
.homepage-signal-split .hero-product-bottom { background: var(--compiled-wash); }
.homepage-hotspots .compiled-products { row-gap: 22px; }
.homepage-hotspots .compiled-products .study-copy { gap: 8px; }
.homepage-hotspots .compiled-products .study-copy .cc-title { min-height: 0; }
.homepage-hotspots .compiled-products .study-copy :is(.cc-category,.cc-tags) { margin: 0; min-height: 0; }
.homepage-hotspots .compiled-products .cc-action { min-width: 0; }
.homepage-hotspots .compiled-products .style-split .cc-action { background: var(--compiled-ink); color: var(--compiled-paper); }
.homepage-hotspots .compiled-products .style-cover .study-media { height: 168px; }
.homepage-hotspots .compiled-resources { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.homepage-hotspots .compiled-resources > :first-child { grid-row: auto; }
.homepage-hotspots .compiled-resources > :first-child .study-media { min-height: 0; flex: none; }
.homepage-hotspots .compiled-resources .study-media { height: 182px; }
.homepage-hotspots .compiled-resources .study-media img { object-fit: cover; }
.homepage-hotspots .compiled-resources .study-description { min-height: 0; }
.homepage-hotspots #next-project[data-project-layout] { padding-block: clamp(35px, 5.5vw, 70px); }
.homepage-hotspots #next-project[data-project-layout] .project-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.homepage-hotspots #next-project[data-project-layout] .project-focus {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
}
.homepage-hotspots #next-project[data-project-layout] .focus-image { height: 100%; min-height: 250px; }
.homepage-hotspots #next-project[data-project-layout] .focus-copy { align-content: center; height: 100%; }
.homepage-photo-panel #next-project .project-start,
.homepage-signal-split #next-project .project-start { background: var(--compiled-wash); color: var(--compiled-ink); }
.homepage-photo-rail #next-project .project-start { background: var(--compiled-paper); color: var(--compiled-ink); border-top: 4px solid var(--compiled-accent); }
@media (max-width: 760px) {
  .homepage-hotspots .homepage-photo-hero { padding-bottom: 24px; min-height: 0; }
  .homepage-hotspots .homepage-photo-content {
    width: calc(100% - 36px);
    margin: 0 auto;
    min-height: 450px;
    padding: 44px 0 18px;
  }
  .homepage-photo-panel .homepage-photo-content { margin: 23px auto 12px; min-height: 0; padding: 20px; }
  .homepage-hotspots .homepage-photo-shade { background: linear-gradient(90deg, #0b1216e0, #0b121660); }
  .homepage-hotspots .site-hotspots {
    position: relative;
    inset: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0 18px;
    padding: 0;
    background: transparent;
  }
  .homepage-hotspots .site-hotspots button { position: static; }
  .homepage-hotspots .site-detail { position: relative; inset: auto; width: auto; margin: 10px 18px 0; }
  .homepage-signal-split .product-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .homepage-signal-split .product-hero-message { padding: 0 0 0 16px; }
  .homepage-hotspots .compiled-resources,
  .homepage-hotspots #next-project[data-project-layout] .project-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .homepage-hotspots #next-project[data-project-layout] .project-focus { grid-template-columns: minmax(0, 1fr); }
  .homepage-hotspots #next-project[data-project-layout] .focus-image { min-height: 0; height: 165px; }
  .homepage-hotspots #next-project[data-project-layout] .project-start { min-height: 240px; }
}
