/* ============================================================
   Nathália Campos Psicologia — Norte Clínico
   Folha de estilos principal
   ============================================================ */

:root {
  --verde:       #1F3D2E;
  --verde-d:     #15291F;
  --terracota:   #A85A38;
  --terracota-d: #7A3F26;
  --marinho:     #1B2A3F;
  --marinho-d:   #0F1A2A;
  --ardosia:     #6E8194;
  --gelo:        #D9E2E6;
  --creme:       #F2EDE0;
  --creme-d:     #E8E0CC;
  --texto:       #2A2A28;
  --texto-2:     #5F5E5A;
  --linha:       #E0DCD0;
  --linha-fria:  #C4D0D6;

  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'DM Sans', system-ui, sans-serif;

  --s1: 4px;  --s2: 8px;  --s3: 16px; --s4: 24px;
  --s5: 32px; --s6: 48px; --s7: 64px; --s8: 96px; --s9: 128px;

  --r-sm: 2px; --r-md: 4px; --r-lg: 8px;

  --sh-sm: 0 1px 2px  rgba(31,61,46,0.04);
  --sh-md: 0 4px 12px rgba(31,61,46,0.06);
  --sh-lg: 0 12px 32px rgba(31,61,46,0.08);

  --t-fast: 150ms ease;
  --t-base: 250ms ease;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--creme);
  color: var(--texto);
  font-family: var(--sans);
  font-weight: 300;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* ══ NAV ══ */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  padding: 0 var(--s7);
  height: 72px;
  display: flex; align-items: center; justify-content: space-between;
  background: rgba(242,237,224,0.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--linha);
  transition: box-shadow var(--t-base);
}
nav.scrolled { box-shadow: var(--sh-md); }
.nav-logo { display: flex; align-items: center; gap: var(--s3); text-decoration: none; }
.nav-wordmark { font-family: var(--serif); font-size: 18px; font-weight: 500; color: var(--verde); line-height: 1; }
.nav-wordmark em { font-style: italic; font-weight: 400; }
.nav-sub { font-size: 8px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--ardosia); margin-top: 4px; }
.nav-links { display: flex; gap: 40px; align-items: center; }
.nav-links a { font-size: 12px; letter-spacing: 0.08em; text-decoration: none; color: var(--texto-2); transition: color var(--t-fast); font-weight: 400; }
.nav-links a:hover { color: var(--verde); }
.nav-cta {
  padding: 10px 24px; background: var(--verde);
  font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--creme); text-decoration: none; font-weight: 500;
  border-radius: var(--r-md);
  transition: background var(--t-base), transform var(--t-base), box-shadow var(--t-base);
}
.nav-cta:hover { background: var(--verde-d); transform: translateY(-1px); box-shadow: var(--sh-md); }

/* ══ HERO ══ */
.hero { min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; padding-top: 72px; }
.hero-left {
  background: var(--verde);
  display: flex; flex-direction: column; justify-content: center;
  padding: var(--s8) var(--s7) var(--s7);
  position: relative; overflow: hidden;
}
.hero-arcos { position: absolute; bottom: -60px; right: -60px; pointer-events: none; opacity: 0.12; }
.hero-eyebrow { font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--terracota); margin-bottom: var(--s4); font-family: var(--sans); font-weight: 500; }
.hero-title { font-family: var(--serif); font-size: clamp(56px, 5vw, 80px); font-weight: 300; color: var(--creme); line-height: 1.02; margin-bottom: var(--s5); }
.hero-title em { font-style: italic; }
.hero-desc { font-size: 15px; font-weight: 300; color: rgba(217,226,230,0.75); line-height: 1.75; max-width: 420px; margin-bottom: var(--s6); }
.hero-actions { display: flex; gap: var(--s3); flex-wrap: wrap; }
.hero-horizon { position: absolute; bottom: var(--s7); left: var(--s7); right: var(--s7); opacity: 0.15; }
.hero-scroll { position: absolute; bottom: var(--s5); left: 50%; transform: translateX(-50%); font-size: 9px; letter-spacing: 0.25em; text-transform: uppercase; color: rgba(110,129,148,0.7); display: flex; flex-direction: column; align-items: center; gap: var(--s2); }
.hero-scroll::after { content: ''; width: 1px; height: 40px; background: rgba(110,129,148,0.4); }
.hero-right { position: relative; overflow: hidden; }
.hero-right img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.hero-right::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to right, var(--verde) 0%, transparent 20%), linear-gradient(to top, var(--verde) 0%, transparent 12%); }

/* ══ BOTÕES ══ */
.btn {
  font-family: var(--sans); font-size: 13px; font-weight: 500;
  letter-spacing: 0.05em; padding: 14px 28px;
  border-radius: var(--r-md); border: none; cursor: pointer;
  transition: all var(--t-base);
  display: inline-flex; align-items: center; gap: var(--s2);
  text-decoration: none;
}
.btn-primary { background: var(--verde); color: var(--creme); }
.btn-primary:hover { background: var(--verde-d); transform: translateY(-1px); box-shadow: var(--sh-md); }
.btn-secondary { background: transparent; color: var(--verde); border: 1px solid var(--verde); }
.btn-secondary:hover { background: var(--verde); color: var(--creme); }
.btn-acento { background: var(--terracota); color: var(--creme); }
.btn-acento:hover { background: var(--terracota-d); transform: translateY(-1px); box-shadow: var(--sh-md); }
.btn-ghost { background: transparent; color: var(--verde); padding: 14px 0; border-bottom: 1px solid transparent; border-radius: 0; }
.btn-ghost:hover { border-bottom-color: var(--terracota); color: var(--terracota); }
.btn-ghost-light { background: transparent; color: rgba(217,226,230,0.75); padding: 14px 28px; border: 1px solid rgba(110,129,148,0.4); border-radius: var(--r-md); font-size: 13px; font-weight: 400; font-family: var(--sans); letter-spacing: 0.05em; text-decoration: none; transition: all var(--t-base); display: inline-flex; align-items: center; }
.btn-ghost-light:hover { border-color: var(--creme); color: var(--creme); }
.btn-lg { padding: 18px 40px; font-size: 14px; }
.btn-sm { padding: 8px 16px; font-size: 12px; }
.btn-white { background: var(--creme); color: var(--terracota); }
.btn-white:hover { background: white; }

/* ══ SEPARADORES ══ */
.sep-acento { display: flex; align-items: center; gap: var(--s3); margin: 0; }
.sep-acento::before, .sep-acento::after { content: ''; flex: 1; height: 1px; background: var(--linha); }
.sep-acento-mark { width: 8px; height: 8px; background: var(--terracota); transform: rotate(45deg); flex-shrink: 0; }

/* ══ SOBRE ══ */
.sobre { display: grid; grid-template-columns: 1fr 1fr; min-height: 80vh; }
.sobre-img { position: relative; overflow: hidden; }
.sobre-img img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.sobre-content { padding: var(--s8) var(--s7); display: flex; flex-direction: column; justify-content: center; border-left: 1px solid var(--linha); }
.section-eyebrow { font-family: var(--sans); font-size: 10px; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; color: var(--terracota); margin-bottom: var(--s2); }
.section-title { font-family: var(--serif); font-size: 52px; font-weight: 300; line-height: 1.05; margin-bottom: var(--s5); color: var(--verde); }
.section-title em { font-style: italic; }
.section-body { font-size: 15px; font-weight: 300; color: var(--texto-2); line-height: 1.85; margin-bottom: var(--s4); max-width: 480px; }
.sobre-credentials { display: flex; gap: var(--s5); margin-top: var(--s6); padding-top: var(--s6); border-top: 1px solid var(--linha); }
.credential-num { font-family: var(--serif); font-size: 36px; font-weight: 300; font-style: italic; color: var(--terracota); line-height: 1; }
.credential-label { font-size: 11px; letter-spacing: 0.08em; color: var(--ardosia); margin-top: 4px; line-height: 1.4; }

/* ══ ECOSSISTEMA ══ */
.ecossistema { background: var(--verde); padding: var(--s8) var(--s7); text-align: center; position: relative; overflow: hidden; }
.eco-title { font-family: var(--serif); font-size: 56px; font-weight: 300; color: var(--creme); line-height: 1.05; margin-bottom: var(--s4); margin-top: var(--s3); }
.eco-title em { font-style: italic; }
.eco-desc { font-size: 15px; color: rgba(217,226,230,0.7); line-height: 1.8; max-width: 560px; margin: 0 auto var(--s7); font-weight: 300; }
.eco-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; max-width: 1100px; margin: 0 auto; }
.eco-card { background: rgba(242,237,224,0.04); padding: var(--s6) var(--s5); text-align: left; border: 1px solid rgba(110,129,148,0.25); transition: background var(--t-base); cursor: pointer; }
.eco-card:hover { background: rgba(242,237,224,0.07); }
.eco-card-tag { font-size: 9px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--terracota); margin-bottom: var(--s2); font-weight: 500; }
.eco-card-icon { margin-bottom: var(--s4); }
.eco-card-title { font-family: var(--serif); font-size: 28px; font-weight: 300; color: var(--creme); line-height: 1.15; margin-bottom: var(--s3); }
.eco-card-title em { font-style: italic; }
.eco-card-desc { font-size: 13px; color: rgba(110,129,148,0.85); line-height: 1.7; font-weight: 300; }
.eco-bg-arc { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); pointer-events: none; }

/* ══ EBOOK ══ */
.ebook { display: grid; grid-template-columns: 1fr 1fr; min-height: 80vh; background: var(--creme); }
.ebook-content { padding: var(--s8) var(--s7); display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--linha); }
.ebook-badge { display: inline-flex; align-items: center; gap: var(--s2); padding: 6px 14px; background: var(--creme-d); margin-bottom: var(--s5); width: fit-content; border: 1px solid var(--linha); border-radius: var(--r-sm); }
.ebook-badge-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--terracota); }
.ebook-badge-text { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--terracota); font-weight: 500; }
.ebook-title { font-family: var(--serif); font-size: 52px; font-weight: 300; line-height: 1.05; color: var(--verde); margin-bottom: var(--s2); }
.ebook-title em { font-style: italic; }
.ebook-subtitle { font-family: var(--serif); font-size: 20px; font-weight: 300; font-style: italic; color: var(--ardosia); margin-bottom: var(--s4); }
.ebook-desc { font-size: 15px; font-weight: 300; color: var(--texto-2); line-height: 1.85; max-width: 460px; margin-bottom: var(--s6); }
.ebook-features { display: flex; flex-direction: column; gap: var(--s3); margin-bottom: var(--s6); }
.ebook-feature { display: flex; gap: var(--s3); align-items: flex-start; }
.feature-mark { width: 20px; height: 20px; background: var(--creme-d); border: 1px solid var(--linha); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; border-radius: var(--r-sm); }
.feature-mark svg { width: 10px; }
.feature-text { font-size: 13px; color: var(--texto-2); line-height: 1.6; font-weight: 300; }
.ebook-visual { background: var(--terracota); position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.ebook-nc-mark { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0.08; pointer-events: none; }
.ebook-mockup { width: 260px; position: relative; z-index: 2; background: var(--terracota-d); padding: var(--s6) var(--s5) var(--s5); box-shadow: var(--sh-lg), 40px 40px 80px rgba(0,0,0,0.2); border-radius: var(--r-sm); }
.ebook-mockup img { position: absolute; right: 0; bottom: 0; width: 75%; height: 88%; object-fit: cover; object-position: center top; mix-blend-mode: multiply; opacity: 0.22; }
.ebook-mock-tag { font-size: 8px; letter-spacing: 0.28em; text-transform: uppercase; color: rgba(242,237,224,0.55); margin-bottom: var(--s6); position: relative; z-index: 1; }
.ebook-mock-title { font-family: var(--serif); font-size: 34px; font-weight: 300; color: var(--creme); line-height: 1.1; margin-bottom: var(--s2); position: relative; z-index: 1; }
.ebook-mock-title em { font-style: italic; }
.ebook-mock-sub { font-size: 11px; font-weight: 300; color: rgba(217,226,230,0.65); position: relative; z-index: 1; margin-bottom: var(--s7); line-height: 1.5; }
.ebook-mock-author { font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(242,237,224,0.5); position: relative; z-index: 1; font-weight: 500; }

/* ══ MENTORIA ══ */
.mentoria { background: var(--marinho); padding: var(--s8) var(--s7); position: relative; overflow: hidden; }
.mentoria-inner { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s8); max-width: 1280px; margin: 0 auto; align-items: start; position: relative; z-index: 2; }
.mentoria-tag { font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--terracota); margin-bottom: var(--s3); font-weight: 500; }
.mentoria-nc { display: flex; align-items: center; gap: var(--s4); margin-bottom: var(--s5); }
.mentoria-title { font-family: var(--serif); font-size: 52px; font-weight: 300; color: var(--creme); line-height: 1.05; margin-bottom: var(--s5); }
.mentoria-title em { font-style: italic; }
.mentoria-desc { font-size: 15px; font-weight: 300; color: rgba(110,129,148,0.85); line-height: 1.85; margin-bottom: var(--s6); max-width: 480px; }
.mentoria-items { display: flex; flex-direction: column; gap: 2px; margin-top: 8px; }
.mentoria-item { padding: var(--s4) var(--s5); background: rgba(242,237,224,0.03); border: 1px solid rgba(110,129,148,0.18); display: flex; gap: var(--s4); align-items: flex-start; transition: background var(--t-base); }
.mentoria-item:hover { background: rgba(242,237,224,0.05); }
.item-num { font-family: var(--serif); font-size: 28px; font-weight: 300; font-style: italic; color: var(--terracota); min-width: 32px; line-height: 1; }
.item-title { font-size: 13px; font-weight: 500; letter-spacing: 0.04em; color: var(--creme); margin-bottom: 6px; }
.item-desc { font-size: 12px; font-weight: 300; color: var(--ardosia); line-height: 1.6; }
.mentoria-bg { position: absolute; right: -200px; top: 50%; transform: translateY(-50%); pointer-events: none; opacity: 0.15; }

/* ══ AUTORIDADE ══ */
.autoridade { display: grid; grid-template-columns: 1fr 1fr; min-height: 60vh; }
.autoridade-img { position: relative; overflow: hidden; }
.autoridade-img img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.autoridade-content { background: var(--creme-d); padding: var(--s7); display: flex; flex-direction: column; justify-content: center; border-left: 1px solid var(--linha); }
.blockquote { font-family: var(--serif); font-size: 32px; font-weight: 300; font-style: italic; color: var(--verde); line-height: 1.4; margin-bottom: var(--s5); border-left: 2px solid var(--terracota); padding-left: var(--s5); }
.blockquote-desc { font-size: 14px; font-weight: 300; color: var(--texto-2); line-height: 1.8; max-width: 420px; margin-bottom: var(--s5); padding-left: calc(var(--s5) + 2px); }
.autor-assinatura { display: flex; align-items: center; gap: var(--s3); padding-left: calc(var(--s5) + 2px); }
.autor-nome { font-family: var(--serif); font-size: 18px; color: var(--verde); }
.autor-nome em { font-style: italic; }
.autor-label { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ardosia); margin-top: 3px; font-weight: 500; }

/* ══ CTA FINAL ══ */
.cta-final { background: var(--terracota); padding: var(--s8) var(--s7); text-align: center; position: relative; overflow: hidden; }
.cta-title { font-family: var(--serif); font-size: 56px; font-weight: 300; color: var(--creme); line-height: 1.1; margin-bottom: var(--s4); }
.cta-title em { font-style: italic; }
.cta-desc { font-size: 15px; font-weight: 300; color: rgba(217,226,230,0.8); line-height: 1.8; max-width: 560px; margin: 0 auto var(--s6); }
.cta-actions { display: flex; gap: var(--s3); justify-content: center; flex-wrap: wrap; }

/* ══ FOOTER ══ */
footer { background: var(--verde); padding: var(--s7); display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--s7); align-items: start; border-top: 1px solid rgba(110,129,148,0.2); }
.footer-wordmark { font-family: var(--serif); font-size: 24px; font-weight: 300; color: var(--creme); margin-bottom: var(--s2); }
.footer-wordmark em { font-style: italic; font-weight: 400; }
.footer-tagline { font-size: 12px; font-weight: 300; color: var(--ardosia); line-height: 1.7; margin-top: var(--s2); }
.footer-col-title { font-size: 9px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--terracota); margin-bottom: var(--s4); font-weight: 500; }
.footer-links { display: flex; flex-direction: column; gap: var(--s2); }
.footer-links a { font-size: 13px; font-weight: 300; color: rgba(110,129,148,0.8); text-decoration: none; transition: color var(--t-fast); }
.footer-links a:hover { color: var(--creme); }
.footer-seal { margin-top: var(--s5); display: flex; flex-direction: column; gap: 6px; }
.footer-seal-line { font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; color: rgba(110,129,148,0.45); }
.footer-bottom { background: var(--verde-d); padding: var(--s4) var(--s7); display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(110,129,148,0.15); }
.footer-copy { font-size: 11px; color: rgba(110,129,148,0.5); font-weight: 300; }

/* ══ DIVISORES ══ */
.divisor-horizonte { padding: 0 var(--s7); overflow: hidden; background: var(--creme); line-height: 0; }

section { scroll-margin-top: 72px; }

/* ══ SEÇÃO CONTATO ══ */
.contato-section {
  background: var(--creme-d);
  padding: var(--s8) var(--s7);
  border-top: 1px solid var(--linha);
}
.contato-inner { max-width: 720px; }
.contato-form { margin-top: var(--s5); display: flex; flex-direction: column; gap: var(--s4); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s4); }
.form-group { display: flex; flex-direction: column; gap: var(--s2); }
.form-group label { font-size: 11px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ardosia); }
.form-group input,
.form-group select,
.form-group textarea {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 300;
  padding: 12px var(--s3);
  border: 1px solid var(--linha);
  background: var(--creme);
  color: var(--texto);
  border-radius: var(--r-md);
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
  outline: none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--verde);
  box-shadow: 0 0 0 3px rgba(31,61,46,0.08);
}
.form-group textarea { resize: vertical; min-height: 120px; }
.form-alert { padding: var(--s3) var(--s4); border-radius: var(--r-md); margin-bottom: var(--s4); font-size: 14px; }
.form-alert--ok  { background: rgba(31,61,46,0.08);  color: var(--verde);     border: 1px solid rgba(31,61,46,0.2); }
.form-alert--err { background: rgba(168,90,56,0.08); color: var(--terracota); border: 1px solid rgba(168,90,56,0.2); }

/* ══ RESPONSIVO ══ */
@media (max-width: 900px) {
  nav { padding: 0 var(--s4); }
  nav .nav-links { display: none; }
  .hero, .sobre, .ebook, .autoridade { grid-template-columns: 1fr; }
  .hero-right { min-height: 60vw; }
  .eco-cards { grid-template-columns: 1fr; }
  .mentoria-inner { grid-template-columns: 1fr; }
  footer { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .section-title, .eco-title, .ebook-title, .mentoria-title, .cta-title {
    font-size: clamp(32px, 7vw, 52px);
  }
  .sobre-content, .ebook-content, .autoridade-content,
  .contato-section, .cta-final, .ecossistema, .mentoria {
    padding: var(--s6) var(--s4);
  }
  .divisor-horizonte { padding: 0 var(--s4); }
  footer { padding: var(--s6) var(--s4); }
  .footer-bottom { padding: var(--s4); flex-direction: column; gap: var(--s2); text-align: center; }
}
