/* The existing Evan & Gabrielle photo card, not a second testimonial section. */
/* Andrew approved monochrome ONLY here; source files and all playback stay in color. */
#approach .couple-profile>img{filter:grayscale(1)}
#approach .review-cycle-controls{position:relative;z-index:3;display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px;color:var(--ink,#362731);font-size:11px}
#approach .review-cycle-controls button{min-width:36px;min-height:36px;padding:7px;background:transparent;border:0;border-radius:50%;color:inherit;font:inherit;cursor:pointer}
#approach .review-cycle-controls button:hover{background:color-mix(in srgb,currentColor 8%,transparent)}
#approach .review-cycle-controls button:focus-visible{outline:2px solid currentColor;outline-offset:2px}
#approach .review-cycle-count{min-width:34px;text-align:center;font-variant-numeric:tabular-nums}
#approach .review-cycle-pause{min-width:57px!important;border-radius:3px!important}
#approach.approach-quote-overlay.client-review-active .approach-copy{top:auto;bottom:12%;transform:none;width:48%;max-width:550px!important}
#approach.client-review-active .couple-profile>img{object-fit:var(--review-image-fit,cover);object-position:var(--review-image-position,50% 45%);mask-image:var(--review-image-mask,none)}
/* Localized shading over the lower clothing/room, not over either face. */
#approach.client-review-active .couple-profile{background:#211b20}
#approach.client-review-active .couple-profile .review-cycle-shade{position:absolute;inset:48% 0 0;border-radius:0 0 16px 16px;background:linear-gradient(0deg,rgba(24,18,25,.7),rgba(24,18,25,.22) 55%,transparent);z-index:2;pointer-events:none}
#approach .couple-profile>img,#approach .approach-copy{transition:opacity .18s ease,transform .4s ease}
#approach.review-cycle-transitioning .couple-profile>img{opacity:.35}
#approach.review-cycle-transitioning .approach-copy{opacity:0}
#approach.client-review-active .approach-copy{animation:review-soft-focus .55s ease both}
@keyframes review-soft-focus{from{filter:blur(3px);opacity:.4}to{filter:blur(0);opacity:1}}
@media(min-width:701px) and (max-width:1000px){
 /* Landscape thumbnails must not be cropped into faces on a narrow tablet. */
 #approach.approach-quote-overlay.client-review-active .couple-profile{height:auto;min-height:650px;overflow:hidden}
 #approach.client-review-active .couple-profile>img{height:auto;aspect-ratio:var(--review-tablet-aspect,1.895);object-fit:var(--review-tablet-fit,contain);object-position:var(--review-image-position,center);mask-image:linear-gradient(#000 75%,transparent 100%)}
 #approach.approach-quote-overlay.client-review-active .approach-copy{position:relative;left:auto;top:auto;bottom:auto;width:auto;max-width:none!important;transform:none;margin:-12px 0 0;padding:0 7% 70px!important}
 #approach.client-review-active .couple-profile .review-cycle-shade{display:none}
}
@media(max-width:700px){
 #approach.approach-quote-overlay.client-review-active .approach-copy{position:relative;top:auto;bottom:auto;left:auto;width:auto;max-width:none!important;transform:none;margin:-12px 0 0;padding:0 7% 35px!important}
 #approach.client-review-active .couple-profile>img{aspect-ratio:var(--review-image-aspect,1.895);height:auto;object-fit:contain;object-position:center;mask-image:linear-gradient(#000 70%,transparent 100%)}
 #approach.client-review-active .couple-profile .review-cycle-shade{display:none}
 #approach.approach-quote-overlay.client-review-active .approach-press-quote p{font-size:22px!important;line-height:1.5!important}
 #approach .review-cycle-controls{margin-top:6px}
}
/* Julia's freshly selected cover reserves the tree canopy for the quote.
   Keep their faces at the bottom, with a portrait crop only on narrow screens. */
#approach.approach-quote-overlay.client-review-active.review-upper-quote .approach-copy{top:10%;bottom:auto;transform:none}
#approach.client-review-active.review-upper-quote .couple-profile .review-cycle-shade{display:block;inset:0 0 48%;border-radius:16px 16px 0 0;background:linear-gradient(180deg,rgba(24,18,25,.56),rgba(24,18,25,.16) 68%,transparent)}
@media(max-width:1000px){
 #approach.approach-quote-overlay.client-review-active.review-upper-quote .couple-profile{min-height:0}
 #approach.client-review-active.review-upper-quote .couple-profile>img{object-fit:cover;object-position:50% 100%;mask-image:none}
 #approach.approach-quote-overlay.client-review-active.review-upper-quote .approach-copy{position:absolute;top:7%;left:7%;bottom:auto;width:86%;margin:0;padding:0!important}
}
/* One measured outer frame for EVERY slide: intrinsic image ratios and quote
   length must never resize the card, scroll stage, feather joins, or controls. */
#approach.approach-quote-overlay.review-cycle-ready .couple-profile{height:var(--review-frame-height,885px);min-height:0;container-type:inline-size;background:#211b20;overflow:hidden}
#approach.approach-quote-overlay.review-cycle-ready .couple-profile>img{display:block;width:100%;height:100%;aspect-ratio:auto}
@media(max-width:1000px){
 #approach.approach-quote-overlay.review-cycle-ready .couple-profile>img{object-fit:cover;object-position:var(--review-image-position,50% 48%);mask-image:none}
 #approach.approach-quote-overlay.review-cycle-ready .approach-copy:not(.review-size-probe){position:absolute;left:0;top:auto;bottom:7%;width:100%;max-width:none!important;transform:none;margin:0;padding:0 7%!important}
 /* Preserve the landscape faces and their existing soft fade into the quote
    base. The IMG box is still the same full frame as all other slides. */
 #approach.approach-quote-overlay.review-cycle-ready:not(.client-review-active) .couple-profile>img{object-fit:contain;object-position:center top;mask-image:linear-gradient(#000 calc(100cqw / 1.5 * .65),transparent calc(100cqw / 1.5))}
 #approach.approach-quote-overlay.review-cycle-ready:not(.client-review-active) .approach-copy:not(.review-size-probe){top:calc(100cqw / 1.5 - 20px);bottom:auto}
 #approach.approach-quote-overlay.review-cycle-ready[data-review-pair="1"] .couple-profile>img{object-fit:contain;object-position:center top;mask-image:linear-gradient(#000 calc(100cqw / 1.895 * .7),transparent calc(100cqw / 1.895))}
 #approach.approach-quote-overlay.review-cycle-ready[data-review-pair="1"] .approach-copy:not(.review-size-probe){top:calc(100cqw / 1.895 - 12px);bottom:auto}
 #approach.approach-quote-overlay.review-cycle-ready.review-upper-quote .approach-copy:not(.review-size-probe){top:7%;bottom:auto}
 #approach.approach-quote-overlay.review-cycle-ready[data-review-pair="2"] .review-cycle-shade{display:block;inset:48% 0 0}
}
/* Ify & Ashley: use the clear sky above both heads, without moving the photo.
   Ink on the pale sky needs no new dark overlay; the project caption stays below. */
#approach.approach-quote-overlay.review-cycle-ready[data-review-pair="2"] .approach-copy:not(.review-size-probe){left:7%;top:4%;bottom:auto;width:86%;max-width:none!important;transform:none;margin:0;padding:0!important}
#homeView #approach.approach-quote-overlay[data-review-pair="2"] .approach-copy .approach-press-quote p{color:var(--ink,#362731)!important;text-shadow:0 1px 3px #fff5}
#approach.approach-quote-overlay.review-cycle-ready[data-review-pair="2"] .review-cycle-shade{display:none}
@media(max-width:700px){
 #approach.approach-quote-overlay.review-cycle-ready[data-review-pair="2"] .approach-copy:not(.review-size-probe){top:6%}
}
@media(prefers-reduced-motion:reduce){
 #approach .couple-profile>img,#approach .approach-copy{transition:none!important;animation:none!important}
 #approach.review-cycle-transitioning .couple-profile>img,#approach.review-cycle-transitioning .approach-copy{opacity:1}
}
