/* One scene per section: a light reading column opens into a full photograph. */
.source-faithful .photo-section {
  --photo-space: 60px;
  --photo-surface: #e9edef;
  --reading-gradient: linear-gradient(90deg,#e9edef 0%,#e9edeff5 24%,#e9edefd9 38%,#e9edef66 51%,#e9edef00 65%);
  container-type: inline-size;
  padding: 0;
  min-height: 0;
  display: block;
  background: var(--photo-surface);
  overflow: clip;
}
.photo-stage { position: relative; isolation: isolate; padding: var(--photo-space); min-height: 820px; }
.photo-copy { width: 43%; position: relative; z-index: 1; }
.photo-copy .section-heading { display: block; max-width: none; margin-bottom: 32px; }
.photo-copy .section-heading .section-intro { max-width: none; margin-top: 24px; }
.photo-copy .about-copy,.photo-copy .source-service-lead,.photo-copy .source-arrival,.photo-copy .administration-copy { width: 100%; max-width: none; }
.photo-copy h2 { margin-bottom: 24px; }
.photo-copy p { font-size: 1rem; line-height: 1.8; color: var(--muted); }
.photo-backdrop { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; background: var(--photo-surface); }
.photo-backdrop img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 70% center; mask: none; -webkit-mask: none; filter: none; opacity: 1; }
.photo-backdrop:after { content: ''; position: absolute; inset: 0; background: var(--reading-gradient); pointer-events: none; }
.photo-backdrop.portrait-scene img { left: auto; right: 0; width: 70%; object-position: center 24%; }
.photo-followup { padding: 30px var(--photo-space) 44px; background: var(--photo-surface); position: relative; }
.photo-section:has(.photo-followup) .photo-stage:after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 80px; z-index: 0; background: linear-gradient(0deg,var(--photo-surface),transparent); pointer-events: none; }
.photo-about .photo-stage { min-height: 840px; }
.photo-about .photo-backdrop img { object-position: center center; }
.photo-about .about-copy .about-lead { font-size: 1.5rem; line-height: 1.6; }
.photo-about .about-copy .text-link { margin-top: 26px; }
.photo-about .founder-label { position: relative; inset: auto; padding: 25px 0 0; margin: 32px 0 0; background: none; border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none; backdrop-filter: none; }
.photo-about .founder-label strong { font-size: 1.125rem; line-height: 1.5; letter-spacing: normal; }
.photo-about .founder-label span { font-size: .9375rem; line-height: 1.7; }
.photo-about .source-history { margin: 0; padding-top: 26px; }
.photo-services .source-service-list { padding: 0; margin: 0; border: 0; border-radius: 0; background: none; }
.photo-services .source-service-list .complete-list { border-top: 1px solid var(--line); padding-top: 26px; }
.photo-arrival .source-arrival { padding: 0; }
.photo-arrival .source-list li { margin-bottom: 13px; }
.photo-administration .photo-stage { min-height: 680px; }
.photo-administration .administration-copy h2 { font-size: clamp(2rem,2.9vw,2.625rem); line-height: 1.3; overflow-wrap: break-word; }
.administration-details>p { color: var(--muted); font-size: 1rem; margin-bottom: 18px; }
.administration-details .complete-list { border-top: 1px solid var(--line); gap: 20px 42px; }
.administration-details .source-help { border-top: 1px solid var(--line); margin-top: 24px; }
.source-faithful .photo-benefits {
  --reading-gradient: linear-gradient(90deg,#e9edef 0%,#e9edef 38%,#e9edeffa 44%,#e9edefc7 51%,#e9edef66 58%,#e9edef0d 66%,#e9edef00 73%);
}
.photo-benefits .photo-copy { width: 44%; }
.photo-benefits .photo-stage { min-height: 1080px; }
.photo-benefits .source-benefit-list article { padding: 22px 0; }
.photo-benefits .source-benefit-list h3 { font-size: 1.375rem; }
.photo-benefits .photo-backdrop.portrait-scene img { width: 64%; object-position: center 16%; }
.photo-benefits .source-cta { margin-top: 28px; }
.photo-industries .industry-stage { min-height: 900px; }
.photo-industries .photo-copy { width: 43%; }
.industry-canvas { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.photo-industries .industry-preview { position: sticky; inset: auto; top: 116px; width: 100%; height: min(900px,calc(100svh - 116px)); margin: 0; border: 0; border-radius: 0; overflow: hidden; background: var(--photo-surface); }
.photo-industries .industry-preview:before { content: none; }
.photo-industries .industry-preview:after { background: var(--reading-gradient); }
.photo-industries .industry-preview img { position: absolute; inset: 0; width: 100%; height: 100%; mask: none; -webkit-mask: none; object-fit: cover; object-position: 64% center; filter: none; opacity: 1; }
.photo-industries .industry-preview img[src$="cleaning.jpg"] { object-position: 64% top; }
.photo-industries .industry-preview figcaption { display: none; }
.photo-industries .source-industry-grid { border-top: 1px solid var(--line); }
.photo-industries .industry-choice button,.photo-industries .industry-choice .industry-detail { padding-left: 0; }
.photo-industries .industry-choice button { padding: 18px 0 10px; }
.photo-industries .industry-choice .industry-detail { padding-bottom: 18px; }
.photo-industries .source-cta { padding: 24px 0 0; margin: 0; border-top: 1px solid var(--line); background: none; }
.photo-industries .industry-inline-scene { display: none; }
@media(min-width:1500px) {
  .photo-stage,.photo-about .photo-stage { min-height: 900px; }
}
@media(max-width:1150px) {
  .source-faithful .photo-section { --photo-space: 42px; }
  .photo-copy,.photo-industries .photo-copy,.photo-benefits .photo-copy { width: 46%; }
  .photo-stage { min-height: 780px; }
  .photo-about .photo-stage { min-height: 780px; }
  .photo-about .about-copy .about-lead { font-size: 1.3125rem; }
}
@media(max-width:850px) {
  .source-faithful .photo-section { --mobile-photo-height: 82cqw; }
  .photo-stage,.photo-about .photo-stage,.photo-administration .photo-stage,.photo-benefits .photo-stage { min-height: 0; padding-bottom: calc(var(--mobile-photo-height) + 30px); }
  .photo-copy,.photo-industries .photo-copy,.photo-benefits .photo-copy { width: 100%; }
  .photo-backdrop img { inset: auto 0 0 auto; width: 140%; height: var(--mobile-photo-height); object-fit: cover; object-position: right center; }
  .photo-backdrop:after { background: linear-gradient(180deg,#e9edef 0%,#e9edef calc(100% - var(--mobile-photo-height)),#e9edef00 calc(100% - var(--mobile-photo-height) + 54px)); }
  .photo-backdrop.portrait-scene img,.photo-benefits .photo-backdrop.portrait-scene img { width: 100%; height: var(--mobile-photo-height); object-position: center 35%; }
  .photo-benefits { --benefits-blend: clamp(96px,32cqw,160px); }
  .photo-benefits .photo-backdrop:after { background: linear-gradient(180deg,#e9edef 0%,#e9edef calc(100% - var(--mobile-photo-height)),#e9edefd9 calc(100% - var(--mobile-photo-height) + var(--benefits-blend) * .35),#e9edef66 calc(100% - var(--mobile-photo-height) + var(--benefits-blend) * .7),#e9edef00 calc(100% - var(--mobile-photo-height) + var(--benefits-blend))); }
  .photo-benefits .photo-backdrop.portrait-scene img { object-position: center top; }
  .photo-about .photo-backdrop img { width: 140%; object-position: 75% center; }
  .photo-about .founder-label { margin-top: 26px; }
  .photo-arrival .photo-backdrop img { width: 153%; object-position: right center; }
  .photo-industries .industry-canvas { display: none; }
  .photo-industries .industry-stage { min-height: 0; padding-bottom: 0; }
  .photo-industries .industry-inline-scene { display: block; position: relative; margin: 14px calc(-1 * var(--photo-space)) -18px; isolation: isolate; }
  .photo-industries .industry-inline-scene:before { content: none; }
  .photo-industries .industry-inline-scene:after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,#e9edef,transparent 16%); }
  .photo-industries .industry-inline-image { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; object-position: center; mask: none; -webkit-mask: none; border: 0; border-radius: 0; }
  .photo-industries [data-industry="cleaning"] .industry-inline-image { object-position: center top; }
  .photo-industries .industry-choice .industry-detail { padding-bottom: 18px; }
  .photo-industries .industry-choice button { padding-block: 20px; }
}
@media(max-width:600px) {
  .source-faithful .photo-section { --photo-space: 25px; --mobile-photo-height: 100cqw; }
  .photo-stage { padding-top: 31px; }
  .photo-copy .section-heading { margin-bottom: 27px; }
  .photo-copy .section-heading .section-intro { margin-top: 20px; }
  .photo-followup { padding-top: 26px; padding-bottom: 30px; }
  .photo-about .about-copy .about-lead { font-size: 1.3125rem; }
  .photo-about .founder-label strong { font-size: 1.0625rem; }
  .photo-about .founder-label span { font-size: .875rem; }
  .photo-about .photo-backdrop img { width: 155%; }
  .photo-administration .administration-copy h2 { font-size: 1.875rem; }
  .photo-benefits .source-benefit-list h3 { font-size: 1.375rem; }
}
@media(max-width:375px) {
  .source-faithful .photo-section { --photo-space: 22px; }
  .photo-administration .administration-copy h2 { font-size: 1.75rem; }
}
