/* Tokens da marca */
:root{
  --purple:#3D1A8E;
  --purple-mid:#5B21B6;
  --purple-light:#7C3AED;
  --purple-pale:#EDE9FE;
  --purple-dark:#1E0A5C;
  --gold:#D4A843;
  --gold-light:#F0CB6E;
  --cream:#F8F7FC;
  --ink:#0F0820;
  --muted:#6B7280;
  --border:#E5E7EB;
  --success:#059669;
  --white:#FFFFFF;

  --r-sm:8px; --r-md:12px; --r-lg:20px; --r-xl:24px; --r-full:999px;
  --shadow-sm:0 1px 3px rgba(0,0,0,.08);
  --shadow-md:0 4px 16px rgba(61,26,110,.10);
  --shadow-lg:0 8px 32px rgba(61,26,110,.15);

  --serif:'Plus Jakarta Sans', system-ui, sans-serif;
  --sans:'Plus Jakarta Sans', system-ui, sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --gutter:clamp(16px, 4vw, 48px);
  --max:1200px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--purple-pale) var(--white)}
body{font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.6;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums lining-nums}
img{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}
::selection{background:var(--purple);color:#fff}
:focus-visible{outline:2px solid var(--purple);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Títulos */
h1,h2,.h-serif{font-family:var(--serif);font-weight:700;letter-spacing:-.02em;text-wrap:balance}
h2{font-size:clamp(32px,3.8vw,48px);line-height:1.1}
h1 em,h2 em{font-style:italic;color:var(--purple)}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:var(--r-full);font:600 15px/1 var(--sans);text-decoration:none;border:0;cursor:pointer;white-space:nowrap;transition:background-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease),color .2s var(--ease)}
.btn:active{transform:translateY(1px)}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold:hover{background:var(--gold-light)}
.btn-purple{background:var(--purple);color:#fff}
.btn-purple:hover{background:var(--purple-mid)}
.btn-outline{background:var(--white);color:var(--purple);box-shadow:inset 0 0 0 1.5px var(--purple)}
.btn-outline:hover{background:var(--purple-pale)}
.btn-sm{min-height:36px;padding:0 14px;font-size:13px}

/* Etiquetas */
.badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--r-full);font:700 11px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.b-aberto{background:var(--purple);color:#fff}
.b-analise{background:var(--purple-pale);color:var(--purple)}
.b-prep{background:var(--cream);color:var(--muted);box-shadow:inset 0 0 0 1px var(--border)}
.b-concluido{background:#E6F5EF;color:#047857}
.b-branco{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}

/* Cabeçalho de secção */
.sec{padding:112px 0}
.sec-cabeca{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 48px;flex-wrap:wrap;margin-bottom:48px}
.sec-cabeca h2{max-width:16ch}
.sec-cabeca p{color:var(--muted);max-width:46ch}
.sec-cabeca .lado{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.fundo-cream{background:var(--cream)}

/* Navegação */
.nav{position:sticky;top:0;z-index:1100;border-bottom:1px solid var(--border);background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nav .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:72px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo img{height:36px;width:auto}
.logo span{font:700 19px/1 var(--serif);color:var(--purple-dark);letter-spacing:-.01em}
.nav ul{display:flex;gap:2px;list-style:none}
.nav ul a{display:block;padding:8px 13px;text-decoration:none;font-size:14px;font-weight:600;color:var(--muted);border-radius:var(--r-full);transition:color .2s,background .2s}
.nav ul a:hover{color:var(--ink)}
.nav ul a.ativo{color:var(--ink);background:var(--cream)}
.nav-acoes{display:flex;justify-content:flex-end;gap:10px}
.nav-acoes .btn{min-height:40px;padding:0 18px;font-size:14px}

/* Hero */
.hero{position:relative;padding-top:48px;background:var(--white)}
.hero-texto{text-align:center;position:relative;z-index:3}
.pilula-link{display:inline-flex;align-items:center;gap:10px;padding:5px 14px 5px 5px;border-radius:var(--r-full);background:var(--cream);box-shadow:inset 0 0 0 1px var(--border);font-size:14px;font-weight:600;text-decoration:none;color:var(--ink);transition:box-shadow .2s}
.pilula-link:hover{box-shadow:inset 0 0 0 1px var(--purple-pale),var(--shadow-sm)}
.hero h1{margin:22px auto 0;font-size:clamp(38px,5.6vw,72px);line-height:1.06;max-width:16ch}
.hero h1 .foto-inline{display:inline-block;width:1.5em;height:.82em;border-radius:var(--r-full);vertical-align:-.04em;background:url(assets/p1.jpeg) 50% 60%/cover;box-shadow:0 0 0 3px #fff,var(--shadow-lg);margin:0 .06em}
.hero .sub{margin:18px auto 0;font-size:17px;color:var(--muted);max-width:52ch}

.filtros{position:relative;z-index:5;display:flex;align-items:center;margin:32px auto 0;max-width:740px;background:#fff;border-radius:var(--r-full);padding:8px 8px 8px 12px;box-shadow:var(--shadow-sm),var(--shadow-lg)}
.campo{flex:1;display:flex;flex-direction:column;padding:4px 18px;min-width:0;text-align:left}
.campo + .campo{border-left:1px solid var(--border)}
.campo label{font:700 11px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.campo select{appearance:none;-webkit-appearance:none;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%230F0820' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") right 2px center no-repeat;font:600 15px/1.4 var(--sans);color:var(--ink);padding-right:18px;cursor:pointer;width:100%}
.campo select:focus{outline:none}
.campo:focus-within{background:var(--cream);border-radius:var(--r-md)}
.filtros .btn{min-height:52px}
.resultado{margin-top:14px;text-align:center;font-size:14px;color:var(--muted);position:relative;z-index:3}
.resultado b{color:var(--ink)}

.mapa-caixa{position:relative;z-index:1;isolation:isolate;margin-top:-92px;height:820px}
#mapa{position:absolute;inset:0;background:var(--purple)}
.tinta-div{position:absolute;left:0;top:0;background:var(--purple);pointer-events:none}
.mapa-caixa::before,.mapa-caixa::after{content:"";position:absolute;left:0;right:0;z-index:401;pointer-events:none}
.mapa-caixa::before{top:0;height:150px;background:linear-gradient(#fff 45%,rgba(255,255,255,0))}
.mapa-caixa::after{bottom:0;height:90px;background:linear-gradient(rgba(255,255,255,0),#fff)}

.leaflet-tinta-pane{display:none}
.leaflet-shadow-pane{pointer-events:none;opacity:.8}
.leaflet-container{font-family:var(--sans)}
.leaflet-control-attribution{font-size:11px;background:rgba(255,255,255,.8)!important}
.leaflet-control-zoom{border:0!important;box-shadow:var(--shadow-md)!important;border-radius:var(--r-md)!important;overflow:hidden}
.leaflet-control-zoom a{color:var(--ink)!important;width:36px!important;height:36px!important;line-height:36px!important}
.leaflet-top{top:150px}

/* Marcadores */
.pino{position:relative;width:44px;height:44px;border-radius:50%;background:var(--purple-pale) center/cover;box-shadow:0 0 0 3px #fff,var(--shadow-lg);transition:transform .3s var(--ease),box-shadow .3s var(--ease);cursor:pointer}
.pino:hover,.pino.ativo{transform:scale(1.12)}
.pino.ativo{box-shadow:0 0 0 3px var(--gold),var(--shadow-lg)}
.pino.aberto::after{content:"";position:absolute;inset:-3px;border-radius:50%;box-shadow:0 0 0 2px var(--gold);animation:pulsa 2.2s var(--ease) infinite}
@keyframes pulsa{from{transform:scale(1);opacity:.9}to{transform:scale(1.7);opacity:0}}
.pino .marca{position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);height:18px;padding:0 6px;border-radius:var(--r-full);font:700 9px/18px var(--sans);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;box-shadow:0 0 0 2px #fff}
.pino.concluido .marca{background:#E6F5EF;color:#047857}
.pino.aberto .marca{background:var(--purple);color:#fff}
.pino.breve .marca{background:var(--purple-pale);color:var(--purple)}
.pino.sem-foto{display:grid;place-items:center;background:var(--purple);color:#fff;font:italic 700 13px/1 var(--serif)}

/* Cartão flutuante */
.cartao .leaflet-popup-content-wrapper{padding:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm),var(--shadow-lg)}
.cartao .leaflet-popup-content{margin:0;width:272px!important;font-size:14px;line-height:1.45}
.cartao .leaflet-popup-tip{box-shadow:none}
.c-foto{position:relative;height:140px;background:var(--purple-pale) center/cover;margin:8px 8px 0;border-radius:var(--r-md)}
.c-foto.vazia{display:grid;place-items:center;background:var(--purple);color:#fff;font:italic 700 17px/1.3 var(--serif);text-align:center;padding:16px}
.c-foto .badge{position:absolute;top:8px;right:8px}
.c-corpo{padding:12px 14px 14px}
.c-corpo h3{font:700 17px/1.25 var(--serif);color:var(--ink)}
.c-onde{color:var(--muted);font-size:13px;margin-top:2px}
.c-meta{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:4px 14px;margin-top:10px;font-size:12px;color:var(--muted)}
.c-meta span + span{padding-left:14px;border-left:1px solid var(--border)}
.c-meta b{display:block;font-size:13.5px;color:var(--ink);font-weight:600}
.c-rodape{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.c-valor{font-weight:700;color:var(--ink)}
.c-valor small{display:block;font-size:12px;font-weight:600;color:var(--purple)}
.cartao a.btn{text-decoration:none}
.cartao a.btn-gold{color:var(--ink)}
.cartao a.btn-outline{color:var(--purple)}
.c-nota{margin-top:8px;font-size:11.5px;color:var(--muted)}


/* Números */
.numeros{margin-top:48px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.numeros .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-top:36px;padding-bottom:28px}
.numero{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.numero strong{font:700 clamp(30px,3.4vw,44px)/1 var(--sans);letter-spacing:-.03em;color:var(--ink);white-space:nowrap}
.numero span{font-size:14px;font-weight:600;line-height:1.3;color:var(--muted)}
.numeros .nota{grid-column:1/-1;font-size:13px;color:var(--muted)}
.selos{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:22px var(--gutter);border-top:1px solid var(--border);list-style:none}
.selos li{font-size:14px;font-weight:600;color:var(--ink);padding:8px 16px;border-radius:var(--r-full);background:var(--cream)}
.selos li b{color:var(--purple)}

/* Porquê nós (bento) */
.porque .wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px}
.porque-texto{display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.porque-texto p{color:var(--muted);max-width:44ch}
.porque-texto .btn{margin-top:20px}
.bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bloco{background:var(--cream);border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column;gap:8px;overflow:hidden;position:relative;min-height:260px}
.bloco h3{font-size:17px;font-weight:700;letter-spacing:-.01em;margin-top:auto}
.bloco p{font-size:14px;color:var(--muted);max-width:34ch}
.mini-notif{background:#fff;border-radius:var(--r-md);padding:10px 12px;box-shadow:var(--shadow-md);font-size:12.5px;line-height:1.35;margin-bottom:22px}
.mini-notif b{display:block;font-size:13px;font-weight:600}
.mini-notif span{color:var(--muted)}
.mini-notif + .mini-notif{margin-top:-16px;margin-left:14px;margin-right:-8px;opacity:.7}
.exemplo{position:absolute;top:12px;right:14px;font:700 11px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.grande{font:700 64px/1 var(--sans);letter-spacing:-.04em;color:var(--purple);margin-bottom:24px}
.bloco.largo{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:end;min-height:260px;background-color:var(--purple-dark);background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1.4px);background-size:12px 12px;color:#fff}
.bloco.largo h3{color:#fff}
.bloco.largo p{color:rgba(255,255,255,.78)}
.pilha{position:relative;height:210px}
.cartinha{position:absolute;right:0;bottom:-6px;width:210px;background:#fff;color:var(--ink);border-radius:var(--r-md);padding:8px;box-shadow:0 20px 40px -18px rgba(0,0,0,.6)}
.cartinha.atras{right:36px;bottom:14px;transform:rotate(-6deg);opacity:.75}
.cartinha i{display:block;height:92px;border-radius:var(--r-sm);background:center/cover}
.cartinha b{display:block;font:700 14px/1.25 var(--serif);margin-top:8px}
.cartinha span{font-size:12px;color:var(--muted)}
.chip-ouro{position:absolute;left:4px;top:30px;background:var(--gold);color:var(--ink);font-weight:700;font-size:13px;padding:6px 12px;border-radius:var(--r-full);box-shadow:0 8px 18px -8px rgba(0,0,0,.5)}

/* Oportunidades e historial: cartões */
.grelha-proj{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.proj{background:#fff;border-radius:var(--r-lg);padding:8px;box-shadow:0 0 0 1px var(--border);display:flex;flex-direction:column;transition:box-shadow .3s var(--ease),transform .3s var(--ease)}
.proj:hover{box-shadow:0 0 0 1px var(--purple-pale),var(--shadow-lg);transform:translateY(-2px)}
.proj-foto{position:relative;aspect-ratio:4/3;border-radius:var(--r-md);background:var(--purple-pale) center/cover;overflow:hidden}
.proj-foto .badge{position:absolute;top:10px;right:10px}
.proj-foto.vazia{display:grid;place-items:center;background:var(--purple);color:#fff;font:italic 700 20px/1.3 var(--serif);text-align:center;padding:24px}
.proj-corpo{padding:16px 12px 12px;display:flex;flex-direction:column;flex:1}
.proj h3{font:700 21px/1.2 var(--serif)}
.proj .onde{font-size:14px;color:var(--muted);margin-top:2px}
.proj dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.proj dt{font-size:12px;color:var(--muted)}
.proj dd{font-weight:700;font-size:16px;margin-top:2px}
.proj dd.destaque{color:var(--purple)}
.proj dd.ok{color:#047857}
.barra{margin-top:16px}
.barra-topo{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}
.barra-topo b{color:var(--ink)}
.barra-fundo{height:6px;border-radius:var(--r-full);background:var(--purple-pale);margin-top:6px;overflow:hidden}
.barra-fundo span{display:block;height:100%;width:max(var(--p),6px);background:var(--gold);border-radius:var(--r-full)}
.proj-acao{margin-top:auto;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.proj-acao .valor{font-weight:700}
.proj-acao .valor small{display:block;font-size:12px;font-weight:600;color:var(--muted)}
.aviso{margin-top:24px;font-size:13.5px;color:var(--muted);max-width:90ch}

.resumo-hist{margin-top:20px;border-radius:var(--r-lg);background:var(--purple-dark);color:#fff;padding:28px 32px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:24px;align-items:center}
.resumo-hist strong{display:block;font:700 30px/1 var(--serif);color:var(--gold)}
.resumo-hist span{font-size:13px;color:rgba(255,255,255,.75)}

/* Simulador */
.sim{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.sim-controlos{background:#fff;border-radius:var(--r-xl);padding:32px;box-shadow:0 0 0 1px var(--border)}
.sim-resultado{background:var(--purple-dark);color:#fff;border-radius:var(--r-xl);padding:32px;display:flex;flex-direction:column}
.grupo + .grupo{margin-top:28px}
.grupo > label,.grupo > .rotulo{display:flex;justify-content:space-between;align-items:baseline;font:700 11px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.montante{font:700 32px/1 var(--serif);color:var(--ink);letter-spacing:-.01em;text-transform:none}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;margin-top:12px;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:linear-gradient(to right,var(--purple) var(--p,0%),var(--purple-pale) var(--p,0%))}
input[type=range]::-moz-range-track{height:6px;border-radius:6px;background:var(--purple-pale)}
input[type=range]::-moz-range-progress{height:6px;border-radius:6px;background:var(--purple)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--gold);border:4px solid #fff;box-shadow:var(--shadow-md);margin-top:-10px}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--gold);border:4px solid #fff;box-shadow:var(--shadow-md)}
.limites{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}
.escolhas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.escolhas button{font:inherit;text-align:left;cursor:pointer;background:var(--cream);border:1.5px solid var(--border);border-radius:var(--r-md);padding:12px 14px;transition:border-color .2s,background .2s}
.escolhas button:hover{border-color:var(--purple-pale)}
.escolhas button[aria-pressed="true"]{border-color:var(--purple);background:var(--purple-pale)}
.escolhas b{display:block;font-size:14px;font-weight:600;line-height:1.3}
.escolhas span{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.linhas{border-top:1px dashed rgba(255,255,255,.22)}
.linhas div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px dashed rgba(255,255,255,.22);font-size:15px}
.linhas dt{color:rgba(255,255,255,.75)}
.linhas dd{font-weight:600}
.total{margin-top:auto;padding-top:28px}
.total span{font:700 11px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.total strong{display:block;font:700 clamp(40px,4.6vw,60px)/1 var(--serif);color:var(--gold);margin-top:8px;letter-spacing:-.02em}
.sim-resultado .risco-sim{margin-top:16px;font-size:12.5px;color:rgba(255,255,255,.7)}
.sim-resultado .btn{margin-top:20px;align-self:flex-start}

/* Processo */
.processo{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;counter-reset:passo}
.etapa{background:#fff;border-radius:var(--r-lg);padding:22px;box-shadow:0 0 0 1px var(--border);display:flex;flex-direction:column;gap:8px;position:relative}
.etapa .quem{align-self:flex-start}
.etapa h3{font:700 20px/1.2 var(--serif);margin-top:8px}
.etapa p{font-size:14px;color:var(--muted)}
.etapa.fim{background:var(--purple);box-shadow:none;color:#fff}
.etapa.fim p{color:rgba(255,255,255,.8)}
.risco{margin-top:14px;border-radius:var(--r-lg);background:#fff;box-shadow:0 0 0 1px var(--border);padding:26px 28px;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:24px}
.risco h3{font:700 22px/1.2 var(--serif)}
.risco ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;font-size:14.5px;color:var(--muted)}
.risco li b{color:var(--ink);font-weight:600}

/* Quem somos */
.quem .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.quem-foto{position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5;background:url(assets/p5.jpeg) center/cover}
.quem-foto blockquote{position:absolute;left:16px;right:16px;bottom:16px;background:#fff;border-radius:var(--r-lg);padding:22px 24px;box-shadow:var(--shadow-lg);font:italic 700 21px/1.35 var(--serif);color:var(--ink)}
.quem-foto blockquote cite{display:block;margin-top:10px;font:700 11px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;font-style:normal;color:var(--muted)}
.quem p.intro{margin-top:18px;color:var(--muted);max-width:50ch}
.pontos{list-style:none;margin-top:28px;display:grid;gap:0;border-top:1px solid var(--border)}
.pontos li{padding:14px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:16px;font-weight:600}
.pontos li span{font-weight:400;color:var(--muted);text-align:right}
.factos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}
.factos div{background:#fff;box-shadow:var(--shadow-sm);border-radius:var(--r-md);padding:16px}
.factos strong{display:block;font:700 22px/1.1 var(--serif);color:var(--purple)}
.factos span{font-size:12.5px;color:var(--muted)}

/* Dois caminhos */
.caminhos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.caminho{border-radius:var(--r-xl);padding:40px;min-height:340px;display:flex;flex-direction:column;gap:14px;overflow:hidden;position:relative}
.caminho h2{font-size:clamp(28px,3vw,40px)}
.caminho p{max-width:38ch}
.caminho .btn{margin-top:auto;align-self:flex-start}
.caminho.inv{background:var(--purple);color:#fff}
.caminho.inv h2 em{color:var(--gold)}
.caminho.inv p{color:rgba(255,255,255,.82)}
.caminho.prop{background:var(--cream)}
.caminho.prop p{color:var(--muted)}
.caminho .badge{align-self:flex-start}

/* FAQ */
.faq .wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px}
.faq p.intro{margin-top:16px;color:var(--muted);max-width:40ch}
.faq details{border-bottom:1px solid var(--border)}
.faq details:first-of-type{border-top:1px solid var(--border)}
.faq summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font-weight:600;font-size:17px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:10px;height:10px;border-right:2px solid var(--purple);border-bottom:2px solid var(--purple);transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{padding:0 0 22px;color:var(--muted);max-width:62ch}

/* Contacto */
.contacto-caixa{background:var(--purple-dark);color:#fff;border-radius:var(--r-xl);padding:clamp(28px,5vw,64px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px}
.contacto-caixa > *{min-width:0}
.contacto-caixa h2{color:#fff}
.contacto-caixa h2 em{color:var(--gold)}
.contacto-caixa > div > p{margin-top:16px;color:rgba(255,255,255,.8);max-width:40ch}
.dados{margin-top:28px;display:grid;gap:12px}
.dados a,.dados span{display:flex;flex-direction:column;text-decoration:none;color:#fff;font-weight:600}
.dados small{font:700 11px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.dados a:hover{color:var(--gold-light)}
form.contacto{display:grid;gap:16px;background:#fff;color:var(--ink);border-radius:var(--r-lg);padding:28px}
.linha2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.f{display:grid;gap:6px}
.f label{font:700 11px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.f input,.f textarea,.f select{width:100%;min-width:0;font:inherit;font-size:16px;color:var(--ink);background:var(--cream);border:1.5px solid var(--border);border-radius:var(--r-md);padding:12px 14px;caret-color:var(--purple);transition:border-color .2s,background .2s}
.f input:focus,.f textarea:focus,.f select:focus{outline:none;border-color:var(--purple);background:#fff}
.f textarea{min-height:110px;resize:vertical}
form.contacto .btn{justify-self:start}
form.contacto small{font-size:12.5px;color:var(--muted)}
.form-ok{display:none;font-size:14px;font-weight:600;color:#047857}
form.enviado .form-ok{display:block}

/* Rodapé */
footer{border-top:1px solid var(--border);padding:48px 0;font-size:14px;color:var(--muted)}
.rodape{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
.rodape h3{font:700 11px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:12px}
.rodape ul{list-style:none;display:grid;gap:6px}
.rodape a{text-decoration:none}
.rodape a:hover{color:var(--purple)}
.legal{margin-top:36px;padding-top:20px;border-top:1px solid var(--border);font-size:12.5px;max-width:110ch}

/* Temas de cor */
.tinta-mapa{display:none}
.hero{background:var(--purple-pale);padding-bottom:40px}
.hero .sub{color:rgba(15,8,32,.72)}
.pilula-link{background:#fff}
.mapa-caixa::before{height:180px;background:linear-gradient(var(--purple-pale) 38%,rgba(237,233,254,.6) 65%,rgba(237,233,254,0))}
.mapa-caixa::after{background:linear-gradient(rgba(237,233,254,0),var(--purple-pale))}
.resultado{color:rgba(15,8,32,.72)}
.tema-lilas{background:var(--purple-pale);--muted:rgba(15,8,32,.72);--border:rgba(61,26,142,.15)}
.tema-lilas .bloco:not(.largo){background:#fff}
.tema-lilas .mini-notif{background:var(--purple-pale);box-shadow:none}
.tema-escuro{background:var(--purple-dark);color:#fff}
.tema-roxo{background:var(--purple);color:#fff}
.tema-escuro h2 em,.tema-roxo h2 em{color:var(--gold)}
.tema-escuro .sec-cabeca p,.tema-roxo .sec-cabeca p,.tema-escuro .aviso{color:rgba(255,255,255,.78)}
.tema-escuro .proj,.tema-roxo .etapa{color:var(--ink)}
.tema-roxo .etapa{box-shadow:none}
.tema-roxo .etapa.fim{background:var(--gold);color:var(--ink)}
.tema-roxo .etapa.fim p{color:rgba(15,8,32,.75)}
.tema-roxo .risco{box-shadow:none;color:var(--ink)}
.numeros{background:var(--purple);color:#fff;border:0;margin-top:0}
.numeros .numero strong{color:#fff}
.numeros .numero span{color:rgba(255,255,255,.72)}
.numeros .nota{color:rgba(255,255,255,.65)}
.numeros .selos{border-top:1px solid rgba(255,255,255,.14)}
.numeros .selos li{background:rgba(255,255,255,.1);color:#fff}
.numeros .selos li b{color:var(--gold)}
.caminho.prop{background:var(--purple-pale)}
.caminho.prop p{color:rgba(15,8,32,.72)}
footer{background:var(--purple-dark);color:rgba(255,255,255,.72);border-top:0}
footer .logo span{color:#fff}
footer .rodape h3{color:#fff}
footer .rodape a:hover{color:var(--gold-light)}
footer .legal{border-top-color:rgba(255,255,255,.14);color:rgba(255,255,255,.62)}

/* Hero */
.hero{background:var(--purple);color:#fff}
.hero h1{color:#fff}
.hero h1 em{color:var(--gold)}
.hero h1 .foto-inline{box-shadow:0 0 0 3px var(--gold),0 8px 24px -8px rgba(0,0,0,.5)}
.hero .sub{color:rgba(255,255,255,.82)}
.pilula-link{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.pilula-link:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.pilula-link .badge{background:var(--gold);color:var(--ink)}
.pilula-texto{padding:8px 18px;letter-spacing:.01em}
.pilula-texto:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.hero h1{max-width:none}
.fade-base{display:none}
.hero{padding-bottom:0}
.filtros{box-shadow:0 20px 50px -20px rgba(10,3,40,.7)}
.resultado{color:rgba(255,255,255,.75)}
.resultado b{color:#fff}
.resultado a{color:var(--gold-light)}
.mapa-caixa::before{height:130px;background:linear-gradient(var(--purple) 38%,rgba(61,26,142,.6) 65%,rgba(61,26,142,0))}
.mapa-caixa::after{background:linear-gradient(rgba(61,26,142,0),var(--purple))}
.leaflet-shadow-pane{filter:invert(1) brightness(1.5);opacity:.55}
.numeros{background:var(--purple-dark)}

/* Transição entre o hero e o mapa */
.mapa-caixa::before{display:none}
.fade-topo{position:absolute;left:0;top:0;height:var(--fade,320px);pointer-events:none;background:linear-gradient(to bottom,rgba(61,26,142,1) 0%,rgba(61,26,142,0.99) 12%,rgba(61,26,142,0.96) 22%,rgba(61,26,142,0.9) 32%,rgba(61,26,142,0.8) 42%,rgba(61,26,142,0.67) 52%,rgba(61,26,142,0.52) 62%,rgba(61,26,142,0.36) 72%,rgba(61,26,142,0.2) 82%,rgba(61,26,142,0.08) 91%,rgba(61,26,142,0) 100%)}
.mapa-caixa::after{display:none}
.fade-base{position:absolute;left:0;top:0;height:170px;pointer-events:none;background:linear-gradient(to top,rgba(61,26,142,1) 0%,rgba(61,26,142,0.99) 12%,rgba(61,26,142,0.96) 22%,rgba(61,26,142,0.9) 32%,rgba(61,26,142,0.8) 42%,rgba(61,26,142,0.67) 52%,rgba(61,26,142,0.52) 62%,rgba(61,26,142,0.36) 72%,rgba(61,26,142,0.2) 82%,rgba(61,26,142,0.08) 91%,rgba(61,26,142,0) 100%)}
@media (max-width:720px){.mapa-caixa{--fade:170px}}

/* Faixa de números */
.numeros .wrap{display:block;padding-top:64px;padding-bottom:64px}
.metricas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.metricas > div{display:flex;flex-direction:column;gap:10px;padding:4px 24px;border-left:1px solid rgba(255,255,255,.14)}
.metricas > div:first-child{padding-left:0;border-left:0}
.metricas dt{order:2;font:700 11px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.66)}
.metricas dd{order:1;font:700 clamp(30px,3.1vw,44px)/1 var(--sans);letter-spacing:-.03em;color:#fff;white-space:nowrap}
.metricas > div:first-child dd{color:var(--gold)}
.numeros .nota{margin-top:28px;font-size:13px;color:rgba(255,255,255,.6);max-width:none}
.numeros .selos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:40px;padding:0;border-top:1px solid rgba(255,255,255,.14);list-style:none;justify-content:initial}
.numeros .selos li{position:relative;background:none;border-radius:0;padding:22px 20px 0 18px;font-size:14px;font-weight:600;line-height:1.4;color:rgba(255,255,255,.88)}
.numeros .selos li::before{content:"";position:absolute;left:0;top:29px;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.numeros .selos li b{color:var(--gold)}
@media (max-width:1024px){
  .metricas{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}
  .metricas > div:nth-child(3){padding-left:0;border-left:0}
  .numeros .selos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .numeros .wrap{padding-top:48px;padding-bottom:48px}
  .metricas > div{padding:0 0 0 18px}
  .metricas > div:nth-child(odd){padding-left:0}
  .metricas dd{font-size:28px}
  .numeros .selos{grid-template-columns:1fr;margin-top:32px}
  .numeros .selos li{padding-top:16px}
  .numeros .selos li::before{top:23px}
}

/* Historial, etapas e valores */
.trata{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 4px}
.trata li{font-size:13px;font-weight:600;padding:7px 12px;border-radius:var(--r-full);background:#fff;color:var(--purple)}
.porque-texto .btn{margin-top:24px}
.tema-lilas .bloco:not(.largo) h3{color:var(--ink)}

.escolhas b{font-size:13.5px}
.linhas #l-irs{color:rgba(255,255,255,.75);font-weight:600}
.linhas div:last-child dd{color:var(--gold-light)}
.total span b{color:#fff;font-weight:700;text-transform:none;letter-spacing:0;font-size:13px}

.hist-resumo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--purple-dark);color:#fff;border-radius:var(--r-lg);padding:26px 0;margin-bottom:14px}
.hist-resumo > div{display:flex;flex-direction:column;gap:8px;padding:0 28px;border-left:1px solid rgba(255,255,255,.14)}
.hist-resumo > div:first-child{border-left:0}
.hist-resumo dt{order:2;font:700 11px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.66)}
.hist-resumo dd{order:1;font:700 clamp(26px,2.6vw,36px)/1 var(--sans);letter-spacing:-.02em;color:#fff;white-space:nowrap}
.hist-resumo > div:first-child dd{color:var(--gold)}
.registo-caixa{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-md);overflow:hidden}
.registo{width:100%;border-collapse:collapse;font-size:15px}
.registo th{font:700 11px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:18px 24px;background:var(--cream);white-space:nowrap}
.registo td{padding:16px 24px;border-top:1px solid var(--border);vertical-align:middle;white-space:nowrap}
.registo .num{text-align:right}
.registo .morada{display:block;font:700 17px/1.25 var(--serif);color:var(--ink);white-space:normal}
.registo .loc{display:block;font-size:13px;color:var(--muted)}
.registo .ret{font-size:17px;color:#047857}
.registo .ret-esp{font-size:17px;color:var(--purple)}
.registo small{display:block;font-size:11.5px;color:var(--muted)}
.registo tr.em-curso td{background:rgba(61,26,142,.04)}
.registo tbody tr:hover td{background:rgba(61,26,142,.05)}
.hist-rodape{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap}
.hist-rodape p{color:var(--muted)}

.etapas{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;position:relative;margin-bottom:28px}
.etapas::before{content:"";position:absolute;left:22px;right:22px;top:22px;height:1px;background:rgba(255,255,255,.28)}
.et{position:relative;padding-right:24px;display:flex;flex-direction:column;gap:8px}
.et .n{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--purple);display:grid;place-items:center;font:700 16px/1 var(--sans);box-shadow:0 0 0 6px var(--purple)}
.et.voce .n{background:var(--gold);color:var(--ink)}
.quem-e{margin-top:10px;font:700 11px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.et.voce .quem-e{color:var(--gold-light)}
.et h3{font:700 20px/1.2 var(--serif);color:#fff}
.et p{font-size:14.5px;color:rgba(255,255,255,.8)}

.quem .intro + .intro{margin-top:12px}
.valores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}
.valor{background:var(--cream);border-radius:var(--r-md);padding:18px 20px}
.valor h3{font:700 16px/1.3 var(--sans);color:var(--purple)}
.valor p{margin-top:4px;font-size:14px;color:var(--muted)}
.quem .factos{margin-top:12px}

.caminho{min-height:0}
.caminho h2{margin-bottom:4px}
.passos-inv{list-style:none;counter-reset:passo;display:grid;gap:14px;margin:8px 0 6px}
.passos-inv li{counter-increment:passo;display:grid;grid-template-columns:34px 1fr;column-gap:14px;align-items:start}
.passos-inv li::before{content:counter(passo);grid-row:span 2;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);color:var(--gold);display:grid;place-items:center;font-weight:700}
.passos-inv b{color:#fff;font-weight:600}
.passos-inv span{font-size:14px;color:rgba(255,255,255,.78)}
.beneficios{list-style:none;display:grid;gap:10px;margin:6px 0}
.beneficios li{position:relative;padding-left:18px;font-weight:600;font-size:15px}
.beneficios li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--purple)}
.acoes-caminho{margin-top:auto;padding-top:12px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.caminho .acoes-caminho .btn{margin-top:0}
.ligacao{color:#fff;font-weight:600;font-size:14px}
.nota-48{font:700 11px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--purple)}

.faq .wrap > div:first-child{align-self:start;position:sticky;top:100px}
.redes a{display:inline;color:#fff}
.dados .redes{display:inline}
form.contacto .so-imovel{display:none}
form.contacto.imovel .so-imovel{display:grid}
.lema{margin-top:10px;font-size:13px;color:rgba(255,255,255,.72)}

@media (max-width:1024px){
  .hist-resumo{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}
  .hist-resumo > div:nth-child(3){border-left:0}
  .etapas{grid-template-columns:1fr;gap:26px}
  .etapas::before{left:22px;right:auto;top:22px;bottom:22px;width:1px;height:auto}
  .et{display:grid;grid-template-columns:44px 1fr;column-gap:18px;padding-right:0}
  .et .n{grid-row:span 3}
  .et .quem-e{margin-top:0}
  .faq .wrap > div:first-child{position:static}
}
@media (max-width:720px){
  .hist-resumo{padding:22px 0}
  .hist-resumo > div{padding:0 18px}
  .registo thead{display:none}
  .registo,.registo tbody,.registo tr,.registo td{display:block}
  .registo tr{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:16px 18px;border-top:1px solid var(--border)}
  .registo tbody tr:first-child{border-top:0}
  .registo td{padding:0;border:0;white-space:normal}
  .registo td:first-child{grid-column:1/-1}
  .registo td[data-r]{display:flex;justify-content:space-between;gap:10px;font-size:14px;grid-column:1}
  .registo td[data-r]::before{content:attr(data-r);color:var(--muted)}
  .registo td:last-child{grid-column:2;grid-row:2/5;align-self:center}
  .registo .num{text-align:left}
  .registo small{display:none}
  .valores{grid-template-columns:1fr}
  .hist-rodape .btn{width:100%}
}

/* Tipografia */
h1,h2,.h-serif{letter-spacing:-.035em}
h1 em,h2 em,.hero h1 em{font-style:normal;font-weight:700}
.hero h1{letter-spacing:-.035em;line-height:1.04}
.c-foto.vazia,.proj-foto.vazia,.pino.sem-foto,.quem-foto blockquote{font-style:normal}
.quem-foto blockquote{font-weight:600;letter-spacing:-.01em}
.proj h3,.registo .morada,.c-corpo h3,.cartinha b,.et h3,.etapa h3,.risco h3,.logo span{letter-spacing:-.02em}
.montante,.total strong,.resumo-hist strong,.factos strong{letter-spacing:-.03em}

/* Navegação fixa */
html{scroll-padding-top:84px}
.nav{position:fixed;top:0;left:0;right:0;z-index:1100;background:transparent;border-bottom:1px solid transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background-color .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease)}
.nav.solida{background:rgba(255,255,255,.97);border-bottom-color:var(--border);box-shadow:var(--shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nav .wrap{height:76px}
.nav .logo img{height:44px;width:auto;filter:brightness(0) invert(1);transition:filter .35s var(--ease)}
.nav.solida .logo img{filter:none}
.nav-centro{display:flex;align-items:center;gap:2px;list-style:none}
.nav .nav-centro > li > a,.menu-drop > button{display:flex;align-items:center;gap:8px;padding:8px 13px;border:0;background:none;cursor:pointer;text-decoration:none;font:600 14px/1 var(--sans);color:rgba(255,255,255,.86);border-radius:var(--r-full);transition:color .2s,background-color .2s}
.nav .nav-centro > li > a:hover,.menu-drop > button:hover{color:#fff;background:rgba(255,255,255,.1)}
.nav .nav-centro > li > a.ativo{color:#fff;background:rgba(255,255,255,.14)}
.nav.solida .nav-centro > li > a,.nav.solida .menu-drop > button{color:var(--muted)}
.nav.solida .nav-centro > li > a:hover,.nav.solida .menu-drop > button:hover{color:var(--ink);background:var(--cream)}
.nav.solida .nav-centro > li > a.ativo{color:var(--ink);background:var(--cream)}
.chev{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s var(--ease)}
.menu-drop{position:relative}
.menu-drop.aberto .chev{transform:translateY(2px) rotate(-135deg)}
.drop{position:absolute;top:calc(100% + 10px);left:0;min-width:210px;padding:6px;background:#fff;border-radius:var(--r-md);box-shadow:var(--shadow-lg);display:grid;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s}
.menu-drop.aberto .drop{opacity:1;visibility:visible;transform:none}
.drop a{padding:10px 12px;border-radius:var(--r-sm);font-size:14px;font-weight:600;color:var(--ink);text-decoration:none}
.drop a:hover{background:var(--cream);color:var(--purple)}
.drop a[aria-current="true"]{color:var(--purple)}
.lang .drop{left:auto;right:0;min-width:150px}
.nav-acoes{align-items:center;gap:16px}
.nav-login{font-size:14px;font-weight:600;color:#fff;text-decoration:none;white-space:nowrap}
.nav.solida .nav-login{color:var(--ink)}
.nav-login:hover{text-decoration:underline}
.nav-acoes .nav-registar{min-height:40px;padding:0 20px}
.nav-menu{display:none;min-height:40px;padding:0 16px;border-radius:var(--r-full);border:0;cursor:pointer;font:600 14px/1 var(--sans);background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.nav.solida .nav-menu{background:#fff;color:var(--purple);box-shadow:inset 0 0 0 1.5px var(--purple)}
.menu-movel{background:#fff;border-top:1px solid var(--border);padding:8px var(--gutter) 20px;display:grid;box-shadow:var(--shadow-lg)}
.menu-movel[hidden]{display:none}
.menu-movel > a{padding:14px 4px;border-bottom:1px solid var(--border);font-size:16px;font-weight:600;color:var(--ink);text-decoration:none}
.menu-movel-acoes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}

/* Seletor de idioma */
.lang .drop a[aria-current="true"]{background:var(--cream)}
.menu-movel-lang{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:16px;padding:4px;border-radius:var(--r-full);background:var(--cream);box-shadow:inset 0 0 0 1px var(--border)}
.menu-movel-lang button{min-height:40px;border:0;border-radius:var(--r-full);background:none;cursor:pointer;font:600 14px/1 var(--sans);color:var(--muted);transition:background-color .25s var(--ease),color .25s var(--ease)}
.menu-movel-lang button[aria-current="true"]{background:#fff;color:var(--purple);box-shadow:var(--shadow-sm)}

/* Hero: espaço para a navegação */
.hero{padding-top:208px}
.resultado{margin-top:16px}
.mapa-caixa{margin-top:-20px;height:860px}

@media (max-width:1024px){
  .nav .wrap{grid-template-columns:auto 1fr}
  .nav-centro{display:none}
  .nav-menu{display:inline-flex;align-items:center}
}
@media (max-width:720px){
  .nav .wrap{height:68px}
  .nav .logo img{height:40px}
  .nav-login,.lang{display:none}
  .nav-acoes{gap:8px}
  .nav-acoes .nav-registar{padding:0 16px}
  .hero{padding-top:144px}
  .mapa-caixa{margin-top:4px;height:540px}
}

/* Números em destaque */
:root{--numeros:'Playfair Display', Georgia, serif}
.metricas dd,.hist-resumo dd,.grande,.total strong,.montante,.factos strong,.resumo-hist strong{font-family:var(--numeros);font-weight:700;letter-spacing:-.01em;font-variant-numeric:lining-nums tabular-nums}

/* Grupos de pinos no mapa */
.cluster{width:62px;height:62px;border-radius:50%;background:var(--purple-dark);color:#fff;display:grid;place-content:center;text-align:center;gap:2px;box-shadow:0 0 0 3px #fff,0 0 0 10px rgba(212,168,67,.35),var(--shadow-lg);cursor:pointer;transition:transform .25s var(--ease)}
.cluster:hover{transform:scale(1.06)}
.cluster b{font:700 22px/1 var(--numeros)}
.cluster span{font:700 8.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.pino.curso .marca{background:var(--gold);color:var(--ink)}

/* Selos */
.confia li{position:relative;padding-left:26px}
.confia li::before{content:"";position:absolute;left:12px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--gold)}
.confia li b{color:var(--purple)}
.numeros .wrap{padding-bottom:56px}

/* Todos os números em Playfair Display */
.n-pf,.proj dd,.barra-topo b,.proj-acao .valor,.c-meta b,.c-valor,.registo td.num,.registo td[data-r="Prazo"],.registo .ret,.registo .ret-esp,.linhas dd,.et .n,.chip-ouro,.resultado b,.caminho.inv h2 em{font-family:var(--numeros);font-variant-numeric:lining-nums tabular-nums;letter-spacing:0}
.proj-acao .valor small,.c-valor small{font-family:var(--sans)}
.passos-inv li::before{font-family:var(--numeros);font-size:16px}
.registo td[data-r]::before{font-family:var(--sans)}
.proj dd,.c-meta b{font-weight:700}

.cartao.lado .leaflet-popup-tip-container{display:none}

/* Simulador: números */
.escolhas span,.limites{font-family:var(--numeros);font-variant-numeric:lining-nums tabular-nums}

/* Secção final */
.juntos{align-items:start}
.juntos-lado > p{margin-top:16px;color:rgba(255,255,255,.8);max-width:44ch}
.perfil{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:28px;padding:4px;border-radius:var(--r-full);background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.perfil button{border:0;cursor:pointer;padding:10px 18px;border-radius:var(--r-full);background:none;color:rgba(255,255,255,.78);font:600 14px/1 var(--sans);white-space:nowrap;transition:background-color .25s var(--ease),color .25s var(--ease)}
.perfil button:hover{color:#fff}
.perfil button[aria-selected="true"]{background:#fff;color:var(--purple)}
.painel{margin-top:26px}
.painel h3{font:700 clamp(22px,2.2vw,28px)/1.2 var(--serif);letter-spacing:-.02em;color:#fff}
.painel h3 em{font-style:normal;color:var(--gold)}
.painel > p{margin-top:10px;color:rgba(255,255,255,.8);max-width:46ch}
.painel .passos-inv{margin-top:18px}
.painel .beneficios{margin-top:16px}
.painel .beneficios li{color:#fff}
.painel .beneficios li::before{background:var(--gold)}
.painel .acoes-caminho{margin-top:22px;padding-top:0}
.painel .nota-48{margin-top:16px;color:var(--gold-light)}
.juntos .dados{margin-top:36px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);grid-template-columns:1fr 1fr;gap:16px 24px}
.form-titulo{font:700 20px/1.2 var(--serif);letter-spacing:-.02em;color:var(--ink)}
@media (max-width:720px){
  .perfil{display:grid;width:100%}
  .perfil button{padding:10px 8px}
  .juntos .dados{grid-template-columns:1fr}
}

/* Garantias */
.garantias{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.garantia{background:#fff;border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:8px;min-height:230px;box-shadow:var(--shadow-sm)}
.garantia .g-topo{font:700 11px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--purple);margin-bottom:auto}
.garantia h3{font:700 19px/1.25 var(--sans);letter-spacing:-.015em;color:var(--ink);margin-top:28px}
.garantia p{font-size:14.5px;color:rgba(15,8,32,.7)}
.g-num{font:700 clamp(38px,4vw,52px)/1 var(--numeros);color:var(--purple);margin-bottom:auto;white-space:nowrap}
.g-escura{background:var(--purple);box-shadow:none}
.g-escura h3{color:#fff;margin-top:20px}
.g-escura p{color:rgba(255,255,255,.8)}
.notifs{display:grid;gap:8px;margin-bottom:auto}
.g-escura .mini-notif{margin:0;background:#fff;opacity:1;box-shadow:0 8px 20px -12px rgba(0,0,0,.5)}
.g-escura .mini-notif + .mini-notif{margin:0 0 0 16px;opacity:.72}
@media (max-width:720px){
  .garantias{grid-template-columns:1fr;gap:12px}
  .garantia{min-height:0;padding:22px}
  .garantia h3{margin-top:16px}
}

/* Telemóvel */
.ver-todos{display:none}
@media (max-width:720px){
  body{font-size:16px}
  .sec{padding:64px 0}
  .sec-cabeca{gap:14px;margin-bottom:28px}
  h2{font-size:clamp(28px,8vw,34px);line-height:1.1}
  .hero h1{font-size:clamp(32px,9.4vw,38px);line-height:1.08}
  .hero h1 .foto-inline{width:1.35em;height:.78em}
  .hero .sub{font-size:16px;margin-top:14px}
  .filtros{margin-top:24px}
  .mapa-caixa{height:500px}
  .cartao .leaflet-popup-content{width:250px!important}
  .c-foto{height:118px}
  /* historial */
  .registo-caixa:not(.aberto) .registo tbody tr:nth-child(n+5){display:none}
  .ver-todos{display:flex;width:100%;margin-top:12px}
  .hist-resumo dd{font-size:26px}
  /* simulador */
  .sim .escolhas{grid-template-columns:1fr 1fr;gap:6px}
  .escolhas button{padding:10px}
  .escolhas b{font-size:12.5px}
  .escolhas span{font-size:11.5px}
  .montante{font-size:28px}
  .total strong{font-size:40px}
  /* quem somos */
  .quem .wrap{gap:32px}
  .quem-foto{aspect-ratio:4/3}
  .quem-foto blockquote{font-size:17px;padding:16px 18px;left:12px;right:12px;bottom:12px}
  .quem .valores{grid-template-columns:1fr 1fr;gap:8px}
  .valor{padding:14px}
  .valor p{font-size:13px}
  /* secção final */
  .contacto-caixa{padding:28px 20px;border-radius:var(--r-lg)}
  form.contacto{padding:20px}
  /* rodapé */
  footer .rodape{grid-template-columns:1fr 1fr;gap:28px 20px}
  .rodape > div:first-child{grid-column:1/-1}
  .rodape > div:last-child{grid-column:1/-1}
  .rodape > div:last-child ul{grid-template-columns:1fr 1fr}
  footer{padding-top:36px}
  /* alvos de toque */
  .nav-acoes .nav-registar,.nav-menu{min-height:44px}
}
@media (max-width:370px){
  .quem .valores{grid-template-columns:1fr}
}

/* Telemóvel: alvos de toque */
@media (max-width:720px){
  .campo{padding:6px 12px}
  .campo select{min-height:40px}
  .ligacao{display:inline-flex;align-items:center;min-height:44px}
  footer .rodape a{display:inline-flex;align-items:center;min-height:40px}
  footer .rodape ul{gap:0}
  footer .rodape p a{min-height:36px}
}

/* Telemóvel: hero */
@media (max-width:720px){
  .hero{padding-top:108px}
  .pilula-texto{font-size:12px;padding:7px 14px;white-space:nowrap}
  .hero h1{margin-top:18px}
  .hero h1 br,.hero h1 .foto-inline{display:none}
  .filtros{display:grid;grid-template-columns:1fr 1fr;padding:6px;border-radius:var(--r-lg)}
  .filtros .campo:first-child{grid-column:1/-1}
  .filtros .campo + .campo{border-top:1px solid var(--border)}
  .filtros .campo:nth-child(3){border-left:1px solid var(--border)}
  .filtros .btn{grid-column:1/-1;min-height:48px}
}
@media (max-width:370px){
  .pilula-texto{font-size:11px;padding:7px 12px}
}

/* Mapa: crédito e aviso de gestos */
.leaflet-container .leaflet-control-attribution{background:transparent!important;color:rgba(255,255,255,.38);font-size:9px;line-height:1.4;padding:0 8px 4px;box-shadow:none}
.leaflet-container .leaflet-control-attribution a{color:inherit}
.leaflet-gesture-handling-touch-warning:after,.leaflet-gesture-handling-scroll-warning:after{font-family:var(--sans);font-weight:600;font-size:16px}
.leaflet-gesture-handling-touch-warning:before,.leaflet-gesture-handling-scroll-warning:before{background:rgba(30,10,92,.72)}

.cta-fixo{display:none}

@media (max-width:1024px){
  .nav .wrap{grid-template-columns:auto 1fr}
  .nav ul{display:none}
  .porque .wrap,.quem .wrap,.faq .wrap,.contacto-caixa,.sim{grid-template-columns:1fr}
  .numeros .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grelha-proj{grid-template-columns:1fr 1fr}
  .processo{grid-template-columns:1fr 1fr}
  .processo .etapa.fim{grid-column:1/-1}
  .risco{grid-template-columns:1fr}
  .resumo-hist{grid-template-columns:repeat(2,minmax(0,1fr))}
  .resumo-hist .btn{grid-column:1/-1;justify-self:start}
  .quem-foto{aspect-ratio:16/10}
  .rodape{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .nav-acoes .btn-purple{display:none}
  .logo span{font-size:17px}
  .sec{padding:72px 0}
  .sec-cabeca{margin-bottom:32px}
  .filtros{flex-direction:column;align-items:stretch;border-radius:var(--r-xl);padding:8px}
  .campo{padding:10px 12px}
  .campo + .campo{border-left:0;border-top:1px solid var(--border)}
  .filtros .btn{margin-top:6px}
  .mapa-caixa{margin-top:-40px;height:520px}
  .mapa-caixa::before{height:90px}
  .leaflet-top{top:70px}
  .numero{flex-direction:column;align-items:flex-start;gap:6px}
  .selos{justify-content:flex-start}
  .bento,.grelha-proj,.processo,.caminhos,.linha2,.risco ul,.escolhas{grid-template-columns:1fr}
  .bloco.largo{grid-template-columns:1fr}
  .bloco{min-height:0}
  .sim-controlos,.sim-resultado{padding:24px}
  .factos{grid-template-columns:1fr 1fr}
  .caminho{padding:28px;min-height:0}
  .caminho .btn{margin-top:10px}
  .quem-foto{aspect-ratio:4/5}
  .rodape{grid-template-columns:1fr}
  footer{padding-bottom:110px}
  .cta-fixo{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:1000;transform:translateY(140%);transition:transform .45s var(--ease)}
  .cta-fixo.visivel{transform:none}
  .cta-fixo .btn{flex:1;min-height:56px;box-shadow:var(--shadow-lg)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}

/* iPhone: áreas seguras */
.nav{padding-top:env(safe-area-inset-top)}
@media (max-width:720px){
  .hero{padding-top:calc(108px + env(safe-area-inset-top))}
  .cta-fixo{left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(30,10,92,.97);box-shadow:0 -8px 24px -12px rgba(0,0,0,.5)}
  .cta-fixo .btn{box-shadow:none}
  footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
}
.proj dd.txt,.proj-acao .valor.txt{font-family:var(--sans);font-weight:600;font-size:15px;color:var(--muted)}

/* Nota do historial e bloco de avaliações */
.hist-nota{margin:-2px 0 16px;font-size:13.5px;color:rgba(15,8,32,.68);max-width:80ch}
.avaliacoes{padding-bottom:0}
.aval-caixa{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;background:var(--cream);border-radius:var(--r-xl);padding:clamp(28px,4vw,48px)}
.aval-caixa h2{font-size:clamp(26px,2.8vw,36px)}
.aval-caixa p{margin-top:12px;color:rgba(15,8,32,.7);max-width:46ch}
.aval-caixa .btn{margin-top:22px}
.trustbox{min-height:180px;border-radius:var(--r-lg);background:#fff;box-shadow:inset 0 0 0 1px var(--border);display:grid;place-items:center;padding:24px;text-align:center}
.trustbox-vazio{margin:0;font-size:14px;color:var(--muted)}
@media (max-width:720px){.aval-caixa{grid-template-columns:1fr;gap:24px}.trustbox{min-height:130px}}
