@font-face{font-family:"Manrope";src:url(/assets/fonts/manrope.woff2) format("woff2");font-weight:200 800;font-display:swap}

:root{
  /* Cor: papel, tinta e um único azul, tirado do logótipo */
  --papel:oklch(96.7% .007 89);
  --folha:oklch(99.6% .002 89);
  --tinta:oklch(20.2% .008 286);
  --secundario:oklch(47.1% .006 95);
  --linha:oklch(90.7% .011 90);
  --azul:oklch(53.8% .257 263);
  --azul-escuro:oklch(46.5% .219 263);
  --azul-claro:oklch(92.5% .035 263);
  --escuro:#181818;
  --escuro-2:#272727;
  --escuro-3:#313131;
  --sobre-escuro:oklch(96.7% .007 89);
  --sobre-escuro-2:oklch(78% .008 90);

  /* Espaçamento */
  --s-25:2px;--s-50:4px;--s-75:8px;--s-100:12px;--s-200:16px;--s-300:24px;--s-400:32px;--s-500:40px;--s-600:48px;--s-700:64px;--s-800:80px;--s-900:96px;

  /* Cantos */
  --r-lg:8px;--r-xl:12px;--r-2xl:16px;--r-3xl:24px;

  --curva:cubic-bezier(.22,1,.36,1);
  /* Tempos: pressão, cor, estado e movimento que explica */
  --d-pressao:140ms;--d-cor:200ms;--d-estado:300ms;--d-explica:500ms;
  --letra:"Manrope",ui-sans-serif,-apple-system,"Segoe UI",sans-serif;

  /* Cor do negócio dentro do telemóvel; o site.js troca-a com o setor */
  --fone-cor:#F5B301;
  --fone-sobre:#16161A;
}

@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:var(--d-cor);animation-timing-function:var(--curva)}
::view-transition-group(nav){z-index:10}
.nav{view-transition-name:nav}

*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--s-900)}
body{background:var(--papel);color:var(--tinta);font:400 16px/24px var(--letra);-webkit-font-smoothing:antialiased;overflow-x:clip;text-wrap:pretty}
h1,h2,h3,h4{font-weight:600;text-wrap:balance}
.q{display:none}
@media (min-width:1024px){.q{display:inline}}
img,svg{display:block;max-width:100%}
img{height:auto}
ul,ol{list-style:none;padding:0}
a{color:inherit}
fieldset{border:0;padding:0;min-width:0}
button,input,textarea{font:inherit;color:inherit}
mark{background:var(--azul-claro);color:inherit;padding:0 var(--s-50);border-radius:var(--r-lg)}
strong,b{font-weight:600}
::selection{background:var(--azul);color:#fff}
:focus-visible{outline:2px solid var(--azul);outline-offset:2px}
.icone{width:20px;height:20px;flex:none}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.saltar{position:fixed;top:var(--s-75);left:var(--s-75);z-index:30;background:var(--tinta);color:var(--papel);padding:var(--s-75) var(--s-100);border-radius:var(--r-lg);transform:translateY(-200%)}
.saltar:focus{transform:none}

/* Estilos de texto ------------------------------------------------------- */
.heading-1{font-size:36px;line-height:40px;letter-spacing:-.025em;font-weight:600}
.heading-2{font-size:30px;line-height:36px;letter-spacing:-.02em;font-weight:600}
.heading-3{font-size:30px;line-height:36px;letter-spacing:-.02em;font-weight:600}
.heading-4{font-size:24px;line-height:32px;letter-spacing:-.015em;font-weight:600}
.heading-5{font-size:24px;line-height:32px;letter-spacing:-.015em;font-weight:600}
.heading-6{font-size:20px;line-height:28px;letter-spacing:-.01em;font-weight:600}
.title-1{font-size:20px;line-height:28px;font-weight:500}
.title-2{font-size:18px;line-height:28px;font-weight:500}
.title-3{font-size:16px;line-height:24px;font-weight:500}
.title-4{font-size:14px;line-height:20px;font-weight:500}
.body-1{font-size:16px;line-height:24px;font-weight:600}
.body-2{font-size:16px;line-height:24px;font-weight:500}
.body-3{font-size:16px;line-height:24px;font-weight:400}
.body-5{font-size:14px;line-height:20px;font-weight:500}
.body-6{font-size:14px;line-height:20px;font-weight:400}
.body-7{font-size:18px;line-height:28px;font-weight:400}
.caption-1{font-size:14px;line-height:20px;font-weight:500}
.caption-2{font-size:14px;line-height:20px;font-weight:400}
.caption-3{font-size:12px;line-height:16px;font-weight:600}
.caption-5{font-size:12px;line-height:16px;font-weight:400}
@media (min-width:640px){
  .heading-1{font-size:48px;line-height:48px}
  .heading-2{font-size:36px;line-height:40px}
  .heading-3{font-size:36px;line-height:40px}
  .heading-4{font-size:30px;line-height:36px}
}
@media (min-width:1024px){
  .heading-1{font-size:60px;line-height:60px}
  .heading-2{font-size:48px;line-height:48px}
}

/* Grelha geral ----------------------------------------------------------- */
.wrap{width:min(1200px,100% - var(--s-400));margin-inline:auto}
@media (min-width:768px){.wrap{width:min(1200px,100% - var(--s-700))}}
.estreito{max-width:720px}
.seccao{padding-block:var(--s-700)}
@media (min-width:1024px){.seccao{padding-block:var(--s-900)}}

/* Botões ----------------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-75);min-height:44px;padding:var(--s-75) var(--s-100);border:0;border-radius:var(--r-lg);font-size:16px;line-height:24px;font-weight:600;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--d-cor) var(--curva),color var(--d-cor) var(--curva),transform var(--d-pressao) var(--curva)}
.btn:active{transform:scale(.98)}
.btn-lg{font-size:18px;line-height:28px}
.btn-lg .icone{width:24px;height:24px}
@media (max-width:359px){.btn-lg{font-size:16px;line-height:24px}}
.btn-sm{font-size:14px;line-height:20px}
.btn-largo{width:100%}
.btn-primary{background:var(--azul);color:#fff}
.btn-secundario{background:transparent;color:var(--tinta);box-shadow:inset 0 0 0 1px var(--tinta)}
.btn-branco{background:var(--folha);color:var(--tinta)}
@media (hover:hover){
  .btn-primary:hover{background:var(--azul-escuro)}
  .btn-secundario:hover{background:var(--tinta);color:var(--papel)}
  .btn-branco:hover{background:var(--azul-claro)}
}

.ligacao{display:inline-flex;align-items:center;gap:var(--s-75);min-height:44px;font-weight:600;text-decoration:none;color:var(--azul)}
.ligacao .icone{transition:transform var(--d-estado) var(--curva)}
@media (hover:hover){.ligacao:hover .icone{transform:translateX(var(--s-50))}}
.ligacao-linha{margin-top:var(--s-300)}

.etiqueta{display:inline-block;padding:var(--s-25) var(--s-75);border-radius:var(--r-lg);background:var(--azul-claro);color:var(--azul-escuro);vertical-align:middle;letter-spacing:0}
.etiqueta-escura{background:var(--escuro-3);color:var(--sobre-escuro)}

/* Listas com sinal -------------------------------------------------------- */
.lista{display:grid;gap:var(--s-75)}
.lista li{display:flex;gap:var(--s-75);align-items:flex-start}
.lista .icone{width:20px;height:20px}
.sim{color:var(--azul)}
.nao{color:var(--secundario)}
.fora{color:var(--secundario)}
.lista-clara .sim{color:var(--sobre-escuro)}

/* Navegação --------------------------------------------------------------- */
.nav{position:fixed;top:var(--s-75);left:50%;transform:translateX(-50%);z-index:20;display:flex;align-items:center;gap:var(--s-100);width:max-content;max-width:calc(100% - var(--s-200));padding:var(--s-75);border-radius:var(--r-2xl);background:oklch(99.6% .002 89 / .78);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 0 0 1px oklch(20% .01 286 / .08),0 8px 24px oklch(20% .01 286 / .08)}
.nav-marca{display:flex;align-items:center;gap:var(--s-75);min-height:44px;padding-inline:var(--s-50);text-decoration:none;font-size:14px;line-height:20px;font-weight:600;white-space:nowrap}
.nav-marca img{width:32px;height:32px}
.nav-links{display:none;gap:var(--s-25)}
.nav-links a{display:flex;align-items:center;min-height:44px;padding-inline:var(--s-100);border-radius:var(--r-lg);font-size:14px;line-height:20px;font-weight:500;text-decoration:none;white-space:nowrap;transition:background-color var(--d-cor) var(--curva)}
.nav-links a[aria-current=page]{background:var(--azul-claro);color:var(--azul-escuro)}
@media (hover:hover){.nav-links a:hover:not([aria-current=page]){background:oklch(20% .01 286 / .06)}}
.nav-cta{white-space:nowrap}
.nav-cta .icone{width:20px;height:20px}
.nav-menu{position:relative;width:44px;height:44px;border:0;border-radius:var(--r-lg);background:transparent;cursor:pointer}
.nav-menu span{position:absolute;left:12px;width:20px;height:2px;background:var(--tinta);border-radius:2px;transition:transform var(--d-estado) var(--curva)}
.nav-menu span:first-child{top:17px}
.nav-menu span:last-child{top:25px}
.nav-menu[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.nav-menu[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
@media (max-width:359px){.nav-nome{display:none}}
@media (min-width:1024px){
  .nav-links{display:flex}
  .nav-menu{display:none}
}

.menu{position:fixed;inset:0;z-index:15;display:flex;align-items:center;padding:var(--s-900) var(--s-300) var(--s-400);background:oklch(96.7% .007 89 / .94);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);transition:opacity var(--d-cor) var(--curva)}
@starting-style{.menu{opacity:0}}
.menu[hidden]{display:none}
.menu nav{display:grid;gap:var(--s-100);width:100%}
.menu a{display:block;padding-block:var(--s-50);text-decoration:none;opacity:0;transform:translateY(var(--s-300));animation:entra-menu 400ms var(--curva) forwards}
.menu a[aria-current=page]{color:var(--azul)}
.menu a:nth-child(2){animation-delay:60ms}.menu a:nth-child(3){animation-delay:120ms}.menu a:nth-child(4){animation-delay:180ms}.menu a:nth-child(5){animation-delay:240ms}.menu a:nth-child(6){animation-delay:300ms}
@keyframes entra-menu{to{opacity:1;transform:none}}

/* Topo da página inicial -------------------------------------------------- */
.topo{padding-top:calc(var(--s-900) + var(--s-200));padding-bottom:var(--s-700)}
.topo-grelha{display:grid;gap:var(--s-300)}
.topo-texto{max-width:680px}
.topo-titulo{background:linear-gradient(90deg,#000 0%,#666 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.topo-preco{-webkit-text-fill-color:var(--azul)}
.topo-sub{margin-top:var(--s-200);margin-bottom:var(--s-300)}
.topo-prova{margin-top:var(--s-100);color:var(--secundario)}
.topo-texto .btn{width:100%}
@media (min-width:480px){.topo-texto .btn{width:auto}}

.experimente{display:grid;gap:var(--s-75);order:3}
.campo{display:block;width:100%;min-height:44px;padding:var(--s-75) var(--s-100);border:0;border-radius:var(--r-lg);background:var(--folha);box-shadow:inset 0 0 0 1px var(--linha);font-size:16px;line-height:24px}
.campo::placeholder{color:var(--secundario)}
.campo:hover{box-shadow:inset 0 0 0 1px var(--secundario)}
.campo:focus{outline:0;box-shadow:inset 0 0 0 2px var(--azul)}
.campo[aria-invalid=true]{box-shadow:inset 0 0 0 2px oklch(50% .19 27)}
.fichas{display:flex;flex-wrap:wrap;gap:var(--s-75);margin-top:var(--s-50)}
.ficha{position:relative;cursor:pointer}
.ficha input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.ficha span{display:flex;align-items:center;min-height:44px;padding:var(--s-75) var(--s-100);border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--linha);background:transparent;transition:background-color var(--d-cor) var(--curva),color var(--d-cor) var(--curva),transform var(--d-pressao) var(--curva)}
.ficha:active span{transform:scale(.98)}
.ficha input:checked + span{background:var(--tinta);color:var(--papel);box-shadow:none}
.ficha input:focus-visible + span{outline:2px solid var(--azul);outline-offset:2px}
@media (hover:hover){.ficha:hover input:not(:checked) + span{box-shadow:inset 0 0 0 1px var(--secundario)}}
@media (pointer:fine) and (min-width:1024px){.ficha span{min-height:32px;padding-block:var(--s-50)}}

.topo-fone{position:relative;display:grid;justify-items:center;gap:var(--s-100);order:2;padding-top:var(--s-300)}
.topo-painel{position:absolute;inset:0 0 var(--s-500) 0;border-radius:var(--r-3xl);background:var(--azul-claro)}
.fone-topo{position:relative;margin-bottom:calc(var(--s-400) * -1)}
.topo-legenda{position:relative;margin-top:var(--s-500);color:var(--secundario);text-align:center}

@media (max-width:1023px){
  .fone-topo .fone-ecra{height:368px}
  .topo-fone{overflow:hidden;border-radius:var(--r-3xl) var(--r-3xl) 0 0}
  .topo-painel{inset:0}
  .fone-topo{margin-bottom:0}
  .topo-fone{padding-bottom:0}
  .topo-legenda{position:static;grid-row:3;margin:0;padding:var(--s-100) var(--s-200);background:var(--papel);width:100%}
}
@media (min-width:1024px){
  .topo{padding-top:calc(var(--s-900) + var(--s-400));padding-bottom:var(--s-800)}
  .topo-grelha{grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:auto 1fr;column-gap:var(--s-700);row-gap:var(--s-400);align-items:start}
  .topo-texto{grid-column:1;grid-row:1}
  .experimente{grid-column:1;grid-row:2;order:0;max-width:620px}
  .topo-fone{grid-column:2;grid-row:1 / span 2;order:0;padding-top:var(--s-400)}
  .topo-texto .btn{width:auto}
}

/* Telemóvel --------------------------------------------------------------- */
.fone{width:296px;max-width:100%;padding:var(--s-75);border-radius:var(--r-3xl);background:var(--tinta);box-shadow:0 24px 48px oklch(20% .01 286 / .24)}
.fone-ecra{position:relative;height:552px;border-radius:var(--r-2xl);overflow:hidden;background:#fff;color:#16161A}
.tela{display:flex;flex-direction:column;height:100%;font-size:14px;line-height:20px}
.ts-nav{display:flex;align-items:center;gap:var(--s-75);padding:var(--s-100);font-weight:600}
.ts-marca{display:grid;place-items:center;width:24px;height:24px;flex:none;border-radius:4px;background:var(--fone-cor);color:var(--fone-sobre);font-size:12px;line-height:16px;font-weight:600;transition:background-color var(--d-estado) var(--curva),color var(--d-estado) var(--curva)}
.ts-nome{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ts-tel{width:20px;height:20px}
.ts-foto{width:100%;aspect-ratio:4/3;object-fit:cover;transition:opacity var(--d-cor) var(--curva)}
.ts-foto.a-trocar{opacity:0;transition-duration:var(--d-pressao)}
.ts-corpo{display:grid;gap:var(--s-75);padding:var(--s-100)}
.ts-titulo{font-size:20px;line-height:28px;font-weight:600;letter-spacing:-.01em}
.ts-sub{color:#5C5B57}
.ts-botao{display:flex;align-items:center;justify-content:center;gap:var(--s-75);min-height:40px;margin-block:var(--s-50);border-radius:var(--r-lg);background:var(--fone-cor);color:var(--fone-sobre);font-weight:600;transition:background-color var(--d-estado) var(--curva),color var(--d-estado) var(--curva)}
.ts-lista{display:grid;gap:var(--s-50)}
.ts-lista li{display:flex;align-items:center;gap:var(--s-75)}
.ts-lista .icone{width:16px;height:16px}
.ts-cartoes{display:grid;gap:var(--s-75)}
.ts-cartoes li{display:grid;padding:var(--s-100);border-radius:var(--r-lg);background:#F2F1EC}
.ts-cartoes b{font-weight:600}
.ts-cartoes span{font-size:12px;line-height:16px;color:#5C5B57}
.ts-zona{display:flex;align-items:center;gap:var(--s-50);margin-top:var(--s-50);color:#5C5B57}
.ts-zona .icone{width:16px;height:16px}

.tela-pesquisa{padding:var(--s-100);gap:var(--s-200)}
.tp-barra{display:flex;align-items:center;gap:var(--s-75);min-height:44px;padding-inline:var(--s-100);border-radius:var(--r-lg);background:#F2F1EC}
.tp-barra .icone{width:16px;height:16px}
.tp-resultado{display:grid;gap:var(--s-50);padding:var(--s-100);margin-inline:calc(var(--s-100) * -1);background:#EAF0FF}
.tp-dominio{display:flex;align-items:center;gap:var(--s-75);font-size:12px;line-height:16px;color:#5C5B57}
.tp-nome{font-size:18px;line-height:28px;font-weight:600;color:#0A47C9}
.tp-texto{color:#5C5B57}
.tp-vazio{display:grid;gap:var(--s-75);padding-block:var(--s-25)}
.tp-vazio i{height:8px;border-radius:var(--r-lg);background:#EDECE6}
.tp-vazio i:nth-child(1){width:42%}
.tp-vazio i:nth-child(2){width:68%;height:12px}
.tp-vazio i:nth-child(3){width:92%}

.tc-topo{display:flex;align-items:center;gap:var(--s-75);padding:var(--s-100);font-weight:600;background:#F2F1EC}
.tc-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-lg);background:#16161A;color:#fff}
.tc-fundo{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-100);padding:var(--s-100);background:#F8F7F3}
.tc-nota{align-self:center;padding:var(--s-25) var(--s-75);border-radius:var(--r-lg);background:#EDECE6;font-size:12px;line-height:16px;color:#5C5B57}
.tc-bolha{max-width:90%;padding:var(--s-75) var(--s-100);border-radius:var(--r-xl);background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.1)}

/* Frase central ------------------------------------------------------------ */
.frase{padding-block:var(--s-800)}
.frase-texto{max-width:900px;text-wrap:balance}
.js .frase-texto .palavra{opacity:.48;transition:opacity var(--d-explica) var(--curva)}
.js .frase-texto .palavra.acesa{opacity:1}
@media (min-width:1024px){.frase{padding-block:var(--s-900)}}

/* Caminho do cliente -------------------------------------------------------- */
.caminho{padding-top:0}
.caminho-intro{margin-top:var(--s-200);max-width:640px}
.caminho-grelha{margin-top:var(--s-500)}
.caminho-passos{display:grid;gap:var(--s-600)}
.caminho-mini{display:flex;justify-content:center;padding-top:var(--s-300);border-radius:var(--r-3xl) var(--r-3xl) 0 0;overflow:hidden;background:var(--azul-claro)}
.fone-mini{width:264px;box-shadow:none;border-radius:var(--r-3xl) var(--r-3xl) 0 0;padding-bottom:0}
.fone-mini .fone-ecra{height:300px;border-radius:var(--r-2xl) var(--r-2xl) 0 0}
.caminho-texto{padding-top:var(--s-300)}
.caminho-momento{color:var(--azul);margin-bottom:var(--s-75)}
.caminho-texto .body-7{margin-top:var(--s-100);max-width:520px}
.caminho-fone{display:none}
@media (min-width:1024px){
  .caminho-grelha{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:var(--s-700);margin-top:0}
  .caminho-passos{display:block}
  .caminho-mini{display:none}
  .caminho-passo{display:flex;align-items:center;min-height:64vh}
  .caminho-texto{padding-top:0}
  .js .caminho-texto h3,.js .caminho-texto .body-7{opacity:.6;transition:opacity var(--d-estado) var(--curva)}
  .js .caminho-passo.ativo .caminho-texto h3,.js .caminho-passo.ativo .caminho-texto .body-7{opacity:1}
  .caminho-fone{display:flex;justify-content:center;position:sticky;top:calc(50vh - 284px);align-self:start;margin-top:calc(32vh - 284px)}
  .fone-historia .tela{position:absolute;inset:0;background:#fff;opacity:0;transform:translateY(var(--s-200));transition:opacity var(--d-cor) var(--curva),transform 0s linear var(--d-cor)}
  .fone-historia .tela.ligada{opacity:1;transform:none;transition:opacity var(--d-explica) var(--curva),transform var(--d-explica) var(--curva)}
  html:not(.js) .fone-historia .tela:first-child{opacity:1;transform:none}
}

/* Montra de modelos --------------------------------------------------------- */
.montra{background:var(--escuro);color:var(--sobre-escuro)}
.montra-topo{display:grid;gap:var(--s-200);margin-bottom:var(--s-600)}
.montra-topo .body-7{color:var(--sobre-escuro-2);max-width:560px}
.modelos{display:grid;gap:var(--s-600)}
.modelo{display:grid;gap:var(--s-300);align-content:start}
.modelo-texto{display:grid;gap:var(--s-100);justify-items:start}
.modelo-texto .body-3{color:var(--sobre-escuro-2)}
.modelo .ligacao{color:var(--sobre-escuro)}
.composto{position:relative;display:block;padding-bottom:var(--s-400);padding-right:var(--s-500)}
.composto-pc{width:100%;border-radius:var(--r-xl);box-shadow:0 0 0 1px var(--escuro-3);transition:transform var(--d-estado) var(--curva)}
.composto-tm{position:absolute;right:0;bottom:0;width:28%;border-radius:var(--r-xl);box-shadow:0 0 0 4px var(--escuro),0 0 0 5px var(--escuro-3),0 16px 32px rgba(0,0,0,.5);transition:transform var(--d-estado) var(--curva)}
@media (hover:hover){
  .composto:hover .composto-pc{transform:translateY(calc(var(--s-50) * -1))}
  .composto:hover .composto-tm{transform:translateY(calc(var(--s-75) * -1))}
}
.composto:focus-visible{outline-color:var(--sobre-escuro);outline-offset:var(--s-50);border-radius:var(--r-xl)}
.montra :focus-visible{outline-color:var(--sobre-escuro)}
@media (min-width:768px){
  .montra-topo{grid-template-columns:1fr 1fr;align-items:end;column-gap:var(--s-700)}
  .modelos{grid-template-columns:1fr 1fr;column-gap:var(--s-400);row-gap:var(--s-700)}
  .modelo-grande{grid-column:1 / -1;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:var(--s-500);align-items:center}
  .modelos-todos .modelo-grande:nth-child(even) .composto{order:2}
}

/* O que faço ------------------------------------------------------------------ */
.servicos-lista{display:grid;gap:var(--s-200);margin-top:var(--s-400)}
.servico{position:relative;display:grid;gap:var(--s-75);padding:var(--s-300);padding-right:var(--s-700);border-radius:var(--r-2xl);background:var(--folha);text-decoration:none;box-shadow:0 0 0 1px var(--linha);transition:transform var(--d-pressao) var(--curva)}
.servico:active{transform:scale(.99)}
.servico::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 1px var(--tinta);opacity:0;transition:opacity var(--d-cor) var(--curva);pointer-events:none}
.servico .body-3{color:var(--secundario)}
.servico-preco{color:var(--azul);margin-top:var(--s-50)}
.servico > .icone{position:absolute;right:var(--s-300);top:var(--s-300);width:24px;height:24px;transition:transform var(--d-estado) var(--curva)}
@media (hover:hover){
  .servico:hover::after{opacity:1}
  .servico:hover > .icone{transform:translateX(var(--s-50))}
}
.inclui-bloco{margin-top:var(--s-700)}
.inclui{display:grid;gap:var(--s-300);margin-top:var(--s-300)}
.inclui .body-3{color:var(--secundario);margin-top:var(--s-25)}
@media (min-width:640px){
  .servicos-lista{grid-template-columns:1fr 1fr}
  .inclui{grid-template-columns:1fr 1fr;column-gap:var(--s-500)}
}
@media (min-width:1024px){
  .inclui{grid-template-columns:repeat(3,1fr);row-gap:var(--s-400)}
  .inclui-4{grid-template-columns:repeat(4,1fr)}
}

/* Como funciona ----------------------------------------------------------------- */
.como{background:var(--folha)}
.como h2{max-width:760px}
.passos{display:grid;gap:var(--s-400);margin-top:var(--s-500)}
.passos li{display:grid;gap:var(--s-75);align-content:start}
.passo-num{color:var(--azul)}
.passos .body-3{color:var(--secundario)}
@media (min-width:768px){.passos{grid-template-columns:repeat(3,1fr);column-gap:var(--s-500)}}
.estreito .body-7{margin-top:var(--s-200)}

/* Folha de orçamento ------------------------------------------------------------- */
.preco-grelha{display:grid;gap:var(--s-500)}
.preco-intro{display:grid;gap:var(--s-200);align-content:start}
.nota-mercado{color:var(--secundario);max-width:440px}
.nota-mercado a{color:inherit}
.folha{display:grid;gap:var(--s-300);padding:var(--s-300);border-radius:var(--r-2xl);background:var(--folha);box-shadow:0 0 0 1px var(--linha),0 24px 48px oklch(20% .01 286 / .1)}
.folha-opcoes{display:grid;border-block:1px solid var(--linha)}
.folha-linha{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:var(--s-100);align-items:start;padding-block:var(--s-200);cursor:pointer}
.folha-linha + .folha-linha{border-top:1px solid var(--linha)}
.folha-linha input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}
.folha-marca{position:relative;width:20px;height:20px;margin-top:var(--s-50);border-radius:50%;box-shadow:inset 0 0 0 2px var(--linha)}
.folha-marca::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--azul);opacity:0;transform:scale(.7);transition:opacity var(--d-cor) var(--curva),transform var(--d-cor) var(--curva)}
.folha-marca::before{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff;z-index:1;opacity:0;transition:opacity var(--d-cor) var(--curva)}
@media (hover:hover){.folha-linha:hover .folha-marca{box-shadow:inset 0 0 0 2px var(--secundario)}}
.folha-linha input:checked ~ .folha-marca::after{opacity:1;transform:none}
.folha-linha input:checked ~ .folha-marca::before{opacity:1}
.folha-linha input:focus-visible ~ .folha-marca{outline:2px solid var(--azul);outline-offset:2px}
.folha-nome{display:grid}
.folha-nome .body-6{color:var(--secundario)}
.folha-preco{font-variant-numeric:tabular-nums;white-space:nowrap}
.folha-linha input:checked ~ .folha-preco{color:var(--azul)}
.folha-listas{display:grid;gap:var(--s-300)}
.folha-listas h4{margin-bottom:var(--s-100)}
.folha-total{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-200);padding-top:var(--s-200);border-top:1px solid var(--tinta)}
.folha-nota{color:var(--secundario)}
@media (max-width:479px){.folha .btn-lg{font-size:16px;line-height:24px}}
@media (min-width:640px){
  .folha{padding:var(--s-400)}
  .folha-listas{grid-template-columns:1fr 1fr;column-gap:var(--s-400)}
}
@media (min-width:1024px){
  .preco-grelha{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--s-700)}
  .preco-intro{position:sticky;top:var(--s-900);align-self:start}
}

/* Planos ------------------------------------------------------------------------- */
.manutencao{background:var(--folha)}
.manutencao-intro{margin-top:var(--s-200);max-width:640px}
.planos{display:grid;margin-top:var(--s-500);border-radius:var(--r-2xl);box-shadow:0 0 0 1px var(--linha);background:var(--papel)}
.plano{display:grid;align-content:start;padding:var(--s-300)}
.plano-topo{margin-bottom:var(--s-300)}
.plano-lista{gap:0}
.plano-lista li{padding-block:var(--s-50)}
.plano > .btn{margin-top:var(--s-300)}
.plano + .plano{border-top:1px solid var(--linha)}
.plano-destaque{background:var(--folha);box-shadow:0 0 0 2px var(--azul);border-radius:var(--r-2xl);position:relative;z-index:1;border-top:0}
.plano-destaque + .plano{border-top:0}
.plano-preco{margin-top:var(--s-75)}
.plano-resumo{color:var(--secundario);margin-top:var(--s-75)}
.plano-lista b{font-weight:600}
@media (min-width:900px){
  .planos{grid-template-columns:repeat(3,1fr);grid-template-rows:auto repeat(7,auto) auto}
  .plano{grid-template-rows:subgrid;grid-row:span 9}
  .plano-lista{display:grid;grid-template-rows:subgrid;grid-row:span 7}
  .plano + .plano{border-top:0}
  .plano .btn{align-self:end}
}

/* Quem faz ------------------------------------------------------------------------- */
.quem-grelha{display:grid;gap:var(--s-400)}
.quem-foto{width:100%;max-width:480px;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-2xl)}
.quem-texto{display:grid;gap:var(--s-200);align-content:center;justify-items:start;max-width:600px}
.factos{display:grid;gap:var(--s-200);margin-top:var(--s-200);width:100%}
.factos div{padding-top:var(--s-100);border-top:1px solid var(--linha)}
.factos dd{color:var(--secundario);margin-top:var(--s-25)}
@media (min-width:640px){.factos{grid-template-columns:repeat(3,1fr);column-gap:var(--s-300)}}
@media (min-width:900px){.quem-grelha{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--s-700)}}

/* Perguntas ------------------------------------------------------------------------ */
.faq{background:var(--folha)}
.faq-grelha{display:grid;gap:var(--s-500)}
.faq-lado{display:grid;gap:var(--s-200);justify-items:start;align-content:start}
.faq-lado .body-3{color:var(--secundario)}
.faq-lista{display:grid;border-top:1px solid var(--linha)}
.faq-item{border-bottom:1px solid var(--linha)}
.faq-item summary{text-wrap:balance;display:flex;justify-content:space-between;align-items:center;gap:var(--s-200);min-height:44px;padding-block:var(--s-200);cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .icone{transition:transform var(--d-cor) var(--curva)}
.faq-item[open] summary .icone{transform:rotate(180deg)}
.faq-resposta{padding-bottom:var(--s-300);color:var(--secundario);max-width:680px}
.faq-resposta a{color:inherit}
.faq-item[open] .faq-resposta{animation:abre var(--d-estado) var(--curva)}
@keyframes abre{from{opacity:0;transform:translateY(calc(var(--s-75) * -1))}}
@media (min-width:1024px){
  .faq-grelha{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--s-700)}
  .faq-lado{position:sticky;top:var(--s-900);align-self:start}
}

/* Chamada final --------------------------------------------------------------------- */
.fim{padding-block:var(--s-700);background:var(--azul);color:#fff}
.fim-grelha{display:grid;gap:var(--s-500)}
.fim h2{margin-bottom:var(--s-200)}
@media (max-width:639px){.fim h2{font-size:30px;line-height:36px}}
.fim-acao{display:grid;gap:var(--s-100);align-content:center;width:100%;max-width:480px}
.fim-bolha{padding:var(--s-200);border-radius:var(--r-2xl);border-bottom-right-radius:var(--s-50);background:var(--folha);color:var(--tinta);overflow-wrap:anywhere}
.fim-numero{text-align:center}
.fim :focus-visible{outline-color:#fff}
@media (min-width:1024px){
  .fim{padding-block:var(--s-900)}
  .fim-grelha{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:var(--s-700);align-items:center}
}

/* Rodapé ----------------------------------------------------------------------------- */
.rodape{background:var(--escuro);color:var(--sobre-escuro);padding-block:var(--s-600) var(--s-300)}
.rodape-grelha{display:grid;gap:var(--s-400)}
.rodape-marca{display:grid;gap:var(--s-75);justify-items:start;align-content:start;max-width:320px}
.rodape-marca .body-6{color:var(--sobre-escuro-2)}
.rodape h2{color:var(--sobre-escuro-2);margin-bottom:var(--s-75)}
.rodape li a,.rodape li span{display:flex;align-items:center;min-height:44px;font-size:14px;line-height:20px;text-decoration:none;overflow-wrap:anywhere}
.rodape li a{transition:color var(--d-cor) var(--curva)}
@media (hover:hover){.rodape li a:hover{color:var(--sobre-escuro-2)}}
.rodape :focus-visible{outline-color:var(--sobre-escuro)}
.rodape-fim{margin-top:var(--s-400);padding-top:var(--s-200);border-top:1px solid var(--escuro-3);color:var(--sobre-escuro-2)}

.rodape-grelha{grid-template-columns:1fr 1fr}
.rodape-marca,.rodape-contacto{grid-column:1 / -1}
@media (min-width:1024px){
  .rodape-grelha{grid-template-columns:2fr 1.4fr 1fr 1fr}
  .rodape-marca,.rodape-contacto{grid-column:auto}
}

/* Páginas interiores --------------------------------------------------------------------- */
.pagina-topo{padding-top:calc(var(--s-900) + var(--s-400));padding-bottom:var(--s-600)}
.pagina-topo .body-7{margin-top:var(--s-200);max-width:640px}
.pagina-topo .btn{margin-top:var(--s-300)}
.preco-pagina{padding-top:0}
.montra-pagina{padding-top:var(--s-700)}
.manutencao-pagina{padding-top:var(--s-700)}
.preciso-grelha,.glossario-grelha{display:grid;gap:var(--s-400)}
.preciso-grelha .body-7,.glossario-grelha .body-7{margin-top:var(--s-200)}
.preciso-lista{display:grid;gap:var(--s-300)}
.preciso-lista li{display:flex;gap:var(--s-100)}
.preciso-lista .icone{width:24px;height:24px;margin-top:var(--s-25)}
.preciso-lista .body-3,.glossario-lista dd{color:var(--secundario)}
.glossario-lista{display:grid}
.glossario-lista div{padding-block:var(--s-200);border-top:1px solid var(--linha)}
.glossario-lista dd{margin-top:var(--s-25)}
@media (min-width:1024px){
  .preciso-grelha,.glossario-grelha{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--s-700)}
}

.contacto-topo{padding-bottom:var(--s-700)}
.contacto-grelha{display:grid;gap:var(--s-500)}
.contacto-dados{display:grid;gap:var(--s-50);margin-top:var(--s-300)}
.contacto-dados li{display:flex;align-items:center;gap:var(--s-75);min-height:44px}
.contacto-dados a{display:flex;align-items:center;min-height:44px;color:inherit;overflow-wrap:anywhere}
.formulario{display:grid;gap:var(--s-200);padding:var(--s-300);border-radius:var(--r-2xl);background:var(--folha);box-shadow:0 0 0 1px var(--linha),0 24px 48px oklch(20% .01 286 / .1)}
.formulario > .body-6,.formulario > .caption-2{color:var(--secundario)}
.formulario .btn{margin-top:var(--s-75)}
.formulario textarea.campo{resize:vertical}
.campo-grupo{display:grid;gap:var(--s-50)}
.erro{color:oklch(45% .17 27)}
.aviso:empty{display:none}
@media (min-width:1024px){
  .contacto-grelha{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:var(--s-700);align-items:start}
  .formulario{padding:var(--s-400)}
}

.legal-topo{padding-bottom:var(--s-300)}
.legal{padding-top:0}
.legal-texto{display:grid;gap:var(--s-100)}
.legal-texto h2{margin-top:var(--s-300)}
.legal-texto h2:first-child{margin-top:0}
.legal-texto a{color:var(--azul)}
.creditos{display:grid;gap:var(--s-200)}
.creditos li{display:grid;gap:var(--s-25)}
.creditos a{overflow-wrap:anywhere}
.nao-encontrada{min-height:70vh}
.nao-encontrada-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-200);margin-top:var(--s-300)}
.nao-encontrada-acoes .btn{margin-top:0}

@keyframes so-opacidade{from{opacity:0}to{opacity:1}}

/* Entradas ao descer --------------------------------------------------------------------- */
.js .revela{opacity:0;transform:translateY(var(--s-400));transition:opacity 600ms var(--curva),transform 600ms var(--curva)}
.js .revela.vista{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  @view-transition{navigation:none}
  /* Menos movimento, sem cortar tudo: ficam os fades e saem as deslocações */
  .js .revela{transform:none}
  .js .frase-texto .palavra{opacity:1}
  .fone-historia .tela{transform:none!important}
  .btn:active,.ficha:active span,.servico:active{transform:none}
  .menu a{transform:none;animation-name:so-opacidade;animation-delay:0ms!important}
  .faq-item[open] .faq-resposta{animation-name:so-opacidade}
  .folha-marca::after{transform:none}
  .ligacao:hover .icone,.servico:hover > .icone,.composto:hover .composto-pc,.composto:hover .composto-tm{transform:none!important}
  .nav-menu span{transition:none}
}

/* Portfólio: site ao vivo dentro da moldura, quando não há captura */
.composto-vivo{position:relative;overflow:hidden;background:#fff}
.composto-pc.composto-vivo{aspect-ratio:16/10}
.composto-tm.composto-vivo{position:absolute;aspect-ratio:1/2}
.composto-vivo iframe{position:absolute;top:0;left:0;border:0;transform-origin:0 0;pointer-events:none}
.composto-vazio{aspect-ratio:16/10;background:var(--escuro-2)}
