/* =========================================================
   Gestlifes | base
   Cores, letras e peças usadas em todo o site.
   ========================================================= */

:root {
  color-scheme: light;

  --blue:       #1F45C2;
  --blue-press: #17369A;
  --navy:       #0A1B4D;
  --ink:        #22294A;
  --muted:      #5B6382;
  --soft:       #ECF0FC;
  --line:       #DFE4F2;
  --bg:         #FFFFFF;
  --tint:       #F4F5F8;
  --on-dark:    #C9D4FA;

  --gold:       #FFCB47;
  --gold-ink:   #2B2000;
  --gold-soft:  #FFF6DC;

  --good:       #0F7A57;
  --good-soft:  #E6F5EE;
  --warn:       #8F5D00;
  --warn-soft:  #FFF4DE;
  --bad:        #C2372E;
  --bad-soft:   #FCEBEA;

  /* Tons de apoio. Estão aqui para não haver cores soltas
     nos componentes; o simulador.css usa os primeiros oito. */
  --white:        #FFFFFF;
  --focus:        #9DB2F5;
  --line-hover:   #B9C7F2;
  --placeholder:  #C3CADF;
  --off:          #CDD4E6;
  --disabled:     #AEBBE6;
  --good-line:    #9FD6BF;
  --glow:         #4C70F0;
  --save:         #1E7A5B;
  --save-ink:     #EFFFF7;
  --save-off:     #33406B;
  --save-off-ink: #DCE3FB;

  --on-blue:      #DCE4FF;
  --on-navy:      #B9C4EA;
  --blue-light:   #5B7CF0;
  --gold-line:    #F3DFA0;
  --coral:        #FF8A5B;
  --google:       #4285F4;

  --display:"Archivo", "Helvetica Neue", Arial, sans-serif;
  --body:    "Figtree", "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img { max-width: 100%; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }

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

/* Âncoras do menu (#blog, #equipa) não ficam escondidas por baixo do cabeçalho fixo. */
section[id] { scroll-margin-top: 72px; }

.caps {
  margin: 0;
  font-family: var(--display);
  font-weight: 800;
  font-size: clamp(26px, 6vw, 40px);
  line-height: 1.05;
  letter-spacing: -.01em;
  text-transform: uppercase;
  color: var(--navy);
}
.caps em { font-style: normal; color: var(--blue); }
.caps.light { color: var(--white); }

.pill {
  display: inline-flex; align-items: center;
  padding: 8px 16px;
  border-radius: 99px;
  background: var(--blue); color: var(--white);
  font-weight: 600; font-size: 13.5px;
  text-decoration: none; white-space: nowrap;
}
.pill.light { background: var(--white); color: var(--blue); }

.arr {
  display: inline-grid; place-items: center; flex: none;
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--blue); color: var(--white);
}
.arr.dark { background: var(--navy); }

.btn-y {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 10px 10px 18px;
  border: 0; border-radius: 99px;
  background: var(--gold); color: var(--gold-ink);
  font-weight: 700; font-size: 16px;
}
.btn-y.sm { padding: 9px 16px; font-size: 14px; white-space: nowrap; }
.btn-y:hover { filter: brightness(.96); }

.sec { padding-block: 64px 0; }
.sec-h {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 14px 24px; margin-bottom: 24px;
}
.sec-h p { margin: 0; max-width: 340px; color: var(--muted); font-size: 14.5px; }
.sec-h p b { color: var(--blue); }
.rule { display: none; flex: 1; min-width: 60px; height: 2px; background: var(--blue); position: relative; }
.rule::after { content: ""; position: absolute; right: -1px; top: -4px; border: 5px solid transparent; border-left: 8px solid var(--blue); }
@media (min-width: 760px) { .rule { display: block; } }

/* Botão principal. Está na base e não na página porque o
   simulador também o usa (o "Continuar" lá de baixo). */
.btn {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; max-width: 520px; min-height: 56px; margin: 0 auto;
  border: 0; border-radius: 16px;
  background: var(--blue); color: var(--white);
  font-weight: 700; font-size: 17px;
  box-shadow: 0 10px 24px -10px color-mix(in srgb, var(--blue) 60%, transparent);
  transition: background .15s;
}
.btn:hover { background: var(--blue-press); }
.btn:disabled { background: var(--disabled); box-shadow: none; cursor: not-allowed; }
