/* Natural image proportions preserve every portrait. */
.portrait>img,.pt-portrait .portrait>img,.story-photo>img,
.coach-photo img,.coach-photo-wide img,.coaching-photo-grid .coach-photo img {
  display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;
}
.coach-photo-wide {max-width:32rem;margin-inline:auto}
.pt-portrait {padding-bottom:0;display:flex;flex-direction:column;gap:1rem}
.pt-portrait .relax-label {
  position:static;align-self:flex-end;margin:0;max-width:100%;
  transform:none!important;rotate:none!important;animation:none!important;
}
.portrait figcaption strong {overflow-wrap:anywhere;line-height:1.4}
.reviews-track,.reviews-group {align-items:stretch;gap:1rem}
.reviews .review-card {width:26rem;min-height:0;padding:1.1rem 1.25rem;border-radius:1.25rem}
.reviews .review-card blockquote {font-size:1rem;line-height:1.5;margin:0;flex:1}
.reviews .review-top {margin-bottom:.7rem}
.reviews .review-card footer {margin-top:.85rem;padding-top:.7rem}
.reviews-viewport[data-playing="true"] {overflow-x:hidden;touch-action:pan-y pinch-zoom;cursor:default}
.reviews-viewport[data-playing="false"] {overflow-x:auto;touch-action:pan-x pan-y pinch-zoom}
.review-controls {flex-wrap:wrap;gap:.75rem;padding-inline:1rem}
.review-controls .text-button {min-height:44px;min-width:110px;font-size:.875rem}
.madero-tools-photo,.madero-treatment-photo {margin:0;border:1px solid #2c182536;border-radius:1.25rem;overflow:hidden;background:var(--paper)}
.madero-tools-photo img,.madero-treatment-photo img {display:block;width:100%;height:auto}
.madero-tools-photo figcaption,.madero-treatment-photo figcaption {padding:1rem 1.15rem;font-size:1rem;line-height:1.5}
.madero-photos {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:2rem}
.madero-method {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:2rem}
.madero-method article {padding:1.5rem;border:1px solid #2c182536;border-radius:1.25rem;background:var(--light-pink)}
.madero-method h3 {font-size:1.25rem;margin-bottom:.8rem}
.madero-info p {margin-top:1rem}
.madero-info .source-note {font-size:.875rem;color:#65505f}
.madero-info .source-note a {text-decoration:underline}
@media(max-width:820px) {
  .portrait,.coach-photo,.coach-photo-wide {max-width:28rem;margin-inline:auto;width:100%}
  .reviews .review-card {width:calc(100vw - 2.5rem);max-width:23rem;padding:1rem 1.1rem;min-height:0}
  .madero-method {grid-template-columns:1fr;gap:1rem}
  .madero-photos {grid-template-columns:1fr}
  .wrap>*,.hero>*,.service-hero-grid>*,.story-hero>* {min-width:0}
  .main-nav {max-height:calc(100dvh - 7rem);overflow-y:auto}
  .main-nav>a,.services-dropdown a {min-height:44px}
}
@media(max-width:520px) {
  .wrap {width:calc(100% - 2rem)}
  .reviews {padding-bottom:2.5rem}
  .reviews-viewport {padding-block:.7rem 1rem}
  .sticky-cta {padding:.55rem .8rem;min-height:3.3rem;gap:.6rem;border-width:2px;box-shadow:3px 4px 0 var(--ink)}
  .sticky-copy small {display:none}
  .sticky-copy strong {font-size:.875rem;line-height:1.4}
  .sticky-cta>span:last-child {width:1.8rem;height:1.8rem;flex-shrink:0}
  body {padding-bottom:calc(5rem + env(safe-area-inset-bottom))}
  .actions {max-width:100%}
  .button {white-space:normal;min-width:0;overflow-wrap:anywhere}
}
