/* A single room travels from a framed concept to a full-screen photograph. */
.apartment{height:440svh;position:relative;background:#121713;scroll-margin-top:-100px}
.apartment-stage{height:100svh;min-height:660px;position:sticky;top:0;overflow:hidden;isolation:isolate;--reality:0%;--intro:1;--details:0;--finish:0;--grid:1}
.apartment-grid{position:absolute;inset:0;opacity:var(--grid);background-image:linear-gradient(#becbab0d 1px,transparent 1px),linear-gradient(90deg,#becbab0d 1px,transparent 1px);background-size:8.333vw 8.333vw;mask-image:linear-gradient(0deg,transparent,#000 40%)}
.apartment-mast{position:absolute;z-index:8;top:30px;left:4.3%;right:4.3%;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.1em}.apartment-mast>span{text-shadow:0 2px 12px #000}.apartment-mast>a{background:#142017a8;backdrop-filter:blur(15px);border:1px solid #ffffff30;padding:10px 16px;letter-spacing:0}.apartment-mast>a span{padding-left:20px}
.apartment-intro{position:absolute;z-index:5;left:6%;top:21%;opacity:var(--intro);transform:translate3d(var(--intro-x,0px),0,0);pointer-events:none}
.apartment-intro>.eyebrow{font-size:12px;color:#b8c7ad}.apartment h2,.apartment h3{font-weight:400;letter-spacing:-.065em;line-height:1.04;margin:25px 0}.apartment h2{font-size:clamp(54px,6.7vw,108px)}.apartment em{font-style:normal;color:#b9cbb0}.apartment-intro>p,.apartment-details>p,.apartment-finish>p{font-size:16px;line-height:1.75;color:#d7dfd2}.apartment-scroll{display:block;margin-top:28px;font-size:12px;color:#a8b59f}.apartment-scroll:before{content:'';display:inline-block;width:27px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px}
.apartment-frame{position:absolute;inset:15% 6% 20% 40%;overflow:hidden;transform:perspective(1400px) rotateY(-9deg);transform-origin:80% center;background:#283029;box-shadow:0 30px 100px #0006;will-change:inset,transform}
.apartment-frame>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 57%}.apartment-real{clip-path:inset(0 0 0 calc(100% - var(--reality)));z-index:1}.apartment-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0c160e 0%,transparent 36%,#0b160c40 100%),linear-gradient(90deg,#0b160c7d,transparent 58%);z-index:2;pointer-events:none}
.frame-corner{position:absolute;z-index:3;width:28px;height:28px;border-color:#e4edda;border-style:solid;pointer-events:none}.corner-a{top:14px;left:14px;border-width:1px 0 0 1px}.corner-b{right:14px;bottom:14px;border-width:0 1px 1px 0}
.apartment-tags{position:absolute;z-index:3;top:90px;left:6%;right:6%;display:flex;justify-content:space-between;gap:10px}.apartment-tags span{font-size:12px;padding:8px 13px;background:#142017a6;backdrop-filter:blur(12px);border:1px solid #ffffff2b}.apartment-tags span:last-child{opacity:var(--real-label,0)}
.apartment-divider{position:absolute;z-index:4;top:0;bottom:0;left:calc(100% - var(--reality));width:1px;background:#e9f1e0;opacity:var(--divider,0);pointer-events:none}.apartment-divider>span{position:absolute;left:-24px;top:46%;height:48px;width:48px;border-radius:50%;background:#dfe8d5;color:#162015;display:grid;place-items:center;font-size:20px;letter-spacing:5px;padding-left:5px;box-shadow:0 0 0 8px #ffffff12}
.apartment-details,.apartment-finish{position:absolute;left:6%;top:24%;z-index:5;pointer-events:none;text-shadow:0 2px 30px #07110999}.apartment-details{opacity:var(--details);transform:translateY(var(--details-y,30px))}.apartment-details h3{font-size:clamp(58px,7vw,110px)}.apartment-finish{opacity:var(--finish);transform:translateY(var(--finish-y,30px))}.apartment-finish h3{font-size:clamp(60px,8vw,130px)}
.material-swatches{display:flex;gap:10px;margin-top:24px}.material-swatches i{display:block;width:48px;height:48px;border-radius:50%;border:1px solid #ffffff60;box-shadow:0 8px 20px #0004;background:#766451}.material-swatches i:nth-child(2){background:#d7d6cb}.material-swatches i:nth-child(3){background:#565d5c}
.apartment-chapters{position:absolute;z-index:7;right:4.3%;top:40%;display:flex;flex-direction:column;gap:16px}.apartment-chapters button{border:0;background:#132017bf;backdrop-filter:blur(12px);padding:10px 16px;color:#c7d1c0;font-size:12px;text-align:left;transition:background .4s,color .4s}.apartment-chapters button span{margin-right:15px;opacity:.65}.apartment-chapters button[aria-pressed=true]{background:#dfe7d4;color:#172013}
.apartment-console{position:absolute;z-index:8;bottom:34px;left:6%;right:6%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;align-items:center}.apartment-rooms{display:flex;gap:7px;flex-wrap:wrap}.apartment-rooms button{border:1px solid #d6e2ca4d;background:#111b15a6;backdrop-filter:blur(12px);color:#e5ebdd;padding:12px 16px;font-size:13px;transition:background .3s,color .3s}.apartment-rooms button[aria-pressed=true]{background:#dce6d3;color:#152011;border-color:#dce6d3}
.apartment-control{min-width:0;max-width:320px;width:100%;justify-self:center}.apartment-control label{display:flex;justify-content:space-between;font-size:13px;color:#dce6d3;margin-bottom:9px}.apartment-control input{width:100%;accent-color:#dce6d3;cursor:ew-resize;display:block;margin:0;height:22px}.apartment-control input:focus-visible{outline-offset:4px}.apartment-resume{border:0;border-bottom:1px solid #afc29e;background:none;color:#dce6d3;padding:4px 0;font-size:12px;position:absolute;bottom:-24px}.apartment-source{font-size:12px;line-height:1.8;color:#c1ceba;margin:0;text-align:right}.apartment-timeline{position:absolute;z-index:9;bottom:0;left:0;right:0;height:3px;background:#ffffff1a}.apartment-timeline span{display:block;height:100%;background:#c8d8b9;transform:scaleX(var(--travel,0));transform-origin:left}
.project-image{transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.hero-story-link{display:inline-flex;align-items:center;gap:15px;border-bottom:1px solid #aebda37d;padding:8px 0;font-size:13px;color:#c3d1b8}.hero-story-link span{width:24px;height:24px;display:grid;place-items:center;border:1px solid #aebda37d;border-radius:50%;font-size:12px}
@media(max-width:1050px){.apartment-console{grid-template-columns:1fr 1fr;gap:20px}.apartment-source{grid-column:1/-1;text-align:left;font-size:11px}.apartment-source br{display:none}.apartment-control{justify-self:end}.apartment-intro{top:23%}.apartment h2{font-size:7vw}.apartment-chapters{right:3%;top:33%}}
@media(max-width:767px){.apartment{height:360svh}.apartment-stage{min-height:660px}.apartment-mast{top:20px;left:6%;right:6%;font-size:9px;letter-spacing:.04em}.apartment-mast>a{font-size:11px;padding:9px}.apartment-mast>a span{padding-left:6px}.apartment-intro{top:13%;left:6%}.apartment h2{font-size:clamp(40px,10.5vw,72px);margin:14px 0}.apartment-intro>.eyebrow{font-size:10px}.apartment-intro>p{font-size:14px}.apartment-scroll{font-size:11px;margin-top:15px}.apartment-frame{inset:40% 6% 25%;transform:none}.apartment-tags{top:78px;left:6%;right:6%}.apartment-tags span{font-size:10px;padding:6px 9px}.apartment-chapters{top:auto;bottom:180px;left:6%;right:6%;flex-direction:row;gap:6px}.apartment-chapters button{flex:1;font-size:11px;padding:10px}.apartment-chapters button span{margin-right:7px}.apartment-console{bottom:25px;grid-template-columns:1fr;gap:14px}.apartment-rooms{position:absolute;top:-104px;right:0;gap:5px;max-width:100%}.apartment-rooms button{padding:9px 11px;font-size:11px}.apartment-control{max-width:none}.apartment-source{font-size:10px;line-height:1.7;margin-top:4px}.apartment-resume{position:static;font-size:11px;margin-top:2px}.apartment-details,.apartment-finish{top:25%;left:6%}.apartment-details h3{font-size:clamp(50px,14vw,76px)}.apartment-finish h3{font-size:clamp(48px,13vw,80px)}.apartment-details>p,.apartment-finish>p{font-size:14px}.apartment-details .eyebrow,.apartment-finish .eyebrow{font-size:10px}.material-swatches i{width:34px;height:34px}.apartment-frame>img{object-position:56% center}.apartment-shade{background:linear-gradient(0deg,#0c160e 0%,#0c160e85 20%,transparent 65%,#0b160c99 100%),linear-gradient(90deg,#0b160c90,transparent)}.apartment-intro>p br{display:none}.apartment-intro>p{max-width:270px}.apartment-intro .apartment-scroll{display:none}.hero-bottom-copy{gap:16px}}
@media(max-height:700px) and (min-width:768px){.apartment-stage{min-height:580px}.apartment-intro{top:18%}.apartment h2{font-size:64px}.apartment-details,.apartment-finish{top:18%}.apartment-details h3{font-size:70px}.apartment-finish h3{font-size:80px}}
@media(prefers-reduced-motion:reduce){.apartment{height:auto}.apartment-stage{position:relative;height:900px}.apartment-intro,.apartment-details,.apartment-finish,.apartment-chapters,.apartment-grid{display:none}.apartment-frame{inset:100px 6% 180px!important;transform:none!important}.apartment-frame>img{transform:none!important}.apartment-tags{top:20px}.apartment-divider{opacity:1}.apartment-rooms{position:static}.apartment-timeline{display:none}.project-image{transform:none!important}.apartment-resume{display:none!important}}
.apartment-tags span:first-child{opacity:var(--render-label,1)}
.apartment-divider>span{display:flex;align-items:center;justify-content:center;white-space:nowrap;line-height:1;letter-spacing:4px;padding:0;pointer-events:auto;cursor:ew-resize;touch-action:none}
@media(max-width:767px){.apartment-rooms{position:static;justify-content:flex-start}.apartment-chapters{bottom:225px}.apartment-details h3{font-size:clamp(42px,12vw,70px)}.apartment-console{gap:12px}.apartment-source br{display:initial}.apartment-intro>p{max-width:290px}}
@media(max-width:375px),(max-height:760px) and (max-width:767px){.apartment-details,.apartment-finish{top:20%}.apartment-details h3,.apartment-finish h3{margin:16px 0}.apartment-details>p,.apartment-finish>p{margin:12px 0;font-size:13px}.material-swatches{margin-top:12px}.material-swatches i{width:28px;height:28px}.apartment-intro{top:12%}.apartment-intro>p{font-size:13px}}
