/* Main site only. The standalone landing is an unchanged visual reference. */
body[data-page="home"] .homeScale {
  padding-block: clamp(40px, 6vw, 88px);
  background: transparent;
  color: var(--text-primary);
}
.homeScaleHeading { display: grid; grid-template-columns: 1fr 2fr; gap: 24px; align-items: start; margin-bottom: 36px; }
.homeScaleHeading h2 { margin: 0; font-size: clamp(2rem, 4.5vw, 4.5rem); font-weight: 450; letter-spacing: -.05em; line-height: 1.05; }
.homeScaleGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.homeScaleMetric { min-width: 0; padding: clamp(22px, 3.5vw, 52px); border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.homeScaleMetric strong { display: block; margin: 0 0 26px; color: var(--text-primary); font-size: clamp(3rem, 7.5vw, 7rem); font-weight: 450; line-height: 1; letter-spacing: -.065em; white-space: nowrap; font-variant-numeric: lining-nums tabular-nums; }
.homeScaleMetric p { max-width: 330px; margin: 0; color: var(--text-secondary); font-size: clamp(1rem, 1.8vw, 1.375rem); line-height: 1.45; }
.homeScaleReserve { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: center; padding: 28px clamp(22px, 3.5vw, 52px); border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.homeScaleReserve h3 { margin: 0; max-width: 420px; font-size: clamp(1.5rem, 2.6vw, 2.5rem); font-weight: 450; line-height: 1.15; letter-spacing: -.04em; }
.homeScaleReserve p { margin: 0; font-size: 1rem; color: var(--text-secondary); line-height: 1.5; }
body[data-page="home"] .homeDirectionsCompact { padding-block: clamp(32px, 4vw, 56px); background: transparent; }
body[data-page="home"] .homeDirectionsCompact .sectionHead { margin-bottom: 24px; gap: 24px; }
body[data-page="home"] .homeDirectionsCompact h2 { font-size: clamp(1.75rem, 3vw, 2.75rem); line-height: 1.15; }
body[data-page="home"] .homeDirectionsCompact .sectionHead > p { font-size: 1rem; line-height: 1.5; color: var(--text-secondary); }
body[data-page="home"] .homeDirectionsCompact .directionRows { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-left: 1px solid var(--border); border-top: 1px solid var(--border); }
body[data-page="home"] .homeDirectionsCompact .directionRows a { grid-template-columns: 1fr auto; gap: 12px; align-content: start; min-height: 0; padding: 22px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); color: var(--text-primary); background: var(--surface); }
body[data-page="home"] .homeDirectionsCompact .directionRows span { grid-column: 1; font-size: .875rem; }
body[data-page="home"] .homeDirectionsCompact .directionRows h3 { grid-row: 2; grid-column: 1 / -1; font-size: clamp(1.5rem, 2.6vw, 2.25rem); line-height: 1.2; }
body[data-page="home"] .homeDirectionsCompact .directionRows p { grid-row: 3; grid-column: 1 / -1; font-size: 1rem; line-height: 1.45; color: var(--text-secondary); }
body[data-page="home"] .homeDirectionsCompact .directionRows b { grid-column: 2; grid-row: 1; font-size: 1rem; }
body[data-page="home"] .homeDirectionsCompact .directionRows a:is(:hover, :focus-visible) { background: var(--subtle-surface); box-shadow: inset 0 -2px var(--accent); }

/* Photographs stay true to their source in both themes. */
body[data-page="partners"] .partnersIntro { padding-top: clamp(42px, 6vw, 88px); padding-bottom: 36px; }
.partnersIntro h1 { max-width: 1100px; margin: 20px 0 24px; font-size: clamp(2.5rem, 7vw, 6.5rem); font-weight: 450; line-height: 1; letter-spacing: -.055em; }
.partnersIntro p { max-width: 720px; margin: 0; color: var(--text-secondary); font-size: 1.125rem; line-height: 1.5; }
body[data-page="partners"] .partnersList { padding-top: 0; padding-bottom: clamp(40px, 6vw, 88px); }
.partnerCard { display: grid; grid-template-columns: 1.3fr 1fr; margin-top: 28px; border: 1px solid var(--border); background: var(--surface); color: var(--text-primary); }
.partnerPhoto { position: relative; min-width: 0; margin: 0; background: #090909; overflow: hidden; }
.partnerPhoto img { display: block; width: 100%; height: 100%; min-height: 320px; aspect-ratio: 16 / 10; object-fit: cover; }
.partnerCopy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; padding: clamp(24px, 3.5vw, 52px); }
.partnerDiscipline { color: var(--text-secondary); font-size: .875rem; line-height: 1.5; }
.partnerCopy h2 { margin: 16px 0 20px; font-size: clamp(2.25rem, 4.5vw, 4.5rem); font-weight: 450; letter-spacing: -.04em; line-height: 1.05; }
.partnerCopy p { margin: 0 0 28px; font-size: 1rem; line-height: 1.65; color: var(--text-secondary); }
.partnerCopy .button { min-height: 48px; max-width: 100%; gap: 24px; white-space: normal; }
@media (max-width: 900px) {
  .homeScaleHeading { grid-template-columns: 1fr; gap: 20px; }
  body[data-page="home"] .homeDirectionsCompact .directionRows { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partnerCard { grid-template-columns: 1fr; }
  .partnerPhoto img { min-height: 0; height: auto; max-height: 440px; aspect-ratio: 16 / 9; }
}
@media (max-width: 600px) {
  .homeScaleHeading { margin-bottom: 26px; }
  .homeScaleMetric { padding: 24px 16px; }
  .homeScaleMetric strong { margin-bottom: 22px; font-size: clamp(2rem, 8.7vw, 3.25rem); }
  .homeScaleMetric p { font-size: 1rem; line-height: 1.4; overflow-wrap: anywhere; }
  .homeScaleReserve { grid-template-columns: 1fr; gap: 14px; padding: 24px 16px; }
  body[data-page="home"] .homeDirectionsCompact .sectionHead { grid-template-columns: 1fr; gap: 14px; }
  body[data-page="home"] .homeDirectionsCompact .sectionHead > p { margin: 0; }
  body[data-page="home"] .homeDirectionsCompact .directionRows a { padding: 16px; gap: 8px; }
  body[data-page="home"] .homeDirectionsCompact .directionRows p { display: none; }
  .partnerCopy { padding: 24px 20px; }
  .partnersIntro p { font-size: 1rem; }
}
@media (max-width: 340px) {
  .homeScaleGrid, body[data-page="home"] .homeDirectionsCompact .directionRows { grid-template-columns: 1fr; }
}

/* Shared main-site scale; this file is loaded after styles.css. */
body[data-page="partners"] .partnersIntro { padding-top: var(--site-section-space); padding-bottom: 28px; }
.partnersIntro h1 { margin: 14px 0 18px; font-size: var(--site-heading-page); line-height: 1.1; }
.partnerCopy { padding: clamp(22px, 2.6vw, 36px); }
.partnerCopy h2 { margin: 12px 0 16px; font-size: var(--site-heading-section); line-height: 1.15; }
.partnerPhoto img { min-height: 270px; }
body[data-page="home"] .homeScale { padding-block: var(--site-section-space); }
.homeScaleHeading { margin-bottom: 24px; }
.homeScaleHeading h2 { font-size: var(--site-heading-section); }
.homeScaleMetric { padding: 28px; }
.homeScaleMetric strong { margin-bottom: 14px; font-size: clamp(36px, 4.6vw, 64px); }
.homeScaleMetric p { font-size: 17px; }
@media (max-width: 760px) {
  .partnerPhoto img { min-height: 0; }
  .homeScaleMetric { padding: 20px 16px; }
  .homeScaleMetric strong { font-size: clamp(30px, 8vw, 40px); }
  .homeScaleMetric p { font-size: 15px; }
}

.homeScaleMetric, .homeScaleReserve { background: var(--background-primary); }

/* Preserve the owner's complete castle composition. */
#f360 .partnerPhoto { display: grid; place-items: center; }
#f360 .partnerPhoto img { height: auto; min-height: 0; max-height: none; aspect-ratio: 3 / 2; object-fit: contain; }
