/* FLOW02 photo-led refinement. Only these 16 review pages consume this sheet. */
.fr-page .fr-preparation { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:clamp(32px,6vw,88px); padding:12px 20px 34px; margin-bottom:34px; }
.fr-page .fr-preparation-copy { max-width:520px; }
.fr-page .fr-preparation-copy h3 { font-size:clamp(24px,2.4vw,34px); margin:12px 0 20px; color:#17677a; }
.fr-page .fr-work-flow { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); align-items:center; gap:clamp(32px,5vw,76px); margin:18px 0 44px; }
.fr-page .fr-work-flow .fr-flow { grid-template-columns:1fr 1fr; gap:30px 26px; margin:0; }
.fr-page .fr-work-flow .fr-flow li { border-color:#67a6b6; padding-left:18px; }
.fr-page .fr-work-flow .fr-flow h3 { margin-top:18px; }
.fr-page .fr-work-flow .fr-flow p { margin-top:10px; }
.fr-page .fr-process-photo { position:relative; isolation:isolate; min-width:0; margin:0; padding:10px 14px 0; }
.fr-page .fr-process-photo::before { content:""; position:absolute; z-index:-1; inset:0 0 -8px 22px; border-radius:36% 64% 34% 66% / 45% 32% 68% 55%; background:#b1ded6; transform:rotate(5deg); pointer-events:none; }
.fr-page .fr-process-surface { position:relative; filter:drop-shadow(9px 11px 0 #619fad) drop-shadow(0 13px 14px #2360731c); }
.fr-page .fr-process-crop { aspect-ratio:3/2; overflow:hidden; border-radius:48px 100px 54px 82px / 65px 72px 68px 75px; }
.fr-page .fr-process-crop img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 50%; }
.fr-page .fr-process-photo--preparation { max-width:570px; }
.fr-page .fr-process-photo--preparation::before { background:#c0e4eb; transform:rotate(-5deg); }
.fr-page .fr-process-photo--preparation .fr-process-crop { border-radius:72px 34px 88px 38px / 56px 54px 64px 55px; }
.fr-page .fr-photo-halo { position:absolute; z-index:-1; top:-8px; right:-2px; width:86px; height:86px; border:1px solid #398ca2; border-radius:50%; pointer-events:none; }
.fr-page .fr-photo-halo::before { content:""; position:absolute; inset:12px -10px -8px 10px; border:1px solid #7cb9c9; border-radius:50%; }
.fr-page .fr-photo-halo::after { content:""; position:absolute; width:25px; height:25px; right:1px; top:0; background:#339ea180; border-radius:50%; }
.fr-page .fr-work-flow+.fr-contact { margin-top:70px; }

/* Circular photographs replace only the numbered regional section-04 checks. */
.fr-page.fr-regional #fc-04 .fr-inspection { display:grid; grid-template-columns:108px minmax(0,1fr); align-items:center; gap:24px; padding:26px 0; }
.fr-page.fr-regional #fc-04 .fr-inspection>div { min-width:0; }
.fr-page.fr-regional #fc-04 .fr-inspection-photo { display:block; width:108px; height:108px; box-sizing:border-box; border:3px solid #fff; border-radius:50%; overflow:hidden; background:#dbeef2; box-shadow:3px 4px 0 #8dbdc6,0 8px 18px #21677a12; line-height:0; }
.fr-page.fr-regional #fc-04 .fr-inspection-photo img { display:block; width:100%; height:100%; object-fit:cover; }

/* Static background details never add blank height or occupy the text layer. */
.fr-page .fc-tools { display:none; }
.fr-page .fr-decor { position:absolute; inset:0; z-index:1; overflow:clip; pointer-events:none; }
.fr-page .fr-decor-pool { position:absolute; width:430px; height:270px; right:-220px; top:9%; border-radius:38% 62% 60% 40% / 43% 62% 38% 57%; background:linear-gradient(135deg,#b3dfed9e,#81c9c764); transform:rotate(-22deg); }
.fr-page .fr-decor-ring { position:absolute; width:280px; height:200px; left:-200px; bottom:12%; border:1px solid #52a4b5; border-radius:50%; transform:rotate(26deg); }
.fr-page .fr-decor-ring::after { content:""; position:absolute; inset:16px -21px -12px 21px; border:1px solid #91c8d0; border-radius:50%; }
.fr-page .fr-drawing { position:absolute; width:clamp(250px,36vw,520px); aspect-ratio:1.45; right:-110px; bottom:3%; background:url('/flow02/hub/assets/workshop/installation-linework-v1.svg') center/contain no-repeat; opacity:.35; }
.fr-page .fr-decor-tool { position:absolute; width:clamp(90px,11vw,150px); height:auto; object-fit:contain; opacity:.64; filter:hue-rotate(12deg) saturate(1.15); }
.fr-page .fr-decor-tool--1 { top:3%; right:-30px; transform:rotate(-26deg); }
.fr-page .fr-decor-tool--2 { bottom:10%; left:-52px; transform:rotate(16deg); }
.fr-page .fr-decor-tool--3 { top:54%; right:-40px; transform:rotate(-14deg); }
.fr-page .fr-decorated--visit .fr-decor-tool--2,.fr-page .fr-decorated--visit .fr-decor-tool--3 { display:none; }
.fr-page .fr-decorated--visit .fr-drawing { bottom:4%; left:-120px; right:auto; opacity:.25; }
.fr-page .fr-decorated--decision .fr-decor-pool { left:-220px; right:auto; top:22%; transform:rotate(22deg); }
.fr-page .fr-decorated--decision .fr-decor-tool--1 { top:auto; bottom:12%; }
.fr-page .fr-decorated--work .fr-decor-tool--3 { display:none; }
.fr-page .fr-decorated--contact .fr-decor-tool--1 { top:5%; }
.fr-page .fr-decorated--contact .fr-decor-tool--3 { top:63%; right:-20px; }
.fr-page .fr-decorated--contact .fr-drawing { bottom:0; right:-25px; width:440px; }
.fr-page .fr-visit-card { position:relative; background:#f4fbfe; }
.fr-page .fr-visit-card::before { content:""; position:absolute; width:45px; height:6px; background:#39929c; border-radius:4px; top:-3px; left:32px; transform:rotate(-4deg); }

@media(max-width:1199px) {
 .fr-page .fr-work-flow { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:30px; }
 .fr-page .fr-work-flow .fr-flow { gap:26px 20px; }
 .fr-page .fr-work-flow .fr-flow h3 { font-size:18px; }
}
@media(max-width:899px) {
 .fr-page.fr-regional #fc-04 .fc-inspections { grid-template-columns:1fr; }
 .fr-page .fr-work-flow { grid-template-columns:1fr; gap:34px; }
 .fr-page .fr-work-flow>.fr-process-photo { width:100%; max-width:660px; justify-self:center; }
 .fr-page .fr-preparation { gap:30px; padding-inline:0; }
 .fr-page .fr-preparation-copy h3 { font-size:24px; }
}
@media(max-width:767px) {
 .fr-page.fr-regional #fc-04 .fr-inspection { grid-template-columns:82px minmax(0,1fr); gap:18px; padding:24px 0; align-items:start; }
 .fr-page.fr-regional #fc-04 .fr-inspection-photo { width:82px; height:82px; border-width:2px; box-shadow:2px 3px 0 #8dbdc6,0 5px 12px #21677a12; }
 .fr-page .fr-preparation { grid-template-columns:1fr; gap:26px; padding:0 0 26px; margin-bottom:24px; }
 .fr-page .fr-preparation-copy { padding-inline:4px; }
 .fr-page .fr-preparation-copy h3 { font-size:26px; }
 .fr-page .fr-process-photo { padding:8px 10px 0; }
 .fr-page .fr-process-crop { border-radius:30px 52px 32px 46px / 38px 42px 38px 44px; }
 .fr-page .fr-process-photo--preparation .fr-process-crop { border-radius:44px 25px 50px 26px / 34px 30px 38px 34px; }
 .fr-page .fr-process-surface { filter:drop-shadow(6px 8px 0 #619fad) drop-shadow(0 8px 10px #23607316); }
 .fr-page .fr-process-photo::before { inset:0 0 -8px 16px; }
 .fr-page .fr-photo-halo { width:62px; height:62px; top:-3px; }
 .fr-page .fr-work-flow { gap:28px; margin:0 0 36px; }
 .fr-page .fr-work-flow .fr-flow { grid-template-columns:1fr; gap:24px; }
 .fr-page .fr-work-flow .fr-flow li { border:0; padding:0 0 0 64px; }
 .fr-page .fr-work-flow .fr-flow h3 { margin-top:0; font-size:19px; }
 .fr-page .fr-work-flow .fr-flow p { margin-top:7px; }
 .fr-page .fr-work-flow+.fr-contact { margin-top:46px; }
 .fr-page .fr-decor-tool { width:86px; opacity:.55; }
 .fr-page .fr-decor-tool--1 { right:-29px; top:1%; }
 .fr-page .fr-decor-tool--2 { left:-43px; bottom:8%; }
 .fr-page .fr-decor-tool--3 { right:-46px; top:56%; }
 .fr-page .fr-decor-pool { width:250px; height:230px; right:-200px; }
 .fr-page .fr-decorated--decision .fr-decor-pool { left:-205px; }
 .fr-page .fr-drawing,.fr-page .fr-decorated--contact .fr-drawing { width:250px; right:-115px; opacity:.28; }
 .fr-page .fr-decor-ring { width:190px; height:150px; left:-160px; }
}
