/* Real Estate hero — scoped styles for the zoom-parallax hero on real-estate.html.
   Pure-CSS placement of the 7 layers; js/zoom-parallax.js only adds the
   scroll-linked scale. html.js is added by that script; without JS the hero
   collapses to a static full-viewport panel. The intro text + Free Resource
   CTA live below the case studies in .re-intro. */
.re-hero{background:#08090F;color:var(--paper)}
.zp-scroll{position:relative;height:300vh;background:#08090F}
.zp-viewport{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.zp-item{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;will-change:transform}
.zp-media{position:relative;width:25vw;height:25vh}
.zp-media picture,.zp-media img{display:block;width:100%!important;height:100%!important;object-fit:cover}
.zp-i1 .zp-media{top:-30vh;left:5vw;height:30vh;width:35vw}
.zp-i2 .zp-media{top:-10vh;left:-25vw;height:45vh;width:20vw}
.zp-i3 .zp-media{left:27.5vw;height:25vh;width:25vw}
.zp-i4 .zp-media{top:27.5vh;left:5vw;height:25vh;width:20vw}
.zp-i5 .zp-media{top:27.5vh;left:-22.5vw;height:25vh;width:30vw}
.zp-i6 .zp-media{top:22.5vh;left:25vw;height:15vh;width:15vw}
.zp-viewport::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 120% 120% at 50% 42%,rgba(8,9,15,0) 0%,rgba(8,9,15,.28) 78%,rgba(8,9,15,.6) 100%)}
.zp-hint{position:absolute;left:0;right:0;bottom:26px;z-index:3;margin:0;text-align:center;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);pointer-events:none}
.zp-hint::before{content:"";display:inline-block;width:1px;height:14px;background:rgba(255,255,255,.4);margin-right:10px;vertical-align:-3px}
html:not(.js) .zp-scroll{height:100svh;height:100vh}
html:not(.js) .zp-viewport{position:relative;height:100svh;height:100vh}
html:not(.js) .zp-item:nth-child(n+2){display:none}
html:not(.js) .zp-i0 .zp-media{width:100%;height:100%}
.re-intro{background:var(--ink);color:var(--paper);padding:120px 0;border-top:1px solid var(--line)}
.re-intro .kicker{color:var(--accent)}
.re-intro h2{font-family:var(--serif);font-weight:500;font-size:clamp(36px,6vw,68px);letter-spacing:-.01em;margin-bottom:20px;color:var(--paper)}
.re-intro p{max-width:560px;font-size:16px;color:rgba(255,255,255,.78)}
.re-intro .resume-block{margin-top:36px;background:rgba(20,20,22,.55);border-color:rgba(255,255,255,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.re-intro .resume-block h3{color:var(--paper)}
.re-intro .resume-block p{color:rgba(255,255,255,.7)}
.re-intro .btn-solid{background:var(--accent)}
@media(max-width:700px){
  .zp-media{width:30vw;height:22vh}
  .zp-i1 .zp-media{top:-26vh;left:4vw;height:26vh;width:44vw}
  .zp-i2 .zp-media{top:-8vh;left:-28vw;height:38vh;width:30vw}
  .zp-i3 .zp-media{left:32vw;height:22vh;width:30vw}
  .zp-i4 .zp-media{top:30vh;left:4vw;height:22vh;width:26vw}
  .zp-i5 .zp-media{top:30vh;left:-26vw;height:22vh;width:36vw}
  .zp-i6 .zp-media{top:25vh;left:32vw;height:14vh;width:20vw}
  .zp-hint{bottom:18px}
  .re-intro{padding:72px 0}
}
@media(prefers-reduced-motion:reduce){.zp-hint{display:none}}
