/* Scoped to lower content sections: no root, header, hero or calculator changes. */
.photo-refined {
  --glass-surface: linear-gradient(135deg, #FFFFFFE6, #F4EEFBD6);
  --glass-shadow: inset 0 1px 0 #FFFFFFB8, 0 18px 42px -24px #4A2D7166;
  --glass-lift: inset 0 1px 0 #FFFFFFCE, 0 24px 46px -25px #4A2D7180;
}
.photo-refined :is(.sales-card, .result-card, .price-card, .turnkey-card, .turnkey-link,
  .consultation-service, .steps article, .terms-grid article, .faq-list details,
  .outcome-panel, .consultation-deliverable, .direction-card) {
  border-radius: 24px;
  box-shadow: var(--glass-shadow);
}
.photo-refined :is(h2, h3) { letter-spacing: -.025em; text-wrap: balance; }
.photo-refined :is(.section-heading > p, .sales-card p, .result-card > p,
  .crystal-text-plate, .direction-copy, .outcome-confirmation, .catalog-details) {
  border-radius: 16px;
  box-shadow: none;
}
.photo-refined .crystal-badge {
  transform: none;
  border-radius: 20px;
  box-shadow: inset 0 1px 0 #FFFFFFD9, 0 12px 25px -15px #50326780;
}
.photo-refined .button.primary {
  border-radius: 14px;
  box-shadow: inset 0 1px 0 #FFFFFF66, 0 10px 24px -14px #51347799;
}
.photo-refined .button.secondary { border-radius: 14px; }
.photo-refined .steps article > span {
  border-radius: 12px;
  box-shadow: none;
  font-weight: 650;
}
/* An actual image layer sits behind the panels; never use a background mockup. */
.photo-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #F0EAF7;
  --photo-position: 50% 38%;
}
.photo-section > .section-photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  pointer-events: none;
}
.photo-section > .section-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--photo-position);
}
.photo-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(115deg, #F7F5FC66 0%, #F7F5FC14 56%, #E9DFF433 100%);
}
.photo-section > :not(.section-photo) { position: relative; z-index: 2; }
.photo-section :is(.sales-card, .steps article, .catalog-card, .consultation-deliverable) {
  background: linear-gradient(140deg, #FFFFFFE0, #F1EAF8D6);
  border: 0;
  backdrop-filter: blur(16px) saturate(105%);
  -webkit-backdrop-filter: blur(16px) saturate(105%);
}
.photo-section :is(.sales-card, .steps article, .catalog-card) {
  color: #272331;
}
.photo-section-light {
  border-radius: 28px;
  padding: clamp(28px, 4vw, 52px);
  margin-block: 64px;
  box-shadow: 0 20px 48px -32px #49355F66;
}
.photo-section-light :is(.section-heading > div, .process-layout > div:first-child) {
  padding: 28px;
  background: linear-gradient(135deg, #FFFFFFEB, #F6F1FCE0);
  color: #272331;
  border-radius: 20px;
  box-shadow: inset 0 1px 0 #FFFFFFD9, 0 16px 32px -24px #49355F55;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.photo-section-light .section-heading > p {
  background: #F9F6FDE6;
  color: #554C60;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.photo-section-light .process-layout > div:first-child > p {
  color: #554C60;
  font-size: 18px;
  line-height: 1.8;
  max-width: none;
  margin-bottom: 0;
}
.photo-process .process-layout {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  align-items: start;
  gap: 36px;
}
.photo-process .steps { gap: 20px; }
.photo-process .steps article { padding: 26px; }
.photo-process .process-layout > div:first-child { margin-bottom: 180px; }
.photo-package > .section-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: min(560px, 60%);
  margin-bottom: 40px;
}
.photo-package > .section-heading > p { width: 100%; max-width: none; padding: 24px 28px; }
.photo-package .sales-card { padding: 28px; }
.photo-package .sales-card > .crystal-badge { width: 70px; height: 70px; margin-bottom: 22px; }
.photo-package .sales-card > .crystal-badge svg { width: 48px; height: 48px; }
.photo-package .sales-card p { padding: 0; background: none; color: #554C60; }
.photo-section-dark { background: #2D2638; }
.photo-section-dark::before {
  background: linear-gradient(110deg, #2D2638DA, #2D263899 60%, #2D2638BA);
}
.photo-section-dark .section-heading { align-items: start; }
.photo-section-dark .section-heading > div {
  padding: 28px;
  border-radius: 20px;
  background: #2D26388F;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.photo-section-dark .section-heading > p {
  background: #2D2638B8;
  color: #F4EEF9;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.photo-section-dark .result-card,
.photo-section-dark .consultation-deliverable {
  background: linear-gradient(135deg, #3D304AD1, #30263CC7);
  box-shadow: inset 0 1px 0 #FFFFFF26, 0 20px 38px -25px #13091D99;
  backdrop-filter: blur(16px) saturate(105%);
  -webkit-backdrop-filter: blur(16px) saturate(105%);
  color: #FCFAFF;
}
.photo-section-dark .result-card > p { background: #22182E59; color: #F4EEF9; }
.photo-section-dark :is(.eyebrow, .micro-label) { color: #E8D9FA; }
.photo-section-dark .consultation-deliverable :is(p, li span) { color: #F4EEF9; }
.photo-catalog {
  border-radius: 28px;
  padding: 32px;
  margin-top: 48px;
}
.photo-catalog > .section-photo { height: 520px; }
.photo-catalog::before {
  height: 540px;
  background: linear-gradient(180deg, #F7F5FC26, #F7F5FC1A 50%, #F0EAF7 98%);
}
.photo-catalog > .section-heading {
  min-height: 230px;
  align-items: start;
  gap: 24px;
  margin: 0 0 24px;
}
.photo-catalog > .section-heading > :is(div, p) {
  padding: 22px 26px;
  background: #FBF8FFEB;
  color: #554C60;
  border-radius: 18px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.photo-catalog > .section-heading h2 { margin-bottom: 0; color: #272331; }
.photo-catalog .catalog-grid { margin-top: 0; }
.photo-catalog .price-card.featured { background: #382E45F2; color: #FAF7FF; }
.photo-scene-ai { --photo-position: 65% 40%; }
.photo-scene-registry { --photo-position: 45% 38%; }
@media (hover: hover) and (pointer: fine) {
  .photo-refined :is(.sales-card, .steps article, .turnkey-link, .consultation-service):hover {
    transform: translateY(-3px);
    box-shadow: var(--glass-lift);
  }
  .photo-refined :is(.sales-card, .result-card):hover > .crystal-badge { transform: translateY(-2px); }
}
@media (max-width: 1000px) {
  .photo-process .process-layout { grid-template-columns: 1fr; gap: 28px; }
  .photo-process .process-layout > div:first-child { max-width: 650px; margin-bottom: 120px; }
  .photo-package > .section-heading { width: min(600px, 85%); }
  .photo-catalog > .section-heading { flex-direction: column; min-height: 250px; }
}
@media (max-width: 760px) {
  .photo-section-light { padding: 24px; margin-block: 44px; border-radius: 24px; }
  .photo-section-light > .section-photo { height: 620px; }
  .photo-section-light::before { background: linear-gradient(180deg, #F7F5FC33, #F7F5FC26 240px, #F0EAF7 600px); }
  .photo-section-dark > .section-photo { height: 700px; }
  .photo-section-dark::before { background: linear-gradient(180deg, #2D2638B3, #2D2638A6 320px, #2D2638 700px); }
  .photo-section-light :is(.section-heading > div, .process-layout > div:first-child),
  .photo-section-dark .section-heading > div { padding: 24px; }
  .photo-package > .section-heading { width: 100%; gap: 16px; margin-bottom: 120px; }
  .photo-process .process-layout > div:first-child { margin-bottom: 120px; }
  .photo-process .steps article { padding: 24px; }
  .photo-catalog { padding: 24px; border-radius: 24px; }
  .photo-catalog > .section-heading { gap: 16px; padding-bottom: 70px; min-height: 270px; }
  .photo-catalog > .section-heading > :is(div, p) { width: 100%; max-width: none; padding: 22px; }
  .photo-catalog .catalog-grid > .turnkey-card { padding: 24px; gap: 28px; }
}
@media (max-width: 540px) {
  .photo-section-light { padding: 18px; }
  .photo-catalog { padding: 16px; }
  .photo-section-light :is(.section-heading > div, .process-layout > div:first-child),
  .photo-section-dark .section-heading > div { padding: 22px; }
  .photo-process .steps article { gap: 16px; }
  .photo-section :is(.sales-card, .steps article, .catalog-card) { border-radius: 20px; }
  .photo-catalog .catalog-grid > .turnkey-card { padding: 22px 18px; }
  .photo-section-light .process-layout h2 { font-size: 30px; }
  .photo-section-dark .section-heading h2 { font-size: 31px; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .photo-section :is(.sales-card, .steps article, .catalog-card) { background: #F8F4FC; }
  .photo-section-dark :is(.result-card, .consultation-deliverable) { background: #382E45; }
  .photo-catalog .price-card.featured { background: #382E45; }
}
@media (prefers-reduced-motion: reduce) {
  .photo-refined :is(.sales-card, .steps article, .turnkey-link, .consultation-service):hover,
  .photo-refined :is(.sales-card, .result-card):hover > .crystal-badge { transform: none; }
}
/* Block 07: one balanced overview row, then credentials across the full width. */
.photo-refined.leader-balanced {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr);
  gap: 28px 36px;
  align-items: stretch;
}
.photo-refined.leader-balanced > .leader-desk-photo {
  width: 100%;
  height: auto;
  min-height: 560px;
  aspect-ratio: auto;
  align-self: stretch;
}
.photo-refined.leader-balanced > .leader-desk-photo img {
  object-fit: cover;
  object-position: 48% 24%;
}
.photo-refined.leader-balanced > .leader-copy {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 6px 0 0;
  min-width: 0;
}
.photo-refined.leader-balanced .leader-highlights { gap: 20px; margin: 12px 0 24px; }
.photo-refined.leader-balanced .leader-business { margin: 0 0 24px; }
.photo-refined.leader-balanced .leader-contact {
  margin-top: auto;
  padding: 24px;
  background: linear-gradient(135deg, #FFFFFF12, #FFFFFF07);
  border-radius: 20px;
  box-shadow: inset 0 1px 0 #FFFFFF1A;
}
.photo-refined.leader-balanced .leader-contact .button {
  margin: 0 0 18px;
  background: linear-gradient(145deg, #DED0F4, #C5ABE8);
  color: #30253F;
  box-shadow: 0 10px 24px -14px #100A1D99;
}
.photo-refined.leader-balanced .leader-contact p { margin: 0; color: #E2D8EE; }
.photo-refined.leader-balanced .leader-contact .text-link { color: #E6D7F9; }
.photo-refined.leader-balanced .leader-contact .fine { margin-top: 14px; color: #DCD0E9; font-size: 16px; }
.photo-refined.leader-balanced > .leader-credentials {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) minmax(0, 1.2fr);
  gap: 24px;
  margin: 0;
}
.photo-refined.leader-balanced > .leader-credentials > section {
  min-width: 0;
  margin: 0;
  padding: 26px;
  border-radius: 20px;
}
.photo-refined.leader-balanced .leader-credentials h3 { line-height: 1.35; margin-bottom: 16px; }
.photo-refined.leader-balanced .leader-credentials ul { padding-left: 20px; }
.photo-refined.leader-balanced .leader-credentials li + li { margin-top: 10px; }
.photo-refined.leader-balanced > .leader-method { padding-top: 0; }
@media (max-width: 1100px) {
  .photo-refined.leader-balanced { column-gap: 28px; }
  .photo-refined.leader-balanced > .leader-credentials { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .photo-refined.leader-balanced > .leader-credentials > section:last-child { grid-column: 1 / -1; }
}
@media (max-width: 950px) {
  .photo-refined.leader-balanced { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .photo-refined.leader-balanced > .leader-desk-photo {
    width: min(460px, 100%);
    min-height: 0;
    aspect-ratio: 2 / 3;
    height: auto;
    justify-self: center;
    align-self: start;
  }
  .photo-refined.leader-balanced > .leader-copy { padding: 0; }
  .photo-refined.leader-balanced .leader-contact { margin-top: 0; }
}
@media (max-width: 640px) {
  .photo-refined.leader-balanced > .leader-credentials { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .photo-refined.leader-balanced > .leader-credentials > section { padding: 24px; }
  .photo-refined.leader-balanced .leader-contact { padding: 24px; }
  .photo-refined.leader-balanced .leader-contact .button { width: 100%; padding-inline: 18px; }
}
