@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');
:root{--accent:#0f766e;--accent-soft:color-mix(in srgb,var(--accent) 10%,#fff);--accent-ink:color-mix(in srgb,var(--accent) 78%,#000);
  --ink:#111827;--dark:#0f1115;--realce:var(--accent);--muted:#6b7280;--line:#e7e5e4;--bg:#faf9f7;--card:#fff;--r:14px;
  --sans:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;--serif:'Fraunces',Georgia,serif}
*{box-sizing:border-box}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);font-size:15.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--accent-ink)}
img{max-width:100%;display:block}
.ic{width:18px;height:18px;flex:none;vertical-align:-3px}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
h1,h2,h3{line-height:1.15;letter-spacing:-.015em;margin:0 0 .5em}
h1,h2{font-family:var(--serif);font-weight:700}
h2{font-size:clamp(24px,3vw,32px)}
.center{text-align:center}
.s-muted{color:var(--muted)}
.s-lead{font-size:18px;color:var(--muted);max-width:620px}
.s-title{font-size:clamp(28px,4vw,40px)}

/* topo */
.s-top{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.s-nav{display:flex;align-items:center;justify-content:space-between;height:70px}
.s-brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--ink);text-decoration:none;font-size:17px}
.s-brand img{height:42px;width:auto}
.logo-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--accent);color:#fff;font-weight:800;font-size:14px}
.s-nav nav{display:flex;align-items:center;gap:6px}
.s-nav nav a{padding:8px 13px;border-radius:9px;color:var(--ink);text-decoration:none;font-weight:600;font-size:14.5px}
.s-nav nav a:hover,.s-nav nav a.on{background:var(--accent-soft);color:var(--accent-ink)}
.s-burger{display:none;cursor:pointer;padding:8px}
.s-burger .ic{width:24px;height:24px}

/* botões */
.s-btn,.s-nav nav a.s-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;border:0;border-radius:10px;padding:11px 18px;font:600 15px var(--sans);cursor:pointer;text-decoration:none;white-space:nowrap}
.s-btn:hover,.s-nav nav a.s-btn:hover{background:var(--accent-ink);color:#fff}
.s-btn-lg{padding:15px 26px;font-size:16px}
.s-btn-block{width:100%}
.s-btn-wa{background:#1fa855}.s-btn-wa:hover{background:#178a45}

/* hero */
.s-hero{padding:72px 0 64px;background:linear-gradient(180deg,var(--accent-soft),var(--bg));border-bottom:1px solid var(--line)}
.s-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12.5px;font-weight:700;color:var(--accent-ink);margin:0 0 12px}
.s-hero h1{font-size:clamp(34px,5.4vw,60px);max-width:820px;margin-bottom:30px}
.s-search{display:flex;gap:8px;background:#fff;padding:8px;border-radius:16px;box-shadow:0 12px 40px rgba(17,24,39,.08);border:1px solid var(--line);max-width:960px;flex-wrap:wrap}
.s-search select,.s-search input{flex:1 1 160px;border:0;background:var(--bg);border-radius:10px;padding:12px 14px;font:inherit;color:var(--ink);min-width:0}
.s-search button{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;border:0;border-radius:10px;padding:12px 22px;font:600 15px var(--sans);cursor:pointer}
.s-hero-note{color:var(--muted);margin:14px 0 0;font-size:14px}

/* pré-visualização de paletas */
.s-preview{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:center;background:#111;color:#fff;padding:8px 14px;font-size:14px}
.s-preview-pals{display:flex;gap:6px}
.s-preview-mods{display:flex;gap:4px}
.s-preview-mods a{color:#d1d5db!important;padding:3px 10px;border-radius:7px;border:1px solid rgba(255,255,255,.25);text-decoration:none;font-size:13px}
.s-preview-mods a.on{background:#fff;color:#111!important;font-weight:700}
.s-preview-pals a{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.35)}
.s-preview-pals a.on{border-color:#fff;transform:scale(1.15)}
.s-preview-ok{background:#fff;color:#111!important;padding:4px 12px;border-radius:7px;font-weight:700;text-decoration:none}
.s-preview-x{color:#d1d5db!important}
.s-preview~.s-top{top:38px}

/* banner rotativo */
.s-slider{position:relative;height:clamp(420px,62vh,620px);overflow:hidden;background:var(--dark)}
.s-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s}
.s-slide.on{opacity:1;visibility:visible}
.s-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 7s ease}
.s-slide.on img{transform:scale(1)}
.s-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,22,.82) 0%,rgba(10,14,22,.55) 45%,rgba(10,14,22,.05) 80%)}
.s-slide-txt{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:#fff;padding-bottom:40px}
.s-slide-txt .s-eyebrow{color:#fff;opacity:.85}
.s-slide-txt h2{color:#fff;font-size:clamp(28px,4.4vw,52px);max-width:640px;margin-bottom:14px}
.s-slide-txt .s-feats{color:#e5e7eb;font-size:15px;margin:0 0 6px}
.s-slide-txt .s-price{color:#fff;font-size:26px;font-family:var(--serif);margin:6px 0 22px;padding:0}
.s-slide-txt .s-price small{color:#d1d5db}
.s-sl-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(4px)}
.s-sl-btn:hover{background:rgba(255,255,255,.32)}
.s-sl-btn.prev{left:18px}.s-sl-btn.next{right:18px}
.s-sl-btn .ic{width:24px;height:24px}
.s-dots{position:absolute;z-index:3;bottom:72px;left:0;right:0;display:flex;gap:8px;justify-content:center}
.s-dots button{width:10px;height:10px;border-radius:10px;border:0;background:rgba(255,255,255,.45);cursor:pointer;padding:0;transition:width .3s}
.s-dots button.on{width:30px;background:#fff}
.s-search-band{position:relative;z-index:4;margin-top:-44px}
.s-search-band .s-search{margin:0 auto}

/* secções */
.s-section{padding:56px 20px}
.s-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px;gap:12px}
.s-head a{font-weight:600;text-decoration:none}
.s-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cards-4 .s-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cards-4 .s-card-body{padding:14px 15px 16px}
.cards-4 .s-card-body h3{font-size:15.5px;line-height:1.35}
.cards-4 .s-card-body small{font-size:12px}
.cards-4 .s-feats{font-size:13px;gap:10px}
.cards-4 .s-mini{font-size:12px}
.cards-4 .s-price{font-size:17px}
@media (max-width:1100px){.cards-4 .s-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.s-card{background:var(--card);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.s-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(17,24,39,.1)}
.s-card-img{position:relative;aspect-ratio:4/3;background:#eceae6;overflow:hidden}
.s-card-img img{width:100%;height:100%;object-fit:cover}
.s-tag{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.95);color:var(--ink);font-size:12px;font-weight:700;padding:4px 10px;border-radius:20px}
.s-tag.static{position:static;display:inline-block;background:var(--accent-soft);color:var(--accent-ink)}
.s-tag-r{left:auto;right:12px;background:#fef3c7;color:#92400e}
.s-card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:4px;flex:1}
.s-card-body small{color:var(--muted);font-weight:600;font-size:12.5px}
.s-card-body h3{font-size:17.5px;margin:0}
.s-feats{display:flex;gap:14px;color:var(--muted);font-size:13.5px;margin-top:4px}
.s-feats span{display:inline-flex;align-items:center;gap:5px}
.s-feats .ic{width:16px;height:16px}
.s-price{font-weight:800;font-size:19px;margin-top:auto;padding-top:8px;color:var(--ink)}
.s-price small{font-weight:600;color:var(--muted);font-size:13px}
.s-price .pl{display:block}
.s-price.big small{font-family:var(--sans);font-size:14px}
.s-price.big{font-size:28px;margin:12px 0 16px;font-family:var(--serif)}
.s-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.s-cats a{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;color:var(--ink)}
.s-cats a:hover{border-color:var(--accent)}
.s-cats span{background:var(--accent-soft);color:var(--accent-ink);font-weight:700;font-size:13px;border-radius:20px;padding:1px 10px}
.s-band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.s-about{padding:56px 20px;display:grid;grid-template-columns:1fr 1.6fr;gap:40px}
.s-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--dark);color:#fff;border-radius:20px;padding:40px 44px;flex-wrap:wrap}
.s-cta h2{color:#fff;margin-bottom:6px}
.s-cta p{margin:0;color:#d1d5db}

/* catálogo */
.s-filters{display:flex;flex-wrap:wrap;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;margin:18px 0}
.s-filters input,.s-filters select{flex:1 1 140px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font:inherit;background:var(--bg);min-width:0}
.s-count{color:var(--muted);margin:0 0 16px}
.s-empty{text-align:center;padding:50px 20px;background:#fff;border:1px dashed var(--line);border-radius:14px}
.s-pag{display:flex;gap:6px;justify-content:center;margin-top:30px}
.s-pag a{min-width:40px;text-align:center;padding:8px 12px;border-radius:9px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--ink);font-weight:600}
.s-pag a.on{background:var(--accent);color:#fff;border-color:var(--accent)}

/* detalhe */
.s-crumb{color:var(--muted);font-size:14px;margin:0 0 14px}
.s-crumb a{text-decoration:none}
.s-detail-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:36px;align-items:start}
.s-gallery{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:16/10;background:#eceae6}
.s-gallery img{width:100%;height:100%;object-fit:cover}
.s-gal-btn{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(255,255,255,.92);width:42px;height:42px;border-radius:50%;cursor:pointer;display:grid;place-items:center}
.s-gal-btn.prev{left:12px}.s-gal-btn.next{right:12px}
.s-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto}
.s-thumbs img{width:90px;height:66px;object-fit:cover;border-radius:8px;cursor:pointer;opacity:.6;flex:none;border:2px solid transparent}
.s-thumbs img.on{opacity:1;border-color:var(--accent)}
.s-specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0}
.s-specs div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:2px}
.s-specs b{font-size:18px}.s-specs span{color:var(--muted);font-size:13px}
.s-specs .ic{color:var(--accent);width:22px;height:22px}
.s-text{margin:18px 0 26px;font-size:16px}
.s-chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.s-chips li{background:#fff;border:1px solid var(--line);border-radius:20px;padding:6px 14px;font-size:14px}
.s-side{position:sticky;top:90px;display:flex;flex-direction:column;gap:16px}
.s-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.s-box h3{font-size:19px}
.s-form{display:flex;flex-direction:column;gap:10px}
.s-form input,.s-form select,.s-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 13px;font:inherit;background:var(--bg);color:var(--ink)}
.s-form input:focus,.s-form textarea:focus,.s-form select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}
.s-form-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.s-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.s-erro{background:#fee2e2;color:#7f1d1d;padding:10px 14px;border-radius:10px}
.s-agent{display:flex;align-items:center;gap:12px}
.s-agent small{display:block;color:var(--muted)}
.avatar{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);font-weight:700;overflow:hidden;flex:none}
.avatar img{width:100%;height:100%;object-fit:cover}

/* rodapé */
.s-foot{background:var(--dark);color:#cbd5e1;margin-top:40px;padding:48px 0 0;font-size:14.5px}
.s-foot a{color:#e5e7eb;text-decoration:none}
.s-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.s-foot strong{color:#fff;font-size:18px}
.s-foot p{margin:6px 0}
.s-copy{border-top:1px solid #1f2937;margin-top:36px;padding:18px 20px;font-size:13px}
.s-copy a{color:#9ca3af}
.s-wa{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;background:#1fa855;color:#fff;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:30}
.s-wa .ic{width:28px;height:28px}

@media (max-width:960px){
  .s-grid,.cards-4 .s-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .s-detail-grid,.s-about{grid-template-columns:1fr}
  .s-side{position:static}
  .s-foot-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .s-burger{display:block}
  .s-nav nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:12px 20px 18px;border-bottom:1px solid var(--line)}
  #nav-t:checked~nav{display:flex}
  .s-grid,.cards-4 .s-grid{grid-template-columns:1fr}
  .s-hero{padding:44px 0}
  .s-section{padding:36px 16px}
  .wrap{padding:0 16px}
  .s-specs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .s-sl-btn{display:none}
  .s-slide::after{background:linear-gradient(0deg,rgba(10,14,22,.85) 0%,rgba(10,14,22,.35) 60%,rgba(10,14,22,.1) 100%)}
  .s-slide-txt{justify-content:flex-end;padding-bottom:96px}
  .s-form-2{grid-template-columns:1fr}
  .s-cta{padding:28px 24px}
}

/* realce (2.ª cor da marca) sobre fundos escuros */
.s-slide-txt .s-eyebrow{color:var(--realce);opacity:1}
.s-slide-txt .s-price{color:var(--realce)}
.s-dots button.on{background:var(--realce)}
.s-cta .s-btn{background:var(--realce);color:var(--dark)}
.s-cta .s-btn:hover{filter:brightness(1.08);background:var(--realce);color:var(--dark)}
.s-foot strong{color:var(--realce)}
.s-hero{border-top:3px solid var(--realce)}
.s-brand img{height:52px;border-radius:50%}
.s-reg{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;border:1px solid var(--realce);color:var(--realce);border-radius:20px;padding:1px 9px;margin-left:6px;vertical-align:3px}
.s-social{display:flex;gap:10px;margin-top:14px!important}
.s-social a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08)}
.s-social a:hover{background:var(--realce);color:var(--dark)}
.s-agent small:last-child{color:var(--muted);font-size:12.5px}
.s-frase{font-family:var(--serif);font-size:clamp(22px,2.6vw,30px);text-align:center;max-width:820px;margin:0 auto;color:var(--ink)}
.s-frase::before,.s-frase::after{content:"";display:block;width:60px;height:3px;background:var(--realce);margin:14px auto}
.s-map{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);aspect-ratio:16/8;background:#e9e7e2}
.s-map iframe{width:100%;height:100%;border:0;display:block}
@media (max-width:720px){.s-map{aspect-ratio:4/3}}
.s-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.s-team .s-agent{align-items:flex-start}
.s-team small{display:block;color:var(--muted)}
.s-team-wa{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-weight:600;font-size:14px;text-decoration:none;color:#178a45}
@media (max-width:720px){.s-team{grid-template-columns:1fr}}
.s-anuncie h3{margin:18px 0 2px;font-size:17px}
.s-anuncie h3:first-of-type{margin-top:0}
.s-form-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.s-drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;border:2px dashed var(--line);border-radius:12px;padding:26px;text-align:center;cursor:pointer;background:var(--bg);color:var(--muted)}
.s-drop:hover{border-color:var(--accent)}
.s-drop b{color:var(--ink)}
.s-drop .ic{width:28px;height:28px;color:var(--accent)}
.s-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.s-prev{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}
.s-prev img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.s-prev img.capa{outline:3px solid var(--accent)}
.s-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted)}
.s-check input{width:auto;margin-top:4px}
.s-steps{padding-left:20px;margin:0 0 16px}
.s-steps li{margin-bottom:8px}
.s-nav nav a.s-anuncie-link{border:1.5px solid var(--accent);color:var(--accent)}
@media (max-width:720px){.s-form-4{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* topo com a cor da marca */
.s-hero-cor{background:radial-gradient(ellipse at 85% 0%,color-mix(in srgb,var(--accent) 70%,transparent),transparent 60%),linear-gradient(135deg,var(--dark),color-mix(in srgb,var(--dark) 70%,var(--accent)));border-bottom:0;color:#fff}
.s-hero-cor h1{color:#fff}
.s-hero-cor .s-eyebrow{color:var(--realce)}
.s-hero-cor .s-lead,.s-hero-cor .s-hero-note{color:rgba(255,255,255,.82)}

/* topo com imagem de fundo */
.s-hero-bg{position:relative;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;border-bottom:0;color:#fff;padding:96px 0 84px}
.s-hero-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,color-mix(in srgb,var(--dark) 88%,transparent) 0%,color-mix(in srgb,var(--dark) 55%,transparent) 50%,color-mix(in srgb,var(--dark) 10%,transparent) 100%)}
.s-hero-bg .wrap{position:relative}
.s-hero-bg h1{color:#fff}
.s-hero-bg .s-eyebrow{color:var(--realce)}
.s-hero-bg .s-lead,.s-hero-bg .s-hero-note{color:rgba(255,255,255,.85)}
@media (max-width:720px){.s-hero-bg{padding:60px 0 52px}}
/* imagem numa caixa com a mesma largura dos cartões */
.s-hero-bg.fundo-inteira{background:transparent!important;padding:28px 0 0;border:0}
.s-hero-bg.fundo-inteira::before{display:none}
.s-hero-bg.fundo-inteira .wrap{box-sizing:border-box;max-width:1140px;margin:0 auto;padding:clamp(40px,6vw,72px) clamp(22px,4vw,48px);border-radius:20px;border:1px solid var(--line);overflow:hidden;
  background:linear-gradient(100deg,color-mix(in srgb,var(--dark) 88%,transparent) 0%,color-mix(in srgb,var(--dark) 55%,transparent) 50%,color-mix(in srgb,var(--dark) 15%,transparent) 100%),var(--fundo) center/cover no-repeat;box-shadow:0 20px 50px rgba(0,0,0,.25)}
@media (max-width:1180px){.s-hero-bg.fundo-inteira .wrap{margin:0 20px}}
@media (max-width:720px){.s-hero-bg.fundo-inteira{padding-top:18px}.s-hero-bg.fundo-inteira .wrap{margin:0 16px}}

/* rodapé sem menu (padrão) */
.s-foot-grid{grid-template-columns:1.4fr 1fr}
.s-copy{display:flex;justify-content:space-between;align-items:center;gap:12px}
.s-restrito{opacity:.35;display:inline-flex}
.s-restrito:hover{opacity:.8}
@media (max-width:960px){.s-foot-grid{grid-template-columns:1fr}}

/* características com ícones */
.s-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.s-chips li{display:flex;align-items:center;gap:10px;border-radius:12px;padding:10px 14px;background:#fff}
.s-chips .bi{font-size:18px;color:var(--accent);width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--accent-soft);flex:none}
.s-card .s-mini{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.s-card .s-mini span{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:4px}
.s-card .s-mini .bi{color:var(--accent)}

/* ================= MODO ESCURO (paletas escuras: preto/dourado, marinho/laranja...) ================= */
body.tema-escuro{--ink:#eef1f7;--muted:#a3aabb;--line:color-mix(in srgb,var(--accent) 22%,transparent);--card:color-mix(in srgb,var(--bg) 92%,#fff);--campo:color-mix(in srgb,var(--bg) 80%,#000);--accent-soft:color-mix(in srgb,var(--accent) 16%,var(--card));--accent-ink:var(--realce);
  --grad-btn:linear-gradient(180deg,color-mix(in srgb,var(--realce) 75%,#fff),var(--accent) 55%,color-mix(in srgb,var(--accent) 80%,#000));
  background:radial-gradient(ellipse at 15% -10%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 45%),radial-gradient(ellipse at 100% 30%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 40%),var(--bg);color:var(--ink)}
.tema-escuro h1,.tema-escuro h2,.tema-escuro .s-title{background:linear-gradient(180deg,color-mix(in srgb,var(--realce) 55%,#fff) 0%,var(--realce) 55%,color-mix(in srgb,var(--accent) 80%,#000) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.tema-escuro h3{color:var(--realce)}
.tema-escuro a{color:var(--realce)}
.tema-escuro .s-top{background:color-mix(in srgb,var(--bg) 70%,#000);border-bottom:1px solid var(--line);backdrop-filter:none}
.tema-escuro .s-hero{border-top:0}
.tema-escuro .s-brand{color:var(--ink)}
.tema-escuro .s-nav nav a{color:color-mix(in srgb,var(--ink) 90%,var(--realce))}
.tema-escuro .s-nav nav a:hover,.tema-escuro .s-nav nav a.on{background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--realce)}
.tema-escuro .s-btn,.tema-escuro .s-nav nav a.s-btn,.tema-escuro .s-search button{background:var(--grad-btn);color:var(--on-accent);border:1px solid var(--realce);box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 22%,transparent)}
.tema-escuro .s-btn:hover,.tema-escuro .s-nav nav a.s-btn:hover{filter:brightness(1.08);color:var(--on-accent)}
.tema-escuro .s-btn-wa{background:#1fa855;border-color:#1fa855;color:#fff;box-shadow:none}
.tema-escuro .s-nav nav a.s-anuncie-link{border-color:var(--accent);color:var(--realce)}
.tema-escuro .s-card,.tema-escuro .s-box,.tema-escuro .s-cats a,.tema-escuro .s-specs div,.tema-escuro .s-chips li,.tema-escuro .s-filters,.tema-escuro .s-search,.tema-escuro .s-pag a,.tema-escuro .s-empty{background:var(--card);border-color:var(--line);color:var(--ink)}
.tema-escuro .s-card:hover{box-shadow:0 16px 40px rgba(0,0,0,.5),0 0 0 1px color-mix(in srgb,var(--accent) 50%,transparent)}
.tema-escuro .s-card-body h3{color:var(--ink)}
.tema-escuro .s-price{color:var(--realce)}
.tema-escuro .s-tag{background:color-mix(in srgb,var(--bg) 85%,transparent);color:var(--realce);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}
.tema-escuro .s-tag.static{background:color-mix(in srgb,var(--accent) 13%,transparent)}
.tema-escuro .s-hero:not(.s-hero-bg){background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 90%,#000),var(--bg));border-bottom:1px solid var(--line);border-top:0}
.tema-escuro .s-eyebrow{color:var(--realce)}
.tema-escuro .s-search select,.tema-escuro .s-search input,.tema-escuro .s-filters input,.tema-escuro .s-filters select,.tema-escuro .s-form input,.tema-escuro .s-form select,.tema-escuro .s-form textarea{background:var(--campo);color:var(--ink);border:1px solid var(--line)}
.tema-escuro ::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}
.tema-escuro .s-band{background:color-mix(in srgb,var(--bg) 94%,#fff);border-color:var(--line)}
.tema-escuro .s-cta{background:linear-gradient(135deg,color-mix(in srgb,var(--bg) 88%,#fff),color-mix(in srgb,var(--bg) 85%,#000));border:1px solid color-mix(in srgb,var(--accent) 38%,transparent)}
.tema-escuro .s-foot{background:color-mix(in srgb,var(--bg) 70%,#000);border-top:1px solid var(--line)}
.tema-escuro .s-foot strong{background:none;color:var(--realce)}
.tema-escuro .s-chips .bi,.tema-escuro .s-specs .ic{color:var(--realce);background:color-mix(in srgb,var(--accent) 13%,transparent)}
.tema-escuro .s-pag a.on{background:var(--accent);color:var(--on-accent)}
.tema-escuro .s-frase{color:var(--ink)}
.tema-escuro .s-frase::before,.tema-escuro .s-frase::after{background:linear-gradient(90deg,transparent,var(--realce),transparent);width:140px}
.tema-escuro .s-slide::after{background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 92%,transparent) 0%,color-mix(in srgb,var(--bg) 55%,transparent) 45%,transparent 85%)}
.tema-escuro .s-slide-txt h2{background:linear-gradient(180deg,color-mix(in srgb,var(--realce) 55%,#fff),var(--realce) 60%,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.tema-escuro .s-preview{background:#000}
.tema-escuro .s-erro{background:#3a1414;color:#fecaca}
.tema-escuro .s-map{border-color:var(--line);filter:grayscale(.3) brightness(.9)}
.tema-escuro .avatar{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--realce)}
.tema-escuro .s-drop{background:var(--campo);border-color:var(--line)}
.tema-escuro .s-check{color:var(--muted)}
.tema-escuro .s-reg{border-color:var(--realce);color:var(--realce)}
.tema-escuro .s-hero-bg::before{background:linear-gradient(100deg,color-mix(in srgb,var(--bg) 92%,transparent),color-mix(in srgb,var(--bg) 60%,transparent) 50%,color-mix(in srgb,var(--bg) 20%,transparent))}
.tema-escuro .s-hero-cor{background:radial-gradient(ellipse at 80% 0%,color-mix(in srgb,var(--accent) 25%,transparent),transparent 60%),linear-gradient(135deg,var(--bg),color-mix(in srgb,var(--bg) 85%,var(--accent)))}
/* Preto e dourado: letra serifada de luxo */
.pal-preto_ouro{--ink:#f2ead8;--muted:#a89f8b}
.pal-preto_ouro h1,.pal-preto_ouro h2,.pal-preto_ouro .s-title{font-family:'Cinzel','Cormorant Garamond',Georgia,serif;letter-spacing:.02em;font-weight:600}
/* menu do telemóvel nos temas escuros */
@media (max-width:720px){
  .tema-escuro .s-nav nav{background:color-mix(in srgb,var(--bg) 70%,#000);border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(0,0,0,.5)}
  .tema-escuro .s-nav nav a{color:var(--ink)}
  .tema-escuro .s-burger{color:var(--ink)}
}

/* compartilhar (página do imóvel) */
.s-share{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.s-share span{margin-right:auto;font-weight:600}
.s-share a,.s-share button{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:18px;cursor:pointer;text-decoration:none}
.s-share .sh-wa:hover{background:#25d366;border-color:#25d366;color:#fff}
.s-share .sh-fb:hover{background:#1877f2;border-color:#1877f2;color:#fff}
.s-share .sh-link:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent,#fff)}
