/* A registered photographic scene: the fixed frame, moving leaves and foreground
   share one image coordinate system. No full-viewport substitute doors. */
.hero-photo>img{transform:none!important;transition:none!important}
.door-scene{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;isolation:isolate}
.door-scene[hidden]{display:none}
.door-world{position:absolute;left:0;top:0;width:1672px;height:941px;transform-origin:0 0;isolation:isolate}
.door-clean,.door-person{position:absolute;inset:0;width:1672px;height:941px;max-width:none;object-fit:fill;pointer-events:none}
.door-clean{z-index:0}
.door-person{z-index:8}
.photo-door{position:absolute;left:0;top:0;width:420px;height:740px;transform-origin:0 0;overflow:visible;will-change:transform;isolation:isolate;background:#ebeded}
.photo-door-image,.photo-door-exterior{position:absolute;left:0;top:0;width:1672px;height:941px;max-width:none;object-fit:fill;transform-origin:0 0;pointer-events:none}
.photo-door-image{z-index:1;opacity:calc(1 - var(--door-front,0))}
.photo-door-front{position:absolute;inset:0;overflow:hidden;opacity:var(--door-front,0);pointer-events:none;z-index:3;background:#e6e8e6}
.photo-door-shade{position:absolute;inset:0;background:linear-gradient(90deg,#06182f12,transparent 22%,#fff0 58%,#071d3952);opacity:var(--leaf-shade,0);pointer-events:none;z-index:4}
.photo-door-right .photo-door-shade{background:linear-gradient(90deg,#071d3952,#fff0 42%,transparent 78%,#06182f12)}
.photo-door-sheen{position:absolute;inset:0;pointer-events:none;z-index:5;background:linear-gradient(108deg,transparent 30%,#fff9 46%,#ffffff20 53%,transparent 67%) var(--reflection-x,0%) 0/230% 100% no-repeat;opacity:var(--leaf-glint,0);mix-blend-mode:screen}
.door-rim{position:absolute;left:0;top:0;width:7px;height:740px;background:linear-gradient(90deg,#18252a 0 18%,#596b72 19%,#d7dfe0 40%,#f3f3e9 53%,#6c7c80 64%,#303f44 82%,#b2bab7);box-shadow:inset 1px 0 #f2f4ec70,inset -1px 0 #07151c80;transform-origin:0 0;pointer-events:none}
.door-controls{display:flex;align-items:center;gap:18px;flex:none}
.door-replay{gap:9px;min-height:44px;white-space:nowrap}
.door-replay:disabled::after{animation:none}
.door-replay svg{transition:rotate .45s var(--ease);transform:none!important}
.door-replay[aria-expanded=false] svg{rotate:180deg}
.door-control-range{width:96px;height:44px;display:flex;align-items:center;position:relative;touch-action:pan-y}
.door-control-range::before{content:'';position:absolute;left:0;right:0;top:11px;height:4px;background:repeating-linear-gradient(90deg,#9daabd 0 1px,transparent 1px 9px);pointer-events:none}
.door-control-range input{appearance:none;-webkit-appearance:none;display:block;width:100%;height:2px;background:linear-gradient(90deg,var(--red) 0 var(--door-percent,100%),#c8d0d8 var(--door-percent,100%) 100%);border:0;outline-offset:12px;margin:0;cursor:ew-resize!important;padding:0;min-height:2px}
.door-control-range input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:10px;height:22px;border:1px solid #758693;border-radius:1px;background:linear-gradient(90deg,#b6c1c9,#fff 40%,#99a7b1);box-shadow:1px 2px 2px #082c6726;cursor:ew-resize}
.door-control-range input::-moz-range-thumb{width:10px;height:22px;border:1px solid #758693;border-radius:1px;background:linear-gradient(90deg,#b6c1c9,#fff 40%,#99a7b1);cursor:ew-resize}
.door-control-range input:focus-visible{outline:2px solid var(--red)}
.hero.is-door-moving .workshop-light,.hero.is-door-closed .workshop-light{opacity:0!important}
.hero-copy{transition:opacity .24s ease;will-change:auto}
.hero.is-door-moving .hero-copy,.hero.is-door-closed .hero-copy{opacity:0;pointer-events:none}
.hero-copy h1,.hero-copy>p,.hero-note{opacity:1!important;translate:none!important;transition:none!important}
.door-grip{position:absolute;z-index:6;width:36px;height:68px;display:grid;place-items:center;background:linear-gradient(90deg,#c6d0d7,#f5f8f9 45%,#83929c);border:1px solid #788993;border-radius:3px;box-shadow:2px 3px 6px #071e384d;transform:translate(-50%,-50%);cursor:url('assets/inspection-cursor-active.svg') 4 4,pointer;transition:box-shadow .25s,opacity .2s}
.door-grip::before{content:'';width:5px;height:43px;background:linear-gradient(90deg,#9baab4,#fff,#52616e);border-radius:3px;border:1px solid #7b8b95}
.door-grip::after{content:'';position:absolute;top:29px;left:6px;width:26px;height:8px;background:var(--red);border:1px solid #971c23;transform-origin:22px 50%;transition:transform .4s var(--ease);box-shadow:0 2px 2px #082c6740}
.door-grip:hover::after,.door-grip:focus-visible::after{transform:rotate(-24deg)}
.door-grip:hover{box-shadow:2px 5px 12px #071e3859}
.hero.is-door-moving .door-grip,.hero.is-door-closed .door-grip{opacity:0;pointer-events:none}
.motion-off .door-scene,.motion-off .door-controls,.motion-off .door-grip{display:none!important}
.motion-off .hero-copy{opacity:1!important;pointer-events:auto}
@media(max-width:850px){.door-controls{gap:12px}.door-control-range{width:66px}}
@media(min-width:651px) and (max-width:900px){
 .hero-copy{padding-left:34px;padding-right:18px}
 .hero-copy h1{font-size:clamp(62px,8.6vw,75px)}
 .hero-photo>img,.hero-photo>.workshop-light .workshop-light-image{object-position:42% 68%}
}
@media(max-width:650px){
 .hero.is-door-moving .hero-copy,.hero.is-door-closed .hero-copy{opacity:1;pointer-events:auto}
 .door-grip{width:28px;height:50px;min-height:44px;box-shadow:1px 2px 5px #082c674d}
 .door-grip::before{height:32px;width:4px}.door-grip::after{top:22px;left:5px;width:19px;height:6px;transform-origin:17px 50%}
 .door-controls{gap:12px}.door-control-range{width:50px}.door-replay span{min-width:59px;text-align:left}
 .door-replay{font-size:9px}.hero-bottom{gap:8px;padding-inline:14px}.scroll-cue{max-width:135px}
}
@media(max-width:370px){.door-control-range{display:none}.hero-bottom{padding-inline:12px}.door-controls{gap:0}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){.door-scene,.door-controls,.door-grip{display:none!important}.hero-copy{opacity:1!important;pointer-events:auto}}

.door-controls[hidden]{display:none!important}
