/* A short product film made of native layers. No autoplay video, scroll lock or hidden instructions. */
#root .bridge-cinema.cinema-ready{position:relative;isolation:isolate;width:min(100%,960px);height:370px;margin:3rem auto 1.5rem;border-radius:32px;background:#48233b;box-shadow:inset 0 0 0 1px #ffffff20,0 24px 55px -28px #48233b66;overflow:hidden}
#root .bridge-cinema::before{content:'';position:absolute;width:65%;height:95%;top:-45%;left:18%;border:1px solid #b58caa55;border-radius:50%;box-shadow:0 0 0 28px #ffffff03,0 0 0 62px #ffffff02;transform:translateY(var(--cinema-drift,0px));pointer-events:none}
#root .bridge-yarn{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#root .bridge-yarn path{fill:none;stroke-linecap:round}
#root .bridge-yarn-shadow{stroke:#b79bab;stroke-width:2;opacity:.22}
#root .bridge-yarn-line{stroke:#ffad70;stroke-width:3}
#root .bridge-objects{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:clamp(8px,2vw,24px);width:88%;height:100%;margin:auto;padding:30px 0 48px;transform:translateY(var(--cinema-drift,0px))}
#root .bridge-object{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:0;padding:22px 10px;min-height:228px;border-radius:24px;background:#fff8fb;box-shadow:0 20px 32px -20px #130a13,0 1px 0 #ffffff80 inset;transform:rotate(var(--cinema-turn,0deg))}
#root .bridge-object-key{background:#efdce7;transform:translateY(-16px) rotate(var(--cinema-turn,0deg))}
#root .bridge-object strong{font-size:clamp(.88rem,1.65vw,1.2rem);color:#48233b;line-height:1.3;text-align:center;overflow-wrap:normal}
#root .bridge-object-detail{color:#73566a;font-size:.78rem;line-height:1.4;text-align:center}
#root .bridge-sculpture{position:relative;display:grid;place-items:center;width:90px;height:96px;margin-bottom:12px;flex-shrink:0}
#root .sculpture-phone{width:60px;height:96px;border:5px solid #683c57;border-radius:17px;box-shadow:5px 6px 0 #d7bdcc;background:#f7edf3}
#root .sculpture-phone::before{content:'';position:absolute;width:23px;height:4px;border-radius:9px;top:4px;background:#683c57}
#root .sculpture-phone .sculpture-detail{width:25px;height:25px;border:3px solid #683c57;border-radius:50%;border-top-color:transparent}
#root .sculpture-phone .sculpture-detail-second{position:absolute;width:3px;height:15px;background:#683c57;border-radius:3px;left:24px;top:29px}
#root .sculpture-key .sculpture-detail{position:absolute;width:45px;height:45px;border:9px solid #683c57;border-radius:50%;left:2px;top:6px;box-shadow:3px 4px 0 #be93ae}
#root .sculpture-key .sculpture-detail-second{position:absolute;width:50px;height:10px;left:33px;top:51px;background:#683c57;border-radius:3px;transform:rotate(43deg);box-shadow:0 4px 0 #be93ae}
#root .sculpture-key .sculpture-detail-second::after{content:'';position:absolute;right:5px;top:-13px;width:9px;height:14px;background:#683c57;box-shadow:-16px 0 0 #683c57}
#root .sculpture-message{width:90px;height:70px;margin-block:13px 25px;border-radius:22px;background:#ffad70;box-shadow:5px 7px 0 #e3c2b9}
#root .sculpture-message::after{content:'';position:absolute;bottom:-10px;left:15px;width:22px;height:22px;background:#ffad70;clip-path:polygon(0 0,100% 0,0 100%)}
#root .sculpture-message .sculpture-detail{width:38px;height:4px;background:#683c57;border-radius:3px;box-shadow:0 12px 0 #683c57;transform:translateY(-6px)}
#root .access-route-overview{margin-top:1.5rem;gap:0;border-block:1px solid #d8c4d1}
#root .access-route-overview>div{border:0;border-radius:0;background:transparent;padding:1rem .5rem}
#root .access-step{position:relative;isolation:isolate;--step-progress:0}
#root .access-step>div.absolute{display:none}
#root .access-step>div.flex{gap:1.25rem}
#root .access-step-badge{width:64px;height:auto;min-height:94px;display:flex;flex-direction:column;gap:12px;padding:14px 8px;border:1px solid #d9c3d1;background:#f4eaf0;box-shadow:none;border-radius:18px;color:#683c57}
#root .access-step-badge>span{position:static;width:auto;height:auto;border-radius:0;background:transparent;color:#683c57;box-shadow:none;font-size:.8rem;font-weight:700;line-height:1}
#root .access-step-badge>svg{width:27px;height:27px;color:inherit}
#root .access-step-panel{position:relative;overflow:visible;background:#fff;border:1px solid #d9c3d1;border-radius:24px;padding:clamp(22px,4vw,36px);box-shadow:0 10px 32px -24px #48233b50;transition:border-color .5s,box-shadow .5s}
#root .access-step-panel::before{content:'';position:absolute;left:-1px;top:24px;bottom:24px;width:3px;background:#ab6b91;border-radius:3px;transform:scaleY(var(--step-progress));transform-origin:top;pointer-events:none}
#root .access-step-current .access-step-panel{border-color:#b184a0;box-shadow:0 18px 42px -26px #48233b66}
#root .access-step-current .access-step-badge{background:#ffe4cf;border-color:#d6b394}
#root .access-step-panel h3{font-size:clamp(1.35rem,2.4vw,1.8rem);line-height:1.3;letter-spacing:-.03em}
#root .bridge-path{padding:24px 0;background:transparent;border:0;gap:20px;border-radius:0}
#root .bridge-stop,#root .bridge-stop:nth-child(even){margin:0!important;min-height:150px;box-shadow:none;gap:1.3rem;transform:none;border-radius:20px;justify-content:flex-start}
#root .bridge-stop:not(:last-child)::after{content:'';position:absolute;top:40px;right:-21px;width:20px;height:2px;background:#c6a0b7;border-radius:0}
#root .bridge-stop.bridge-stop-reached:not(:last-child)::after{background:#a86d90}
#root .bridge-stop:last-child{box-shadow:0 12px 26px -18px #683c57}
#root .access-faq-item{transition:border-color .32s,background .32s}
#root .access-faq-item:has(.is-open){border-color:#a57692;background:#fffafd}
@media(max-width:800px){
 #root .bridge-path{gap:16px;padding:8px 0}
 #root .bridge-stop,#root .bridge-stop:nth-child(even){flex-direction:row;min-height:82px;padding:1rem 1.25rem;gap:1rem}
 #root .bridge-stop:not(:last-child)::after{left:40px;top:auto;bottom:-17px;width:2px;height:16px}
 #root .bridge-count{font-size:1.3rem;width:34px}
}
@media(max-width:640px){
 #root .bridge-cinema.cinema-ready{height:268px;border-radius:22px;margin-top:2rem}
 #root .bridge-objects{width:92%;gap:7px;padding:22px 0 36px}
 #root .bridge-object{min-height:168px;padding:16px 5px 12px;border-radius:15px;gap:6px}
 #root .bridge-object-key{transform:translateY(-10px)}
 #root .bridge-object strong{font-size:.75rem;line-height:1.35}
 #root .bridge-object-detail{font-size:.64rem;line-height:1.4}
 #root .bridge-sculpture{scale:.64;margin-top:-16px;margin-bottom:-9px}
 #root .sculpture-message{margin-block:-4px 4px}
 #root .access-step>div.flex{gap:.85rem;flex-direction:column}
 #root #steps .access-step>div.flex.gap-6.items-start>.access-step-badge{width:auto;height:auto;min-height:44px;flex-direction:row;padding:9px 14px;margin:0;gap:10px;align-self:flex-start}
 #root .access-step-badge>span::before{content:'Шаг '}
 #root .access-step-panel{width:100%;padding:22px!important;border-radius:20px}
 #root .access-route-overview{grid-template-columns:1fr;text-align:left}
 #root .access-route-overview>div{flex-direction:row;padding:10px 0;gap:12px}
 #root .access-route-overview>div>span{text-align:left;font-size:.9rem}
 #root .access-route-overview>div>div{width:30px;height:30px;flex-shrink:0}
}
@media(prefers-reduced-motion:reduce){
 #root .bridge-objects,#root .bridge-object,#root .bridge-cinema::before{transform:none}
 #root .access-step-panel::before{transform:scaleY(1)}
 #root .access-step-panel,#root .access-faq-item{transition:none}
}
