
.portfolio-page[data-audience-mode="real-estate"]{padding-top:0!important}
.portfolio-page[data-audience-mode="real-estate"] main{padding-top:0!important}
.portfolio-page[data-audience-mode="real-estate"]:not(.portfolio-past-hero) header{background:transparent!important;backdrop-filter:none!important;border-color:transparent!important;box-shadow:none!important;color:white}
.portfolio-hero{height:100svh;min-height:500px;position:relative;background:#08090a;overflow:hidden}
.portfolio-hero video{width:100%;height:100%;object-fit:cover;display:block}
.portfolio-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#0006,transparent 30%)}
.portfolio-hero-controls{position:absolute;right:4%;bottom:24px;display:flex;gap:10px;z-index:2}
.portfolio-hero-controls button,.listing-orbit-nav button{width:44px;height:44px;border:1px solid #ffffff50;border-radius:50%;background:#10131388;color:white;cursor:pointer}
.portfolio-intro{padding-block:65px!important}.portfolio-intro h1{margin:0}.listing-showcase{overflow:hidden;background:#0d0f10}.listing-showcase h2{margin:20px 0 35px}
.listing-orbit{position:relative;perspective:1400px;height:clamp(260px,43vw,630px);touch-action:pan-y pinch-zoom;cursor:grab;isolation:isolate}
.listing-orbit::before{content:"";position:absolute;inset:10%;background:radial-gradient(ellipse,#d6b98040,transparent 70%);filter:blur(35px);z-index:-1}
.listing-preview{position:absolute;left:50%;top:10px;width:min(68vw,1000px);padding:0;text-align:left;border:1px solid #e0c49b40;border-radius:24px;overflow:hidden;background:#151919;color:#fff;transform:translateX(calc(-50% + var(--slot)*82%)) translateZ(calc(var(--depth)*-150px)) rotateY(calc(var(--slot)*-12deg)) scale(var(--scale));opacity:var(--opacity);transition:transform .65s,opacity .5s;box-shadow:0 15px 45px #0008;user-select:none}
.listing-preview img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;pointer-events:none}.listing-preview span{display:flex;justify-content:space-between;padding:17px 22px;font-size:16px}.listing-preview b{font-weight:400;color:#c9b497}.listing-preview[data-active="true"]{box-shadow:0 0 38px #d6b98030,0 20px 50px #0008}.listing-orbit.is-moving .listing-preview{transition:none}.listing-orbit-nav{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:20px}.listing-preview-note{text-align:center;color:#adb5b0;font-size:12px;margin-top:22px}
@media(max-width:760px){.portfolio-hero{min-height:420px}.listing-preview{width:82vw;border-radius:18px}.listing-orbit{height:calc(82vw * .5625 + 85px)}.listing-preview span{font-size:13px;padding:14px}.portfolio-intro{padding-block:40px!important}}
@media(prefers-reduced-motion:reduce){.listing-preview{transition:none}}

.portfolio-hero{border:0!important;box-shadow:none!important}
.portfolio-hero::after{background:linear-gradient(to bottom,#0006 0%,transparent 28%,transparent 60%,#08090a55 76%,#08090acc 90%,#08090a 100%)}
.portfolio-intro{background:#08090a;border-top:0!important}
.portfolio-hero-controls{align-items:center;bottom:36px}
#portfolio-sound{width:auto;min-height:52px;padding:0 23px;display:inline-flex;gap:12px;align-items:center;border-radius:30px;background:#dfc9ad;color:#111718;border:1px solid #f7e6ce;font:600 14px Manrope,Arial,sans-serif;box-shadow:0 0 25px #dfc9ad65,0 8px 30px #0005;transition:box-shadow .25s,transform .25s}
#portfolio-sound svg{width:23px;height:23px}
#portfolio-sound:hover{transform:translateY(-2px);box-shadow:0 0 38px #dfc9ad99,0 8px 30px #0005}
#portfolio-sound:focus-visible{outline:3px solid white;outline-offset:5px}
#portfolio-sound[aria-pressed="true"]{background:#202624;color:#f6eedf;box-shadow:0 0 15px #dfc9ad30}
@media(max-width:760px){.portfolio-hero-controls{bottom:24px}#portfolio-sound{min-height:48px;padding-inline:18px}}
@media(prefers-reduced-motion:reduce){#portfolio-sound{transition:none}}

.portfolio-hero-controls{left:50%;right:auto;transform:translateX(-50%);gap:14px}
.portfolio-hero-controls button,#portfolio-sound{width:54px;height:54px;min-height:54px;padding:0;justify-content:center;border-radius:50%;display:grid;place-items:center;background:#111718a6;color:#fff;border:1px solid #ffffff65;box-shadow:0 0 24px #fff1;backdrop-filter:blur(10px)}
.portfolio-hero-controls svg,#portfolio-sound svg{width:23px;height:23px}
#portfolio-sound:hover{box-shadow:0 0 25px #fff4}

/* Full-bleed photography and listing stories. */
.portfolio-page .photo-cinema{position:relative;width:100%;height:100svh;min-height:540px;padding:0;overflow:hidden;background:#111;isolation:isolate}
.photo-cinema-image,.property-story>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.photo-cinema-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0007,transparent 55%,#000a);pointer-events:none}
.photo-cinema-title{position:absolute;top:9%;left:6%;color:#fff}
.portfolio-page .photo-cinema h2{font-size:clamp(42px,6vw,92px);line-height:1.05;margin:0;color:#fff;text-shadow:0 2px 24px #0005}
.photo-cinema h2 em{font-weight:400;color:#eee0cd}
.photo-cinema-controls{position:absolute;bottom:5%;left:6%;right:6%;display:flex;justify-content:space-between;align-items:center;gap:16px;color:#fff}
.photo-cinema-controls button{width:56px;height:56px;flex-shrink:0;border-radius:50%;background:#10171880;border:1px solid #ffffff90;color:white;font-size:23px;cursor:pointer;backdrop-filter:blur(8px)}
.photo-cinema-controls p{font-size:13px;letter-spacing:.12em;text-align:center}
.photo-cinema-controls button:focus-visible,.property-story:focus-visible{outline:3px solid white;outline-offset:-6px}
.property-stories{padding:0!important;margin:0;width:100%}
.property-story{position:relative;display:block;width:100%;height:100svh;min-height:540px;overflow:hidden;color:white;text-decoration:none;background:#151515}
.property-story:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,#000a 100%);pointer-events:none}
.property-story-copy{position:absolute;z-index:1;bottom:8%;left:6%;right:6%;color:white}
.property-story-copy>span{font-size:11px;letter-spacing:.2em}
.portfolio-page .property-story h2{font-size:clamp(42px,6vw,90px);line-height:1.08;margin:18px 0;color:white}
.property-story-copy p{font-size:14px;letter-spacing:.05em;display:flex;justify-content:space-between;border-top:1px solid #ffffff60;padding-top:20px}
@media(max-width:760px){.portfolio-page .photo-cinema,.property-story{height:85svh;min-height:500px}.photo-cinema-title{top:12%}.photo-cinema-controls button{width:48px;height:48px}.photo-cinema-controls p{letter-spacing:.04em}.property-story-copy{bottom:7%}}
