/* Canonical Flutter card interiors, normalized to their original dimensions.
   See docs/flutter-card-port.md for source and fixture provenance. */
.local-profile{width:35%;left:32.5%;height:auto;aspect-ratio:158/226}
.local-profile[data-slot=back]{transform:translate3d(0,-24px,-160px) scale(.78);opacity:0;pointer-events:none;z-index:0}
.source-local-card{container-type:inline-size;display:block;background:#16151b;isolation:isolate;color:#fff;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.source-local-card::before,.source-local-card::after{display:none}
.source-backdrop{position:absolute;inset:0;background:var(--source-photo) center/cover;filter:blur(2.8px);z-index:-2}
.source-professional .source-backdrop::after{content:'';position:absolute;inset:0;background:linear-gradient(#17151c3a 0%,#17151c96 48%,#12131ae0 100%)}
.source-salon .source-backdrop{filter:none;mask-image:linear-gradient(#000 0%,#000 44.565%,transparent 48.913%);-webkit-mask-image:linear-gradient(#000 0%,#000 44.565%,transparent 48.913%)}
.source-media{position:absolute;top:1.327%;left:0;width:100%;height:34.513%;display:flex;align-items:center;justify-content:center}
.source-arches{display:block;width:81.212%;height:auto;max-height:100%;overflow:visible}
.source-arches.source-single{width:34.81%}
.source-salon .source-media{top:14.13%;height:29.9%}
.source-salon .source-arches{width:74.8%;max-height:none}
.source-arch-reflection{position:absolute;top:100%;left:0;width:100%;height:75%;overflow:hidden;opacity:.45;mask-image:linear-gradient(#000,transparent 75%);-webkit-mask-image:linear-gradient(#000,transparent 75%);filter:blur(.8px)}
.source-arch-reflection .source-arches{margin:auto;transform:scaleY(-1);transform-origin:50% 50%}
.source-professional-info{position:absolute;top:37.6%;left:3.164%;right:3.164%;display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.15}
.source-professional-info>strong{display:flex;align-items:center;gap:1.9cqw;font-size:7.278cqw;font-weight:800;line-height:1.05;white-space:nowrap}
.source-dot{display:inline-block;border-radius:50%;width:4.43cqw;height:4.43cqw;background:#20c975;flex-shrink:0}
.source-handle{font-size:5.57cqw;margin-top:1.9cqw;color:#ffffffd9}
.source-role{font-size:5.19cqw;height:12.66cqw;margin-top:1.27cqw;color:#ffffffd9;display:flex;align-items:flex-start;justify-content:center}
.source-city{font-size:5.127cqw;margin-top:.633cqw;color:#ffffffd9}
.source-tags{font-size:5cqw;margin-top:1.266cqw;color:#2597ef;font-weight:600;white-space:nowrap}
.source-stats{display:flex;width:100%;justify-content:space-around;margin-top:3.165cqw}
.source-stats>span{display:flex;flex:1;flex-direction:column;align-items:center}
.source-stats b{font-size:5.697cqw;font-weight:800}.source-stats small{font-size:4.494cqw;color:#ffffffd9;margin-top:1.266cqw}
.source-footer{position:absolute;bottom:2.2%;left:3.164%;right:3.164%;display:flex;justify-content:space-between;align-items:center;font-size:6.013cqw;font-weight:700;white-space:nowrap;gap:3px}
.source-star{color:#fb761c;font-style:normal}.source-distance{color:#ec168b}.source-footer>span{display:flex;align-items:center;gap:2cqw}
.source-salon-info{position:absolute;top:61.95%;left:5.34%;right:5.34%;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:1.527cqw}
.source-salon-info strong{font-size:7.02cqw;font-weight:800;line-height:1.1}.source-salon-info>span{font-size:5.878cqw;font-weight:600}.source-salon-info small{font-size:4.96cqw;white-space:nowrap;color:#a6a099}
.source-salon .source-footer{left:5.34%;right:5.34%;bottom:2.717%;font-size:6.26cqw;color:#a6a099;font-weight:600}
.source-dot.closed{background:#ff4d5b;width:4.58cqw;height:4.58cqw}
.source-salon .source-distance{background:linear-gradient(90deg,#ff7938,#ff5060,#ef168b);color:transparent;background-clip:text;-webkit-background-clip:text}
/* EmployerSalonGlassCarousel / BoldOnePolishedGlassFrame: 9px refracting band,
   radius20, two contour highlights. Media remain sharp inside that band. */
.client-glass-card:nth-child(n){padding:9px;border:0;border-radius:20px;background:linear-gradient(135deg,#ffffff24 0%,#ffffff02 28%,#ffffff06 72%,#ffffff2e 100%);box-shadow:0 12px 18px #0005,inset 0 0 0 1px #ffffff6b;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.client-glass-card::after{content:'';position:absolute;inset:1px;border-radius:19px;padding:1px;background:linear-gradient(225deg,#ffffffeb 0%,#ffffff29 20%,#ffffff6b 48%,#ffffff1a 76%,#ffffffb3 100%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;pointer-events:none;z-index:5}
.client-glass-card .journey-window{inset:9px;border-radius:12px;box-shadow:0 0 0 1px #ffffff33}
.client-glass-card .journey-window::after{mask-image:linear-gradient(90deg,#000,transparent 6%,transparent 94%,#000);-webkit-mask-image:linear-gradient(90deg,#000,transparent 6%,transparent 94%,#000)}
.client-glass-card.is-lifted{box-shadow:0 12px 18px #0006,0 0 20px #ffffff0b,inset 0 0 0 1.5px #ffffff8a}
@media(max-width:760px){.local-profile{width:40%;left:30%;aspect-ratio:158/226}.local-section-title{top:0}.client-glass-card:nth-child(n){border-radius:20px;padding:6px}.client-glass-card .journey-window{inset:6px;border-radius:14px}}
@media(prefers-reduced-motion:reduce){.local-profile{transition:none}}

/* Wider foreground cards. Retain native interior proportions instead of squeezing arches. */
@media(min-width:761px){
 .client-hero{height:calc(390px + min(22vw,350px))}
 .local-showcase{width:60%}
 .local-deck{top:150px;bottom:94px;--profile-width:clamp(230px,22vw,350px)}
 .local-profile{width:var(--profile-width);left:calc(50% - var(--profile-width)/2)}
 .local-profile[data-slot="center"]{transform:translate3d(0,8px,82px)}
 .local-profile[data-slot="left"]{transform:translate3d(-68%,0,-70px) rotateY(6deg) scale(.87)}
 .local-profile[data-slot="right"]{transform:translate3d(68%,0,-70px) rotateY(-6deg) scale(.87)}
 .client-city-walker{left:30%;bottom:55px}
}
.source-professional .source-backdrop{filter:blur(1.772cqw)}
.source-professional .source-backdrop::after{background:linear-gradient(135deg,#cad0d833,transparent 50%,#b6bec92e),linear-gradient(#17151c3a 0%,#17151c96 48%,#12131ae0 100%)}
/* Artwork is framed by an SVG viewBox, so the full title is never clipped by a sprite cell. */
.local-section-title,.local-section-title[data-category]{left:50%;top:10px;width:230px;height:100px;margin-left:-115px;aspect-ratio:auto;background:none!important;filter:none;mask-image:none;-webkit-mask-image:none;mix-blend-mode:normal;display:flex;align-items:center;justify-content:center;overflow:visible;font-size:0!important;z-index:0}
.local-section-title>svg,.local-section-title>img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;overflow:visible}
.source-title-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.source-title-text{font-size:30px;line-height:1.05;font-weight:900;display:block;text-align:center;background:linear-gradient(125deg,#ffd569,#ff6248,#f10a9b);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 2px 1px #a6065c66}
/* Same pose mirrored at the actual shoe contact, compressed into the ground plane. */
.client-city-walker{overflow:visible}
.walker-reflection{position:absolute;top:96%;left:0;width:100%;height:100%;transform-origin:50% 0;transform:scaleY(.58);opacity:.48;pointer-events:none;filter:blur(.7px);mask-image:linear-gradient(#000 0%,#000b 20%,#0004 50%,transparent 82%);-webkit-mask-image:linear-gradient(#000 0%,#000b 20%,#0004 50%,transparent 82%)}
.walker-reflection .walker-gait{transform:scaleY(-1);transform-origin:50% 50%}
.walker-shadow{bottom:1.5%;left:51%;right:9%;height:7px;background:#060306d9;filter:blur(2px);box-shadow:-10px 0 13px #ff82264d,10px 0 14px #e900993d}
@media(max-width:760px){
 .local-showcase{height:490px;margin-top:12px}
 .local-deck{top:120px;bottom:112px}
 .local-profile{width:54%;left:23%;aspect-ratio:158/226}
 .local-profile[data-slot="center"]{transform:translate3d(0,8px,25px)}
 .local-profile[data-slot="left"]{transform:translate3d(-57%,0,-55px) rotateY(6deg) scale(.82)}
 .local-profile[data-slot="right"]{transform:translate3d(57%,0,-55px) rotateY(-6deg) scale(.82)}
 .local-section-title,.local-section-title[data-category]{top:8px;width:190px;height:88px;margin-left:-95px}
 .source-title-text{font-size:24px}
 .client-hero{padding-bottom:188px}
 .client-city-walker{left:0;bottom:40px;width:90px;height:135px}
 .walker-reflection{opacity:.52}
}
/* Clip only the title sheet outside the selected complete artwork rectangle. */
.local-section-title>svg{overflow:hidden}

/* DirectSalonMirror source: offset side slices, AA/52 alpha at 0/.35/1,
   background 99/40 alpha at 0/.42/1, native blur .8 and 1.5. */
.source-salon .source-backdrop{background-position:center bottom}
.source-salon .source-media{width:74.8%;left:12.6%;height:auto;aspect-ratio:349.95/196;display:block}
.source-salon .source-media>.source-arches{width:100%;height:100%}
.source-salon .source-arch-reflection{top:94.7%;height:auto;aspect-ratio:349.95/181.912;opacity:1;filter:blur(.61cqw);mask-image:linear-gradient(#ffffffaa 0%,#ffffff52 35%,transparent 100%);-webkit-mask-image:linear-gradient(#ffffffaa 0%,#ffffff52 35%,transparent 100%)}
.source-mirror-svg{display:block;width:100%;height:100%}
.source-floor-backdrop{position:absolute;left:0;right:0;top:calc(14.13% + 39.674cqw);height:38.865cqw;overflow:hidden;mask-image:linear-gradient(#ffffff99 0%,#ffffff40 42%,transparent 100%);-webkit-mask-image:linear-gradient(#ffffff99 0%,#ffffff40 42%,transparent 100%);filter:blur(1.145cqw);pointer-events:none}
.source-floor-backdrop>span{position:absolute;left:0;right:0;top:-71.06cqw;height:143.038cqw;background:var(--source-photo) center bottom/cover;transform:scaleY(-1)}
.source-footer,.source-salon .source-footer{left:7%;right:7%;bottom:4%;font-size:5.65cqw}
/* Wider refracting edges; keep the frosted caption below the artwork. */
.client-glass-card:nth-child(n){padding:12px}
.client-glass-card .journey-window{inset:12px;border-radius:10px}
.client-glass-card .journey-window::after{mask-image:linear-gradient(90deg,#000,transparent 9%,transparent 91%,#000);-webkit-mask-image:linear-gradient(90deg,#000,transparent 9%,transparent 91%,#000)}
.journey-glass-caption{height:43%;min-height:0;padding-top:8px}
.journey-glass-caption::before{inset:0;mask-image:linear-gradient(transparent,#000 22%);-webkit-mask-image:linear-gradient(transparent,#000 22%)}
@media(max-width:760px){.client-glass-card:nth-child(n){padding:9px}.client-glass-card .journey-window{inset:9px;border-radius:12px}.journey-glass-caption{height:42%;padding:6px 25px 7px 9px}.journey-glass-caption strong{min-height:0;font-size:12px}}

/* Seamless inner-floor handoff and the shared brand gradient on every distance. */
.source-floor-backdrop{mask-image:linear-gradient(transparent 0%,#ffffff99 5%,#ffffff40 42%,transparent 100%);-webkit-mask-image:linear-gradient(transparent 0%,#ffffff99 5%,#ffffff40 42%,transparent 100%)}
.source-distance,.source-salon .source-distance{background:linear-gradient(100deg,#ffb22f 0%,#ff8a1f 30%,#ff4d5b 62%,#f20d78 100%);color:transparent;background-clip:text;-webkit-background-clip:text}
.source-title-gloss{max-width:230px;max-height:100px}
/* Mobile: move the existing deck back into the ground perspective.
   Reflections remain inside their card, sharing every deck transform. */
@media(max-width:760px){
 .local-deck{top:117px;bottom:155px}
 .local-profile{width:43%;left:28.5%}
 .local-profile[data-slot="center"]{transform:translate3d(0,0,-35px)}
 .local-profile[data-slot="left"]{transform:translate3d(-63%,-7px,-105px) rotateY(6deg) scale(.85)}
 .local-profile[data-slot="right"]{transform:translate3d(63%,-7px,-105px) rotateY(-6deg) scale(.85)}
 .local-profile::after{content:'';position:absolute;left:1%;right:1%;bottom:-2%;height:5%;border-radius:50%;background:linear-gradient(90deg,#ff9c444d,#ff3b724d,#eb00cb4d);box-shadow:0 2px 5px #000c;filter:blur(3px);z-index:-1;pointer-events:none}
 .local-reflection{top:100%;opacity:.78;transform:scaleY(.74);filter:blur(.5px);mask-image:linear-gradient(#000 0%,#000b 18%,#0004 43%,transparent 75%);-webkit-mask-image:linear-gradient(#000 0%,#000b 18%,#0004 43%,transparent 75%)}
}

/* Fade reflected imagery before the salon text, without a clipped horizon. */
.source-floor-backdrop{mask-image:linear-gradient(transparent 0%,#ffffff80 8%,#ffffff30 36%,transparent 82%);-webkit-mask-image:linear-gradient(transparent 0%,#ffffff80 8%,#ffffff30 36%,transparent 82%)}
.source-salon-info small{margin-top:2cqw}
/* Keep blur inside the masked mirror, rather than filtering its clipping edge.
   End the photographic floor above the salon's text block on WebKit too. */
.source-floor-backdrop{filter:none;overflow:visible;mask-image:linear-gradient(transparent 0%,#ffffff70 9%,#ffffff24 30%,transparent 60%);-webkit-mask-image:linear-gradient(transparent 0%,#ffffff70 9%,#ffffff24 30%,transparent 60%)}
.source-floor-backdrop>span{filter:blur(1.145cqw)}
.source-salon-info{z-index:2}
.source-salon-info:before{content:'';position:absolute;inset:-5cqw -6cqw -2cqw;z-index:-1;background:linear-gradient(transparent,#16151b 5cqw);pointer-events:none}
