/* Image-only preview: preserve every original text and control. */
.reference-article .dot-hero .hero-media img { aspect-ratio: auto; height: auto; object-fit: contain; }
.reference-article .dot-hero .hero-image-copy { position: static; width: auto; margin: 10px 0 0; padding: 0; color: #183c2c; background: transparent; font-size: 16px; line-height: 1.7; text-shadow: none; transform: none; }
.dot-consult-banner { margin: 20px 0 12px; width: 100%; }
.dot-consult-banner img { display: block; width: 100%; height: auto; border-radius: 5px; }

/* Received banner and live consultation controls form one bordered block. */
.reference-v3 .dot-unified-cta { padding: 0 22px 16px; min-height: 0; gap: 10px 19px; overflow: hidden; }
.reference-v3 .dot-unified-cta > .dot-consult-banner { grid-column: 1 / -1; grid-row: 1; width: auto; margin: 0 -22px 4px; }
.reference-v3 .dot-unified-cta > .dot-consult-banner img { border-radius: 0; }
.reference-v3 .dot-unified-cta > .reference-phone-visual { grid-column: 2; grid-row: 2 / span 5; }
.reference-v3 .dot-unified-cta > small { font-size: 13px; line-height: 1.7; }
@media (max-width: 760px) {
  .reference-v3 .dot-unified-cta { padding: 0 16px 16px; }
  .reference-v3 .dot-unified-cta > .dot-consult-banner { margin-inline: -16px; }
}
@media (max-width: 400px) {
  .reference-v3 .dot-unified-cta > .reference-phone-visual { grid-column: 1; grid-row: auto; }
}

.photo-state-control { display: grid; gap: 8px; margin: 18px 0; }
.photo-state-control label { font-weight: 700; }
.photo-state-control select { width: 100%; min-height: 48px; padding: 10px; font: inherit; color: #183c2c; background: white; border: 1px solid #aebdaa; }
.photo-guidance { margin-top: 20px; padding-top: 14px; border-top: 1px solid #cbd6c7; }
.photo-guidance summary { cursor: pointer; font-size: 15px; font-weight: 700; }
.photo-guidance .photo-plan { margin-top: 14px; }
.photo-guidance-label strong { display: block; font-size: 16px; line-height: 1.7; }
.photo-card-body input:focus-visible + .photo-check { outline: 3px solid #1a5f43; outline-offset: 3px; }
.photo-card-body:has(input:disabled) { opacity: .65; }
