/*CD-INICIO*//* © 2026 Costa Dorata. Cópia proibida. Origem: CD-DHA-66EB9E7DB0E9 *//*CD-FIM*/
:root{
  --night:#0b0e13; --night2:#121722; --ivory:#f3ede4; --mute:#a7a197; --gold:#d1ae72; --gold2:#e9cf9d;
  --line:rgba(243,237,228,.14); --ok:#58c48a; --off:#8b8580;
  --serif:"El Messiri",Georgia,serif; --sans:"Outfit",system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{touch-action:manipulation;margin:0;height:100%;background:var(--night);color:var(--ivory);font:300 15px/1.5 var(--sans);overflow:hidden;-webkit-text-size-adjust:100%;overscroll-behavior:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}
.scene{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;visibility:hidden}
.scene.on{opacity:1;pointer-events:auto;visibility:visible}

/* HUD */
.hud{position:fixed;z-index:30;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:18px 26px;pointer-events:none}
.hud>*{pointer-events:auto}
.logo{display:flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--ivory)}
.logo img{display:block;height:46px;width:auto;filter:drop-shadow(0 1px 10px rgba(0,0,0,.45))}
.hud-nav{display:flex;gap:4px;background:rgba(11,14,19,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:999px;padding:4px}
.hud-nav button{padding:8px 15px;border-radius:999px;font-size:13px;font-weight:600;color:var(--ivory)}
.hud-nav button.on{background:var(--ivory);color:var(--night)}

/* FACHADA */
.fac-bg{position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;background:url(img/fachada-fundo.webp) center/cover;filter:blur(30px) brightness(.75);transform:scale(1.1)}
.fac-wrap{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform,filter,opacity}
.and-plan,.apto-stage,#gal{touch-action:none}
.and-vazio{position:absolute;left:0;right:340px;top:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:84px 24px 24px;color:var(--mute)}
.and-vazio[hidden]{display:none}
.and-vazio b{font:500 34px/1 var(--serif);color:var(--ivory)}
.and-vazio span{font-size:14px}
.fac-img{position:absolute;top:0;left:0;display:block;width:100%;height:100%;user-select:none}
.rt-plano{position:absolute;top:50%;left:50%;transform:translate(-50%,-55%);max-width:86%;max-height:70%}
.fac-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}
.fx{fill:rgba(233,207,157,0);stroke:none;cursor:pointer;transition:fill .25s}
.fx.v{fill:rgba(233,207,157,.06)}
.fx:hover,.fx.sel{fill:rgba(233,207,157,.34);stroke:var(--gold2);stroke-width:5;filter:drop-shadow(0 0 18px rgba(233,207,157,.9))}
.fx.esgotado:hover,.fx.esgotado.sel{fill:rgba(160,155,150,.3);stroke:#cfc9c2}
.fac-txt{position:absolute;left:clamp(20px,4vw,64px);bottom:clamp(24px,7vh,80px);max-width:420px;pointer-events:none;text-shadow:0 2px 24px rgba(0,0,0,.55)}
.kicker{font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold2);margin:0 0 12px}
.fac-txt{transition:opacity .6s}.fac-txt.sai{opacity:0}
/* filtro: pílula dourada no canto direito de baixo; painel acima dela (no celular, folha de baixo) */
.fbtn{position:absolute;right:clamp(14px,2.4vw,34px);bottom:clamp(18px,4vh,34px);z-index:6;display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;background:var(--gold2);color:var(--night);font-size:14.5px;font-weight:600;box-shadow:0 8px 26px rgba(0,0,0,.45);transition:opacity .2s}
.fbtn.ativo{background:var(--ivory)}
#s-fachada.com-card .fbtn{opacity:0;pointer-events:none}
.filtro{position:absolute;right:clamp(14px,2.4vw,34px);bottom:calc(clamp(18px,4vh,34px) + 58px);z-index:7;width:340px;max-height:calc(100vh - 140px);overflow:auto;background:#11161f;border:1px solid rgba(233,207,157,.3);border-radius:12px;padding:16px 18px;box-shadow:0 20px 60px rgba(0,0,0,.55)}
.filtro[hidden]{display:none}
.fi-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.fi-hd b{font-weight:500;font-size:16px}
.fi-x{font-size:26px;line-height:1;color:var(--mute)}
.fi-l{margin:12px 0 7px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.fi-ch{display:flex;flex-wrap:wrap;gap:6px}
.fi-ch button{padding:7px 12px;border-radius:999px;border:1px solid var(--line);font-size:13px;color:var(--ivory)}
.fi-ch button[aria-pressed=true]{background:var(--gold2);border-color:var(--gold2);color:var(--night);font-weight:500}
.fi-ft{display:flex;justify-content:space-between;align-items:center;margin-top:16px}
.fi-limpa{font-size:13px;color:var(--mute);text-decoration:underline}
.fi-ok{padding:10px 18px}
.fac-card .fm{margin-top:6px;font-size:12.5px;color:var(--gold2)}
.fx.fok{fill:rgba(233,207,157,.24);stroke:var(--gold2);stroke-width:3}
.fx.fnao{fill:rgba(8,10,14,.5)}
.elev button.fnao{opacity:.3}
.elev button.fok{border-color:var(--gold2)}
/* com filtro: o que atende ganha destaque dourado; o resto fica como está (nunca mais apagado que os vendidos) */
.ul li.casa button{box-shadow:inset 3px 0 0 var(--gold2);background:rgba(233,207,157,.08)}
.ul li.casa .n{color:var(--gold2)}
.ux.casa{fill:rgba(233,207,157,.28);stroke:var(--gold2);stroke-width:7}
.fi-av{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px;padding:6px 10px;border-radius:6px;background:rgba(233,207,157,.1);font-size:12.5px;color:var(--gold2)}
.fi-av button{font-size:12px;color:var(--ivory);text-decoration:underline}
/* sol no card do apartamento: duas marcas objetivas */
.solchips{display:flex;align-items:center;gap:6px;margin:10px 0 2px;font-size:12.5px}
.solchips .sc-l{color:var(--mute);margin-right:2px}
.solchips span:not(.sc-l){padding:4px 10px;border-radius:999px;border:1px solid var(--line);color:#6f6a64}
.solchips span.on{border-color:rgba(242,199,110,.6);color:var(--ivory);background:rgba(242,199,110,.12)}
/* tutorial: tela escura com um recorte no destaque */
.tut{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}
.tut[hidden]{display:none}
.tut-hole{position:fixed;box-shadow:0 0 0 200vmax rgba(5,8,12,.8);border:1.5px solid var(--gold2);transition:left .5s cubic-bezier(.2,.7,.2,1),top .5s cubic-bezier(.2,.7,.2,1),width .5s cubic-bezier(.2,.7,.2,1),height .5s cubic-bezier(.2,.7,.2,1),border-radius .5s;pointer-events:none}
.tut-box{position:fixed;background:#11161f;border:1px solid rgba(233,207,157,.35);border-radius:10px;padding:16px 18px;transition:left .5s cubic-bezier(.2,.7,.2,1),top .5s cubic-bezier(.2,.7,.2,1);box-shadow:0 20px 50px rgba(0,0,0,.5)}
.tut-n{margin:0 0 6px;font-size:11px;letter-spacing:.2em;color:var(--gold2)}
.tut-t{margin:0 0 14px;font-size:16px;font-weight:300;line-height:1.5;color:var(--ivory)}
.tut-acts{display:flex;justify-content:space-between;align-items:center;gap:10px}
.tut-pula{font-size:12.5px;color:var(--mute);text-decoration:underline;padding:6px 0}
.tut-prox{padding:10px 20px}
.hint{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--ivory);margin:0;background:rgba(11,14,19,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:9px 14px;border-radius:999px;border:1px solid rgba(233,207,157,.3)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--gold2);box-shadow:0 0 0 0 rgba(233,207,157,.7);animation:pulse 1.8s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(233,207,157,0)}100%{box-shadow:0 0 0 0 rgba(233,207,157,0)}}
.fac-card{position:absolute;z-index:5;width:250px;padding:16px 18px;background:rgba(11,14,19,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(233,207,157,.35);border-radius:6px;pointer-events:none;transition:opacity .2s}
.fac-card .a{font:500 34px/1 var(--serif);white-space:nowrap}
.fac-card .a sup{font-size:.45em}
.fac-card .t{font-size:12.5px;color:var(--mute);margin:6px 0 10px}
.fac-card .p{font:500 20px/1.1 var(--serif);color:var(--gold2)}
.fac-card .s{display:inline-block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ok);color:var(--ok);padding:2px 7px;border-radius:3px;float:right;margin-top:6px}
.fac-card .s.no{border-color:var(--off);color:var(--off)}
.fac-card .go{display:block;margin-top:12px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.fac-card.touch{pointer-events:auto}
.fac-card.touch .go{color:var(--night);background:var(--gold2);text-align:center;padding:10px;border-radius:4px;font-weight:600;letter-spacing:.12em}
.elev{position:absolute;right:clamp(14px,2.4vw,34px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:3px;z-index:4}
.elev button{width:46px;height:30px;border-radius:4px;font-size:13px;font-weight:600;color:var(--ivory);background:rgba(11,14,19,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid var(--line);position:relative}
.elev button.v::after{content:"";position:absolute;right:4px;top:4px;width:5px;height:5px;border-radius:50%;background:var(--ok)}
.elev button:hover,.elev button.sel{background:var(--gold2);color:var(--night);border-color:var(--gold2)}
.elev .r{font-size:10px;letter-spacing:.06em;height:26px}

/* ANDAR */
#s-andar{background:radial-gradient(120% 90% at 40% 45%,#1a2130 0%,var(--night) 70%)}
.and-plan{position:absolute;left:0;top:0;bottom:0;right:340px;display:flex;align-items:center;justify-content:center;padding:84px 40px 40px}
.and-inner{position:relative;will-change:transform,opacity}
.and-inner img{display:block;width:100%;height:100%;filter:drop-shadow(0 30px 60px rgba(0,0,0,.6))}
.and-inner svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}
.ux{cursor:pointer;transition:fill .2s,stroke .2s}
.ux.disponivel{fill:rgba(233,207,157,.10);stroke:rgba(233,207,157,.75);stroke-width:4}
.ux.disponivel:hover,.ux.hl{fill:rgba(233,207,157,.32);stroke:var(--gold2);stroke-width:7}
.ux.vendido{fill:rgba(8,10,14,.62);stroke:rgba(8,10,14,.62);stroke-width:2}
.ux.vendido:hover,.ux.vendido.hl{fill:rgba(8,10,14,.45)}
.tag{pointer-events:none}
.tag rect{fill:rgba(11,14,19,.86);stroke:rgba(233,207,157,.55);stroke-width:2}
.tag text{fill:var(--ivory);font-family:var(--sans);font-weight:600;text-anchor:middle;dominant-baseline:central}
.tag.vendido rect{stroke:rgba(255,255,255,.15)}.tag.vendido text{fill:#8b8580}
.and-side{position:absolute;right:0;top:0;bottom:0;width:340px;padding:88px 24px 24px;background:linear-gradient(90deg,rgba(11,14,19,0),rgba(11,14,19,.85) 14%);overflow:auto}
.back{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin:0 0 18px;padding:6px 0}
.back:hover{color:var(--gold2)}
.and-hd{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 12px}
.and-side h2{font:500 40px/1 var(--serif);margin:0}
.and-side h2 sup{font-size:.42em;vertical-align:.95em}
.and-side .sub{color:var(--mute);font-size:12.5px;white-space:nowrap}
.ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ul li button{width:100%;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:8px;text-align:left;padding:10px 2px;border-bottom:1px solid var(--line);transition:background .2s}
.ul li button:hover,.ul li button.hl{background:rgba(233,207,157,.07)}
.ul .n{font:500 18px/1 var(--serif)}
.ul .d{font-size:12.5px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ul .v{font:500 15px/1 var(--serif);color:var(--gold2);white-space:nowrap}
.ul .off .n,.ul .off .v{color:#7d7770}
.ul .off .v{font:600 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.floors{display:flex;gap:4px;flex-wrap:wrap;margin:14px 0 0}
.floors button{min-width:36px;padding:6px 6px;border:1px solid var(--line);border-radius:4px;font-size:12.5px;font-weight:600}
.floors button.on{background:var(--ivory);color:var(--night)}
.noplan{color:var(--mute);font-size:13px;margin:0 0 16px}

/* APARTAMENTO */
#s-apto{background:radial-gradient(110% 90% at 38% 50%,#1b2333 0%,var(--night) 72%)}
.apto-stage{position:absolute;left:0;top:0;bottom:0;right:380px;display:flex;align-items:center;justify-content:center;perspective:1700px}
.apto-tilt{position:relative;transform-style:preserve-3d;will-change:transform;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.apto-tilt img{display:block;max-height:82vh;max-width:min(52vw,760px);filter:drop-shadow(0 2px 0 #3b3a38) drop-shadow(0 4px 0 #2f2e2c) drop-shadow(0 6px 0 #262523) drop-shadow(0 50px 50px rgba(0,0,0,.55))}
.apto-shadow{position:absolute;width:46%;height:16%;bottom:9%;left:27%;background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent);filter:blur(10px);pointer-events:none}
.apto-card{position:absolute;right:0;top:0;bottom:0;width:380px;padding:86px 28px 26px;background:linear-gradient(90deg,rgba(11,14,19,0),rgba(11,14,19,.9) 12%);overflow:auto}
.apto-card .lbl{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold2);display:flex;justify-content:space-between;align-items:center}
.pill{font-size:10.5px;letter-spacing:.14em;border:1px solid var(--ok);color:var(--ok);padding:3px 8px;border-radius:3px}
.pill.vendido{border-color:var(--off);color:var(--off)}
.ap-top{display:flex;justify-content:space-between;align-items:center}
.ap-tit{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:14px 0 4px}
.apto-card h2{font:500 38px/1.05 var(--serif);margin:0;white-space:nowrap}
.ap-tit .preco{margin:0;font-size:26px;white-space:nowrap}
.apto-card p.cond{white-space:nowrap;font-size:12px;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis}
.apto-card .tp{color:var(--mute);margin:0 0 14px;font-size:14px}
.apto-card .sol{font-size:13px;color:var(--ivory);margin:0 0 16px;display:flex;gap:8px;align-items:center}
.apto-card .sol i,.ps i{font-style:normal;color:#f2c76e}
.mais{margin-top:16px;border-top:1px solid var(--line)}
.mais summary{cursor:pointer;padding:12px 0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);list-style:none}
.mais summary::-webkit-details-marker{display:none}
.mais summary::after{content:" +"}.mais[open] summary::after{content:" −"}
.sols{list-style:none;margin:12px 0;padding:0;font-size:12.5px;color:var(--mute);display:grid;gap:6px}
.sols b{color:var(--ivory);font-weight:600}
.lnk{font-size:12.5px;color:var(--gold2);text-decoration:underline;padding:4px 0}
/* sol nas faces da planta do apto e ponto do living */
.ps{position:absolute;white-space:nowrap;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--ivory);background:rgba(11,14,19,.72);border:1px solid rgba(242,199,110,.45);border-radius:999px;padding:3px 9px;display:flex;gap:5px;align-items:center;pointer-events:none;transition:opacity .3s}
.ps em{font-style:normal;color:var(--gold2);margin-left:4px;font-weight:500}
.ps-cima{left:50%;top:-14px;transform:translate(-50%,-100%)}
.ps-baixo{left:50%;bottom:-14px;transform:translate(-50%,100%)}
/* faces laterais: o rótulo corre ao longo da borda, por fora (não estoura a largura da tela) */
.ps-esquerda{left:0;top:50%;transform:translate(-50%,-50%) rotate(-90deg) translateY(calc(-50% - 10px))}
.ps-direita{left:100%;top:50%;transform:translate(-50%,-50%) rotate(90deg) translateY(calc(-50% - 10px))}
.ap-vx{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:opacity .3s}
.ap-vx span{width:14px;height:14px;border-radius:50%;background:var(--gold2);box-shadow:0 0 0 2px rgba(11,14,19,.35),0 0 14px rgba(233,207,157,.9)}
.ap-vx::before,.ap-vx::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid var(--gold2);animation:pulsa 2s ease-out infinite;opacity:0}
.ap-vx::after{animation-delay:1s}
.apto-tilt.mergulho .ps,.apto-tilt.mergulho .ap-vx{opacity:0}
/* planta do andar: sol nas quatro faces, por dentro da borda (as laterais correm ao longo dela) */
.and-ps.ps-cima{top:-6px;transform:translate(-50%,-100%)}
.and-ps.ps-baixo{bottom:-6px;transform:translate(-50%,100%)}
.and-ps.ps-esquerda{left:0;top:50%;transform:translate(-50%,-50%) rotate(-90deg) translateY(calc(-50% - 6px))}
.and-ps.ps-direita{left:100%;right:auto;top:50%;transform:translate(-50%,-50%) rotate(90deg) translateY(calc(-50% - 6px))}
/* condição de pagamento em linhas */
dl.cond{display:grid;gap:0;margin:6px 0 0;font-size:13px}
dl.cond div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line)}
dl.cond dt{color:var(--mute)}
dl.cond dd{margin:0;color:var(--ivory);font-weight:600}
.apto-card .btn.wa{margin-top:16px}
.mais .sol{margin:4px 0 10px}
.kv{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.kv div{padding:12px 0;border-bottom:1px solid var(--line)}
.kv div:nth-child(odd){padding-right:12px}
.kv span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.kv b{font:500 19px/1.3 var(--serif)}
.preco{margin:6px 0 4px;font:600 36px/1.1 var(--serif);color:var(--gold2)}
.cond{font-size:13px;color:var(--mute);margin:0 0 18px}
.cond b{color:var(--ivory);font-weight:600}
.acts{display:grid;gap:8px;margin:0 0 18px}
.btn{display:flex;align-items:center;justify-content:center;gap:9px;padding:14px;border-radius:4px;font-weight:600;font-size:13.5px;text-decoration:none;letter-spacing:.02em}
.btn.wa{background:#25a35a;color:#fff}.btn.wa svg{width:19px;height:19px;fill:#fff}
.btn.gold{background:var(--gold2);color:var(--night)}
.btn.ln{border:1px solid var(--line);color:var(--ivory)}
.btn.ln:hover{border-color:var(--gold2)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.obs{font-size:11.5px;color:#7d7770;margin:14px 0 0}

/* ROOFTOP */
#s-rooftop{background:radial-gradient(120% 90% at 50% 45%,#1b2333 0%,var(--night) 70%)}
.rt-plan{display:flex;align-items:center;justify-content:center;padding:90px 30px 30px}
.rt-plan img{max-height:84vh;max-width:100%;filter:drop-shadow(0 30px 60px rgba(0,0,0,.6))}
.rt-side{padding:96px 32px 30px;overflow:auto;background:linear-gradient(90deg,rgba(11,14,19,0),rgba(11,14,19,.85) 12%)}
.rt-side h2{font:500 54px/1.05 var(--serif);margin:0 0 6px}
.rt-side ol{padding-left:20px;color:var(--mute);margin:14px 0 20px}
.rt-side li{padding:4px 0}.rt-side li b{color:var(--ivory);font-weight:600}
.thumbs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.thumbs button{aspect-ratio:4/3;border-radius:4px;overflow:hidden;padding:0}
.thumbs img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.thumbs button:hover img{transform:scale(1.06)}

.rt-3d{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;cursor:grab;touch-action:none}
.rt-3d:active{cursor:grabbing}
.rt-3d canvas{display:block}
.rt-card{position:absolute;left:0;top:0;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold2);background:rgba(11,14,19,.6);padding:4px 9px;border-radius:999px;border:1px solid rgba(233,207,157,.3);white-space:nowrap;pointer-events:none}
.rt-pins{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}
/* só o círculo recebe o toque: o nome escondido ao lado ficava por cima de outro ponto (tocar no 3 abria o 5) */
.rt-pin{position:absolute;left:0;top:0;pointer-events:none;display:flex;align-items:center;gap:8px;margin:-17px 0 0 -17px;white-space:nowrap}
.rt-pin span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:600 16px/1 var(--serif);background:var(--gold2);color:var(--night);box-shadow:0 0 0 0 rgba(233,207,157,.7);animation:pulse 2s infinite;pointer-events:auto;cursor:pointer}
.rt-pin em{pointer-events:none;font-style:normal;font-size:12.5px;font-weight:600;background:rgba(11,14,19,.78);padding:5px 10px;border-radius:999px;border:1px solid rgba(233,207,157,.35);opacity:0;transform:translateX(-6px);transition:.25s}
.rt-pin:hover em,.rt-pin.on em{opacity:1;transform:none}
.rt-list{list-style:none;padding:0;margin:16px 0 18px;border-top:1px solid var(--line)}
.rt-list button{width:100%;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;text-align:left;padding:12px 2px;border-bottom:1px solid var(--line)}
.rt-list button:hover{background:rgba(233,207,157,.07)}
.rt-list span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--gold2);color:var(--night);font:600 14px/1 var(--serif)}
.rt-list b{font-weight:600}.rt-list em{font-style:normal;font-size:12px;color:var(--mute)}

.rt-bar{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:calc(100vw - 24px)}
.rt-back{position:absolute;left:26px;top:78px;z-index:3;margin:0}
.rt-chips{display:flex;gap:4px;padding:5px;background:rgba(11,14,19,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:999px;overflow-x:auto;max-width:100%;scrollbar-width:none}
.rt-chips button{display:flex;align-items:center;gap:7px;padding:6px 13px 6px 6px;border-radius:999px;font-size:13px;font-weight:500;white-space:nowrap}
.rt-chips button span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--gold2);color:var(--night);font:600 13px/1 var(--serif)}
.rt-chips button:hover{background:rgba(233,207,157,.12)}
.rt-chips .geral{padding:6px 13px;color:var(--mute)}
.rt-hint{margin:0;font-size:11.5px;letter-spacing:.06em;color:var(--mute);text-shadow:0 1px 8px #000}

/* GALERIA */
/* âncoras dos renders do living na planta do andar */
.vx{cursor:pointer;transition:opacity .3s}
.vx-c{fill:var(--gold2);stroke:rgba(11,14,19,.55);stroke-width:4}
.vx-s{fill:var(--gold2);stroke:rgba(11,14,19,.55);stroke-width:3}
.vx-p{pointer-events:none;fill:none;stroke:var(--gold2);stroke-width:5;transform-box:fill-box;transform-origin:center;animation:pulsa 2s ease-out infinite;opacity:0}
.vx-p.d{animation-delay:1s}
.vx-h{fill:transparent}
/* botão pulsante do vídeo da entrada (sobre a fachada) */
.fac-play{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;z-index:2;display:grid;place-items:center;cursor:pointer}
.fac-play[hidden]{display:none}
.fac-play span{width:14px;height:14px;border-radius:50%;background:var(--gold2);box-shadow:0 0 0 2px rgba(11,14,19,.35),0 0 14px rgba(233,207,157,.9)}
.fac-play::before,.fac-play::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid var(--gold2);animation:pulsa 2s ease-out infinite;opacity:0}
.fac-play::after{animation-delay:1s}
@keyframes pulsa{0%{transform:scale(.45);opacity:.9}100%{transform:scale(2.3);opacity:0}}
.vid{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:transparent}
.vid[hidden]{display:none}
/* vídeo e render cobrem a tela inteira (no celular: altura toda, cortando os lados) */
.vid-quadro{position:absolute;left:0;top:0;transform-origin:0 0}
.vid video,.vid-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}
.vid-img{opacity:0;pointer-events:none}
.vid-voltar{position:absolute;left:50%;bottom:clamp(22px,6vh,56px);transform:translateX(-50%);z-index:2;padding:12px 28px;border-radius:999px;font-size:14px;font-weight:600;letter-spacing:.04em;color:var(--ivory);background:rgba(11,14,19,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(233,207,157,.45)}
.gal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#000;display:flex;align-items:center;justify-content:center}
.gal[hidden]{display:none}
.gal.funde .gal-x,.gal.funde .gal-nav,.gal.funde .gal-cap,.gal.funde .gal-tabs{opacity:0;transition:opacity .3s}
.gal-img{max-width:100%;max-height:100%;object-fit:contain;transition:opacity .35s}
.gal-x{position:absolute;right:18px;top:12px;font-size:38px;z-index:2}
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:54px;padding:10px 18px;color:rgba(255,255,255,.8)}
.gal-nav.p{left:6px}.gal-nav.n{right:6px}
.gal-cap{position:absolute;left:24px;bottom:70px;font:500 30px/1.1 var(--serif);text-shadow:0 2px 20px #000}
.gal-tabs{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:4px;background:rgba(0,0,0,.5);padding:4px;border-radius:999px;max-width:calc(100vw - 24px);overflow:auto}
.gal-tabs button{padding:7px 13px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap}
.gal-tabs button.on{background:var(--ivory);color:#000}
.veil{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--night);opacity:0;pointer-events:none;z-index:20}

/* CELULAR */
@media (max-width:900px){
  .hud{padding:12px 14px}
  .logo img{height:36px}
  .hud-nav button{padding:7px 11px;font-size:12px}
  /* celular: só a dica de uso, embaixo, e some no primeiro toque (a tela fica para o prédio) */
  .fac-txt{bottom:22px;left:16px;right:16px;max-width:none;display:flex;justify-content:center}
  .fac-txt .kicker{display:none}
  .elev{right:10px}.elev button{width:40px;height:27px;font-size:12px}
  .fbtn{right:12px;bottom:16px;padding:11px 18px}
  .filtro{position:fixed;left:0;right:0;bottom:0;width:auto;max-height:80vh;border-radius:16px 16px 0 0;padding:16px 18px calc(18px + env(safe-area-inset-bottom))}
  .fac-card{left:16px!important;right:16px;width:auto;bottom:18px;top:auto!important}
  .and-plan{right:0;bottom:34vh;padding:64px 12px 6px}
  .and-vazio{right:0;padding-top:64px}
  .and-side{top:auto;height:auto;max-height:62vh;max-height:62dvh;width:auto;left:0;padding:12px 16px calc(14px + env(safe-area-inset-bottom));background:rgba(11,14,19,.94);border-top:1px solid var(--line);border-radius:14px 14px 0 0}
  .and-side h2{font-size:26px}
  .and-hd{margin-bottom:6px}
  .ul li button{padding:8px 2px}
  .floors{display:grid;grid-template-columns:repeat(11,1fr);gap:3px;margin-top:10px}
  .floors button{min-width:0;padding:6px 0;font-size:11.5px}
  .apto-stage{right:0;bottom:42vh;bottom:42dvh;top:56px}
  .apto-tilt img{max-height:42vh;max-width:70vw}
  .ps{font-size:9.5px;padding:2px 7px}
  .apto-card{top:auto;height:42vh;height:42dvh;width:auto;left:0;padding:14px 18px calc(18px + env(safe-area-inset-bottom));background:rgba(11,14,19,.95);border-top:1px solid var(--line);border-radius:14px 14px 0 0}
  .apto-card h2{font-size:30px}
  .ap-tit{margin-top:8px}
  .ap-tit .preco{font-size:22px}
  .apto-card p.cond{font-size:11.5px}
  #s-rooftop{display:block}
  .rt-bar{bottom:14px;left:12px;right:12px;transform:none}
  .rt-back{left:14px;top:62px}
  /* celular: pontos em duas linhas, menores; a pessoa toca no mapa ou aqui embaixo */
  .rt-chips{flex-wrap:wrap;justify-content:center;border-radius:16px;overflow:visible;gap:2px;padding:5px}
  .rt-chips button{font-size:11.5px;padding:4px 9px 4px 4px;gap:5px}
  .rt-chips button span{width:19px;height:19px;font-size:11px}
  .rt-chips .geral{padding:4px 9px}
  .rt-hint{display:none}
  .rt-plan{padding:70px 12px 10px}.rt-plan img{max-height:46vh}
  .rt-side{padding:10px 18px 30px;background:none}
  .gal-cap{font-size:24px;bottom:64px;left:14px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/*CD-INICIO*/
:root{--cd-origem:'CD-DHA-66EB9E7DB0E9'}
.cd-m{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;pointer-events:none;opacity:.012;background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%27420%27%20height=%27230%27%3E%3Ctext%20x=%27-10%27%20y=%27130%27%20transform=%27rotate(-24%20210%20115)%27%20font-family=%27Arial%27%20font-size=%2715%27%20fill=%27%23808080%27%3E©%202026%20Costa%20Dorata%20·%20Doha%20Exclusive%20Living%20(experiência%20de%20vendas)%20·%20CD-DHA-66EB9E7DB0E9%3C/text%3E%3C/svg%3E")}
/*CD-FIM*/
