/* Estilos do site-base. As cores e tipos de letra vêm de configuracao.json (bloco TEMA abaixo, escrito pelo gerar-site.py). */
:root{
  --fundo:#FBFBFA; --fundo-2:#F2F2F0; --linha:#E3E3E0; --texto:#0A0A0A; --suave:#5E5E5C;
  --acento:#0A0A0A; --acento-escuro:#0A0A0A; --botao:#0A0A0A; --botao-hover:#2A2A2A; --sobre-botao:#FFFFFF;
  --display:"Space Grotesk","Helvetica Neue",Arial,sans-serif;
  --sans:"Inter","Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --wrap:1200px;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--fundo);color:var(--texto);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--botao);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.02em;text-wrap:balance;margin:0}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.cota{font:500 12px/1.4 var(--mono);color:var(--suave);letter-spacing:.02em}
.eyebrow{font:600 12px/1 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--acento-escuro)}

/* Header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--fundo) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--linha)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.logo{font:600 22px/1 var(--display);letter-spacing:-.02em;text-decoration:none;display:flex;align-items:center;gap:10px}
.logo i{display:inline-grid;grid-template-columns:repeat(4,3px);gap:2px;height:20px}
.logo i b{background:var(--acento);display:block}
nav.main{display:flex;gap:4px;flex-wrap:wrap}
nav.main a{text-decoration:none;font-weight:500;font-size:15px;padding:8px 12px;border-radius:999px;color:var(--suave)}
nav.main a:hover{color:var(--texto)}
nav.main a[aria-current="page"]{color:var(--texto);background:var(--fundo-2)}
.menu-btn{display:none;background:none;border:1px solid var(--linha);border-radius:999px;padding:8px 14px;font:500 14px var(--sans);color:var(--texto);cursor:pointer}
@media (max-width:760px){
  .menu-btn{display:block}
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--fundo);border-bottom:1px solid var(--linha);padding:8px 16px 16px;flex-direction:column}
  nav.main.open{display:flex}
  nav.main a{padding:12px}
}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font:600 15px/1 var(--sans);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .2s}
.btn-primary{background:var(--botao);color:var(--sobre-botao)}
.btn-primary:hover{background:var(--botao-hover)}
.btn-ghost{border-color:var(--texto);color:var(--texto);background:transparent}
.btn-ghost:hover{background:var(--fundo-2)}

section{padding-block:clamp(56px,9vw,104px)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.sec-head h2{font-size:clamp(30px,4.4vw,46px);line-height:1.05;max-width:18ch}
.sec-head p{max-width:46ch;color:var(--suave)}
.alt{background:var(--fundo-2)}

/* Hero */
.hero{padding-block:clamp(40px,7vw,88px) clamp(48px,7vw,96px)}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,72px);align-items:center}
.hero h1{font-size:clamp(42px,6.6vw,84px);line-height:.98;margin:18px 0 22px}
.hero h1 em{font-style:normal;color:var(--acento-escuro)}
.hero .lead{font-size:19px;line-height:1.55;color:var(--suave);max-width:44ch}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero-art{position:relative}
.hero-foto{aspect-ratio:4/5;max-height:560px;width:100%;overflow:hidden;background:var(--fundo-2)}
.hero-foto img{width:100%;height:100%;object-fit:cover;display:block}
.hero-bloco{aspect-ratio:4/5;max-height:560px;background:repeating-linear-gradient(90deg,var(--acento) 0 22px,var(--acento-escuro) 22px 26px)}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.hero-art{max-width:420px}}

/* Services list */
.servicos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-top:1px solid var(--texto)}
.serv{display:flex;flex-direction:column;gap:10px;padding:24px 20px 28px 0;border-bottom:1px solid var(--linha);text-decoration:none}
.serv h3{font-size:22px;line-height:1.2}
.serv p{color:var(--suave);font-size:15px}
.serv .cota{margin-top:auto;color:var(--acento-escuro)}
.serv:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}

/* Portfolio grid */
.filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.chip{font:500 14px/1 var(--sans);padding:10px 14px;border-radius:4px;border:1px solid var(--linha);background:transparent;color:var(--texto);cursor:pointer}
.chip:hover{border-color:var(--texto)}
.chip[aria-pressed="true"]{background:var(--texto);color:var(--fundo);border-color:var(--texto)}
.chip small{font:500 11px var(--mono);opacity:.7;margin-left:6px}
/* Process */
.passos{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;counter-reset:p}
.passos li{counter-increment:p;padding:24px 24px 24px 0;border-top:1px solid var(--texto);display:flex;flex-direction:column;gap:10px;min-width:0}
.passos li::before{content:counter(p,decimal-leading-zero);font:500 12px var(--mono);color:var(--acento-escuro)}
.passos h3{font-size:20px}
.passos p{color:var(--suave);font-size:15px}

/* FAQ tabs */
.tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--linha);margin-bottom:8px}
.tab{background:none;border:0;border-bottom:2px solid transparent;padding:12px 4px;margin-right:18px;font:500 15px var(--sans);color:var(--suave);cursor:pointer}
.tab[aria-selected="true"]{color:var(--texto);border-bottom-color:var(--acento-escuro)}
details{border-bottom:1px solid var(--linha)}
summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font:600 18px/1.35 var(--sans);position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:16px;font:400 26px var(--display);color:var(--acento-escuro)}
details[open] summary::after{content:"–"}
details p{padding:0 0 22px;color:var(--suave);max-width:68ch}
.faq-wrap{max-width:860px}

/* CTA band */
.band{background:var(--acento);color:var(--texto)}
.band .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-block:56px}
.band h2{font-size:clamp(28px,4vw,42px);max-width:20ch}
.band .btn-ghost:hover{background:rgba(255,255,255,.25)}

/* About */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
.about-grid .txt{display:flex;flex-direction:column;gap:18px;font-size:17px;max-width:60ch;min-width:0}
.valores{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px}
.valores div{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--linha);padding-top:20px}
.valores h3{font-size:20px}
.valores p{color:var(--suave)}
.page-hero{padding-block:clamp(48px,8vw,96px) 24px}
.page-hero h1{font-size:clamp(40px,6vw,72px);line-height:1;margin-top:16px;max-width:16ch}
.page-hero p{margin-top:20px;font-size:19px;color:var(--suave);max-width:52ch}
@media (max-width:760px){.about-grid{grid-template-columns:1fr}}

/* Contacts */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.card{background:var(--fundo);border:1px solid var(--linha);padding:28px;display:flex;flex-direction:column;gap:12px;min-width:0}
.card .val{font:600 22px/1.3 var(--display);word-break:break-word;user-select:all}
.card .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.small-btn{font:500 13px var(--sans);padding:8px 12px;border:1px solid var(--linha);border-radius:4px;background:transparent;color:var(--texto);cursor:pointer;text-decoration:none}
.small-btn:hover{border-color:var(--texto)}
.horario{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.horario td{padding:10px 0;border-bottom:1px solid var(--linha)}
.horario td:last-child{text-align:right;font-family:var(--mono);font-size:14px}
.perguntas{display:flex;flex-direction:column;gap:8px}
.perguntas a{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--linha);text-decoration:none;font-weight:500;background:var(--fundo)}
.perguntas a:hover{border-color:var(--botao);color:var(--botao)}
.ph-text{background:var(--fundo-2);padding:0 6px;border-radius:4px}

/* Footer */
footer{border-top:1px solid var(--linha);padding-block:40px}
footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;color:var(--suave);font-size:14px}
footer nav{display:flex;gap:16px;flex-wrap:wrap}

/* WhatsApp */
.wa-fab{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;gap:10px;background:var(--botao);color:var(--sobre-botao);border:0;border-radius:999px;padding:14px 20px;font:600 15px var(--sans);cursor:pointer;box-shadow:0 8px 24px rgba(34,32,29,.22)}
.wa-fab:hover{background:var(--botao-hover)}
.wa-fab svg{width:22px;height:22px}
.wa-pop{position:fixed;right:20px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:40;width:min(360px,calc(100vw - 40px));background:var(--fundo);border:1px solid var(--linha);box-shadow:0 18px 50px rgba(34,32,29,.2)}
.wa-pop header{background:var(--botao);color:var(--sobre-botao);padding:18px 20px}
.wa-pop header strong{font:600 18px var(--display);display:block}
.wa-pop header span{font-size:13px;opacity:.9}
.wa-pop .perguntas{padding:16px}
.wa-pop .perguntas a{font-size:14px}

/* Lightbox */
.lb{position:fixed;inset:0;z-index:60;background:var(--fundo);display:grid;grid-template-rows:auto 1fr auto;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px))}
.lb-top{display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:1100px;width:100%;margin:0 auto}
.lb-stage{display:flex;align-items:center;justify-content:center;min-height:0;padding:16px 0}
.lb-stage img,.lb-stage svg{max-height:100%;max-width:min(100%,1000px);width:auto;height:100%;object-fit:contain;display:block}
.lb-nav{display:flex;justify-content:center;gap:12px}
.toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--texto);color:var(--fundo);padding:10px 16px;font-size:14px;z-index:70}

/* Acessibilidade e formulário de pedido de orçamento */
.skip{position:absolute;left:-9999px;top:0;background:var(--texto);color:var(--fundo);padding:10px 16px;z-index:100}
.skip:focus{left:8px;top:8px}
.form-card{background:var(--fundo);border:1px solid var(--linha);padding:clamp(20px,4vw,36px);display:grid;gap:18px;max-width:760px}
.form-card h2{font-size:clamp(26px,3.4vw,34px)}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font:600 14px var(--sans)}
.field label small{font-weight:400;color:var(--suave)}
.field input,.field select,.field textarea{font:400 16px var(--sans);color:var(--texto);background:#fff;border:1px solid var(--linha);border-radius:4px;padding:12px 14px;width:100%}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--botao)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{font-size:13px;color:var(--suave)}
.form-status{padding:14px 16px;border:1px solid var(--linha);background:var(--fundo-2)}
.form-status.ok{border-color:var(--botao)}
.form-status a{font-weight:600}
.btn[disabled]{opacity:.6;cursor:wait}
.legal{max-width:760px}
.legal h2{font-size:24px;margin:32px 0 10px}
.legal p,.legal li{color:var(--suave);margin-bottom:10px}
.legal ul{padding-left:20px}

/* Portfólio em galeria (blocos por projeto, sem aspeto de loja) */
.projeto{padding-block:32px;border-bottom:1px solid var(--linha);display:grid;gap:16px}
.projeto[hidden]{display:none}
.projeto__head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.projeto__head h2{font-size:clamp(22px,2.6vw,28px)}
.tag{display:inline-block;padding:3px 10px;border:1px solid var(--acento-escuro);color:var(--acento-escuro);font:600 11px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.1em}
.galeria{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.foto{padding:0;border:1px solid var(--linha);background:var(--fundo-2);cursor:zoom-in;overflow:hidden;aspect-ratio:16/10}
.foto img,.foto svg{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.foto:hover img,.foto:hover svg{transform:scale(1.04)}
.destaques{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.destaque{position:relative;display:block;aspect-ratio:16/10;border:1px solid var(--linha);overflow:hidden;background:var(--fundo-2);text-decoration:none}
.destaque img,.destaque svg{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.destaque:hover img,.destaque:hover svg{transform:scale(1.04)}
.destaque span{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;color:#fff;font:600 15px var(--sans);background:linear-gradient(transparent,rgba(0,0,0,.6))}
@media (max-width:520px){.galeria{grid-template-columns:1fr}}

/* Logótipo em imagem e marcador de foto em falta */
.logo img{height:34px;width:auto;display:block}
.foto-falta{width:100%;height:100%;display:grid;place-items:center;background:var(--fundo-2);color:var(--suave);font:500 12px var(--mono);text-align:center;padding:8px}

/* Persa: look preto e branco */
.hero h1 em{text-decoration:none}
.hero-foto{background:#000}
.logo img{height:30px}
.band{background:#000;color:#fff}
.band .btn-primary{background:#fff;color:#000}.band .btn-primary:hover{background:#e6e6e6}
.band .btn-ghost{border-color:#fff;color:#fff}.band .btn-ghost:hover{background:#222}
footer{border-top:1px solid var(--linha)}
.serv{padding-right:28px}
.serv h3::before{content:"";display:block;width:28px;height:3px;background:var(--texto);margin-bottom:16px}

/* Planos */
.criacao{display:flex;gap:24px 48px;align-items:center;flex-wrap:wrap;border:1px solid var(--texto);padding:24px 28px;margin-bottom:32px}
.criacao div{display:flex;flex-direction:column;gap:4px}
.criacao strong{font:600 clamp(36px,5vw,52px)/1 var(--display);letter-spacing:-.03em}
.criacao small{color:var(--suave)}
.criacao p{color:var(--suave);max-width:52ch;flex:1 1 280px}
.planos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;align-items:stretch}
.plano{position:relative;display:flex;flex-direction:column;gap:14px;border:1px solid var(--linha);padding:28px 24px;background:var(--fundo)}
.plano h3{font-size:26px}
.plano-dest{background:#000;color:#fff;border-color:#000}
.plano-dest .cota,.plano-dest .plano-desc,.plano-dest .plano-preco span{color:#bdbdbd}
.plano-selo{position:absolute;top:-1px;right:-1px;background:#fff;color:#000;border:1px solid #000;font:600 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:8px 10px}
.plano-preco{display:flex;align-items:baseline;gap:6px}
.plano-preco strong{font:600 44px/1 var(--display);letter-spacing:-.03em}
.plano-preco span{color:var(--suave)}
.plano-desc{color:var(--suave);font-size:15px;min-height:3em}
.plano ul{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:10px;flex:1}
.plano li{position:relative;padding-left:24px;font-size:15px;line-height:1.4}
.plano li::before{position:absolute;left:0;top:0;font-weight:700}
.plano li.sim::before{content:"✓"}
.plano li.nao{color:var(--suave);text-decoration:line-through;text-decoration-color:#bbb}
.plano li.nao::before{content:"–";font-weight:400}
.plano-dest li.nao{color:#8a8a8a}
.plano .btn{justify-content:center}
.plano-dest .btn-primary{background:#fff;color:#000}.plano-dest .btn-primary:hover{background:#e6e6e6}
.plano-notas{margin:32px 0 0;padding-left:20px;color:var(--suave);font-size:14px;display:grid;gap:6px;max-width:80ch}

/* Persa: movimento */
.progresso{position:fixed;top:0;left:0;height:3px;width:100%;background:#000;transform:scaleX(0);transform-origin:0 50%;z-index:90}
html.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
html.js [data-reveal].in{opacity:1;transform:none}
html.js .hero h1 .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em}
html.js .hero h1 .w>span{display:inline-block;transform:translateY(110%);animation:sobe .9s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:var(--d,0s)}
@keyframes sobe{to{transform:none}}
.hero-foto{will-change:transform}
.hero-foto img{transform:scale(1.08);animation:zoom 1.6s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes zoom{to{transform:scale(1)}}
.marquee{overflow:hidden;background:#000;color:#fff;padding:18px 0;white-space:nowrap}
.marquee-in{display:inline-flex;gap:0;animation:corre 40s linear infinite}
.marquee span{font:600 clamp(18px,2.4vw,26px) var(--display);letter-spacing:-.01em;padding-right:28px}
.marquee span::after{content:"/";margin-left:28px;opacity:.4}
@keyframes corre{to{transform:translateX(-50%)}}
.sv-dark{background:#000;color:#fff}
.sv-dark .sec-head p{color:#a8a8a8}
.sv-lista{border-top:1px solid #333}
.sv-row{display:grid;grid-template-columns:70px 1.1fr 1fr;gap:12px 32px;align-items:baseline;padding:clamp(24px,4vw,44px) 0;border-bottom:1px solid #333;opacity:.28;transition:opacity .4s}
.sv-row.ativo{opacity:1}
.sv-n{font:500 13px var(--mono);color:#a8a8a8}
.sv-row h3{font-size:clamp(28px,4.6vw,56px);line-height:1;transition:transform .5s}
.sv-row.ativo h3{transform:translateX(10px)}
.sv-row p{color:#bdbdbd;font-size:16px;max-width:44ch}
@media (max-width:760px){.sv-row{grid-template-columns:40px 1fr}.sv-row p{grid-column:2}}
.plano{transition:transform .3s,box-shadow .3s}
.plano:hover{transform:translateY(-6px);box-shadow:0 18px 40px -22px rgba(0,0,0,.45)}
.btn{transition:background .2s,transform .2s}
.btn:hover{transform:translateY(-2px)}
.destaque img{transition:transform .6s}
@media (prefers-reduced-motion:reduce){
  html.js [data-reveal]{opacity:1;transform:none;transition:none}
  html.js .hero h1 .w>span{transform:none;animation:none}
  .hero-foto img{animation:none;transform:none}.marquee-in{animation:none}.sv-row{opacity:1}
}

/* Persa: portfólio em janelas */
.pj{display:grid;grid-template-columns:.8fr 1.5fr;gap:clamp(24px,5vw,72px);align-items:center;padding-block:clamp(40px,6vw,80px)}
.pj:nth-child(even){grid-template-columns:1.5fr .8fr}
.pj:nth-child(even) .pj-txt{order:2}
.pj-txt{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.pj-n{font:500 13px var(--mono);color:var(--suave)}
.pj-txt h2{font-size:clamp(40px,6vw,76px);line-height:.95}
.pj-txt p{color:var(--suave);max-width:36ch}
.pj-link{color:inherit;text-decoration:none;display:inline-flex;align-items:flex-start;gap:.12em}.pj-link span{font-size:.4em;margin-top:.35em;transition:transform .25s}.pj-link:hover span,.pj-link:focus-visible span{transform:translate(3px,-3px)}
.pj-vis{position:relative;padding-bottom:40px}
.bw{border:1px solid #000;background:#000;box-shadow:0 30px 60px -30px rgba(0,0,0,.5);border-radius:10px;overflow:hidden}
.bw .bar,.ph .bar{display:flex;gap:6px;padding:10px 12px;background:#000}
.bar i{width:9px;height:9px;border-radius:50%;background:#fff;display:block}
.vp{overflow:hidden;background:#fff;aspect-ratio:16/10;position:relative}
.vp img{display:block;width:100%;height:auto;transform:translateY(0)}
.pj.in .vp img{animation:rola var(--t,12s) ease-in-out 1s infinite alternate}
.pj-vis:hover .vp img{animation-play-state:paused}
@keyframes rola{to{transform:translateY(calc(-1*var(--dist,0px)))}}
.ph{position:absolute;right:-12px;bottom:0;width:clamp(100px,17%,170px);border:1px solid #000;background:#000;border-radius:18px;overflow:hidden;box-shadow:0 24px 50px -20px rgba(0,0,0,.6)}
.pj:nth-child(even) .ph{right:auto;left:-12px}
.ph .bar{justify-content:center;padding:7px}.ph .bar i:not(:first-child){display:none}
.ph .vp{aspect-ratio:9/17}
@media (max-width:860px){.pj,.pj:nth-child(even){grid-template-columns:1fr}.pj:nth-child(even) .pj-txt{order:0}.ph{right:4px}.pj:nth-child(even) .ph{left:4px}}
@media (prefers-reduced-motion:reduce){.pj.in .vp img{animation:none}}

/* Persa: contactos em conversa */
.so-leitor{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ct-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,5vw,64px);align-items:start}
.chat{background:#000;color:#fff;padding:clamp(24px,4vw,48px);min-height:460px;display:flex;flex-direction:column;gap:22px;position:relative}
.chat-topo{display:flex;align-items:center;gap:16px;min-height:28px}
.chat-volta{background:none;border:0;color:#fff;font:500 14px var(--sans);cursor:pointer;padding:4px 0;opacity:.8}
.chat-volta:hover{opacity:1}
.chat-prog{display:flex;gap:6px;flex:1}
.chat-prog i{height:3px;flex:1;background:#333;display:block;transition:background .4s}
.chat-prog i.on{background:#fff}
.chat .cota{color:#a8a8a8}
.passos-chat{flex:1;display:flex;flex-direction:column}
.passo{display:flex;flex-direction:column;gap:20px;animation:entra .45s cubic-bezier(.2,.7,.2,1)}
@keyframes entra{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.passo h2{font-size:clamp(28px,4vw,46px);line-height:1.05}
.passo h2 small{font:400 16px var(--sans);color:#a8a8a8;letter-spacing:0}
.ops{display:grid;gap:10px}
.op{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;padding:18px 20px;border:1px solid #444;background:transparent;color:#fff;font:600 18px var(--sans);cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.op:hover,.op.sel{background:#fff;color:#000;border-color:#fff}
.op i{font-style:normal;transition:transform .25s}.op:hover i{transform:translateX(5px)}
.chat .field input,.chat .field textarea{background:transparent;border:0;border-bottom:2px solid #555;border-radius:0;color:#fff;font:500 clamp(20px,2.6vw,28px) var(--sans);padding:12px 0}
.chat .field input:focus,.chat .field textarea:focus{border-color:#fff;outline:none}
.chat .field textarea{min-height:100px;font-size:18px;border:2px solid #444;padding:12px;margin-top:8px}
.chat .field input::placeholder,.chat .field textarea::placeholder{color:#777}
.chat .btn-primary{background:#fff;color:#000;align-self:flex-start}.chat .btn-primary:hover{background:#e0e0e0}
.chat .form-status{background:#121212;border-color:#333;color:#fff}.chat a{color:#fff}
.chat .form-note{color:#a8a8a8;margin-top:auto}
.chat.feito .passos-chat,.chat.feito .chat-topo .chat-prog{display:none}
.ct-lado{display:flex;flex-direction:column;gap:20px}
.ct-lado h2{font-size:clamp(26px,3.2vw,36px)}
.ct-lista{display:grid;gap:0;border-top:1px solid var(--texto)}
.ct-item{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--linha)}
.ct-item .val{font:600 clamp(20px,2.4vw,26px)/1.2 var(--display);letter-spacing:-.02em;word-break:break-word}
.ct-item .row{display:flex;gap:10px;flex-wrap:wrap}
.ct-lado .horario{font-size:14px}
@media (max-width:860px){.ct-grid{grid-template-columns:1fr}.chat{min-height:0}}
@media (prefers-reduced-motion:reduce){.passo{animation:none}}
.chat.feito #chatNum{display:none}
.chat.feito .form-status{font:600 clamp(22px,3vw,32px)/1.2 var(--display);padding:28px;border-color:#fff}

/* Persa: seletor de idioma */
html.i18n-pend body{visibility:hidden}
.top .wrap nav.main{order:2}
.lang{order:3;display:flex;gap:2px;border:1px solid var(--linha);border-radius:999px;padding:3px;margin-left:12px}
.lang button{border:0;background:transparent;color:var(--suave);font:600 12px/1 var(--sans);letter-spacing:.06em;padding:7px 9px;border-radius:999px;cursor:pointer}
.lang button:hover{color:var(--texto)}
.lang button[aria-pressed="true"]{background:#000;color:#fff}
@media (max-width:760px){.lang{order:1;margin-left:auto;margin-right:8px}.menu-btn{order:2}}
@media (max-width:520px){
  .top .wrap{gap:8px}
  .logo img{height:22px}
  .lang{margin-right:0;padding:2px}
  .lang button{padding:6px 7px;font-size:11px}
  .menu-btn{padding:7px 12px;font-size:13px}
}

/* Persa: deslize suave (estilo iPhone) */
.pill{position:absolute;left:0;top:0;border-radius:999px;pointer-events:none;z-index:0;transition:transform .55s cubic-bezier(.32,1.25,.4,1),width .55s cubic-bezier(.32,1.25,.4,1),height .3s,opacity .2s;will-change:transform,width}
@media (min-width:761px){nav.main.tem-pill{position:relative}}
nav.main .pill{background:var(--fundo-2)}
nav.main.tem-pill a{position:relative;z-index:1;transition:color .3s}
@media (min-width:761px){nav.main.tem-pill a[aria-current="page"]{background:transparent}}
@media (max-width:760px){nav.main .pill{display:none}}
.lang.tem-pill{position:relative}
.lang .pill{background:#000;box-shadow:0 2px 8px -2px rgba(0,0,0,.4)}
.lang.tem-pill button{position:relative;z-index:1;transition:color .3s,transform .2s}
.lang.tem-pill button[aria-pressed="true"]{background:transparent;color:#fff}
.lang button:active,.menu-btn:active,nav.main a:active{transform:scale(.93)}
.menu-btn{transition:transform .2s,background .2s}
@media (prefers-reduced-motion:reduce){.pill{transition:none}}

/* PÁGINA INICIAL (v2): pilha de janelas, números, porquê, resumo de planos */
.stack{position:relative;width:100%;max-width:560px;aspect-ratio:1/1.02;margin-inline:auto}
.st{position:absolute;margin:0;width:76%;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 30px 60px -28px rgba(0,0,0,.5);border:1px solid #111}
.st img{display:block;width:100%;height:auto}
.st-bar{display:flex;gap:6px;align-items:center;background:#000;height:26px;padding-left:12px}.st-bar i{width:8px;height:8px;border-radius:50%;background:#fff}
.st1{top:0;left:0;z-index:1;transform:rotate(-3deg)}.st2{top:25%;right:0;z-index:2;transform:rotate(3deg)}.st3{bottom:2%;left:5%;z-index:3;transform:rotate(-1.5deg)}
.st-selo{position:absolute;right:2%;bottom:10%;z-index:4;background:#000;color:#fff;font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:12px 16px;border-radius:999px;box-shadow:0 12px 30px -12px rgba(0,0,0,.5)}
html.js .st,html.js .st-selo{animation:entra .9s cubic-bezier(.2,.7,.2,1) both,flutua 6s ease-in-out 1.2s infinite alternate}
html.js .st1{animation-delay:.1s,1.2s}html.js .st2{animation-delay:.3s,2.2s}html.js .st3{animation-delay:.5s,3.2s}html.js .st-selo{animation-delay:.8s,2.7s}
@keyframes entra{from{opacity:0;translate:0 40px}to{opacity:1;translate:0 0}}
@keyframes flutua{from{translate:0 0}to{translate:0 -12px}}
.nums-sec{padding-block:clamp(36px,6vw,64px)}
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.num{display:flex;flex-direction:column;gap:6px;border-left:1px solid var(--linha);padding-left:20px;min-width:0}
.num strong{font:600 clamp(40px,6vw,72px)/1 var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.num span{color:var(--suave);font-size:15px}
@media (max-width:760px){.nums{grid-template-columns:repeat(2,1fr);gap:28px 16px}}
.destaques{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.dw{display:flex;flex-direction:column;border:1px solid #111;border-radius:14px;overflow:hidden;background:var(--fundo);text-decoration:none;color:var(--texto);transition:transform .35s,box-shadow .35s}
.dw:hover{transform:translateY(-6px);box-shadow:0 24px 50px -28px rgba(0,0,0,.55)}
.dw img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top;transition:transform .6s}.dw:hover img{transform:scale(1.04)}
.dw>.st-bar{position:relative;z-index:1}
.dw-info{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-top:1px solid var(--linha);background:var(--fundo)}
.dw-info strong{display:block;font:600 20px/1.2 var(--display)}.dw-info span{color:var(--suave);font-size:14px}
.dw-info em{font:600 14px var(--sans);font-style:normal;white-space:nowrap}.dw-info em b{display:inline-block;transition:transform .25s}.dw:hover em b{transform:translateX(5px)}
.pqs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.pq{border:1px solid var(--linha);padding:28px 24px;display:flex;flex-direction:column;gap:12px;min-width:0;transition:transform .3s,border-color .3s}
.pq:hover{transform:translateY(-5px);border-color:#000}
.pq-ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#000;color:#fff}
.pq-ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pq h3{font-size:22px}.pq p{color:var(--suave);font-size:15px}
.planos-mini{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.plano-mini{text-decoration:none;color:inherit;gap:10px}.plano-mini.plano-dest{color:#fff}
.plano-mini .plano-desc{min-height:3em}
.mini-mais{margin-top:auto;padding-top:8px;font:600 14px var(--sans)}.mini-mais b{display:inline-block;transition:transform .25s}.plano-mini:hover .mini-mais b{transform:translateX(5px)}
@media (prefers-reduced-motion: reduce){html.js .st,html.js .st-selo{animation:none}}

/* Showcase da página inicial: lista de projetos + janela grande que muda */
.destaques.sc{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,72px);align-items:center}
.sc-lista{list-style:none;margin:0;padding:0;border-top:1px solid var(--linha)}
.sc-b{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:44px 1fr;gap:2px 8px;align-items:baseline;width:100%;padding:22px 0;border-bottom:1px solid var(--linha);position:relative;opacity:.38;transition:opacity .35s}
.sc-b:hover,.sc-b.on{opacity:1}.sc-b:focus-visible{outline:2px solid #000;outline-offset:2px}
.sc-n{font:500 13px var(--mono);color:var(--suave);grid-row:1}
.sc-b strong{font:600 clamp(30px,4.4vw,52px)/1 var(--display);letter-spacing:-.03em;grid-column:2;transition:transform .4s}
.sc-b.on strong{transform:translateX(8px)}
.sc-c{grid-column:2;color:var(--suave);font-size:14px;padding-top:6px}
.sc-b::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:#000}
.sc-b.on::after{animation:prog 6s linear forwards}
@keyframes prog{to{width:100%}}
.sc-vis{display:grid;min-width:0}
.sc-slide{grid-area:1/1;display:block;position:relative;opacity:0;visibility:hidden;transform:translateY(14px) scale(.985);transition:opacity .6s,transform .6s,visibility .6s;text-decoration:none;padding-bottom:40px}
.sc-slide.on{opacity:1;visibility:visible;transform:none}
.sc-slide.on .vp img{animation:rola var(--t,12s) ease-in-out .6s infinite alternate}
.sc-slide:hover .vp img{animation-play-state:paused}
@media (max-width:860px){.destaques.sc{grid-template-columns:1fr}.sc-vis{order:-1}.sc-slide .ph{right:4px}}
@media (prefers-reduced-motion:reduce){.sc-b.on::after{animation:none;width:100%}.sc-slide.on .vp img{animation:none}}

/* Toque editorial: itálico serifado, barra de estado, índices de secção, marca gigante no rodapé */
.it{font-family:"Instrument Serif",Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;letter-spacing:-.01em;font-size:1.14em;color:inherit}
.hero h1 em.it{color:inherit}
.status{border-bottom:1px solid var(--linha)}
.status .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:11px;font:500 11px/1.2 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--suave)}
.status .wrap>span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.status b{font-weight:500;color:var(--texto);font-variant-numeric:tabular-nums}
.dot{width:8px;height:8px;border-radius:50%;background:#1fb35a;box-shadow:0 0 0 0 rgba(31,179,90,.5);animation:pulsa 2.2s infinite}
@keyframes pulsa{70%{box-shadow:0 0 0 9px rgba(31,179,90,0)}100%{box-shadow:0 0 0 0 rgba(31,179,90,0)}}
@media (max-width:640px){.status .wrap>span.st-meio{display:none}.status .wrap{letter-spacing:.07em;font-size:10px;gap:10px}.status .wrap>span{white-space:normal}}
.sec-idx{display:block;font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--suave);margin-bottom:16px}
.sv-dark .sec-idx{color:#a8a8a8}
.sec-head h2 .it,.band h2 .it{font-size:1.16em;line-height:.9}
.band h2{max-width:22ch}
.stack{perspective:1000px;transform:rotateY(calc(var(--mx,0)*7deg)) rotateX(calc(var(--my,0)*-6deg));transition:transform .25s ease-out;transform-style:preserve-3d}
footer .wrap{padding-bottom:0}
.foot-mark{--fs:clamp(96px,27vw,440px);font:700 var(--fs)/1 var(--display);letter-spacing:-.05em;text-align:center;color:#000;height:calc(var(--fs)*.74);overflow:hidden;white-space:nowrap;margin-top:36px;user-select:none}
@media (prefers-reduced-motion:reduce){.dot{animation:none}.stack{transform:none;transition:none}}

/* ===== Persa fase 1: início que se constrói (zero → esboço → design → no ar) ===== */
.obra{position:relative}
.obra-palco{position:relative;padding-block:clamp(36px,6vw,72px) 32px;overflow:hidden}
.pontos{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 75% 85% at 68% 48%,#000 35%,transparent 78%);mask-image:radial-gradient(ellipse 75% 85% at 68% 48%,#000 35%,transparent 78%)}
.obra-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,80px);align-items:center}
.obra .hero{padding:0}
.obra .hero h1{font-size:clamp(40px,min(6.3vw,9.4vh),84px)}
html.obra-pin .obra{height:265vh}
html.obra-pin .obra-palco{position:sticky;top:68px;height:calc(100vh - 68px);min-height:600px;display:flex;flex-direction:column;justify-content:center;padding-block:24px}

/* janela do browser que se constrói */
.obra-vis{position:relative;width:100%;max-width:560px;margin-inline:auto}
.bx{container-type:inline-size;position:relative;background:#fff;border:1px solid #0a0a0a;border-radius:14px;overflow:hidden;
  box-shadow:0 40px 80px -40px rgba(0,0,0,.45);transform:perspective(1300px) rotateY(calc(var(--mx,0)*9deg)) rotateX(calc(var(--my,0)*-7deg));
  transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .6s,box-shadow .8s}
.bx-bar{display:flex;align-items:center;gap:1.2cqw;height:7.2cqw;padding:0 2.4cqw;background:#0a0a0a;transition:background .6s}
.bx-bar>i{width:1.7cqw;height:1.7cqw;border-radius:50%;background:#fff;transition:background .6s}
.bx-url{flex:1;display:flex;align-items:center;gap:1cqw;margin-left:2cqw;height:4.4cqw;padding:0 2cqw;border-radius:99px;background:#1d1d1d;color:#d8d8d8;font:500 2.2cqw/1 var(--mono);letter-spacing:.02em;white-space:nowrap;overflow:hidden;transition:background .6s,color .6s}
.bx-lock{width:2.4cqw;height:2.4cqw;fill:none;stroke:currentColor;stroke-width:2.2;flex:none;opacity:0;margin-right:-3.4cqw;transition:opacity .5s,margin .5s}
.bx-caret{width:1px;height:2.6cqw;background:currentColor;animation:pisca 1s steps(1) infinite}
@keyframes pisca{50%{opacity:0}}
.bx-on{display:inline-flex;align-items:center;gap:1cqw;font:500 2cqw/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#fff;opacity:0;transform:translateX(6px);transition:opacity .5s,transform .5s}
.bx-on i{width:1.4cqw;height:1.4cqw;border-radius:50%;background:#2fd26b;box-shadow:0 0 0 0 rgba(47,210,107,.6);animation:onda 1.8s ease-out infinite}
@keyframes onda{to{box-shadow:0 0 0 1.6cqw rgba(47,210,107,0)}}
.bx-pg{position:relative;padding:4.4cqw 5cqw 5.4cqw}
.bx-grelha{position:absolute;inset:0 5cqw;display:grid;grid-template-columns:repeat(6,1fr);gap:2.4cqw;pointer-events:none;opacity:0;transition:opacity .6s}
.bx-grelha i{background:rgba(10,10,10,.035);border-inline:1px solid rgba(10,10,10,.05)}
.bx-nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:3cqw}
.bx-links{display:flex;gap:3cqw;margin-left:auto}
.bx-hero{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:4.4cqw;align-items:center;margin-top:7cqw}
.bx-txt{display:flex;flex-direction:column;align-items:flex-start;gap:2.4cqw}
.bx-cards{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:2.4cqw;margin-top:5.6cqw}

/* cada peça (.k): o texto real (b) pinta-se como barra cinzenta no esboço e passa a texto no design */
.k{position:relative;display:block;opacity:0;clip-path:inset(0 100% 0 0);
  transition:opacity .4s,clip-path .7s cubic-bezier(.65,0,.35,1),outline-color .5s,background-color .6s;transition-delay:calc(var(--k,0)*55ms);
  outline:1px dashed transparent;outline-offset:3px}
.k>b{font-weight:inherit;color:transparent;background:#e7e7e5;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.2em;transition:color .6s,background-color .6s;transition-delay:calc(var(--k,0)*45ms)}
.k-n{position:absolute;left:0;top:-2.9cqw;font:500 1.6cqw/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#8a8a88;white-space:nowrap;opacity:0;transition:opacity .4s}
.k-logo{font:700 3.6cqw/1 var(--display);letter-spacing:-.03em}
.k-l{font:500 2.3cqw/1 var(--sans)}
.k-nb{font:600 2.1cqw/1 var(--sans);padding:1.5cqw 2.6cqw;border-radius:99px}
.k-ey{font:500 1.8cqw/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.k-h{font:600 6.7cqw/1.02 var(--display);letter-spacing:-.035em}
.k-h em{font:400 1.08em/1 "Instrument Serif",Georgia,serif;font-style:italic;letter-spacing:-.01em}
.k-p{font:400 2.5cqw/1.45 var(--sans);max-width:30ch}
.k-cta{font:600 2.3cqw/1 var(--sans);padding:2cqw 3.4cqw;border-radius:99px;margin-top:1cqw}
.k-img{aspect-ratio:4/5;border-radius:1.6cqw;overflow:hidden}
.k-img .art{position:absolute;inset:0;background:#0d0d0d;opacity:0;transition:opacity .8s;transition-delay:.35s;border-radius:inherit;overflow:hidden}
.art .a1{position:absolute;left:14%;right:14%;bottom:-2%;height:62%;border-radius:50% 50% 0 0/38% 38% 0 0;background:linear-gradient(#3a3a3a,#1b1b1b)}
.art .a2{position:absolute;width:30%;aspect-ratio:1;left:35%;top:30%;border-radius:50%;background:#f1f1ef;box-shadow:0 0 40px rgba(255,255,255,.25)}
.art .a3{position:absolute;inset:auto 0 18% 0;height:1px;background:rgba(255,255,255,.18);box-shadow:0 -3cqw 0 rgba(255,255,255,.08),0 3cqw 0 rgba(255,255,255,.06)}
.k-c{height:12cqw;border-radius:1.4cqw;display:flex;align-items:flex-end;padding:1.8cqw;font:600 1.9cqw/1.1 var(--sans)}
.k-c::before{content:"";position:absolute;right:1.8cqw;top:1.8cqw;width:3.4cqw;aspect-ratio:1;border-radius:50%;background:#0a0a0a;opacity:0;transition:opacity .5s .4s}

/* FASE 0: só a janela vazia e o endereço a ser escrito */
.obra[data-fase="0"] .bx{border-style:dashed;border-color:#9a9a98;box-shadow:none}
.obra[data-fase="0"] .bx-bar,.obra[data-fase="1"] .bx-bar{background:#f1f1ef}
.obra[data-fase="0"] .bx-bar>i,.obra[data-fase="1"] .bx-bar>i{background:#cfcfcd}
.obra[data-fase="0"] .bx-url,.obra[data-fase="1"] .bx-url{background:#fff;color:#5e5e5c}
/* FASE 1: esboço (wireframe) */
.obra[data-fase="1"] .bx{border-style:dashed;border-color:#6d6d6b;box-shadow:0 30px 60px -40px rgba(0,0,0,.3)}
.obra:not([data-fase="0"]) .k{opacity:1;clip-path:inset(-4cqw -6px -6px -6px)}
.obra[data-fase="1"] .k{outline-color:#a4a4a2}
.obra[data-fase="1"] .k-n{opacity:1;transition-delay:calc(var(--k,0)*55ms + .3s)}
.obra[data-fase="1"] .bx-grelha{opacity:1}
.obra[data-fase="1"] .k-img{background:linear-gradient(to top right,transparent calc(50% - .6px),#b4b4b2 50%,transparent calc(50% + .6px)),linear-gradient(to top left,transparent calc(50% - .6px),#b4b4b2 50%,transparent calc(50% + .6px))}
.obra[data-fase="1"] .k-nb>b,.obra[data-fase="1"] .k-cta>b{background:transparent;color:transparent}
.obra[data-fase="1"] .k-c{background:transparent}
/* FASE 2 e 3: design real */
.obra[data-fase="2"] .k>b,.obra[data-fase="3"] .k>b{color:#0a0a0a;background-color:transparent}
.obra[data-fase="2"] .k-ey>b,.obra[data-fase="3"] .k-ey>b{color:#6b6b69}
.obra[data-fase="2"] .k-p>b,.obra[data-fase="3"] .k-p>b{color:#555553}
.obra[data-fase="2"] .k-nb,.obra[data-fase="3"] .k-nb,.obra[data-fase="2"] .k-cta,.obra[data-fase="3"] .k-cta{background:#0a0a0a}
.obra[data-fase="2"] .k-nb>b,.obra[data-fase="3"] .k-nb>b,.obra[data-fase="2"] .k-cta>b,.obra[data-fase="3"] .k-cta>b{color:#fff}
.obra[data-fase="2"] .art,.obra[data-fase="3"] .art{opacity:1}
.obra[data-fase="2"] .k-c,.obra[data-fase="3"] .k-c{background:#f2f2f0}
.obra[data-fase="2"] .k-c::before,.obra[data-fase="3"] .k-c::before{opacity:1}
/* FASE 3: no ar */
.obra[data-fase="3"] .bx{box-shadow:0 50px 100px -40px rgba(0,0,0,.55)}
.obra[data-fase="3"] .bx-lock{opacity:1;margin-right:0}
.obra[data-fase="3"] .bx-on{opacity:1;transform:none}
.obra[data-fase="3"] .bx-caret{display:none}
.obra[data-fase="3"] .art .a2{animation:sol 6s cubic-bezier(.4,0,.2,1) infinite alternate}
@keyframes sol{to{transform:translateY(-34%)}}
.obra-toast{position:absolute;z-index:3;display:flex;align-items:center;gap:12px;padding:12px 16px 12px 12px;background:#fff;border:1px solid var(--linha);border-radius:14px;box-shadow:0 20px 40px -18px rgba(0,0,0,.35);font-size:13px;line-height:1.25;white-space:nowrap;
  opacity:0;transform:translateY(14px) scale(.96);transition:opacity .5s,transform .6s cubic-bezier(.2,.9,.3,1.2);pointer-events:none}
.obra-toast strong{display:block;font-weight:600}
.obra-toast small{display:block;color:var(--suave);font:500 11px/1.3 var(--mono);margin-top:3px}
.obra-toast em{font-style:normal;color:var(--texto);font-variant-numeric:tabular-nums}
.tt-ic{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#0a0a0a;color:#fff;font:600 12px/1 var(--mono);flex:none}
.obra-toast.t1{left:-9%;top:73%}
.obra-toast.t2{right:-7%;bottom:-5%}
.obra[data-fase="3"] .obra-toast{opacity:1;transform:none}
.obra[data-fase="3"] .obra-toast.t1{transition-delay:.35s}
.obra[data-fase="3"] .obra-toast.t2{transition-delay:1.1s}

/* indicador das fases */
.obra-fases{position:relative;z-index:1;display:flex;align-items:center;gap:24px;margin-top:clamp(28px,5vh,56px);width:100%}
.obra-fases ol{display:flex;gap:clamp(14px,2.4vw,32px);list-style:none;margin:0;padding:0;flex:none}
.obra-fases li{display:flex;gap:8px;align-items:baseline;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#a3a3a1;cursor:pointer;transition:color .4s;white-space:nowrap}
.obra-fases li span{font-size:10px}
.obra-fases li.on{color:var(--texto)}
.obra-barra{flex:1;height:1px;background:var(--linha);position:relative;overflow:hidden;min-width:40px}
.obra-barra i{position:absolute;inset:0;background:var(--texto);transform-origin:0 50%;transform:scaleX(var(--p,0));transition:transform .2s linear}
.obra-dica{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--suave);display:inline-flex;gap:8px;align-items:center;white-space:nowrap;transition:opacity .4s}
.obra-dica::after{content:"↓";animation:desce 1.6s ease-in-out infinite}
@keyframes desce{50%{transform:translateY(4px)}}
.obra[data-fase="3"] .obra-dica{opacity:0}
html:not(.obra-pin) .obra-dica{display:none}

@media (max-width:860px){
  .obra-grid{grid-template-columns:1fr}
  .obra-vis{max-width:520px}
  .obra-toast.t1{left:-2%;top:72%}.obra-toast.t2{right:-2%;bottom:-7%}
  .obra-toast{font-size:12px;padding:10px 12px 10px 10px}.tt-ic{width:28px;height:28px}
  .obra-fases{margin-top:44px}
}
@media (max-width:420px){.obra-fases ol{gap:12px}.obra-fases li{letter-spacing:.06em;gap:5px}.obra-fases li span{display:none}}

/* cursor personalizado e botões magnéticos (só computador com rato) */
.cur{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;opacity:0;transition:opacity .25s}
html.cur-on .cur.ver{opacity:1}
.cur-ponto,.cur-anel{position:fixed;left:0;top:0;will-change:transform}
.cur-ponto i{position:absolute;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#fff}
.cur-ponto,.cur-anel{mix-blend-mode:difference}
.cur-anel b{position:absolute;display:flex;align-items:center;justify-content:center;width:38px;height:38px;transform:translate(-50%,-50%);border:1px solid #fff;border-radius:999px;color:transparent;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;
  transition:width .35s cubic-bezier(.2,.8,.2,1),height .35s cubic-bezier(.2,.8,.2,1),background-color .3s,border-color .3s,color .2s}
.cur.sobre .cur-anel b{width:58px;height:58px;background:rgba(255,255,255,.12)}
.cur.tem-txt .cur-anel{mix-blend-mode:normal}
.cur.tem-txt .cur-anel b{width:auto;height:36px;padding:0 16px;background:#0a0a0a;border-color:rgba(255,255,255,.3);color:#fff}
.cur.tem-txt .cur-ponto{opacity:0}
.cur.carrega .cur-anel b{width:30px;height:30px}
html.cur-on,html.cur-on body,html.cur-on a,html.cur-on button,html.cur-on summary,html.cur-on label,html.cur-on .obra-fases li,html.cur-on [data-cursor]{cursor:none}
html.cur-on input,html.cur-on textarea,html.cur-on select{cursor:auto}
html.mag .btn,html.mag .wa-fab{translate:var(--mgx,0px) var(--mgy,0px);transition:translate .45s cubic-bezier(.2,.8,.2,1),background .2s}
html.mag .btn:hover{transform:none}

@media (prefers-reduced-motion:reduce){
  .k,.k>b,.k-n,.bx,.obra-toast,.bx-on,.bx-lock,.art{transition:none!important}
  .bx-caret,.bx-on i,.obra-dica::after{animation:none}
  .obra[data-fase="3"] .art .a2{animation:none}
}

/* ===================== Persa v4 (ajustes do Leonardo, 2026-11-04) ===================== */
/* Letra: sem itálico serifado; a palavra de destaque fica em cinzento, na mesma letra */
.it{font-family:inherit;font-style:normal;font-weight:inherit;font-size:1em;letter-spacing:inherit;color:#9a9a97}
.sec-head h2 .it,.band h2 .it{font-size:1em;line-height:inherit}
.hero h1 em.it{color:#9a9a97}
.sv-dark .it,.cta-viva .it{color:#7b7b78}

/* Cabeçalhos de secção: texto por baixo do título (deixa de ficar "perdido" à direita) */
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;align-items:end;margin-bottom:48px}
.sec-head>div{grid-column:1;grid-row:1}
.sec-head>p{grid-column:1;grid-row:2;margin-top:16px;max-width:54ch;font-size:17px;line-height:1.55}
.sec-head>.btn{grid-column:2;grid-row:1/span 2;align-self:end}
.sec-head h2{max-width:20ch}
@media (max-width:640px){.sec-head{grid-template-columns:1fr}.sec-head>.btn{grid-column:1;grid-row:3;justify-self:start;margin-top:22px}}

/* Cartões com cantos mais suaves */
.plano,.pq,.card,.valores>div{border-radius:20px}

/* Processo: linha do tempo com números em círculo */
.passos{gap:16px;counter-reset:p}
.passos li{border-top:0;padding:0 8px 0 0;position:relative}
.passos li::before{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#0a0a0a;color:#fff;font:500 13px var(--mono);position:relative;z-index:1;margin-bottom:10px;box-shadow:0 0 0 6px var(--fundo-2)}
.passos li::after{content:"";position:absolute;top:22px;left:44px;right:-16px;height:1px;background:repeating-linear-gradient(90deg,#bdbdba 0 6px,transparent 6px 12px)}
.passos li:last-child::after{display:none}
@media (max-width:860px){.passos li::after{display:none}}

/* Serviços: cartões compactos */
section.sv-dark{padding-block:clamp(56px,7vw,92px)}
.sv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sv-card{background:#121212;border:1px solid #262626;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:10px;transition:background .3s,border-color .3s,transform .35s cubic-bezier(.2,.7,.2,1)}
.sv-card:hover{background:#181818;border-color:#3d3d3d;transform:translateY(-4px)}
.sv-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.sv-ic{width:42px;height:42px;border-radius:13px;background:#fff;color:#0a0a0a;display:grid;place-items:center}
.sv-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sv-n{font:500 12px var(--mono);color:#7d7d7a}
.sv-card h3{font-size:19px;line-height:1.2;color:#fff}
.sv-card p{font-size:14.5px;line-height:1.55;color:#a3a3a0}
@media (max-width:1000px){.sv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.sv-grid{grid-template-columns:1fr}}

/* Perguntas frequentes: duas colunas, separadores em comprimido, cartões que abrem */
.faq-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,96px);align-items:start}
.faq-lado{position:sticky;top:110px}
.faq-lado h2{font-size:clamp(30px,4.4vw,48px);line-height:1.04;max-width:12ch}
.faq-lado p{color:var(--suave);margin:18px 0 28px;max-width:34ch;font-size:17px}
.faq-main .tabs{display:inline-flex;gap:4px;padding:5px;background:#fff;border:1px solid var(--linha);border-radius:999px;margin-bottom:18px;flex-wrap:wrap}
.faq-main .tab{margin:0;padding:10px 18px;border:0;border-radius:999px;font:500 14px var(--sans);color:var(--suave);transition:background .25s,color .25s}
.faq-main .tab:hover{color:var(--texto)}
.faq-main .tab[aria-selected="true"]{background:#0a0a0a;color:#fff}
#faqPanel{display:grid;gap:10px;counter-reset:q}
#faqPanel details{background:#fff;border:1px solid var(--linha);border-radius:18px;transition:border-color .3s,box-shadow .3s}
#faqPanel details:hover{border-color:#cdcdca}
#faqPanel details[open]{border-color:#c4c4c1;box-shadow:0 22px 44px -30px rgba(0,0,0,.35)}
#faqPanel summary{display:flex;align-items:baseline;gap:16px;padding:22px 70px 22px 24px;font:600 17px/1.35 var(--sans)}
#faqPanel summary::before{counter-increment:q;content:counter(q,decimal-leading-zero);font:500 12px var(--mono);color:var(--suave);flex:none}
#faqPanel summary::after,#faqPanel details[open] summary::after{content:"+";position:absolute;right:20px;top:50%;width:32px;height:32px;margin-top:-16px;border-radius:50%;display:grid;place-items:center;background:var(--fundo-2);color:var(--texto);font:400 20px/1 var(--sans);transition:transform .35s cubic-bezier(.2,.7,.2,1),background-color .3s,color .3s}
#faqPanel details[open] summary::after{transform:rotate(45deg);background:#0a0a0a;color:#fff}
#faqPanel details p{padding:0 24px 24px 52px;max-width:none;animation:abre .4s cubic-bezier(.2,.7,.2,1)}
@keyframes abre{from{opacity:0;transform:translateY(-6px)}}
@media (max-width:860px){.faq-grid{grid-template-columns:1fr}.faq-lado{position:static}#faqPanel details p{padding-left:24px}}

/* Rodapé sem a marca gigante */
.foot-mark{display:none}
footer .wrap{padding-bottom:0}

/* Chamada final interativa */
.cta-viva{background:#0a0a0a;color:#fff;padding-block:clamp(64px,9vw,120px);overflow:hidden;position:relative}
.cta-viva::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 78% 50%,rgba(255,255,255,.07),transparent 70%);pointer-events:none}
.cv-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,6vw,96px);align-items:center}
.cta-viva .sec-idx{color:#8d8d8a}
.cv-txt h2{font-size:clamp(38px,5.4vw,70px);line-height:.98;letter-spacing:-.04em;margin:0 0 18px;max-width:13ch}
.cv-txt>p{color:#a9a9a6;font-size:17px;margin-bottom:24px}
.cv-campo{display:block;max-width:480px}
.cv-campo input{width:100%;background:#141414;border:1px solid #2f2f2f;border-radius:16px;padding:18px 20px;color:#fff;font:500 21px/1.2 var(--display);letter-spacing:-.01em;outline:none;transition:border-color .2s,background .2s}
.cv-campo input:focus{border-color:#fff;background:#181818}
.cv-campo input::placeholder{color:#5e5e5b}
.cv-tipos{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 30px}
.cv-chip{background:transparent;border:1px solid #343434;color:#cfcfcc;border-radius:999px;padding:9px 16px;font:500 14px var(--sans);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.cv-chip:hover{border-color:#777;color:#fff}
.cv-chip[aria-pressed="true"]{background:#fff;color:#0a0a0a;border-color:#fff}
.cv-btns{display:flex;gap:12px;flex-wrap:wrap}
.cta-viva .btn-primary{background:#fff;color:#0a0a0a}.cta-viva .btn-primary:hover{background:#e7e7e5}
.cta-viva .btn-ghost{border-color:#4a4a4a;color:#fff}.cta-viva .btn-ghost:hover{background:#1a1a1a}
.cv-vis{position:relative}
.cv-bx{--cv:#b4532a;container-type:inline-size;background:#fff;color:#151515;border-radius:16px;overflow:hidden;box-shadow:0 60px 100px -40px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.1);transform:perspective(1500px) rotateY(-9deg) rotateX(4deg);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.cv-vis:hover .cv-bx{transform:perspective(1500px) rotateY(-2deg) rotateX(1deg)}
.cv-bar{display:flex;align-items:center;gap:1.2cqw;height:7cqw;padding:0 2.4cqw;background:linear-gradient(#f7f7f5,#ececea);border-bottom:1px solid #e1e1de}
.cv-bar>i{width:1.7cqw;height:1.7cqw;border-radius:50%;background:#d3d3d0}
.cv-url{flex:1;margin:0 8cqw 0 3cqw;height:4.4cqw;display:flex;align-items:center;justify-content:center;gap:1cqw;background:#fff;border-radius:99px;font:500 2.2cqw/1 var(--mono);color:#555;border:1px solid #e3e3e0;white-space:nowrap;overflow:hidden}
.cv-url svg{width:2.3cqw;height:2.3cqw;stroke:currentColor;fill:none;stroke-width:2.2;flex:none}
.cv-pg{padding:4.4cqw 5cqw 5cqw}
.cv-nav{display:flex;justify-content:space-between;align-items:center}
.cv-logo{display:flex;align-items:center;gap:1.6cqw;font:600 3.1cqw/1 var(--display);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;max-width:60%}
.cv-ini{width:5.4cqw;height:5.4cqw;border-radius:1.5cqw;background:var(--cv);color:#fff;display:grid;place-items:center;font-size:2.8cqw;flex:none;transition:background .5s}
.cv-links{display:flex;gap:2.4cqw}.cv-links i{width:7cqw;height:1.3cqw;border-radius:9px;background:#e7e7e4}
.cv-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:4cqw;align-items:center;margin-top:7cqw}
.cv-hero>div{display:flex;flex-direction:column;align-items:flex-start;gap:2.2cqw;min-width:0}
.cv-ey{font:500 1.8cqw/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cv);transition:color .5s}
.cv-h{font:600 6.2cqw/1.02 var(--display);letter-spacing:-.035em}
.cv-p{font-size:2.4cqw;color:#666;line-height:1.45}
.cv-btn{background:var(--cv);color:#fff;font:600 2.2cqw/1 var(--sans);padding:2cqw 3.4cqw;border-radius:99px;margin-top:1cqw;transition:background .5s}
.cv-img{aspect-ratio:4/5;border-radius:2cqw;background:linear-gradient(150deg,var(--cv),color-mix(in srgb,var(--cv) 50%,#000));display:grid;place-items:center;overflow:hidden;position:relative;transition:background .5s}
.cv-img::after{content:"";position:absolute;width:70%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.25);right:-25%;bottom:-20%}
.cv-ini2{font:600 26cqw/1 var(--display);color:rgba(255,255,255,.92);letter-spacing:-.06em}
.cv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4cqw;margin-top:5cqw}.cv-cards i{height:10cqw;border-radius:1.6cqw;background:#f3f3f1}
.cv-pronto{position:absolute;left:-5%;bottom:-6%;background:#fff;color:#0a0a0a;border-radius:999px;padding:12px 18px;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;box-shadow:0 20px 40px -16px rgba(0,0,0,.6);display:flex;align-items:center;gap:8px}
.cv-pronto::before{content:"";width:8px;height:8px;border-radius:50%;background:#2fd26b}
@media (max-width:860px){.cv-grid{grid-template-columns:1fr}.cv-bx,.cv-vis:hover .cv-bx{transform:none}.cv-pronto{left:4%}}

/* Molduras mais bonitas: browser claro com barra de endereço, telemóvel realista */
.bw{border:1px solid rgba(0,0,0,.12);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 60px 90px -50px rgba(0,0,0,.5),0 20px 40px -28px rgba(0,0,0,.3)}
.bw .bar{display:flex;align-items:center;gap:7px;height:34px;padding:0 14px;background:linear-gradient(#f8f8f6,#ececea);border-bottom:1px solid #e0e0dd}
.bw .bar i{width:10px;height:10px;border-radius:50%;background:#d6d6d3;border:1px solid #c9c9c6}
.bar-url{flex:1;max-width:58%;margin:0 auto;transform:translateX(-18px);height:22px;display:flex;align-items:center;justify-content:center;gap:6px;background:#fff;border:1px solid #e1e1de;border-radius:99px;font:500 11px/1 var(--mono);color:#666;white-space:nowrap;overflow:hidden;text-transform:lowercase}
.bar-url svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.2;flex:none}
.ph{border:0;background:#0b0b0b;border-radius:30px;padding:5px;overflow:visible;box-shadow:inset 0 0 0 1.5px #3b3b3b,0 40px 70px -24px rgba(0,0,0,.6)}
.ph::before{content:"";position:absolute;right:-3px;top:22%;width:3px;height:14%;border-radius:0 3px 3px 0;background:#2b2b2b}
.ph::after{content:"";position:absolute;left:-3px;top:18%;width:3px;height:8%;border-radius:3px 0 0 3px;background:#2b2b2b;box-shadow:0 calc(100% + 8px) 0 #2b2b2b}
.ph .bar{position:absolute;top:11px;left:50%;transform:translateX(-50%);width:32%;height:12px;padding:0;border-radius:99px;background:#0b0b0b;z-index:2}
.ph .bar i{display:none}
.ph .vp{border-radius:25px;aspect-ratio:9/19}

/* Janela que se constrói: moldura clara e padaria a sério */
.bx{border:1px solid rgba(0,0,0,.14);border-radius:16px}
.bx-bar{background:linear-gradient(#f8f8f6,#ececea);border-bottom:1px solid #e0e0dd}
.bx-bar>i{background:#d6d6d3}
.bx-url{background:#fff;color:#5e5e5c;border:1px solid #e1e1de}
.obra[data-fase="0"] .bx-bar,.obra[data-fase="1"] .bx-bar{background:#f4f4f2}
.bx-on{color:#1a7f43;background:#e7f6ec;padding:1.1cqw 1.8cqw;border-radius:99px}
.bx-pub{font:600 2cqw/1 var(--sans);color:#fff;background:#0a0a0a;padding:1.3cqw 2.4cqw;border-radius:99px;opacity:0;transform:scale(.8);transition:opacity .4s,transform .4s cubic-bezier(.2,.9,.3,1.3);white-space:nowrap}
.obra[data-fase="2"] .bx-pub{opacity:1;transform:none}
.obra[data-fase="3"] .bx-pub{display:none}
.bx-pg{transition:background-color .8s}
.obra[data-fase="2"] .bx-pg,.obra[data-fase="3"] .bx-pg{background:#f6efe4}
.obra[data-fase="2"] .k>b,.obra[data-fase="3"] .k>b{color:#3a2618}
.obra[data-fase="2"] .k-ey>b,.obra[data-fase="3"] .k-ey>b,.obra[data-fase="2"] .pd-preco,.obra[data-fase="3"] .pd-preco{color:#b0632a}
.obra[data-fase="2"] .k-p>b,.obra[data-fase="3"] .k-p>b{color:#6e5544}
.obra[data-fase="2"] .k-nb,.obra[data-fase="3"] .k-nb,.obra[data-fase="2"] .k-cta,.obra[data-fase="3"] .k-cta{background:#3a2618}
.obra[data-fase="2"] .k-nb>b,.obra[data-fase="3"] .k-nb>b,.obra[data-fase="2"] .k-cta>b,.obra[data-fase="3"] .k-cta>b{color:#f6efe4}
.k-h{font-family:"Fraunces",Georgia,serif;font-weight:600;letter-spacing:-.02em;font-size:6.4cqw}
.k-h em{font:inherit;font-style:normal;letter-spacing:inherit}
.obra[data-fase="2"] .k-h em,.obra[data-fase="3"] .k-h em{color:#b0632a}
.k-logo{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:3.4cqw}
.pd-trigo{width:1.05em;height:1.05em;vertical-align:-.16em;margin-right:.2em;color:transparent;transition:color .6s}
.obra[data-fase="2"] .pd-trigo,.obra[data-fase="3"] .pd-trigo{color:#b0632a}
.k-img .art{background-color:transparent;background-image:radial-gradient(circle at 50% 38%,#f7dfb9,#e7b97f 70%);border-radius:inherit}
.pd-pao{position:absolute;left:7%;width:86%;bottom:2%;height:auto}
.pd-pao .vapor path{opacity:0;stroke-dasharray:60;stroke-dashoffset:60}
.obra[data-fase="3"] .pd-pao .vapor path{animation:vapor 2.6s ease-in-out infinite}
.obra[data-fase="3"] .pd-pao .vapor path:nth-child(2){animation-delay:.6s}.obra[data-fase="3"] .pd-pao .vapor path:nth-child(3){animation-delay:1.2s}
@keyframes vapor{0%{opacity:0;stroke-dashoffset:60;transform:translateY(8px)}40%{opacity:.85}100%{opacity:0;stroke-dashoffset:0;transform:translateY(-10px)}}
.pd-selo{position:absolute;left:5%;top:5%;z-index:1;background:#3a2618;color:#f6efe4;font:500 1.6cqw/1 var(--mono);letter-spacing:.06em;padding:1.2cqw 1.8cqw;border-radius:99px;white-space:nowrap}
.k-c{height:15cqw;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:.8cqw}
.k-c::before{display:none}
.pd-ico{position:absolute;left:1.8cqw;top:1.6cqw;width:5.4cqw;height:5.4cqw;opacity:0;transform:scale(.6);transition:opacity .5s .3s,transform .5s .3s cubic-bezier(.2,.9,.3,1.3)}
.pd-ico svg{width:100%;height:100%;display:block}
.obra[data-fase="2"] .pd-ico,.obra[data-fase="3"] .pd-ico{opacity:1;transform:none}
.pd-preco{font:500 1.7cqw/1 var(--mono)}
.obra[data-fase="2"] .k-c,.obra[data-fase="3"] .k-c{background:#efe3d0}
/* rato "Persa" que monta o site */
.pc-cur{position:absolute;z-index:5;left:46%;top:3%;display:flex;align-items:flex-start;pointer-events:none;transition:left 1.1s cubic-bezier(.6,0,.2,1),top 1.1s cubic-bezier(.6,0,.2,1),opacity .4s}
.pc-cur svg{width:18px;height:18px;flex:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}
.pc-cur svg path{fill:#0a0a0a;stroke:#fff;stroke-width:1.5;stroke-linejoin:round}
.pc-cur span{margin:13px 0 0 -2px;background:#0a0a0a;color:#fff;font:500 10px/1 var(--mono);letter-spacing:.08em;padding:5px 8px;border-radius:0 7px 7px 7px}
.obra[data-fase="1"] .pc-cur{left:34%;top:44%}
.obra[data-fase="2"] .pc-cur{left:80%;top:4.2%}
.obra[data-fase="3"] .pc-cur{left:62%;top:58%}
.obra[data-fase="2"] .pc-cur svg{animation:clica 1.2s ease-in-out 1s infinite}
@keyframes clica{50%{transform:scale(.8)}}

/* Fundo do topo: papel de desenho (grelha suave) + guias que seguem o rato */
.obra-palco::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(10,10,10,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(10,10,10,.045) 1px,transparent 1px);background-size:64px 64px;background-position:center top;
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 62% 45%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 70% 80% at 62% 45%,#000 30%,transparent 80%)}
.guias{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .35s}
.obra-palco.guia-on .guias{opacity:1}
.g-x{position:absolute;left:0;right:0;top:0;border-top:1px dashed rgba(10,10,10,.22);transform:translateY(var(--gy,0))}
.g-y{position:absolute;top:0;bottom:0;left:0;border-left:1px dashed rgba(10,10,10,.22);transform:translateX(var(--gx,0))}
.g-rx,.g-ry{position:absolute;font:500 10px/1 var(--mono);letter-spacing:.06em;color:#fff;background:#0a0a0a;padding:4px 6px;border-radius:4px;white-space:nowrap}
.g-rx{top:10px;left:0;transform:translateX(calc(var(--gx,0) - 50%))}
.g-ry{left:10px;top:0;transform:translateY(calc(var(--gy,0) - 50%))}
.g-pos{display:none}
.g-sel{position:absolute;left:0;top:0;border:1px solid #0a0a0a;opacity:0;transition:opacity .25s}
.g-sel.on{opacity:1}
.g-sel b{position:absolute;width:7px;height:7px;background:#fff;border:1px solid #0a0a0a}
.g-sel b:nth-child(1){left:-4px;top:-4px}.g-sel b:nth-child(2){right:-4px;top:-4px}.g-sel b:nth-child(3){left:-4px;bottom:-4px}.g-sel b:nth-child(4){right:-4px;bottom:-4px}
.g-dim{position:absolute;left:50%;top:100%;transform:translate(-50%,9px);background:#0a0a0a;color:#fff;font:500 10px/1 var(--mono);font-style:normal;letter-spacing:.04em;padding:5px 7px;border-radius:4px;white-space:nowrap}

/* Rato: seta preta com etiqueta */
.seta{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;opacity:0;transition:opacity .2s;will-change:transform}
html.cur-on .seta.ver{opacity:1}
.seta svg{display:block;width:22px;height:22px;margin:-2px 0 0 -3px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.28));transform-origin:3px 2px;transition:transform .2s cubic-bezier(.2,.9,.3,1.3)}
.seta svg path{fill:#0a0a0a;stroke:#fff;stroke-width:1.5;stroke-linejoin:round}
.seta.sobre svg{transform:scale(1.12)}
.seta.carrega svg{transform:scale(.82)}
.seta-tag{position:absolute;left:16px;top:20px;background:#0a0a0a;color:#fff;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:7px 10px;border-radius:0 8px 8px 8px;white-space:nowrap;opacity:0;transform:scale(.6);transform-origin:0 0;transition:opacity .2s,transform .25s cubic-bezier(.2,.9,.3,1.3);box-shadow:0 0 0 1px rgba(255,255,255,.3)}
.seta.tem-txt .seta-tag{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){.pc-cur{transition:none}.pc-cur svg,.pd-pao .vapor path{animation:none!important}.cv-bx{transition:none}}
body{margin:0}
.sec-head{row-gap:0}
.obra .hero h1{font-size:clamp(40px,min(5.5vw,8.4vh),76px);letter-spacing:-.035em}
.criacao{border-radius:20px}
.plano-selo{border-radius:0 19px 0 10px}
@media (max-width:560px){.sv-card{padding:20px}.sv-top{margin-bottom:6px}.sv-ic{width:38px;height:38px}}
.cv-ini,.cv-ini2{font-family:var(--sans)}

/* ===================== Persa v5: páginas interiores ===================== */
/* Topo comum: papel de desenho + guias do rato */
.page-hero{position:relative;overflow:hidden;padding-block:clamp(56px,9vw,120px) clamp(36px,5vw,64px);border-bottom:1px solid var(--linha)}
.page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(10,10,10,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(10,10,10,.045) 1px,transparent 1px);background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 80% 90% at 30% 40%,#000 30%,transparent 85%);mask-image:radial-gradient(ellipse 80% 90% at 30% 40%,#000 30%,transparent 85%)}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{font-size:clamp(44px,7vw,96px);line-height:.98;letter-spacing:-.04em;margin-top:18px;max-width:15ch}
.page-hero p{font-size:clamp(17px,1.6vw,20px);max-width:50ch}
.guia-on>.guias{opacity:1}

/* Filtros em comprimido */
.filtros{display:inline-flex;gap:4px;padding:5px;background:#fff;border:1px solid var(--linha);border-radius:999px;margin-bottom:8px;flex-wrap:wrap}
@media (max-width:700px){.filtros{display:flex;flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filtros::-webkit-scrollbar{display:none}.filtros>*{flex:0 0 auto;white-space:nowrap}}
.chip{border:0;border-radius:999px;padding:10px 16px;transition:background .25s,color .25s}
.chip:hover{background:var(--fundo-2)}
.chip[aria-pressed="true"]{background:#0a0a0a;color:#fff}

/* Portfólio: índice com pré-visualização */
.pf-topo{padding-block:clamp(36px,5vw,56px) 0}
.pf-indice{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--texto)}
.pf-row{display:grid;grid-template-columns:60px minmax(0,1fr) auto 40px;align-items:center;gap:16px;padding:clamp(18px,2.6vw,30px) 0;border-bottom:1px solid var(--linha);text-decoration:none;color:inherit;transition:opacity .35s,padding .35s cubic-bezier(.2,.7,.2,1)}
.pf-n{font:500 13px var(--mono);color:var(--suave)}
.pf-row strong{font:600 clamp(36px,6.4vw,92px)/1 var(--display);letter-spacing:-.045em}
.pf-c{color:var(--suave);font-size:15px;text-align:right}
.pf-seta{font-size:26px;justify-self:end;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.pf-indice.tem-hover .pf-row{opacity:.3}
.pf-indice.tem-hover .pf-row.hover{opacity:1;padding-left:14px}
.pf-row:hover .pf-seta{transform:rotate(-45deg)}
@media (max-width:640px){.pf-row{grid-template-columns:36px 1fr 24px}.pf-c{display:none}}
.pf-prev{position:fixed;left:0;top:0;z-index:60;width:340px;pointer-events:none;border-radius:12px;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.12);box-shadow:0 40px 70px -30px rgba(0,0,0,.5);
  opacity:0;scale:.85;transition:opacity .3s,scale .35s cubic-bezier(.2,.8,.2,1)}
.pf-prev.on{opacity:1;scale:1}
.pf-prev .bar{display:flex;gap:6px;align-items:center;height:24px;padding:0 10px;background:linear-gradient(#f8f8f6,#ececea);border-bottom:1px solid #e0e0dd}
.pf-prev .bar i{width:8px;height:8px;border-radius:50%;background:#d3d3d0}
.pf-prev-vp{position:relative;aspect-ratio:16/10}
.pf-prev-vp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0;transition:opacity .3s}
.pf-prev-vp img.on{opacity:1}
.pf-lista{padding-top:clamp(24px,4vw,48px)}
.pj{border-bottom:1px solid var(--linha);scroll-margin-top:80px}
.pj:last-child{border-bottom:0}
.pj-tags{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px;max-width:40ch}
.pj-tags li{font:500 12px/1 var(--sans);padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--linha)}
.pj-visita{margin-top:8px}
.tag{border-radius:999px;padding:4px 12px;border-color:var(--linha);color:var(--suave)}

/* Planos: ajuda a escolher */
.pl-ajuda{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,72px);align-items:start;background:#0a0a0a;color:#fff;border-radius:28px;padding:clamp(28px,4vw,56px);margin-bottom:28px}
.pl-ajuda .sec-idx{color:#8d8d8a}
.pl-aj-txt h2{font-size:clamp(28px,3.6vw,44px);line-height:1.04;letter-spacing:-.03em}
.pl-aj-txt p{color:#a9a9a6;margin-top:14px;max-width:32ch}
.pl-ajuda .it{color:#7b7b78}
.pl-aj-q{display:grid;gap:10px}
.pl-q{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:14px;padding:16px 16px 16px 18px;border:1px solid #2a2a2a;border-radius:16px;transition:border-color .3s,background .3s}
.pl-q.feito{border-color:#444;background:#121212}
.pl-q-n{font:500 12px var(--mono);color:#7d7d7a}
.pl-q p{font-weight:500;line-height:1.35}
.pl-sn{display:inline-flex;gap:4px;padding:4px;border:1px solid #333;border-radius:999px}
.pl-sn button{border:0;background:transparent;color:#cfcfcc;font:500 14px var(--sans);padding:8px 16px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s}
.pl-sn button[aria-pressed="true"]{background:#fff;color:#0a0a0a}
.pl-res{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:8px;padding:18px 18px 18px 22px;border-radius:16px;background:#fff;color:#0a0a0a}
.pl-res .cota{color:#6b6b69}
.pl-res strong{font:600 22px/1.1 var(--display);letter-spacing:-.02em;margin-right:auto}
@media (max-width:860px){.pl-ajuda{grid-template-columns:1fr}.pl-q{grid-template-columns:24px 1fr}.pl-sn{grid-column:2;justify-self:start}}
.plano{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,outline-color .3s;outline:2px solid transparent;outline-offset:4px}
.plano.rec{outline-color:#0a0a0a;transform:translateY(-8px);box-shadow:0 40px 60px -40px rgba(0,0,0,.5)}
.plano.plano-dest.rec{outline-color:#0a0a0a}
/* Planos: tabela */
.pl-comp{margin-top:clamp(56px,8vw,96px)}
.pl-tab-wrap{overflow-x:auto;border:1px solid var(--linha);border-radius:20px;background:#fff}
.pl-tabela{width:100%;border-collapse:collapse;min-width:720px;font-size:15px}
.pl-tabela th,.pl-tabela td{padding:18px 20px;border-bottom:1px solid var(--linha);text-align:left;vertical-align:top}
.pl-tabela tbody tr:last-child>*{border-bottom:0}
.pl-tabela thead th{vertical-align:bottom}
.pl-tabela thead th strong{display:block;font:600 19px/1.2 var(--display);margin-top:6px}
.pl-tabela thead th small{display:block;color:var(--suave);font:500 13px var(--mono);margin-top:4px}
.pl-tabela tbody th{font-weight:500;color:var(--suave);width:24%}
.pl-tabela td b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#0a0a0a;color:#fff;font-size:12px}
.pl-tabela td small{display:block;color:var(--suave);font-size:13px;margin-top:6px;line-height:1.35}
.pl-tabela td.nao{color:#bdbdba}
.pl-tabela [data-plano="3"]{background:#f6f6f4}
.pl-tabela .rec{background:#efefec!important}
.plano-notas{margin-top:28px}

/* Sobre nós */
.sb-manifesto{padding-block:clamp(72px,10vw,140px)}
.manifesto{font:600 clamp(28px,4vw,54px)/1.15 var(--display);letter-spacing:-.03em;max-width:24ch;margin-top:8px}
.manifesto.pinta .pw{color:#d0d0cd;transition:color .35s}
.manifesto.pinta .pw.on{color:var(--texto)}
.sb-apoio{background:#0a0a0a;color:#fff;overflow:hidden}
.sb-apoio .sec-idx{color:#8d8d8a}
.sb-apoio-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(32px,6vw,96px);align-items:center}
.sb-apoio-txt h2{font-size:clamp(34px,5vw,64px);line-height:1;letter-spacing:-.04em;max-width:12ch}
.sb-apoio-txt p{color:#a9a9a6;margin:18px 0 28px;max-width:40ch;font-size:17px}
.sb-apoio .btn-primary{background:#fff;color:#0a0a0a}.sb-apoio .btn-primary:hover{background:#e7e7e5}
.sb-tel{position:relative;justify-self:center;width:min(320px,100%);aspect-ratio:9/18.5;background:#1a1a1a;border-radius:46px;padding:10px;box-shadow:inset 0 0 0 2px #333,0 60px 100px -40px rgba(0,0,0,.9),0 0 80px rgba(255,255,255,.05)}
.sb-tel::before{content:"";position:absolute;top:20px;left:50%;transform:translateX(-50%);width:32%;height:24px;border-radius:99px;background:#000;z-index:2}
.sb-tel-ecra{height:100%;border-radius:37px;overflow:hidden;background:#f2efe9;display:flex;flex-direction:column;color:#151515}
.sb-tel-topo{display:flex;align-items:center;gap:10px;padding:56px 16px 12px;background:#fff;border-bottom:1px solid #e6e3dc}
.sb-av{width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid #e3e3e0;display:grid;place-items:center;overflow:hidden;flex:none}
.sb-av img{width:80%;height:auto}
.sb-tel-topo strong{display:block;font-size:14px}.sb-tel-topo small{display:block;color:#1a9b50;font-size:12px}
.sb-conversa{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:16px 12px 22px}
.bl{max-width:82%;padding:9px 12px 6px;border-radius:14px;font-size:13.5px;line-height:1.35;box-shadow:0 1px 1px rgba(0,0,0,.06);
  opacity:0;transform:translateY(10px) scale(.96);transition:opacity .45s,transform .5s cubic-bezier(.2,.9,.3,1.2);transition-delay:calc(var(--i)*.7s + .2s)}
.bl time{display:block;text-align:right;font-size:10.5px;color:#8a8a86;margin-top:3px}
.bl-cli{align-self:flex-start;background:#fff;border-top-left-radius:4px}
.bl-persa{align-self:flex-end;background:#0a0a0a;color:#fff;border-top-right-radius:4px}
.bl-persa time{color:#9a9a97}
.sb-conversa.in .bl{opacity:1;transform:none}
@media (max-width:860px){.sb-apoio-grid{grid-template-columns:1fr}.sb-tel{width:min(290px,86%)}}
.vls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.vl{background:#fff;border:1px solid var(--linha);border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:10px;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.vl:hover{transform:translateY(-4px);box-shadow:0 30px 50px -36px rgba(0,0,0,.4)}
.vl .sv-ic{background:#0a0a0a;color:#fff}
.vl .sv-n{color:var(--suave)}
.vl h3{font-size:21px}.vl p{color:var(--suave);font-size:15px}
@media (max-width:860px){.vls{grid-template-columns:1fr}}

/* Contactos */
@media (min-width:861px){.ct-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}
.chat{border-radius:28px;box-shadow:0 50px 90px -50px rgba(0,0,0,.6)}
.op{border-radius:14px;border-color:#333;transition:background .2s,color .2s,border-color .2s}
.chat .field textarea{border-radius:14px}
.chat-prog i{border-radius:9px}
.ct-lista{border-top:0;gap:10px}
.ct-item{display:grid;grid-template-columns:44px 1fr;column-gap:14px;row-gap:6px;align-items:center;padding:18px;border:1px solid var(--linha);border-radius:20px;background:#fff;transition:border-color .3s,box-shadow .3s}
.ct-item:hover{border-color:#cfcfcc;box-shadow:0 24px 40px -32px rgba(0,0,0,.35)}
.ct-ic{grid-row:1/span 2;width:44px;height:44px;border-radius:14px;background:#0a0a0a;color:#fff;display:grid;place-items:center}
.ct-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ct-item:first-child .ct-ic svg{fill:currentColor;stroke:none}
.ct-item .eyebrow{grid-column:2;color:var(--suave)}
.ct-item .val{grid-column:2;font-size:clamp(18px,1.8vw,22px)}
.ct-item>.small-btn,.ct-item .row{grid-column:2;justify-self:start}
.small-btn{border-radius:999px;padding:8px 14px}
.ct-lado .horario{background:#fff;border:1px solid var(--linha);border-radius:20px;overflow:hidden}
.ct-lado .horario td{padding:14px 18px}
.ct-lado .horario tr:last-child td{border-bottom:0}
.manifesto{font-size:clamp(26px,3.4vw,46px);line-height:1.18;max-width:30ch}

/* ===================== Persa modo escuro ===================== */
.tema{margin-left:6px}
.tema button{display:grid;place-items:center;padding:6px 8px}
.tema svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tema button[data-tema="escuro"] svg{fill:currentColor;stroke:none;width:14px;height:14px}
@media (max-width:760px){.tema{order:1;margin-left:0;margin-right:8px}}
@media (max-width:480px){.tema button{padding:5px 6px}.tema svg{width:13px;height:13px}.tema button[data-tema="escuro"] svg{width:12px;height:12px}}
html.tema-muda *,html.tema-muda *::before,html.tema-muda *::after{transition:background-color .4s,color .4s,border-color .4s,fill .4s!important}

html.escuro{--fundo:#0B0B0B;--fundo-2:#171717;--linha:#272727;--texto:#F2F2F0;--suave:#9C9C99;--acento:#F2F2F0;--acento-escuro:#F2F2F0;--botao:#F2F2F0;--botao-hover:#D8D8D5;--sobre-botao:#0A0A0A;--cartao:#131313;--cartao-2:#181818;color-scheme:dark}
html.escuro .logo img,html.escuro footer img[src*="logo"]{filter:invert(1)}
html.escuro .it,html.escuro .hero h1 em.it{color:#7d7d7a}
/* papel de desenho e guias */
html.escuro .obra-palco::before,html.escuro .page-hero::before{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px)}
html.escuro .g-x{border-top-color:rgba(255,255,255,.25)}
html.escuro .g-y{border-left-color:rgba(255,255,255,.25)}
html.escuro .g-rx,html.escuro .g-ry,html.escuro .g-dim{background:#F2F2F0;color:#0a0a0a}
html.escuro .g-sel{border-color:#F2F2F0}
html.escuro .g-sel b{background:#0B0B0B;border-color:#F2F2F0}
/* rato */
html.escuro .seta svg path{fill:#F2F2F0;stroke:#0a0a0a}
html.escuro .seta-tag{background:#F2F2F0;color:#0a0a0a;box-shadow:0 0 0 1px rgba(0,0,0,.4)}
html.escuro .progresso{background:#F2F2F0}
/* botões e seletores "pretos" passam a claros */
html.escuro .lang button[aria-pressed="true"],html.escuro .lang .pill{background:#F2F2F0}
html.escuro .lang button[aria-pressed="true"],html.escuro .lang.tem-pill button[aria-pressed="true"]{color:#0a0a0a}
html.escuro .chip[aria-pressed="true"],html.escuro .faq-main .tab[aria-selected="true"],html.escuro #faqPanel details[open] summary::after{background:#F2F2F0;color:#0a0a0a}
html.escuro .ct-ic,html.escuro .vl .sv-ic,html.escuro .pl-tabela td b,html.escuro .passos li::before,html.escuro .pq-ic{background:#F2F2F0;color:#0a0a0a}
html.escuro .wa-fab{background:#F2F2F0;color:#0a0a0a}
/* cartões brancos passam a cinzento-escuro */
html.escuro .filtros,html.escuro .pj-tags li,html.escuro .pl-tab-wrap,html.escuro .vl,html.escuro .ct-item,html.escuro .ct-lado .horario,html.escuro .faq-main .tabs,html.escuro #faqPanel details,html.escuro .sv-card,html.escuro .field input,html.escuro .field select,html.escuro .field textarea{background:var(--cartao);border-color:var(--linha)}
html.escuro .ct-item:hover{border-color:#3a3a3a;box-shadow:none}
html.escuro .pl-tabela [data-plano="3"]{background:#161616}
/* secções que já eram pretas: ganham um tom e uma linha para se destacarem do fundo */
html.escuro .cta-viva,html.escuro .pl-ajuda,html.escuro .sb-apoio,html.escuro .sv-dark,html.escuro .band,html.escuro .chat,html.escuro .marquee{background:#151515;box-shadow:inset 0 0 0 1px #262626}
html.escuro .sb-apoio{box-shadow:inset 0 1px 0 #262626,inset 0 -1px 0 #262626}
html.escuro .cv-campo input{background:#0d0d0d}
html.escuro .pl-q{border-color:#2c2c2c}
/* plano destacado: cartão claro no meio dos escuros */
html.escuro .plano{background:var(--cartao)}
html.escuro .plano-dest{background:#F2F2F0;color:#0a0a0a;border-color:#F2F2F0}
html.escuro .plano-dest .cota,html.escuro .plano-dest .plano-desc,html.escuro .plano-dest .plano-preco span{color:#5e5e5c}
html.escuro .plano-dest li.nao{color:#8a8a8a}
html.escuro .plano-dest .btn-primary{background:#0a0a0a;color:#fff}
html.escuro .plano-dest .btn-primary:hover{background:#2a2a2a}
html.escuro .plano-selo{background:#0a0a0a;color:#F2F2F0;border-color:#0a0a0a}
html.escuro .plano-mini.plano-dest{color:#0a0a0a}
html.escuro .plano.rec,html.escuro .plano.plano-dest.rec{outline-color:#F2F2F0;color:inherit}
html.escuro .plano.rec{box-shadow:0 40px 60px -40px rgba(0,0,0,.9)}
/* molduras de browser/telemóvel ficam claras (são sites), só com sombra mais funda */
html.escuro .bw,html.escuro .pf-prev,html.escuro .bx{border-color:rgba(255,255,255,.1)}
html.escuro .manifesto.pinta .pw{color:#3a3a38}
html.escuro .sv-dark,html.escuro .band,html.escuro .marquee,html.escuro .cta-viva{box-shadow:inset 0 1px 0 #262626,inset 0 -1px 0 #262626}
html.escuro .pl-ajuda,html.escuro .chat{box-shadow:inset 0 0 0 1px #2a2a2a}
@media (min-width:761px){.top .wrap{justify-content:flex-start}.top nav.main{margin-inline:auto}}
@media (min-width:761px){.tema{margin-left:-8px}}
@media (min-width:761px) and (max-width:980px){.top nav.main{flex-wrap:nowrap;gap:0}.top nav.main a{padding:8px 8px;font-size:14px}.top .lang{margin-left:0}.top .tema{margin-left:-10px}.top .wrap{gap:12px}}
@media (min-width:761px) and (max-width:980px){.top nav.main a{white-space:nowrap}.logo img{max-width:130px;height:auto}}
@media (min-width:761px) and (max-width:840px){.top nav.main a{padding:8px 6px;font-size:13px}}
.lang.sem-anim .pill,.lang.sem-anim button{transition:none!important}

/* Persa modo escuro: animação do botão e da mudança */
html.tema-vt::view-transition-old(root),html.tema-vt::view-transition-new(root){animation:none;mix-blend-mode:normal}
html.tema-vt::view-transition-old(root){z-index:1}
html.tema-vt::view-transition-new(root){z-index:2}
.tema button svg{transition:transform .6s cubic-bezier(.34,1.56,.64,1),opacity .3s;transform:rotate(-90deg) scale(.7);opacity:.7}
.tema button[aria-pressed="true"] svg{transform:rotate(0) scale(1);opacity:1}
.tema button:active svg{transform:scale(.85)}
.tema.sem-anim button svg{transition:none!important}
@media (prefers-reduced-motion:reduce){.tema button svg{transition:none}}

/* Persa: globo 3D (Sobre nós) */
.sb-globo{background:#f4f4f2;color:#0a0a0a;transition:background .45s,color .45s;overflow:hidden;padding-block:clamp(56px,8vw,110px)}
.sb-globo .sec-idx{color:#77777a}
.sb-globo-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center}
.sb-globo-txt h2{font-size:clamp(34px,5vw,64px);line-height:1;letter-spacing:-.04em;max-width:11ch}
.sb-globo-txt p{color:#55554f;margin:18px 0 24px;max-width:38ch;font-size:17px}
.globo-leg{display:flex;flex-wrap:wrap;gap:10px 22px;font:500 13px/1.3 var(--mono);color:#3a3a38;letter-spacing:.02em}
.globo-leg i{display:inline-block;width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.22);margin-right:9px;vertical-align:-1px}
.globo-leg span+span::before{content:"";}
.globo{position:relative;width:100%;max-width:640px;justify-self:center;user-select:none;-webkit-user-select:none}
.globo canvas{display:block;margin:0 auto;color:#0a0a0a;cursor:grab;touch-action:none;outline:none;border-radius:50%}
.globo canvas.a-arrastar{cursor:grabbing}
.globo canvas:focus-visible{box-shadow:0 0 0 2px #22c55e}
.globo-tip{position:absolute;transform:translate(-50%,-100%);background:#0a0a0a;color:#f2f2f0;border-radius:10px;padding:7px 11px;font-size:13px;line-height:1.3;pointer-events:none;white-space:nowrap;box-shadow:0 8px 24px -8px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:1px;z-index:3}
.globo-tip[hidden]{display:none}
.globo-tip span{color:#b5b5b2;font-size:12px}
.globo-dica{display:block;text-align:center;margin-top:6px;font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#77777a}
@media (max-width:860px){.sb-globo-grid{grid-template-columns:1fr}.sb-globo-txt h2{max-width:14ch}}
html.escuro .sb-globo{background:#0a0a0a;color:#fff;box-shadow:inset 0 1px 0 #262626,inset 0 -1px 0 #262626}
html.escuro .sb-globo .sec-idx{color:#8d8d8a}
html.escuro .sb-globo-txt p{color:#a9a9a6}
html.escuro .globo-leg{color:#c9c9c6}
html.escuro .globo canvas{color:#f2f2f0}
html.escuro .globo-tip{background:#f2f2f0;color:#0a0a0a}
html.escuro .globo-tip span{color:#5e5e5c}

@media (min-width:861px){.sb-globo-txt{align-self:start;padding-top:clamp(16px,4vw,64px)}}

/* Persa: globo interativo (cartão do negócio, lista "Explorar", rato) */
.globo canvas{touch-action:pan-y}
html.cur-on .globo canvas{cursor:none}
.globo-card{position:absolute;left:0;top:0;z-index:5;width:284px;max-width:calc(100% - 12px);will-change:transform}
.globo-card[hidden]{display:none}
.gc-in{position:relative;background:#fff;color:#0a0a0a;border:1px solid #e3e3e0;border-radius:16px;overflow:hidden;box-shadow:0 30px 60px -28px rgba(0,0,0,.38),0 2px 8px -2px rgba(0,0,0,.08)}
.gc-foto{aspect-ratio:16/10;background:#ececea;overflow:hidden;border-bottom:1px solid #e3e3e0}
.gc-foto[hidden]{display:none}
.gc-foto img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.gc-txt{display:flex;flex-direction:column;gap:5px;padding:16px 18px 0}
.gc-eti{font:500 11px/1.35 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#15803d;padding-right:30px}
.gc-vazio .gc-eti{color:#77777a;letter-spacing:.06em}
.gc-vazio .gc-nome{order:1;margin-top:4px}.gc-vazio .gc-desc{order:2}
.gc-nome{font:600 22px/1.12 var(--display);letter-spacing:-.025em;padding-right:22px}
.gc-local{display:flex;align-items:center;gap:6px;font-size:13px;line-height:1.3;color:#5e5e5c}
.gc-local[hidden]{display:none}
.gc-local svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8}
.gc-desc{margin:4px 0 0;font-size:14px;line-height:1.45;color:#45453f}
.gc-desc[hidden]{display:none}
.gc-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:14px 18px 16px}
.gc-btn{display:inline-flex;align-items:center;gap:8px;background:#0a0a0a;color:#fff;border-radius:999px;padding:11px 16px;font:600 14px/1 var(--sans);text-decoration:none;transition:background .2s,transform .2s}
.gc-btn:hover{background:#2a2a2a;transform:translateY(-1px)}
.gc-lnk{display:inline-flex;align-items:center;gap:6px;font:600 14px/1 var(--sans);color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.gc-btn span,.gc-lnk span{transition:transform .2s}
.gc-btn:hover span,.gc-lnk:hover span{transform:translateX(2px)}
.gc-x{position:absolute;top:10px;right:10px;z-index:2;width:30px;height:30px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;background:transparent;color:inherit;cursor:pointer;transition:background .2s}
.gc-x:hover{background:rgba(10,10,10,.08)}
.tem-foto .gc-x{background:rgba(10,10,10,.55);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.gc-x svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.gc-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #e3e3e0;padding:8px 10px}
.gc-nav[hidden]{display:none}
.gc-nav button{width:34px;height:34px;border-radius:50%;border:1px solid #e3e3e0;background:transparent;color:inherit;font:500 15px/1 var(--sans);cursor:pointer;transition:border-color .2s,transform .2s}
.gc-nav button:hover{border-color:#0a0a0a;transform:scale(1.06)}
.gc-cont{font:500 12px/1 var(--mono);letter-spacing:.1em;color:#77777a}
.globo-card.compacto{width:330px}
.compacto .gc-in{display:grid;grid-template-columns:auto minmax(0,1fr)}
.compacto .gc-foto{grid-column:1;width:96px;height:100%;min-height:96px;aspect-ratio:auto;border-bottom:0;border-right:1px solid #e3e3e0}
.compacto .gc-txt{grid-column:2;padding:14px 14px 0}
.compacto .gc-foto[hidden]+.gc-txt{grid-column:1/-1}
.compacto .gc-acoes,.compacto .gc-nav{grid-column:1/-1}
.compacto .gc-nome{font-size:19px}
.compacto .gc-desc{display:none}
.compacto .gc-acoes{padding:12px 14px 14px}
html.escuro .gc-in{background:#131313;color:#f2f2f0;border-color:#262626;box-shadow:0 30px 60px -28px rgba(0,0,0,.9)}
html.escuro .gc-foto{background:#1c1c1c;border-color:#262626}
html.escuro .gc-eti{color:#4ade80}
html.escuro .gc-vazio .gc-eti{color:#8d8d8a}
html.escuro .gc-local{color:#a9a9a6}
html.escuro .gc-desc{color:#c9c9c6}
html.escuro .gc-btn{background:#f2f2f0;color:#0a0a0a}
html.escuro .gc-btn:hover{background:#fff}
html.escuro .gc-x:hover{background:rgba(255,255,255,.1)}
html.escuro .gc-nav,html.escuro .compacto .gc-foto{border-color:#262626}
html.escuro .gc-nav button{border-color:#333}
html.escuro .gc-nav button:hover{border-color:#f2f2f0}
.globo-lista{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:28px}
.gl-t{flex-basis:100%;font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#77777a;margin-bottom:4px}
.globo-chip{display:inline-flex;align-items:center;gap:9px;border:1px solid #d6d6d2;background:transparent;color:inherit;border-radius:999px;padding:9px 15px;font:500 14px/1 var(--sans);cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .25s cubic-bezier(.2,1.3,.35,1)}
.globo-chip i{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.2);transition:box-shadow .3s}
.globo-chip:hover{border-color:#0a0a0a;transform:translateY(-1px)}
.globo-chip:hover i{box-shadow:0 0 0 5px rgba(34,197,94,.25)}
.globo-chip[aria-pressed=true]{background:#0a0a0a;border-color:#0a0a0a;color:#fff}
html.escuro .globo-chip{border-color:#333}
html.escuro .globo-chip:hover{border-color:#f2f2f0}
html.escuro .globo-chip[aria-pressed=true]{background:#f2f2f0;border-color:#f2f2f0;color:#0a0a0a}

/* ===== Persa: opiniões de clientes (página inicial) e frase na ficha do projeto ===== */
.op-sec{background:#000;color:#fff}
.op-sec .sec-head p,.op-sec .sec-idx{color:#a8a8a8}
.op-sec .it{color:#7b7b78}
.op-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(36px,6vw,104px);align-items:center}
.op-txt{min-width:0}
.op-aspas{display:block;font:600 clamp(96px,10vw,150px)/1 var(--display);color:#5a5a57;height:.5em;overflow:visible;margin:-.08em 0 10px -.04em;transition:opacity .25s,transform .5s cubic-bezier(.2,.8,.2,1.3)}
.op-txt.sai .op-aspas{opacity:.25;transform:scale(.9) rotate(-4deg)}
.op-frase{display:grid;margin:0}
.op-p{grid-area:1/1;margin:0;font:500 clamp(23px,2.6vw,38px)/1.24 var(--display);letter-spacing:-.022em;text-wrap:pretty;visibility:hidden}
.op-p.on,.op-p.sai{visibility:visible}
.op-w{display:inline-block;opacity:.14;filter:blur(4px);transform:translateY(.22em);transition:opacity .6s ease calc(var(--k)*32ms),filter .6s ease calc(var(--k)*32ms),transform .7s cubic-bezier(.2,.8,.2,1) calc(var(--k)*32ms)}
.op-p.pinta .op-w{opacity:1;filter:none;transform:none}
.op-p.sai .op-w{opacity:0;filter:blur(2px);transform:translateY(-.15em);transition:opacity .22s,filter .22s,transform .22s}
.op-autor{display:flex;align-items:center;gap:14px;margin-top:34px;transition:opacity .45s .2s,transform .45s .2s}
.op-txt.sai .op-autor{opacity:0;transform:translateY(6px);transition-duration:.2s;transition-delay:0s}
.op-av{width:48px;height:48px;border-radius:50%;background:#fff;color:#000;display:grid;place-items:center;font:600 16px/1 var(--display);letter-spacing:.02em;flex:none}
.op-qm{display:flex;flex-direction:column;gap:3px;min-width:0}
.op-n{font:600 16px/1.3 var(--sans)}
.op-q{font:400 14px/1.4 var(--sans);color:#9c9c99}
.op-nav{display:flex;gap:28px;margin-top:44px;border-top:1px solid #222}
.op-b{all:unset;box-sizing:border-box;cursor:pointer;position:relative;display:flex;align-items:baseline;gap:10px;padding:16px 0 4px;color:#fff;opacity:.38;transition:opacity .3s}
.op-b:hover,.op-b.on{opacity:1}
.op-b:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:4px}
.op-bn{font:500 11px/1 var(--mono);letter-spacing:.12em;color:#8d8d8a}
.op-bt{font:500 15px/1.2 var(--sans);white-space:nowrap}
.op-bar{position:absolute;left:0;right:0;top:-1px;height:2px;overflow:hidden}
.op-bar i{display:block;height:100%;background:#fff;transform:scaleX(0);transform-origin:left}
.op-b.on .op-bar i{transform:scaleX(1)}
.opi.anda .op-b.on .op-bar i{transform:scaleX(0);animation:op-prog 9s linear forwards}
@keyframes op-prog{to{transform:scaleX(1)}}
@media (hover:hover){.opi:hover .op-b.on .op-bar i{animation-play-state:paused}}
.op-b.on:focus-visible .op-bar i{animation-play-state:paused}
.op-vis{display:grid;min-width:0;perspective:1600px}
.op-slide{grid-area:1/1;display:block;position:relative;text-decoration:none;color:inherit;opacity:0;visibility:hidden;transform:translateY(18px) rotateY(-12deg) rotateX(4deg) scale(.96);transform-origin:50% 60%;transition:opacity .6s,transform .9s cubic-bezier(.2,.7,.2,1),visibility .6s}
.op-slide.on{opacity:1;visibility:visible;transform:rotateY(-7deg) rotateX(3deg)}
.op-slide.on:hover{transform:none}
.op-slide .bw{box-shadow:0 60px 100px -40px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.12)}
.op-slide.on .vp img{animation:rola var(--t,12s) ease-in-out .8s infinite alternate}
.op-slide:hover .vp img{animation-play-state:paused}
.op-ver{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font:500 14px/1 var(--sans);color:#d8d8d5;border-bottom:1px solid #4a4a48;padding-bottom:5px;transition:color .25s,border-color .25s,gap .25s}
.op-slide:hover .op-ver{color:#fff;border-color:#fff;gap:12px}
.op-sem{aspect-ratio:16/10;border-radius:14px;background:radial-gradient(120% 90% at 30% 20%,#1c1c1c,#0c0c0c);box-shadow:inset 0 0 0 1px #262626;display:grid;place-items:center}
.op-sem span{font:600 clamp(80px,11vw,170px)/1 var(--display);letter-spacing:-.05em;color:#2e2e2e}
@media (max-width:860px){.op-grid{grid-template-columns:1fr;gap:44px}.op-vis{max-width:520px}.op-slide.on,.op-slide.on:hover{transform:none}.op-aspas{font-size:96px}}
@media (max-width:640px){.op-nav{gap:22px;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1*clamp(16px,4vw,40px));padding-inline:clamp(16px,4vw,40px)}.op-nav::-webkit-scrollbar{display:none}.op-b{flex:none}.op-autor{margin-top:26px}}
@media (prefers-reduced-motion:reduce){.op-w,.op-p.sai .op-w{opacity:1;filter:none;transform:none;transition:none}.op-slide{transition:opacity .2s,visibility .2s}.op-slide.on .vp img{animation:none}.opi.anda .op-b.on .op-bar i{animation:none;transform:scaleX(1)}}
html.escuro .op-sec{background:#151515;box-shadow:inset 0 1px 0 #262626,inset 0 -1px 0 #262626}
.pj-op{margin:6px 0 2px;padding:2px 0 2px 18px;border-left:2px solid var(--texto);max-width:44ch}
.pj-op blockquote{margin:0;font:500 18px/1.45 var(--display);letter-spacing:-.01em;color:var(--texto)}
.pj-op figcaption{margin-top:10px;font:400 13px/1.4 var(--sans);color:var(--suave)}
.pj-op figcaption strong{color:var(--texto);font-weight:600}

/* portfólio: janela (pop-up) com o ecrã do computador e do telemóvel */
.pm{position:fixed;inset:0;z-index:70;background:rgba(10,10,10,.72);backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px;animation:pm-in .25s ease}
.pm[hidden]{display:none}
@keyframes pm-in{from{opacity:0}}
.pm-cx{position:relative;width:min(1100px,100%);max-height:100%;overflow:auto;background:var(--fundo);border-radius:18px;padding:clamp(18px,3vw,32px);display:flex;flex-direction:column;gap:22px;box-shadow:0 40px 100px -30px rgba(0,0,0,.6)}
.pm-x{align-self:flex-end}
.pm-vis{padding:0 14px 14px 0}
.pm-jan{position:relative;max-width:820px;margin:0 auto}
.pm .bw{box-shadow:0 30px 60px -34px rgba(0,0,0,.5)}
.pm .ph{position:absolute;right:-12px;bottom:-22px;width:clamp(96px,19%,170px);left:auto}
.pm .vp img{animation:rola var(--t,12s) ease-in-out .6s infinite alternate}
.pm-inf{display:flex;justify-content:space-between;align-items:center;gap:14px 20px;flex-wrap:wrap}
.pm-inf strong{display:block;font:600 clamp(24px,3.4vw,38px)/1.1 var(--display);letter-spacing:-.03em}
.pm-c{color:var(--suave);font-size:15px}
.pm-acoes{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media (max-width:640px){.pm{padding:0;place-items:end stretch}.pm-cx{border-radius:18px 18px 0 0;max-height:94vh}.pm .ph{right:-4px}.pm-vis{padding-right:4px}}
@media (prefers-reduced-motion:reduce){.pm{animation:none}.pm .vp img{animation:none}}
html.escuro .pm-cx{background:#131313}
.pm-op:empty{display:none}.pm-op .pj-op{margin:0}
