/* Edition 6: product website choreography and clear customer-facing contexts. */
.client-strip .client-aa{background:none;color:#c5c8ce}
.client-strip .client-immo{font-size:clamp(18px,2vw,25px);letter-spacing:-.05em}
.product-story{height:650svh;position:relative;background:#ded9d0;color:#282922;isolation:isolate}
.product-story-stage{position:sticky;top:0;height:100svh;min-height:720px;overflow:clip;background:radial-gradient(ellipse at 58% 60%,#f7f4ec 0%,#e7e1d7 45%,#ded9d0 80%)}
.product-story-heading{position:absolute;top:48px;left:0;right:0;display:flex;justify-content:space-between;gap:35px;z-index:3;pointer-events:none}
.product-story-heading>div>p{font-size:12px;margin-bottom:20px;color:#585c55}
.product-story-heading h2{font-size:clamp(35px,4.3vw,66px);line-height:1.04;font-weight:400;letter-spacing:-.065em}
.product-story-heading h2 em{color:#756549}
.product-story-example{padding-top:4px;text-align:right;font-size:11px;line-height:1.7;color:#62655d}
.product-story-example b{display:block;font:25px Instrument,Georgia,serif;letter-spacing:.13em;color:#414138;margin-bottom:10px}
.product-world{position:absolute;inset:155px 0 135px;perspective:1400px;--device-shadow:.08}
.product-world:after{content:"";position:absolute;width:53%;height:8%;left:21%;bottom:6%;border-radius:50%;background:#483f2f;filter:blur(23px);opacity:var(--device-shadow);pointer-events:none}
.product-world canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0}
.product-world.ready canvas{opacity:1}
.product-story-fallback{position:absolute;left:17%;top:12%;width:60%;border:9px solid #34362f;border-radius:15px;box-shadow:0 20px 40px #25251d20;overflow:hidden}
.product-story-fallback img{display:block;width:100%}
.product-world.ready .product-story-fallback{display:none}
.product-story-phone{position:absolute!important;width:min(21vw,31svh,252px);left:69%;top:16%;z-index:2;opacity:0;--phone-screen:#211c15;--phone-status:#f2edde;transform-origin:50% 70%;filter:drop-shadow(0 24px 25px #3c34231f)!important}
.product-world:not(.ready) .product-story-phone{opacity:1;transform:rotate(3deg)}
.product-story-caption{position:absolute;bottom:103px;left:var(--pad);right:var(--pad);height:35px}
.product-story-caption p{position:absolute;font-size:clamp(18px,2vw,28px);line-height:1.2;letter-spacing:-.04em;opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s}
.product-story-caption p.active{opacity:1;transform:none}
.product-story-bottom{position:absolute;bottom:28px;left:var(--pad);right:var(--pad);display:flex;align-items:center;justify-content:space-between;padding-bottom:19px;gap:24px}
.product-story-bottom>div{display:flex;gap:30px}
.product-story-bottom button{padding:8px 0;background:none;color:#686b61;border-bottom:1px solid transparent;font-size:11px}
.product-story-bottom button[aria-pressed=true]{color:#20291e;border-color:#3e4637}
.product-story-bottom a{font-size:11px;border-bottom:1px solid #8a897c;padding:8px 0;white-space:nowrap}
.product-story-progress{position:absolute;bottom:0;width:100%;height:1px;background:#4c503433}
.product-story-progress i{display:block;width:100%;height:100%;background:#484f38;transform:scaleX(0);transform-origin:left}
.portfolio-app>.immo-journey{grid-column:1/-1;width:calc(100% + 2 * var(--pad));margin:55px calc(-1 * var(--pad)) 0}
.portfolio-app:has(>.immo-journey){padding-bottom:0;row-gap:0}
.architecture-heading h2{max-width:600px}
.architecture-heading>p{max-width:240px}
body.motion-off .product-story{height:auto}
body.motion-off .product-story-stage{position:relative;height:850px}
body.motion-off .product-story-bottom>div,body.motion-off .product-story-progress{display:none}
body.motion-off .product-story-caption p{opacity:0}
body.motion-off .product-story-caption p:last-child{opacity:1;transform:none}
@media(min-width:761px) and (max-width:1100px){.product-story-heading h2{font-size:43px}.product-world{inset:165px 0 135px}.product-story-phone{left:72%;top:22%;width:21%}}
@media(max-width:760px){
 .client-strip .client-immo{font-size:19px}
 .product-story{height:580svh}.product-story-stage{min-height:720px}
 .product-story-heading{top:32px;display:block}.product-story-heading>div>p{font-size:10px;margin-bottom:16px}
 .product-story-heading h2{font-size:38px}.product-story-example{position:absolute;top:135px;left:var(--pad);text-align:left;font-size:9px}
 .product-story-example b{display:inline;font-size:17px;margin-right:13px}
 .product-world{inset:230px -22px 165px}.product-story-phone{width:27%;max-width:150px;left:65%;top:29%}
 .product-story-fallback{left:7%;top:15%;width:75%;border-width:5px;border-radius:9px}
 .product-story-caption{bottom:122px;height:35px}.product-story-caption p{font-size:19px;max-width:290px}
 .product-story-bottom{bottom:22px;gap:12px;flex-wrap:wrap}.product-story-bottom>div{width:100%;gap:25px}.product-story-bottom button,.product-story-bottom a{font-size:10px}
 .product-story-bottom a{padding:5px 0}.portfolio-app>.immo-journey{margin-top:40px}
 body.motion-off .product-story-stage{height:780px}
}
@media(prefers-reduced-motion:reduce){.product-story{height:auto}.product-story-stage{position:relative;height:850px}.product-story-bottom>div,.product-story-progress{display:none}.product-story-caption p{transition:none;opacity:0}.product-story-caption p:last-child{opacity:1;transform:none}}

@media(max-width:760px){.immo-steps{gap:6px}.immo-steps button{font-size:8px}}

.product-world.fallback-only~.product-story-caption p{opacity:0}.product-world.fallback-only~.product-story-caption p:last-child{opacity:1;transform:none}
/* The reference filter belongs to the overview; it must not cover the full-screen app film. */
.page-references .portfolio-filter{position:relative;top:auto}
.product-story:has(.fallback-only){height:auto}.product-story:has(.fallback-only) .product-story-stage{position:relative;height:850px}.product-story:has(.fallback-only) .product-story-bottom>div,.product-story:has(.fallback-only) .product-story-progress{display:none}
@media(max-width:760px){.commerce .section-line>.mono{display:none}.commerce .section-line>.eyebrow{max-width:none}}
