.oni-turris{--g:#FFBE7A;--o:#F2A663;--c:#F2E4C9;--b:#CBBFA2;--d1:#0a131c;--d2:#0D1A26;--d3:#0D2633;--m:#1F3A4A;position:relative;container-type:inline-size;font-family:Inter,system-ui,sans-serif;color:var(--c);background:linear-gradient(160deg,var(--d3),var(--d1) 70%);border:1px solid rgba(255,190,122,.22);border-radius:14px;padding:clamp(14px,3cqi,28px);box-shadow:0 18px 40px rgba(0,0,0,.45);margin:0 0 1.5em;overflow:hidden}
.oni-turris::before{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,var(--g),transparent)}
.oni-turris::after{content:"";position:absolute;inset:6px;border:1px solid rgba(203,191,162,.08);border-radius:10px;pointer-events:none}
.oni-turris *{box-sizing:border-box}
.ot-head{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;margin-bottom:16px}
.ot-title{font-family:"Marcellus SC",serif;font-weight:400;color:var(--g);font-size:clamp(1.4rem,4.2cqi,2.1rem);line-height:1.15;margin:0}
.ot-sub{margin:4px 0 0;color:var(--b);font-size:.95rem}
.ot-switch{display:inline-flex;padding:4px;border-radius:50px;background:rgba(10,19,28,.7);border:1px solid rgba(255,190,122,.25)}
.ot-sw{appearance:none;border:0;background:transparent;color:var(--b);font:500 .9rem Inter,sans-serif;padding:8px 16px;min-height:40px;border-radius:50px;display:inline-flex;align-items:center;gap:7px;cursor:pointer;transition:background .2s,color .2s}
.ot-sw .iconify{font-size:1.15em}
.ot-sw:hover{color:var(--g)}
.ot-sw[aria-pressed=true]{background:var(--c);color:#152635}
.ot-sw[aria-pressed=true]:hover{background:var(--g);color:#152635}
.ot-sw:focus-visible,.ot-chip:focus-visible,.ot-pg:focus-visible,.ot-btn:focus-visible{outline:2px solid var(--g);outline-offset:2px}
.ot-body{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:20px;align-items:start}
@container (max-width:780px){.ot-body{grid-template-columns:1fr}}
.ot-stage{position:relative;aspect-ratio:1000/680;border-radius:12px;overflow:hidden;border:1px solid rgba(255,190,122,.18);background:var(--d1)}
.ot-svg{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:1;transition:opacity .4s ease;will-change:opacity}
.oni-turris[data-view=facade] .ot-svg[data-view=coupe],.oni-turris[data-view=coupe] .ot-svg[data-view=facade]{opacity:0;pointer-events:none}
.ot-hint{position:absolute;left:10px;bottom:10px;margin:0;display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--b);background:rgba(10,19,28,.78);padding:5px 12px;border-radius:50px;pointer-events:none;transition:opacity .3s}
.oni-turris.has-sel .ot-hint{opacity:0} .oni-turris{--ot-pin:#FFBE7A;--ot-core:#FFBE7A;--ot-pinbg:#0D2633;--ot-pin-s:1;--ot-glow-o:.5;--ot-glow-s:1.3;--ot-zone:#FFBE7A;--ot-lbl:#F2E4C9;--ot-lbl-a:#FFBE7A;--ot-lbl-size:21px;--ot-lbl-font:"Marcellus SC",serif;--ot-skydim:.35}
.ot-zone{cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}
.ot-hit{fill:var(--ot-zone);fill-opacity:0;stroke:#F2E4C9;stroke-opacity:.3;stroke-width:2;stroke-dasharray:7 6;transition:fill-opacity .2s,stroke .2s,stroke-opacity .2s}
.no-outline .ot-hit{stroke-opacity:0}
.ot-zone:hover .ot-hit,.ot-zone:focus-visible .ot-hit{fill-opacity:.12;stroke:var(--ot-zone);stroke-opacity:1;stroke-dasharray:none}
.ot-zone.is-active .ot-hit{fill-opacity:.2;stroke:var(--ot-zone);stroke-opacity:1;stroke-width:3;stroke-dasharray:none}
.ot-pin{transform:scale(var(--ot-pin-s));transition:transform .2s}
.ot-zone:hover .ot-pin,.ot-zone.is-active .ot-pin{transform:scale(calc(var(--ot-pin-s)*1.15))}
.ot-pgs{stop-color:var(--ot-pin)}
.ot-pin-glow{opacity:var(--ot-glow-o);transform:scale(var(--ot-glow-s));pointer-events:none}
.fx-halo .ot-pin-glow{animation:otHalo 2.8s ease-in-out infinite}
.ot-pin-ring{fill:var(--ot-pinbg);fill-opacity:.85;stroke:var(--ot-pin);stroke-width:2.5;transition:fill .2s}
.ot-pin-dot{fill:var(--ot-core);transition:fill .2s}
.ot-pin-pulse{fill:none;stroke:var(--ot-pin);stroke-width:2;transform-box:fill-box;transform-origin:center;display:none}
.fx-pulse .ot-pin-pulse{display:inline;animation:otPulse 2.6s ease-out infinite}
.ot-zone.is-active .ot-pin-ring{fill:var(--ot-pin);fill-opacity:1}
.ot-zone.is-active .ot-pin-dot{fill:var(--ot-pinbg)}
.ot-sh{display:none}
.pin-cercle .ot-sh-cercle,.pin-losange .ot-sh-losange,.pin-gemme .ot-sh-gemme{display:inline}
.ot-label{font-family:var(--ot-lbl-font);font-size:var(--ot-lbl-size);fill:var(--ot-lbl);stroke:#0a131c;stroke-width:5px;paint-order:stroke;stroke-linejoin:round;pointer-events:none;letter-spacing:.02em;transform:translateY(calc((var(--ot-pin-s) - 1) * 16px))}
.ot-zone:hover .ot-label,.ot-zone.is-active .ot-label{fill:var(--ot-lbl-a)}
.no-labels .ot-label{display:none}
@container (max-width:560px){.ot-label{display:none}.ot-stage{aspect-ratio:665/655}.ot-pin{transform:scale(calc(var(--ot-pin-s)*1.25))}.ot-zone:hover .ot-pin,.ot-zone.is-active .ot-pin{transform:scale(calc(var(--ot-pin-s)*1.4))}.ot-hint{font-size:.72rem}} .ot-sky-img-g{display:none}
.sky-image .ot-sky-img-g{display:inline}
.sky-image .ot-sky-night{display:none}
.ot-skydim{opacity:var(--ot-skydim)}
.no-floors .ot-floors{display:none} .ot-star{animation:otTw 4s ease-in-out infinite}
.ot-flick{animation:otFl 3.4s ease-in-out infinite}
.ot-flame{transform-box:fill-box;transform-origin:50% 100%;animation:otFlame .9s ease-in-out infinite alternate}
.ot-blink{animation:otBlink 1.6s steps(2) infinite}
.ot-fly{animation:otFly 7s ease-in-out infinite}
.has-logo .ot-flag-emb{display:none}
.ot-cloud{animation:otDrift 70s ease-in-out infinite alternate}
.ot-cloud2{animation-duration:95s;animation-direction:alternate-reverse}
.ot-fog{animation:otFog 14s ease-in-out infinite alternate}
.ot-shoot{opacity:0;animation:otShoot 11s ease-in 3s infinite}
.ot-wp{fill:#0a0f14;transition:fill 1.4s ease}
.ot-wg{opacity:0;transition:opacity 1.4s ease}
.ot-win.is-lit .ot-wp{fill:#FFBE7A;fill-opacity:calc(.35 + var(--ot-win,.8) * .65)}
.ot-win.is-lit .ot-wg{opacity:var(--ot-win,.8)}
.no-skyanim .ot-star,.no-skyanim .ot-cloud,.no-skyanim .ot-fly{animation:none}.no-skyanim .ot-shoot{display:none}
.ot-paused *{animation-play-state:paused!important}
@keyframes otPulse{0%{transform:scale(.7);opacity:.9}100%{transform:scale(2);opacity:0}}
@keyframes otHalo{50%{opacity:calc(var(--ot-glow-o)*.35)}}
@keyframes otTw{50%{opacity:.2}}
@keyframes otFl{0%,100%{opacity:.9}45%{opacity:.6}60%{opacity:1}}
@keyframes otFlame{0%{transform:scale(1,1)}50%{transform:scale(.9,1.12) skewX(3deg)}100%{transform:scale(1.05,.92) skewX(-3deg)}}
@keyframes otBlink{50%{opacity:.15}}
@keyframes otFly{0%,100%{opacity:0;transform:translate(0,0)}30%{opacity:1}50%{transform:translate(14px,-18px)}70%{opacity:.8}85%{opacity:0;transform:translate(-8px,-30px)}}
@keyframes otDrift{to{transform:translateX(-70px)}}
@keyframes otFog{to{transform:translateX(24px)}}
@keyframes otShoot{0%{opacity:0;transform:translateX(0)}1.5%{opacity:1}6%{opacity:0;transform:translateX(330px)}100%{opacity:0;transform:translateX(330px)}} .ot-side{position:relative}
.ot-card{position:relative;background:linear-gradient(180deg,rgba(31,58,74,.55),rgba(13,26,38,.92));border:1px solid rgba(255,190,122,.2);border-radius:12px;padding:20px}
.ot-card+.ot-card{margin-top:12px}
.ot-js .ot-card{display:none;margin-top:0}
.ot-js .ot-card.is-active{display:block;animation:otIn .3s ease}
@keyframes otIn{from{opacity:0;transform:translateY(6px)}}
.ot-card-top{display:flex;gap:14px;align-items:flex-start}
.ot-card-h{min-width:0;flex:1}
.ot-ico{flex:0 0 52px;width:52px;height:52px;border-radius:12px;background:rgba(255,190,122,.12);border:1px solid rgba(255,190,122,.3);display:grid;place-items:center;color:var(--g);font-size:28px}
.ot-ico-lg{width:60px;height:60px;font-size:34px;margin-bottom:12px}
.ot-kicker{margin:2px 0 3px;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--b)}
.ot-name{font-family:"Marcellus SC",serif;font-weight:400;color:var(--g);font-size:1.45rem;line-height:1.2;margin:0}
.ot-status{flex:none;font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:50px;border:1px solid currentColor;white-space:nowrap}
.ot-status.is-ouvert{color:#7fd4a2;background:rgba(127,212,162,.1)}
.ot-status.is-travaux{color:var(--o);background:rgba(242,166,99,.12)}
.ot-status.is-mystere{color:#c3a8f0;background:rgba(195,168,240,.12)}
.ot-status.is-ferme{color:#ee8a8a;background:rgba(238,138,138,.12)}
.ot-desc{margin-top:14px;line-height:1.65;font-size:.97rem}
.ot-desc p{margin:0 0 .7em}.ot-desc p:last-child{margin:0}
.ot-desc a{color:var(--g)}
.ot-desc h4,.ot-desc h5{font-family:"Marcellus SC",serif;font-weight:400;color:var(--g);margin:.9em 0 .4em;line-height:1.25}
.ot-desc h4{font-size:1.15rem}.ot-desc h5{font-size:1rem}
.ot-desc ul,.ot-desc ol{margin:0 0 .7em 1.2em;padding:0}.ot-desc li{margin:.15em 0}
.ot-desc blockquote{margin:0 0 .7em;padding:.2em 0 .2em 12px;border-left:3px solid var(--g);color:var(--b);font-style:italic}
.ot-desc hr{border:0;border-top:1px solid rgba(255,190,122,.25);margin:1em 0}
.ot-desc img{max-width:100%;height:auto}
.ot-dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:16px 0 0}
.ot-dates>div{background:rgba(10,19,28,.55);border:1px solid rgba(203,191,162,.15);border-radius:10px;padding:10px 12px}
.ot-dates dt{display:flex;align-items:center;gap:6px;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--b)}
.ot-dates dt .iconify{color:var(--g)}
.ot-dates dd{margin:3px 0 0;font-weight:600}
.ot-btn{display:inline-flex;align-items:center;gap:8px;margin-top:16px;min-height:44px;padding:10px 22px;border-radius:50px;background:var(--c);color:#152635!important;font-weight:600;text-decoration:none!important;transition:background .2s}
.ot-btn:hover{background:var(--g)}
.ot-intro{text-align:center}
.ot-intro .ot-ico{margin-inline:auto}
.ot-intro-txt{margin:0;line-height:1.6}
.ot-intro-meta{margin:10px 0 0;font-size:.8rem;color:var(--b);letter-spacing:.06em;text-transform:uppercase}
.ot-pager{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.ot-pager[hidden]{display:none}
.ot-pg{appearance:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,190,122,.3);background:rgba(10,19,28,.6);color:var(--c);display:grid;place-items:center;font-size:22px;cursor:pointer;transition:.2s}
.ot-pg:hover{background:var(--c);color:#152635}
.ot-count{font-size:.85rem;color:var(--b);font-variant-numeric:tabular-nums} .ot-chips{position:relative;z-index:1;margin-top:18px}
.ot-chips ul{list-style:none;margin:0;padding:0 0 4px;display:flex;flex-wrap:wrap;gap:8px}
.ot-chips li{margin:0}
.ot-chip{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 14px;border-radius:50px;border:1px solid rgba(255,190,122,.25);background:rgba(10,19,28,.6);color:var(--c)!important;text-decoration:none!important;font-size:.88rem;white-space:nowrap;transition:.2s}
.ot-chip .iconify{color:var(--g);font-size:1.1em}
.ot-chip:hover{border-color:var(--g);color:var(--g)!important}
.ot-chip.is-active{background:var(--c);border-color:var(--c);color:#152635!important}
.ot-chip.is-active .iconify{color:#152635}
@container (max-width:560px){.ot-chips ul{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.ot-chips ul::-webkit-scrollbar{display:none}.ot-chip{scroll-snap-align:start}.ot-name{font-size:1.25rem}.ot-card{padding:16px}}
@media (prefers-reduced-motion:reduce){.oni-turris *{animation:none!important;transition:none!important}} .ot-head-l{display:flex;align-items:center;gap:14px;min-width:0}
.ot-title-ico{flex:none;width:52px;height:52px;border-radius:14px;background:rgba(255,190,122,.12);border:1px solid rgba(255,190,122,.3);display:grid;place-items:center;color:var(--g);font-size:30px}
.ot-title-ico[hidden],.ot-sub[hidden]{display:none}
.oni-turris .ot-title{font-size:var(--ot-title-size,28px);margin:0;padding:0;line-height:1.15;letter-spacing:.01em}
.oni-turris .ot-sub{font-size:.92rem;margin:4px 0 0;line-height:1.4}
.oni-turris .ot-intro-txt{font-size:var(--ot-intro-size,15px);line-height:1.6;margin:0}
.oni-turris .ot-intro-meta{font-size:.74rem}
@container (max-width:560px){.ot-title-ico{width:42px;height:42px;font-size:24px;border-radius:12px}.oni-turris .ot-title{font-size:calc(var(--ot-title-size,28px) * .82)}}
.ot-st{pointer-events:none;animation:otSt 2.6s ease-in-out infinite}
.ot-zone.is-travaux .ot-hit{stroke:#F2A663;stroke-opacity:.85;stroke-dasharray:10 6}
.ot-zone.is-ferme .ot-hit{stroke:#e05555;stroke-opacity:.85;stroke-dasharray:4 5}
.ot-badge{pointer-events:none}
.ot-badge circle:first-child{fill:#0a131c;stroke:currentColor;stroke-width:2}
.is-travaux .ot-badge{color:#F2A663}.is-ferme .ot-badge{color:#e05555}
.no-status .ot-st,.no-status .ot-badge{display:none}
.no-status .ot-zone.is-travaux .ot-hit,.no-status .ot-zone.is-ferme .ot-hit{stroke:#F2E4C9;stroke-opacity:.3;stroke-dasharray:7 6}
.no-outline .ot-zone.is-travaux .ot-hit,.no-outline .ot-zone.is-ferme .ot-hit{stroke-opacity:.6}
@keyframes otSt{50%{opacity:.55}}
.ot-chip.is-travaux::after,.ot-chip.is-ferme::after{content:"";width:8px;height:8px;border-radius:50%;background:#F2A663;box-shadow:0 0 0 2px rgba(242,166,99,.25)}
.ot-chip.is-ferme::after{background:#e05555;box-shadow:0 0 0 2px rgba(224,85,85,.25)}
.no-status .ot-chip::after{display:none}
.ot-anec{margin-top:16px;padding:12px 14px;border-radius:10px;background:linear-gradient(135deg,rgba(255,190,122,.1),rgba(255,190,122,.03));border:1px solid rgba(255,190,122,.28);border-left:3px solid var(--g)}
.oni-turris .ot-anec-t{display:flex;align-items:center;gap:7px;margin:0 0 4px;font-family:"Marcellus SC",serif;color:var(--g);font-size:.95rem}
.ot-anec-t .iconify{font-size:1.2em}
.ot-anec-b{font-size:.92rem;line-height:1.6;color:var(--c);font-style:italic}
.ot-anec-b p{margin:0 0 .5em}.ot-anec-b p:last-child{margin:0}.ot-anec-b a{color:var(--g)}
.ot-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}
.ot-actions .ot-btn{margin-top:0}
.ot-share{appearance:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;border-radius:50px;border:1px solid rgba(255,190,122,.3);background:transparent;color:var(--b);font:500 .82rem Inter,sans-serif;cursor:pointer;transition:.2s}
.ot-share:hover{color:var(--g);border-color:var(--g)}
.ot-share.is-ok{color:#7fd4a2;border-color:#7fd4a2}
.ot-share:focus-visible{outline:2px solid var(--g);outline-offset:2px}
.oni-turris .ot-name{font-size:1.35rem;margin:0;line-height:1.2}
.oni-turris .ot-kicker{font-size:.72rem;margin:2px 0 3px}
.oni-turris .ot-desc{font-size:.96rem}
.oni-turris .ot-desc p{font-size:inherit;line-height:1.65}