/* ===========================
   Paleta Medgical (pedido)
   Azul fundo:   #0A3A5E
   Verde claro:  #D7E8C4
   Coral primário:#FF6F61
   =========================== */
:root{
  /* Cores base */
  --bg:#044477;           /* fundo principal */
  --bg-2:#093456;         /* variação p/ gradiente */
  --text:#FFFFFF;         /* texto principal */
  --muted:#C3D3E5;        /* texto secundário */

  /* Acentos */
  --brand:#FF6B6B;        /* CORAL – primário (botões/links) */
  --brand-2:#FF6B6B;      /* coral escurecido (hover) */
  --mint:#CDEAC0;         /* VERDE CLARO – badges/realces */

  /* Superfícies/linhas */
  --line:rgba(255,255,255,.18);
  --panel:rgba(255,255,255,.06);
  --card:rgba(255,255,255,.06);

  /* Efeitos */
  --shadow:0 12px 28px rgba(0,0,0,.28);
}

/* Reset e base */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: Ubuntu, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 380px at 12% -10%, rgba(215,232,196,.18), transparent 60%),
    radial-gradient(900px 380px at 88% -18%, rgba(255,111,97,.14), transparent 60%),
    linear-gradient(180deg, var(--bg), var(--bg-2));
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}

.container{max-width:1120px;margin:0 auto;padding:0 20px}

/* Acessibilidade */
.skip-link{
  position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;
}
.skip-link:focus{
  position:static;width:auto;height:auto;padding:8px 12px;background:#fff;color:#000;border-radius:6px;margin:8px;display:inline-block;
}

/* Header */
.site-header{
  position:sticky;top:0;z-index:10;
  background:rgba(7,46,75,.72);
  backdrop-filter:saturate(180%) blur(8px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--text)}
.brand img{display:block}
.site-header nav a{margin-left:16px;color:var(--text)}
.site-header nav a:hover{color:#fff}

/* Pequena “pilula” verde se quiseres envolver o nome com <span class="pill-mint">Medgical</span> */
.pill-mint{
  background:var(--mint);
  color:#0A3A5E;
  font-weight:700;
  padding:4px 10px;
  border-radius:10px;
}

/* Hero */
.hero{
  padding:92px 0;
  background: var(--bg) !important;
}
.hero-inner{max-width:900px}
.hero h1{font-size:46px;line-height:1.1;margin:0 0 12px;font-weight:700;letter-spacing:-0.02em}
.hero .accent{color:var(--mint)}
.hero p{font-size:18px;color:var(--muted);margin:0 0 22px;font-weight:300;line-height:1.5}

/* Botões */
.cta{display:flex;gap:12px;flex-wrap:wrap}
.btn{
  display:inline-block;
  padding:12px 18px;
  border-radius:12px;
  background:var(--brand);       /* coral */
  color:#fff;
  font-weight:700;
  border:1px solid transparent;
  transition:.2s;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(255,111,97,.35);background:var(--brand-2)}
.btn.ghost{
  background:transparent;
  color:var(--text);
  border-color:var(--line);
}
.btn.ghost:hover{border-color:var(--mint);color:var(--mint)}
/* botão verde opcional: usar class="btn mint" */
.btn.mint{background:var(--mint);color:#0A3A5E}
.btn.mint:hover{filter:brightness(.95)}

/* Secções */
.section {
  padding: 60px 0;
  background: var(--bg) !important;
}
.section.alt{background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0))}
.section h2{font-size:28px;margin:0 0 16px}

/* Grid e cards */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:1024px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.grid{grid-template-columns:1fr}}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px;
  box-shadow:var(--shadow);
}
.card h3{margin:0 0 8px;font-size:20px;font-weight:500;letter-spacing:0.01em}
.card p{margin:0 0 10px;color:var(--muted)}
.card ul{margin:0 0 0 18px;padding:0}
.card.flat{box-shadow:none}

/* Listas e notas */
.list{margin:0 0 0 18px}
.note{margin-top:10px;color:var(--muted);font-size:14px}

/* “Faixa” de destaque coral (opcional) */
.ribbon{
  display:inline-block;background:var(--brand);color:#fff;
  padding:8px 12px;border-radius:10px;font-weight:700;
}

/* Secções específicas que já tinhas */
.hero-sample{
  margin-top:24px;background:var(--panel);
  border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:auto
}
.hero-sample pre{margin:0;padding:16px 18px;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;opacity:.9}
.metrics{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0 0;padding:0;list-style:none}
.metrics li{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.06);border:1px solid var(--line);padding:10px 14px;border-radius:12px}
.metrics .num{font-size:18px;font-weight:700}
.metrics .label{color:var(--muted)}

/* Cards “Segurança/Privacidade/Dados” do teu HTML */
.security-privacy-grid{display:flex;gap:32px;justify-content:center;margin-top:32px;flex-wrap:wrap}
.security-card,.privacy-card,.dados-card{
  background:var(--panel);border:1px solid var(--line);
  border-radius:18px;box-shadow:var(--shadow);padding:28px;flex:1 1 320px;max-width:400px;display:flex;flex-direction:column;align-items:flex-start
}
.security-card h2,.privacy-card h2,.dados-card h2{margin:0 0 12px;font-size:20px}
.security-card p,.privacy-card p,.dados-card p{margin:0;color:var(--muted)}

/* Equipa */
.team-grid{display:flex;flex-direction:column;gap:40px;max-width:1100px;margin:0 auto}
.team-row{display:flex;gap:48px;flex-wrap:wrap;justify-content:center}
.team-member{display:flex;flex-direction:column;align-items:center}
.photo-placeholder{width:100px;height:100px;background:#e0e0e0;border-radius:50%;margin-bottom:16px}

/* Lista de membros (duas colunas, estático) */
.team-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px 48px;
  width: 100%;
  max-width: 600px;
  margin-top: 32px;
}
.team-list div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.team-list span {
  line-height: 1.2;
}
.team-list span:first-child {
  font-weight: 500;
  font-size: 1em;
  color: var(--mint);
  letter-spacing: 0.01em;
}
.team-list span:last-child {
  font-size: 0.92em;
  color: var(--muted);
  margin-top: 2px;
  font-weight: 300;
  font-style: italic;
}

/* Parceiros */
.parcerias-titulo{text-align:center;font-size:2.2em;font-weight:700;margin:0 0 28px;letter-spacing:-0.01em}
.parcerias-logos{display:flex;gap:48px;flex-wrap:wrap;align-items:center;justify-content:center;min-height:60px;margin-top:18px}
.parcerias-logos img{filter:grayscale(10%);opacity:.95;transition:.2s;mix-blend-mode:normal}
.banner-parcerias {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  height: auto;
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

.banner-parcerias {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  height: auto;
  filter: none;
  opacity: 1;
  transition: none;
}

/* Contacto */
.contact p{margin:6px 0}

/* Footer */
.site-footer{padding:28px 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px}
.footer-inner nav a{margin-left:16px}

/* Títulos principais e subtítulos em verde claro */
h1, h2, h3, h4, h5, h6 {
  color: var(--mint) !important;
}

/* Novos estilos para o footer legal */
.legal-footer {
  background: var(--bg);
  padding: 56px 0 32px 0;
  border-top: 1px solid var(--line);
}
.legal-footer-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}
.legal-brand h2 {
  color: var(--mint);
  font-size: 2.2em;
  font-weight: 700;
  margin-bottom: 8px;
  text-align: center;
}
.legal-slogan {
  color: var(--muted);
  font-size: 1.15em;
  text-align: center;
  margin-bottom: 24px;
}
.legal-section h3 {
  color: var(--mint);
  font-size: 1.3em;
  font-weight: 600;
  margin-bottom: 18px;
  text-align: center;
}
.legal-links {
  display: flex;
  gap: 18px;
  justify-content: center;
}
.legal-btn {
  color: #fff;
  text-decoration: none;
  font-size: 0.98em;
  font-weight: 400;
  background: none;
  border: none;
  box-shadow: none;
  padding: 0;
  outline: none;
  display: inline-block;
}
.legal-btn:hover {
  background: var(--brand-2);
  transform: translateY(-2px) scale(1.04);
}
