/* Room backgrounds and independent transparent leaves form one architectural scene. */
.fc-door-story{position:relative;height:115svh;background:#f6f4ef;--door-angle:0deg;--door-angle-reverse:0deg;--door-scale:1;--copy-opacity:1;--copy-offset:0px}
.fc-door-hero{height:145svh}.fc-door-stage{height:78svh;min-height:540px;position:sticky;top:0;overflow:hidden;isolation:isolate;background:#a38b6e}.fc-door-hero .fc-door-stage{height:calc(100svh - 95px);min-height:650px}
.fc-door-world{position:absolute;left:50%;top:50%;width:max(100%,138.6svh);aspect-ratio:1672/941;transform:translate(-50%,-50%) scale(var(--door-scale));perspective:1800px;perspective-origin:50% 50%;transform-style:preserve-3d;pointer-events:none}
.fc-door-backdrop{display:block;width:100%;height:100%;object-fit:cover}.fc-door-leaf{position:absolute;box-sizing:border-box;border:clamp(5px,.72vw,15px) solid #1d1c17;background:linear-gradient(115deg,rgba(233,225,207,.12),rgba(255,255,255,.025) 45%,rgba(247,240,223,.16) 49%,rgba(255,255,255,.03) 53%,rgba(65,64,49,.08));box-shadow:inset 1px 0 0 #727166,2px 1px 3px #30291f55;transform-style:preserve-3d;backface-visibility:visible;will-change:transform}
.fc-door-pivot .fc-door-left{left:45.6%;top:4.4%;width:23.1%;height:81.6%;transform-origin:94% 50%;transform:rotateY(var(--door-angle))}.fc-door-handle{position:absolute;width:7%;height:24%;top:40%;left:4%;border:3px solid #22231e;box-shadow:1px 0 1px #8a8876;display:block}
.fc-door-frame .fc-door-left,.fc-door-frame .fc-door-right{top:6.8%;height:81%;width:27.35%;border-width:clamp(4px,.5vw,11px)}.fc-door-frame .fc-door-left{left:22%;transform-origin:0 50%;transform:rotateY(var(--door-angle-reverse))}.fc-door-frame .fc-door-right{left:49.35%;transform-origin:100% 50%;transform:rotateY(var(--door-angle))}.fc-door-frame .fc-door-leaf:before,.fc-door-frame .fc-door-leaf:after{content:"";position:absolute;left:0;right:0;height:4px;background:#26251f;box-shadow:0 1px 0 #696658;top:31%}.fc-door-frame .fc-door-leaf:after{top:65%}.fc-door-frame .fc-door-handle{left:auto;right:3%;top:50%;width:14%;height:7px;border:0;background:#23231f}.fc-door-frame .fc-door-right .fc-door-handle{right:auto;left:3%}
.fc-door-shower .fc-door-left{left:35.5%;top:14.5%;width:17.8%;height:67.2%;border:1px solid #b8cac7;transform-origin:0 50%;transform:rotateY(var(--door-angle-reverse));background:linear-gradient(110deg,#ffffff11,#e7f0ee19 48%,#ffffff30 49%,#ffffff03 51%);box-shadow:1px 0 2px #dce8e4}.fc-door-shower .fc-door-handle{left:auto;right:3%;height:4%;width:13%;top:50%;border:1px solid #b7b9b6;background:linear-gradient(90deg,#707773,#f4f6f3,#777e7a)}.fc-door-shower .fc-door-left:before,.fc-door-shower .fc-door-left:after{content:"";position:absolute;left:-6px;top:12%;height:5%;width:12px;background:linear-gradient(90deg,#737874,#fafbf8,#929894);box-shadow:0 1px 2px #514f3c44}.fc-door-shower .fc-door-left:after{top:85%}
.fc-door-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,24,20,.48),transparent 65%),linear-gradient(0deg,#171511b3,transparent 65%);pointer-events:none;z-index:1}.fc-door-stage:after{display:none}.fc-door-copy{position:absolute;z-index:2;left:max(32px,calc((100vw - 1220px)/2));bottom:100px;max-width:500px;width:39%;color:#fff;opacity:var(--copy-opacity);transform:translateY(var(--copy-offset))}.fc-door-copy .eyebrow{color:#f3e4d1;font-size:10px;letter-spacing:.14em;margin-bottom:18px}.fc-door-copy h1,.fc-door-copy h2{font:400 clamp(40px,4.8vw,70px)/1.08 FocusGothic,Arial,sans-serif;letter-spacing:-.045em;margin:0 0 19px;color:#fff}.fc-door-copy em{font-family:Georgia,serif;font-weight:400;color:#f3dcc3}.fc-door-copy p{font:400 16px/1.7 FocusGothic,Arial,sans-serif;max-width:390px;color:#f1ede6;margin:0 0 22px}.fc-door-action{display:inline-flex;align-items:center;min-height:44px;color:white;border-bottom:1px solid #d6b392;font-size:14px}.fc-door-action:focus-visible{outline:2px solid white;outline-offset:5px}.fc-door-note{position:absolute;bottom:25px;left:32px;right:32px;color:#f0e9df;z-index:2;display:flex;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:.06em}.fc-door-hint{font-size:10px}.fc-door-hint b{font-weight:400;margin-left:10px}.fc-door-story + .section{scroll-margin-top:100px}
@media(max-width:700px){.fc-door-story{height:110svh}.fc-door-hero{height:132svh}.fc-door-stage{height:76svh;min-height:520px}.fc-door-hero .fc-door-stage{height:calc(100svh - 80px);min-height:620px}.fc-door-world{width:max(100%,135svh)}.fc-door-pivot .fc-door-world{left:42%}.fc-door-copy{left:24px;bottom:75px;width:calc(100% - 48px);max-width:460px}.fc-door-copy h1,.fc-door-copy h2{font-size:clamp(36px,9.5vw,50px)}.fc-door-copy p{font-size:14px;line-height:1.6;max-width:330px}.fc-door-copy .eyebrow{font-size:9px;margin-bottom:13px}.fc-door-action{font-size:13px}.fc-door-note{left:24px;right:24px;bottom:20px;font-size:8px;display:block}.fc-door-hint{display:block;margin-top:6px;font-size:9px}.fc-door-shade{background:linear-gradient(0deg,#171511d9,transparent 82%)}.fc-door-leaf{border-width:7px}.fc-door-frame .fc-door-left,.fc-door-frame .fc-door-right{border-width:5px}.fc-door-shower .fc-door-left{border-width:1px}}
@media(prefers-reduced-motion:reduce){.fc-door-story{height:auto!important}.fc-door-stage{position:relative}.fc-door-world{transform:translate(-50%,-50%)}.fc-door-pivot .fc-door-left,.fc-door-frame .fc-door-right{transform:rotateY(25deg)}.fc-door-frame .fc-door-left,.fc-door-shower .fc-door-left{transform:rotateY(-25deg)}.fc-door-copy{opacity:1;transform:none}.fc-door-stage:after{display:none}.fc-door-hint{display:none}}
/* Cover the stage without distorting the photo or separating leaves from the room. */
.fc-door-world{width:max(100%,138.7svh,960px)}.fc-door-hero .fc-door-world{width:max(100%,calc((100svh - 95px)*1.777),1156px)}
@media(max-width:700px){.fc-door-world{width:max(100%,135.1svh,925px)}.fc-door-hero .fc-door-world{width:max(100%,calc((100svh - 80px)*1.777),1103px)}}
/* BF 112 inspired hardware: fixed wall plates and independently moving glass clamps. */
.fc-door-shower .fc-door-left{left:35.5%;top:14.7%;width:26.65%;height:66.9%;border:0;background:linear-gradient(110deg,#dfeddf08 5%,#fff2 36%,#fff0 37%,#fff1 79%,#dce9e208);box-shadow:inset 1px 0 0 #c3d2cbba,inset -2px 0 1px #e6f1edb3,inset 0 1px 0 #e4eeea80,1px 0 3px #473e2528}
.fc-door-shower .fc-door-left:before,.fc-door-shower .fc-door-left:after{display:none}.fc-shower-glass-thickness{position:absolute;inset:0 0 0 auto;width:3px;background:linear-gradient(90deg,#9daf9e88,#edf5e5b3,#c5d6c144);transform:translateZ(2px);border-radius:1px}
.fc-shower-wall-mount{position:absolute;left:35.12%;width:.85%;height:3.1%;background:linear-gradient(100deg,#666963,#f4f4ee 26%,#a8aba4 40%,#f8faf5 67%,#8c9189);border:1px solid #7d817b;border-radius:1px;box-shadow:2px 2px 3px #2b291e50;transform:translateZ(-1px)}.fc-mount-top{top:23.5%}.fc-mount-bottom{top:71.6%}
.fc-shower-hinge{display:block;position:absolute;left:-.55%;top:13%;width:6.4%;height:4.55%;border-radius:1px;background:linear-gradient(130deg,#f1f3ed 0%,#828983 12%,#f7f8f2 23%,#c8ccc4 71%,#6d756d 88%,#e7eae2);box-shadow:1px 2px 2px #2e2a2055,inset 0 0 0 1px #a9b0a6,inset 1px 1px 0 #fff;transform:translateZ(2px)}.fc-hinge-bottom{top:85%}.fc-shower-hinge:after{content:"";position:absolute;left:7%;right:17%;top:24%;height:52%;border:1px solid #8d978e;border-left:0;border-radius:0 1px 1px 0;background:linear-gradient(120deg,#e6e9e0,#b8c0b5 75%,#eff2e9);box-shadow:1px 0 0 #fff9}
.fc-door-shower .fc-door-handle{left:auto;right:4.2%;top:48%;width:6.6%;height:3.3%;border:0;border-radius:1px;background:linear-gradient(120deg,#f7faf3,#a6afa5 38%,#eaf0e5 65%,#7d8c7c);box-shadow:1px 2px 2px #373c2b50,inset 0 0 0 1px #9ca898;transform:translateZ(4px)}.fc-door-shower .fc-door-handle span{position:absolute;left:12%;right:12%;top:10%;height:24%;border:1px solid #e8eee4;transform:translateZ(4px);box-shadow:0 2px 1px #64716355;background:#d4ddcc}
.fc-shower-details{position:absolute;z-index:2;right:32px;top:36px;width:204px}.fc-shower-details>a{display:grid;grid-template-columns:1fr 1fr;gap:7px;color:#fff}.fc-shower-details img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block}.fc-shower-details span{grid-column:1/-1;font:400 10px/1.6 FocusGothic,Arial,sans-serif;letter-spacing:.035em;text-shadow:0 1px 3px #0009}.fc-shower-details a:focus-visible{outline:2px solid white;outline-offset:5px}.fc-door-hint b:empty{display:none}
@media(max-width:700px){.fc-shower-details{right:18px;top:105px;width:132px}.fc-shower-details span{font-size:8px}.fc-shower-details>a{gap:4px}.fc-door-shower .fc-door-world{left:54%}.fc-door-shower .fc-door-copy{bottom:75px}}
.fc-shower-hinge{left:-1.9%;width:7.4%;height:5.5%;background:transparent url('images/gral-bf112-hinge-cutout.png') center/contain no-repeat;box-shadow:none;border:0;filter:drop-shadow(1px 1px 1px #302f2555)}.fc-shower-hinge:after{display:none}
#portfolio .fp-card:first-child .fp-visual>img{object-position:50% 50%!important}
.fc-shower-details{top:120px}
@media(max-width:700px){.fc-shower-details{top:110px}}
/* Copper Designverbund 112: the unaltered manufacturer photograph is the exact closed state. */
.fc-door-shower{--copper-closed:1}.fc-door-shower .fc-door-world{width:max(100%,117svh,810px);aspect-ratio:1600/1067;perspective:2000px;perspective-origin:34.6% 55%}
.fc-shower-original{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:var(--copper-closed);z-index:2;pointer-events:none}
.fc-door-shower .fc-door-leaf{top:25.492%;height:58.201%;border:0;border-radius:0;background:linear-gradient(107deg,#c9e5d20b,#edf5ef0e 41%,#fff0 43%,#edf7f314 81%,#fff0);box-shadow:inset 1px 0 0 #bad7c05e,inset -1px 0 0 #c7e5cf9c,inset 0 1px 0 #d5eadb70;transform-style:preserve-3d}
.fc-door-shower .fc-door-left{left:18.688%;width:15.938%;transform-origin:0 50%;transform:rotateY(var(--door-angle-reverse))}.fc-door-shower .fc-door-right{left:34.625%;width:16%;transform-origin:100% 50%;transform:rotateY(var(--door-angle))}
.fc-door-shower .fc-door-leaf:before,.fc-door-shower .fc-door-leaf:after{display:none}
.fc-copper-hinge,.fc-copper-grip{position:absolute;display:block;overflow:hidden;max-width:none;filter:drop-shadow(0 1px 1px #18171030);transform:translateZ(1px)}
.fc-copper-hinge{width:11.765%;height:3.865%}.fc-copper-upper{top:15.459%}.fc-copper-lower{top:79.066%;height:4.348%}.fc-door-left .fc-copper-hinge{left:-.784%}.fc-door-right .fc-copper-hinge{left:89.063%;width:10.938%}
.fc-copper-grip{top:47.826%;height:2.576%;width:8.627%}.fc-door-left .fc-copper-grip{left:85.49%}.fc-door-right .fc-copper-grip{left:6.25%;width:8.984%}
.fc-door-shower .fc-door-shade{background:linear-gradient(270deg,#10110f6e,transparent 58%),linear-gradient(0deg,#10110f8a,transparent 45%)}
.fc-door-shower .fc-door-copy{left:auto;right:max(40px,calc((100vw - 1220px)/2));width:34%;max-width:460px;bottom:100px}.fc-door-shower .fc-door-copy h2{font-size:clamp(38px,4.2vw,62px)}
@media(max-width:700px){.fc-door-shower .fc-door-world{left:50%;width:max(100%,114svh,780px);transform:translate(-34.6%,-50%) scale(var(--door-scale));perspective:1400px}.fc-door-shower .fc-door-copy{left:24px;right:auto;width:calc(100% - 48px);bottom:75px;max-width:400px}.fc-door-shower .fc-door-copy h2{font-size:clamp(36px,9.5vw,50px)}.fc-door-shower .fc-door-shade{background:linear-gradient(0deg,#10110fd6,transparent 76%)}.fc-door-shower .fc-door-note>span:first-child{font-size:7px}}
@media(prefers-reduced-motion:reduce){.fc-door-shower .fc-shower-original{opacity:1}.fc-door-shower .fc-door-leaf{visibility:hidden}.fc-door-shower .fc-door-world{transform:translate(-50%,-50%)} }
@media(max-width:700px) and (prefers-reduced-motion:reduce){.fc-door-shower .fc-door-world{transform:translate(-34.6%,-50%)}}
