.dp-phero{position:relative;display:flex;align-items:center;min-height:clamp(240px,30vh,330px);overflow:clip;isolation:isolate}
.dp-phero__bg{position:absolute;inset:0;z-index:-2}
.dp-phero__bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.dp-phero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 95% at 50% 42%,transparent 0%,rgba(19,17,23,.5) 58%,var(--dp-void) 100%),linear-gradient(180deg,rgba(19,17,23,.45),rgba(19,17,23,.72))}
.dp-phero__inner{position:relative;text-align:center;padding-block:clamp(1.8rem,4vw,3rem)}
.dp-phero__title{font-size:clamp(2rem,4.8vw,3rem);letter-spacing:-.015em;line-height:1.08;text-shadow:0 2px 24px rgba(0,0,0,.5)}
.dp-phero__sub{margin:1.1rem auto 0;color:var(--dp-muted);font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.6;max-width:56ch}

.dp-split{display:grid;grid-template-columns:1fr 1fr;gap:2rem 3.4rem;align-items:center}
.dp-split__illus img{width:100%;height:auto;border-radius:var(--dp-radius)}
.dp-split__text .dp-section-title{text-align:left;margin-inline:0;margin-bottom:1.4rem}
.dp-split__text .dp-section-title h2,.dp-split__text .dp-section-title p{margin-inline:0}
.dp-split__text .dp-contact{max-width:none;margin:1.9rem 0 0}
.dp-split__text p{color:var(--dp-muted);line-height:1.72}
.dp-split__text .dp-split__p{margin-top:1.1rem}
.dp-split--flip .dp-split__illus{order:2}

.dp-mark{font-weight:var(--dp-fw-bk);color:var(--dp-text);background:linear-gradient(180deg,transparent 60%,rgba(139,63,217,.3) 60%)}
.dp-split__text a,.dp-prose__body a,.dp-note a{color:var(--dp-text);text-decoration:underline;text-decoration-color:rgba(139,63,217,.6);text-underline-offset:3px;transition:text-decoration-color .25s ease}
.dp-split__text a:hover,.dp-prose__body a:hover,.dp-note a:hover{text-decoration-color:var(--dp-rose)}

.dp-features{display:flex;flex-direction:column;gap:1.2rem;margin-top:2.6rem;max-width:840px;margin-inline:auto}
.dp-feature{position:relative;display:grid;grid-template-columns:auto 1fr;gap:1.3rem;align-items:start;padding:1.5rem 1.7rem}
.dp-feature__ico{display:grid;place-items:center;width:50px;height:50px;flex:none;border-radius:var(--dp-radius-sm);background:linear-gradient(135deg,var(--dp-violet),var(--dp-rose));box-shadow:0 0 18px var(--dp-glow)}
.dp-feature__ico svg{width:23px;height:23px;fill:none;stroke:var(--dp-text);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dp-feature h3{font-size:1.18rem;color:var(--dp-text)}
.dp-feature p{margin-top:.35rem;color:var(--dp-muted);line-height:1.65}

.dp-quote{font-family:var(--dp-font-display);font-weight:var(--dp-fw-bk);font-size:clamp(1.5rem,3.2vw,2.1rem);line-height:1.22;letter-spacing:-.015em;color:var(--dp-text)}
.dp-quote span{color:var(--dp-violet);text-shadow:0 0 22px rgba(139,63,217,.4)}
.dp-quote + p{margin-top:1.2rem;color:var(--dp-muted);line-height:1.7}

.dp-signals{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:2.6rem}
.dp-signals .dp-card{display:flex;flex-direction:column;gap:.7rem;min-height:200px}
.dp-signals__ico{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:var(--dp-radius-sm);background:rgba(139,63,217,.12)}
.dp-signals__ico svg{width:22px;height:22px;fill:none;stroke:var(--dp-violet);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dp-signals h3{font-size:1.18rem;color:var(--dp-text)}
.dp-signals p{color:var(--dp-muted);line-height:1.6}

.dp-prose{max-width:760px;margin-inline:auto}
.dp-prose .dp-section-title{text-align:left;margin-inline:0}
.dp-prose .dp-section-title h2,.dp-prose .dp-section-title p{margin-inline:0}
.dp-prose__body{margin-top:1.6rem;display:flex;flex-direction:column;gap:1.15rem}
.dp-prose__body p{color:var(--dp-muted);line-height:1.72}
.dp-prose__body h3{font-size:1.2rem;color:var(--dp-text);margin-top:.6rem}

.dp-note{position:relative;margin:2.2rem auto 0;padding-top:1.6rem;color:var(--dp-muted);font-size:1rem;line-height:1.66;max-width:760px}
.dp-note::before{content:"";position:absolute;left:0;top:0;width:min(60%,320px);height:2px;border-radius:2px;background:linear-gradient(90deg,var(--dp-violet),var(--dp-rose),transparent)}

.dp-faq__cat{font-family:var(--dp-font-display);font-weight:var(--dp-fw-bk);font-size:1.35rem;color:var(--dp-text);margin:2.6rem 0 1.1rem;display:flex;align-items:center;gap:.65rem}
.dp-faq__cat svg{width:21px;height:21px;fill:none;stroke:var(--dp-violet);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px var(--dp-glow))}

.dp-contact{display:flex;align-items:center;gap:1.2rem;max-width:760px;margin-inline:auto}
.dp-contact__body{display:flex;flex-direction:column;gap:.2rem}
.dp-contact__label{font-size:.8rem;font-weight:var(--dp-fw-bd);text-transform:uppercase;letter-spacing:.05em;color:var(--dp-dim)}
.dp-contact__mail{font-family:var(--dp-font-display);font-weight:var(--dp-fw-bk);font-size:clamp(1.1rem,2.5vw,1.4rem);color:var(--dp-text);transition:text-shadow .25s ease}
.dp-contact__mail:hover{text-shadow:0 0 14px rgba(139,63,217,.7)}
.dp-contact--ident{display:block;margin-top:2.2rem}
.dp-contact--ident p{margin-top:.45rem;color:var(--dp-muted);font-size:.97rem;line-height:1.66}
.dp-contact--ident a{color:var(--dp-text);text-decoration:underline;text-decoration-color:rgba(139,63,217,.6);text-underline-offset:3px;transition:text-decoration-color .25s ease}
.dp-contact--ident a:hover{text-decoration-color:var(--dp-rose)}

@media (max-width:820px){
  .dp-split{grid-template-columns:1fr;gap:1.5rem}
  .dp-split--flip .dp-split__illus{order:0}
  .dp-split__illus{max-width:460px}
}
@media (max-width:600px){
  .dp-signals{grid-template-columns:1fr}
}

/* ---------- Formulário de contacto ---------- */
.dp-form{max-width:760px;margin:2.6rem auto 0;padding:2rem 2.1rem}
.dp-form__el{display:flex;flex-direction:column;gap:1.15rem}
.dp-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}
.dp-form__field{display:flex;flex-direction:column;gap:.45rem;min-width:0}
.dp-form__field label{font-family:var(--dp-font-display);font-weight:var(--dp-fw-bd);font-size:.86rem;letter-spacing:.03em;text-transform:uppercase;color:var(--dp-dim)}
.dp-form__field input,.dp-form__field textarea{
  width:100%;font-family:var(--dp-font-body);font-size:1rem;line-height:1.5;color:var(--dp-text);
  background:rgba(19,17,23,.6);border:1px solid var(--dp-line);border-radius:var(--dp-radius-sm);
  padding:.85rem 1rem;transition:border-color .25s ease,box-shadow .25s ease}
.dp-form__field textarea{resize:vertical;min-height:150px}
.dp-form__field input::placeholder,.dp-form__field textarea::placeholder{color:var(--dp-dim)}
.dp-form__field input:hover,.dp-form__field textarea:hover{border-color:rgba(139,63,217,.42)}
.dp-form__field input:focus,.dp-form__field textarea:focus{
  outline:none;border-color:var(--dp-violet);box-shadow:0 0 0 3px rgba(139,63,217,.22)}
.dp-form__field input[aria-invalid="true"],.dp-form__field textarea[aria-invalid="true"]{border-color:var(--dp-rose)}
.dp-form__err{font-size:.86rem;color:var(--dp-rose)}

/* Armadilha para robôs: fora do ecrã, não «display:none» — alguns robôs ignoram-no. */
.dp-form__trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.dp-form__priv{font-size:.86rem;line-height:1.6;color:var(--dp-dim);padding-top:.2rem;border-top:1px solid var(--dp-line);margin-top:.2rem}
.dp-form__priv b{color:var(--dp-muted)}
.dp-form__priv a{color:var(--dp-muted);text-decoration:underline;text-decoration-color:rgba(139,63,217,.6);text-underline-offset:3px}
.dp-form__priv a:hover{color:var(--dp-text);text-decoration-color:var(--dp-rose)}
.dp-form__send{align-self:flex-start;min-width:210px}

.dp-form__ok{display:flex;align-items:flex-start;gap:1.1rem}
.dp-form__ok-ico{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:50%;background:rgba(139,63,217,.16)}
.dp-form__ok-ico svg{width:24px;height:24px;color:var(--dp-violet)}
.dp-form__ok b{font-family:var(--dp-font-display);font-size:1.15rem;color:var(--dp-text)}
.dp-form__ok p{margin-top:.4rem;color:var(--dp-muted);line-height:1.65}

@media (max-width:640px){
  .dp-form{padding:1.5rem 1.25rem;margin-top:2rem}
  .dp-form__row{grid-template-columns:1fr}
  /* 16px no mínimo: abaixo disso o iOS faz zoom ao focar o campo. */
  .dp-form__field input,.dp-form__field textarea{font-size:16px;padding:.8rem .9rem}
  .dp-form__field textarea{min-height:130px}
  .dp-form__send{align-self:stretch;width:100%}
}
